<!DOCTYPE html>
<!-- saved from url=(0155)https://api.csswg.org/bikeshed/?force=1&url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs -->
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  
  <meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport">
  <title>P2145R0: Evolving C++ Remotely</title>
<style data-fill-with="stylesheet">/******************************************************************************
 *                   Style sheet for the W3C specifications                   *
 *
 * Special classes handled by this style sheet include:
 *
 * Indices
 *   - .toc for the Table of Contents (<ol class="toc">)
 *     + <span class="secno"> for the section numbers
 *   - #toc for the Table of Contents (<nav id="toc">)
 *   - ul.index for Indices (<a href="#ref">term</a><span>, in §N.M</span>)
 *   - table.index for Index Tables (e.g. for properties or elements)
 *
 * Structural Markup
 *   - table.data for general data tables
 *     -> use 'scope' attribute, <colgroup>, <thead>, and <tbody> for best results !
 *     -> use <table class='complex data'> for extra-complex tables
 *     -> use <td class='long'> for paragraph-length cell content
 *     -> use <td class='pre'> when manual line breaks/indentation would help readability
 *   - dl.switch for switch statements
 *   - ol.algorithm for algorithms (helps to visualize nesting)
 *   - .figure and .caption (HTML4) and figure and figcaption (HTML5)
 *     -> .sidefigure for right-floated figures
 *   - ins/del
 *
 * Code
 *   - pre and code
 *
 * Special Sections
 *   - .note       for informative notes             (div, p, span, aside, details)
 *   - .example    for informative examples          (div, p, pre, span)
 *   - .issue      for issues                        (div, p, span)
 *   - .assertion  for assertions                    (div, p, span)
 *   - .advisement for loud normative statements     (div, p, strong)
 *   - .annoying-warning for spec obsoletion notices (div, aside, details)
 *
 * Definition Boxes
 *   - pre.def   for WebIDL definitions
 *   - table.def for tables that define other entities (e.g. CSS properties)
 *   - dl.def    for definition lists that define other entitles (e.g. HTML elements)
 *
 * Numbering
 *   - .secno for section numbers in .toc and headings (<span class='secno'>3.2</span>)
 *   - .marker for source-inserted example/figure/issue numbers (<span class='marker'>Issue 4</span>)
 *   - ::before styled for CSS-generated issue/example/figure numbers:
 *     -> Documents wishing to use this only need to add
 *        figcaption::before,
 *        .caption::before { content: "Figure "  counter(figure) " ";  }
 *        .example::before { content: "Example " counter(example) " "; }
 *        .issue::before   { content: "Issue "   counter(issue) " ";   }
 *
 * Header Stuff (ignore, just don't conflict with these classes)
 *   - .head for the header
 *   - .copyright for the copyright
 *
 * Miscellaneous
 *   - .overlarge for things that should be as wide as possible, even if
 *     that overflows the body text area. This can be used on an item or
 *     on its container, depending on the effect desired.
 *     Note that this styling basically doesn't help at all when printing,
 *     since A4 paper isn't much wider than the max-width here.
 *     It's better to design things to fit into a narrower measure if possible.
 *   - js-added ToC jump links (see fixup.js)
 *
 ******************************************************************************/

/******************************************************************************/
/*                                   Body                                     */
/******************************************************************************/

	body {
		counter-reset: example figure issue;

		/* Layout */
		max-width: 50em;               /* limit line length to 50em for readability   */
		margin: 0 auto;                /* center text within page                     */
		padding: 1.6em 1.5em 2em 50px; /* assume 16px font size for downlevel clients */
		padding: 1.6em 1.5em 2em calc(26px + 1.5em); /* leave space for status flag     */

		/* Typography */
		line-height: 1.5;
		font-family: sans-serif;
		widows: 2;
		orphans: 2;
		word-wrap: break-word;
		overflow-wrap: break-word;
		hyphens: auto;

		/* Colors */
		color: black;
		background: white top left fixed no-repeat;
		background-size: 25px auto;
	}


/******************************************************************************/
/*                         Front Matter & Navigation                          */
/******************************************************************************/

/** Header ********************************************************************/

	div.head { margin-bottom: 1em }
	div.head hr { border-style: solid; }

	div.head h1 {
		font-weight: bold;
		margin: 0 0 .1em;
		font-size: 220%;
	}

	div.head h2 { margin-bottom: 1.5em;}

/** W3C Logo ******************************************************************/

	.head .logo {
		float: right;
		margin: 0.4rem 0 0.2rem .4rem;
	}

	.head img[src*="logos/W3C"] {
		display: block;
		border: solid #1a5e9a;
		border-width: .65rem .7rem .6rem;
		border-radius: .4rem;
		background: #1a5e9a;
		color: white;
		font-weight: bold;
	}

	.head a:hover > img[src*="logos/W3C"],
	.head a:focus > img[src*="logos/W3C"] {
		opacity: .8;
	}

	.head a:active > img[src*="logos/W3C"] {
		background: #c00;
		border-color: #c00;
	}

	/* see also additional rules in Link Styling section */

/** Copyright *****************************************************************/

	p.copyright,
	p.copyright small { font-size: small }

/** Back to Top / ToC Toggle **************************************************/

	@media print {
		#toc-nav {
			display: none;
		}
	}
	@media not print {
		#toc-nav {
			position: fixed;
			z-index: 2;
			bottom: 0; left: 0;
			margin: 0;
			min-width: 1.33em;
			border-top-right-radius: 2rem;
			box-shadow: 0 0 2px;
			font-size: 1.5em;
			color: black;
		}
		#toc-nav > a {
			display: block;
			white-space: nowrap;

			height: 1.33em;
			padding: .1em 0.3em;
			margin: 0;

			background: white;
			box-shadow: 0 0 2px;
			border: none;
			border-top-right-radius: 1.33em;
			background: white;
		}
		#toc-nav > #toc-jump {
			padding-bottom: 2em;
			margin-bottom: -1.9em;
		}

		#toc-nav > a:hover,
		#toc-nav > a:focus {
			background: #f8f8f8;
		}
		#toc-nav > a:not(:hover):not(:focus) {
			color: #707070;
		}

		/* statusbar gets in the way on keyboard focus; remove once browsers fix */
		#toc-nav > a[href="#toc"]:not(:hover):focus:last-child {
			padding-bottom: 1.5rem;
		}

		#toc-nav:not(:hover) > a:not(:focus) > span + span {
			/* Ideally this uses :focus-within on #toc-nav */
			display: none;
		}
		#toc-nav > a > span + span {
			padding-right: 0.2em;
		}

		#toc-toggle-inline {
			vertical-align: 0.05em;
			font-size: 80%;
			color: gray;
			color: hsla(203,20%,40%,.7);
			border-style: none;
			background: transparent;
			position: relative;
		}
		#toc-toggle-inline:hover:not(:active),
		#toc-toggle-inline:focus:not(:active) {
			text-shadow: 1px 1px silver;
			top: -1px;
			left: -1px;
		}

		#toc-nav :active {
			color: #C00;
		}
	}

/** ToC Sidebar ***************************************************************/

	/* Floating sidebar */
	@media screen {
		body.toc-sidebar #toc {
			position: fixed;
			top: 0; bottom: 0;
			left: 0;
			width: 23.5em;
			max-width: 80%;
			max-width: calc(100% - 2em - 26px);
			overflow: auto;
			padding: 0 1em;
			padding-left: 42px;
			padding-left: calc(1em + 26px);
			background: inherit;
			background-color: #f7f8f9;
			z-index: 1;
			box-shadow: -.1em 0 .25em rgba(0,0,0,.1) inset;
		}
		body.toc-sidebar #toc h2 {
			margin-top: .8rem;
			font-variant: small-caps;
			font-variant: all-small-caps;
			text-transform: lowercase;
			font-weight: bold;
			color: gray;
			color: hsla(203,20%,40%,.7);
		}
		body.toc-sidebar #toc-jump:not(:focus) {
			width: 0;
			height: 0;
			padding: 0;
			position: absolute;
			overflow: hidden;
		}
	}
	/* Hide main scroller when only the ToC is visible anyway */
	@media screen and (max-width: 28em) {
		body.toc-sidebar {
			overflow: hidden;
		}
	}

	/* Sidebar with its own space */
	@media screen and (min-width: 78em) {
		body:not(.toc-inline) #toc {
			position: fixed;
			top: 0; bottom: 0;
			left: 0;
			width: 23.5em;
			overflow: auto;
			padding: 0 1em;
			padding-left: 42px;
			padding-left: calc(1em + 26px);
			background: inherit;
			background-color: #f7f8f9;
			z-index: 1;
			box-shadow: -.1em 0 .25em rgba(0,0,0,.1) inset;
		}
		body:not(.toc-inline) #toc h2 {
			margin-top: .8rem;
			font-variant: small-caps;
			font-variant: all-small-caps;
			text-transform: lowercase;
			font-weight: bold;
			color: gray;
			color: hsla(203,20%,40%,.7);
		}

		body:not(.toc-inline) {
			padding-left: 29em;
		}
		/* See also Overflow section at the bottom */

		body:not(.toc-inline) #toc-jump:not(:focus) {
			width: 0;
			height: 0;
			padding: 0;
			position: absolute;
			overflow: hidden;
		}
	}
	@media screen and (min-width: 90em) {
		body:not(.toc-inline) {
			margin: 0 4em;
		}
	}

/******************************************************************************/
/*                                Sectioning                                  */
/******************************************************************************/

/** Headings ******************************************************************/

	h1, h2, h3, h4, h5, h6, dt {
		page-break-after: avoid;
		page-break-inside: avoid;
		font: 100% sans-serif;   /* Reset all font styling to clear out UA styles */
		font-family: inherit;    /* Inherit the font family. */
		line-height: 1.2;        /* Keep wrapped headings compact */
		hyphens: manual;         /* Hyphenated headings look weird */
	}

	h2, h3, h4, h5, h6 {
		margin-top: 3rem;
	}

	h1, h2, h3 {
		color: #005A9C;
		background: transparent;
	}

	h1 { font-size: 170%; }
	h2 { font-size: 140%; }
	h3 { font-size: 120%; }
	h4 { font-weight: bold; }
	h5 { font-style: italic; }
	h6 { font-variant: small-caps; }
	dt { font-weight: bold; }

/** Subheadings ***************************************************************/

	h1 + h2,
	#subtitle {
		/* #subtitle is a subtitle in an H2 under the H1 */
		margin-top: 0;
	}
	h2 + h3,
	h3 + h4,
	h4 + h5,
	h5 + h6 {
		margin-top: 1.2em; /* = 1 x line-height */
	}

/** Section divider ***********************************************************/

	:not(.head) > hr {
		font-size: 1.5em;
		text-align: center;
		margin: 1em auto;
		height: auto;
		border: transparent solid 0;
		background: transparent;
	}
	:not(.head) > hr::before {
		content: "\2727\2003\2003\2727\2003\2003\2727";
	}

/******************************************************************************/
/*                            Paragraphs and Lists                            */
/******************************************************************************/

	p {
		margin: 1em 0;
	}

	dd > p:first-child,
	li > p:first-child {
		margin-top: 0;
	}

	ul, ol {
		margin-left: 0;
		padding-left: 2em;
	}

	li {
		margin: 0.25em 0 0.5em;
		padding: 0;
	}

	dl dd {
		margin: 0 0 .5em 2em;
	}

	.head dd + dd { /* compact for header */
		margin-top: -.5em;
	}

	/* Style for algorithms */
	ol.algorithm ol:not(.algorithm),
	.algorithm > ol ol:not(.algorithm) {
	 border-left: 0.5em solid #DEF;
	}

	/* Put nice boxes around each algorithm. */
	[data-algorithm]:not(.heading) {
	  padding: .5em;
	  border: thin solid #ddd; border-radius: .5em;
	  margin: .5em calc(-0.5em - 1px);
	}
	[data-algorithm]:not(.heading) > :first-child {
	  margin-top: 0;
	}
	[data-algorithm]:not(.heading) > :last-child {
	  margin-bottom: 0;
	}

	/* Style for switch/case <dl>s */
	dl.switch > dd > ol.only,
	dl.switch > dd > .only > ol {
	 margin-left: 0;
	}
	dl.switch > dd > ol.algorithm,
	dl.switch > dd > .algorithm > ol {
	 margin-left: -2em;
	}
	dl.switch {
	 padding-left: 2em;
	}
	dl.switch > dt {
	 text-indent: -1.5em;
	 margin-top: 1em;
	}
	dl.switch > dt + dt {
	 margin-top: 0;
	}
	dl.switch > dt::before {
	 content: '\21AA';
	 padding: 0 0.5em 0 0;
	 display: inline-block;
	 width: 1em;
	 text-align: right;
	 line-height: 0.5em;
	}

/** Terminology Markup ********************************************************/


/******************************************************************************/
/*                                 Inline Markup                              */
/******************************************************************************/

/** Terminology Markup ********************************************************/
	dfn   { /* Defining instance */
		font-weight: bolder;
	}
	a > i { /* Instance of term */
		font-style: normal;
	}
	dt dfn code, code.idl {
		font-size: medium;
	}
	dfn var {
		font-style: normal;
	}

/** Change Marking ************************************************************/

	del { color: red;  text-decoration: line-through; }
	ins { color: #080; text-decoration: underline;    }

/** Miscellaneous improvements to inline formatting ***************************/

	sup {
		vertical-align: super;
		font-size: 80%
	}

/******************************************************************************/
/*                                    Code                                    */
/******************************************************************************/

/** General monospace/pre rules ***********************************************/

	pre, code, samp {
		font-family: Menlo, Consolas, "DejaVu Sans Mono", Monaco, monospace;
		font-size: .9em;
		page-break-inside: avoid;
		hyphens: none;
		text-transform: none;
	}
	pre code,
	code code {
		font-size: 100%;
	}

	pre {
		margin-top: 1em;
		margin-bottom: 1em;
		overflow: auto;
	}

/** Inline Code fragments *****************************************************/

  /* Do something nice. */

/******************************************************************************/
/*                                    Links                                   */
/******************************************************************************/

/** General Hyperlinks ********************************************************/

	/* We hyperlink a lot, so make it less intrusive */
	a[href] {
		color: #034575;
		text-decoration: none;
		border-bottom: 1px solid #707070;
		/* Need a bit of extending for it to look okay */
		padding: 0 1px 0;
		margin: 0 -1px 0;
	}
	a:visited {
		border-bottom-color: #BBB;
	}

	/* Use distinguishing colors when user is interacting with the link */
	a[href]:focus,
	a[href]:hover {
		background: #f8f8f8;
		background: rgba(75%, 75%, 75%, .25);
		border-bottom-width: 3px;
		margin-bottom: -2px;
	}
	a[href]:active {
		color: #C00;
		border-color: #C00;
	}

	/* Backout above styling for W3C logo */
	.head .logo,
	.head .logo a {
		border: none;
		text-decoration: none;
		background: transparent;
	}

/******************************************************************************/
/*                                    Images                                  */
/******************************************************************************/

	img {
		border-style: none;
	}

	/* For autogen numbers, add
	   .caption::before, figcaption::before { content: "Figure " counter(figure) ". "; }
	*/

	figure, .figure, .sidefigure {
		page-break-inside: avoid;
		text-align: center;
		margin: 2.5em 0;
	}
	.figure img,    .sidefigure img,    figure img,
	.figure object, .sidefigure object, figure object {
		max-width: 100%;
		margin: auto;
	}
	.figure pre, .sidefigure pre, figure pre {
		text-align: left;
		display: table;
		margin: 1em auto;
	}
	.figure table, figure table {
		margin: auto;
	}
	@media screen and (min-width: 20em) {
		.sidefigure {
			float: right;
			width: 50%;
			margin: 0 0 0.5em 0.5em
		}
	}
	.caption, figcaption, caption {
		font-style: italic;
		font-size: 90%;
	}
	.caption::before, figcaption::before, figcaption > .marker {
		font-weight: bold;
	}
	.caption, figcaption {
		counter-increment: figure;
	}

	/* DL list is indented 2em, but figure inside it is not */
	dd > .figure, dd > figure { margin-left: -2em }

/******************************************************************************/
/*                             Colored Boxes                                  */
/******************************************************************************/

	.issue, .note, .example, .assertion, .advisement, blockquote {
		padding: .5em;
		border: .5em;
		border-left-style: solid;
		page-break-inside: avoid;
	}
	span.issue, span.note {
		padding: .1em .5em .15em;
		border-right-style: solid;
	}

	.issue,
	.note,
	.example,
	.advisement,
	.assertion,
	blockquote {
		margin: 1em auto;
	}
	.note  > p:first-child,
	.issue > p:first-child,
	blockquote > :first-child {
		margin-top: 0;
	}
	blockquote > :last-child {
		margin-bottom: 0;
	}

/** Blockquotes ***************************************************************/

	blockquote {
		border-color: silver;
	}

/** Open issue ****************************************************************/

	.issue {
		border-color: #E05252;
		background: #FBE9E9;
		counter-increment: issue;
		overflow: auto;
	}
	.issue::before, .issue > .marker {
		text-transform: uppercase;
		color: #AE1E1E;
		padding-right: 1em;
		text-transform: uppercase;
	}
	/* Add .issue::before { content: "Issue " counter(issue) " "; } for autogen numbers,
	   or use class="marker" to mark up the issue number in source. */

/** Example *******************************************************************/

	.example {
		border-color: #E0CB52;
		background: #FCFAEE;
		counter-increment: example;
		overflow: auto;
		clear: both;
	}
	.example::before, .example > .marker {
		text-transform: uppercase;
		color: #827017;
		min-width: 7.5em;
		display: block;
	}
	/* Add .example::before { content: "Example " counter(example) " "; } for autogen numbers,
	   or use class="marker" to mark up the example number in source. */

/** Non-normative Note ********************************************************/

	.note {
		border-color: #52E052;
		background: #E9FBE9;
		overflow: auto;
	}

	.note::before, .note > .marker,
	details.note > summary::before,
	details.note > summary > .marker {
		text-transform: uppercase;
		display: block;
		color: hsl(120, 70%, 30%);
	}
	/* Add .note::before { content: "Note"; } for autogen label,
	   or use class="marker" to mark up the label in source. */

	details.note > summary {
		display: block;
		color: hsl(120, 70%, 30%);
	}
	details.note[open] > summary {
		border-bottom: 1px silver solid;
	}

/** Assertion Box *************************************************************/
	/*  for assertions in algorithms */

	.assertion {
		border-color: #AAA;
		background: #EEE;
	}

/** Advisement Box ************************************************************/
	/*  for attention-grabbing normative statements */

	.advisement {
		border-color: orange;
		border-style: none solid;
		background: #FFEECC;
	}
	strong.advisement {
		display: block;
		text-align: center;
	}
	.advisement > .marker {
		color: #B35F00;
	}

/** Spec Obsoletion Notice ****************************************************/
	/* obnoxious obsoletion notice for older/abandoned specs. */

	details {
		display: block;
	}
	summary {
		font-weight: bolder;
	}

	.annoying-warning:not(details),
	details.annoying-warning:not([open]) > summary,
	details.annoying-warning[open] {
		background: #fdd;
		color: red;
		font-weight: bold;
		padding: .75em 1em;
		border: thick red;
		border-style: solid;
		border-radius: 1em;
	}
	.annoying-warning :last-child {
		margin-bottom: 0;
	}

@media not print {
	details.annoying-warning[open] {
		position: fixed;
		left: 1em;
		right: 1em;
		bottom: 1em;
		z-index: 1000;
	}
}

	details.annoying-warning:not([open]) > summary {
		text-align: center;
	}

/** Entity Definition Boxes ***************************************************/

	.def {
		padding: .5em 1em;
		background: #DEF;
		margin: 1.2em 0;
		border-left: 0.5em solid #8CCBF2;
	}

/******************************************************************************/
/*                                    Tables                                  */
/******************************************************************************/

	th, td {
		text-align: left;
		text-align: start;
	}

/** Property/Descriptor Definition Tables *************************************/

	table.def {
		/* inherits .def box styling, see above */
		width: 100%;
		border-spacing: 0;
	}

	table.def td,
	table.def th {
		padding: 0.5em;
		vertical-align: baseline;
		border-bottom: 1px solid #bbd7e9;
	}

	table.def > tbody > tr:last-child th,
	table.def > tbody > tr:last-child td {
		border-bottom: 0;
	}

	table.def th {
		font-style: italic;
		font-weight: normal;
		padding-left: 1em;
		width: 3em;
	}

	/* For when values are extra-complex and need formatting for readability */
	table td.pre {
		white-space: pre-wrap;
	}

	/* A footnote at the bottom of a def table */
	table.def           td.footnote {
		padding-top: 0.6em;
	}
	table.def           td.footnote::before {
		content: " ";
		display: block;
		height: 0.6em;
		width: 4em;
		border-top: thin solid;
	}

/** Data tables (and properly marked-up index tables) *************************/
	/*
		 <table class="data"> highlights structural relationships in a table
		 when correct markup is used (e.g. thead/tbody, th vs. td, scope attribute)

		 Use class="complex data" for particularly complicated tables --
		 (This will draw more lines: busier, but clearer.)

		 Use class="long" on table cells with paragraph-like contents
		 (This will adjust text alignment accordingly.)
		 Alternately use class="longlastcol" on tables, to have the last column assume "long".
	*/

	table {
		word-wrap: normal;
		overflow-wrap: normal;
		hyphens: manual;
	}

	table.data,
	table.index {
		margin: 1em auto;
		border-collapse: collapse;
		border: hidden;
		width: 100%;
	}
	table.data caption,
	table.index caption {
		max-width: 50em;
		margin: 0 auto 1em;
	}

	table.data td,  table.data th,
	table.index td, table.index th {
		padding: 0.5em 1em;
		border-width: 1px;
		border-color: silver;
		border-top-style: solid;
	}

	table.data thead td:empty {
		padding: 0;
		border: 0;
	}

	table.data  thead,
	table.index thead,
	table.data  tbody,
	table.index tbody {
		border-bottom: 2px solid;
	}

	table.data colgroup,
	table.index colgroup {
		border-left: 2px solid;
	}

	table.data  tbody th:first-child,
	table.index tbody th:first-child  {
		border-right: 2px solid;
		border-top: 1px solid silver;
		padding-right: 1em;
	}

	table.data th[colspan],
	table.data td[colspan] {
		text-align: center;
	}

	table.complex.data th,
	table.complex.data td {
		border: 1px solid silver;
		text-align: center;
	}

	table.data.longlastcol td:last-child,
	table.data td.long {
	 vertical-align: baseline;
	 text-align: left;
	}

	table.data img {
		vertical-align: middle;
	}


/*
Alternate table alignment rules

	table.data,
	table.index {
		text-align: center;
	}

	table.data  thead th[scope="row"],
	table.index thead th[scope="row"] {
		text-align: right;
	}

	table.data  tbody th:first-child,
	table.index tbody th:first-child  {
		text-align: right;
	}

Possible extra rowspan handling

	table.data  tbody th[rowspan]:not([rowspan='1']),
	table.index tbody th[rowspan]:not([rowspan='1']),
	table.data  tbody td[rowspan]:not([rowspan='1']),
	table.index tbody td[rowspan]:not([rowspan='1']) {
		border-left: 1px solid silver;
	}

	table.data  tbody th[rowspan]:first-child,
	table.index tbody th[rowspan]:first-child,
	table.data  tbody td[rowspan]:first-child,
	table.index tbody td[rowspan]:first-child{
		border-left: 0;
		border-right: 1px solid silver;
	}
*/

/******************************************************************************/
/*                                  Indices                                   */
/******************************************************************************/


/** Table of Contents *********************************************************/

	.toc a {
		/* More spacing; use padding to make it part of the click target. */
		padding-top: 0.1rem;
		/* Larger, more consistently-sized click target */
		display: block;
		/* Reverse color scheme */
		color: black;
		border-color: #3980B5;
		border-bottom-width: 3px !important;
		margin-bottom: 0px !important;
	}
	.toc a:visited {
		border-color: #054572;
	}
	.toc a:not(:focus):not(:hover) {
		/* Allow colors to cascade through from link styling */
		border-bottom-color: transparent;
	}

	.toc, .toc ol, .toc ul, .toc li {
		list-style: none; /* Numbers must be inlined into source */
		/* because generated content isn't search/selectable and markers can't do multilevel yet */
		margin:  0;
		padding: 0;
		line-height: 1.1rem; /* consistent spacing */
	}

	/* ToC not indented until third level, but font style & margins show hierarchy */
	.toc > li             { font-weight: bold;   }
	.toc > li li          { font-weight: normal; }
	.toc > li li li       { font-size:   95%;    }
	.toc > li li li li    { font-size:   90%;    }
	.toc > li li li li .secno { font-size: 85%; }
	.toc > li li li li li { font-size:   85%;    }
	.toc > li li li li li .secno { font-size: 100%; }

	/* @supports not (display:grid) { */
		.toc > li             { margin: 1.5rem 0;    }
		.toc > li li          { margin: 0.3rem 0;    }
		.toc > li li li       { margin-left: 2rem;   }

		/* Section numbers in a column of their own */
		.toc .secno {
			float: left;
			width: 4rem;
			white-space: nowrap;
		}

		.toc li {
			clear: both;
		}

		:not(li) > .toc              { margin-left:  5rem; }
		.toc .secno                  { margin-left: -5rem; }
		.toc > li li li .secno       { margin-left: -7rem; }
		.toc > li li li li .secno    { margin-left: -9rem; }
		.toc > li li li li li .secno { margin-left: -11rem; }

		/* Tighten up indentation in narrow ToCs */
		@media (max-width: 30em) {
			:not(li) > .toc              { margin-left:  4rem; }
			.toc .secno                  { margin-left: -4rem; }
			.toc > li li li              { margin-left:  1rem; }
			.toc > li li li .secno       { margin-left: -5rem; }
			.toc > li li li li .secno    { margin-left: -6rem; }
			.toc > li li li li li .secno { margin-left: -7rem; }
		}
	/* } */

	@supports (display:grid) and (display:contents) {
		/* Use #toc over .toc to override non-@supports rules. */
		#toc {
			display: grid;
			align-content: start;
			grid-template-columns: auto 1fr;
			grid-column-gap: 1rem;
			column-gap: 1rem;
			grid-row-gap: .6rem;
			row-gap: .6rem;
		}
		#toc h2 {
			grid-column: 1 / -1;
			margin-bottom: 0;
		}
		#toc ol,
		#toc li,
		#toc a {
			display: contents;
			/* Switch <a> to subgrid when supported */
		}
		#toc span {
			margin: 0;
		}
		#toc > .toc > li > a > span {
			/* The spans of the top-level list,
			   comprising the first items of each top-level section. */
			margin-top: 1.1rem;
		}
		#toc#toc .secno { /* Ugh, need more specificity to override base.css */
			grid-column: 1;
			width: auto;
			margin-left: 0;
		}
		#toc .content {
			grid-column: 2;
			width: auto;
			margin-right: 1rem;
		}
		#toc .content:hover {
			background: rgba(75%, 75%, 75%, .25);
			border-bottom: 3px solid #054572;
			margin-bottom: -3px;
		}
		#toc li li li .content {
			margin-left: 1rem;
		}
		#toc li li li li .content {
			margin-left: 2rem;
		}
	}


/** Index *********************************************************************/

	/* Index Lists: Layout */
	ul.index       { margin-left: 0; columns: 15em; text-indent: 1em hanging; }
	ul.index li    { margin-left: 0; list-style: none; break-inside: avoid; }
	ul.index li li { margin-left: 1em }
	ul.index dl    { margin-top: 0; }
	ul.index dt    { margin: .2em 0 .2em 20px;}
	ul.index dd    { margin: .2em 0 .2em 40px;}
	/* Index Lists: Typography */
	ul.index ul,
	ul.index dl { font-size: smaller; }
	@media not print {
		ul.index li span {
			white-space: nowrap;
			color: transparent; }
		ul.index li a:hover + span,
		ul.index li a:focus + span {
			color: #707070;
		}
	}

/** Index Tables *****************************************************/
	/* See also the data table styling section, which this effectively subclasses */

	table.index {
		font-size: small;
		border-collapse: collapse;
		border-spacing: 0;
		text-align: left;
		margin: 1em 0;
	}

	table.index td,
	table.index th {
		padding: 0.4em;
	}

	table.index tr:hover td:not([rowspan]),
	table.index tr:hover th:not([rowspan]) {
		background: #f7f8f9;
	}

	/* The link in the first column in the property table (formerly a TD) */
	table.index th:first-child a {
		font-weight: bold;
	}

/******************************************************************************/
/*                                    Print                                   */
/******************************************************************************/

	@media print {
		/* Pages have their own margins. */
		html {
			margin: 0;
		}
		/* Serif for print. */
		body {
			font-family: serif;
		}
	}
	@page {
		margin: 1.5cm 1.1cm;
	}

/******************************************************************************/
/*                                    Legacy                                  */
/******************************************************************************/

	/* This rule is inherited from past style sheets. No idea what it's for. */
	.hide { display: none }



/******************************************************************************/
/*                             Overflow Control                               */
/******************************************************************************/

	.figure .caption, .sidefigure .caption, figcaption {
		/* in case figure is overlarge, limit caption to 50em */
		max-width: 50rem;
		margin-left: auto;
		margin-right: auto;
	}
	.overlarge {
		/* Magic to create good table positioning:
		   "content column" is 50ems wide at max; less on smaller screens.
		   Extra space (after ToC + content) is empty on the right.

		   1. When table < content column, centers table in column.
		   2. When content < table < available, left-aligns.
		   3. When table > available, fills available + scroll bar.
		*/ 
		display: grid;
		grid-template-columns: minmax(0, 50em);
	}
	.overlarge > table {
		/* limit preferred width of table */
		max-width: 50em;
		margin-left: auto;
		margin-right: auto;
	}

	@media (min-width: 55em) {
		.overlarge {
			margin-right: calc(13px + 26.5rem - 50vw);
			max-width: none;
		}
	}
	@media screen and (min-width: 78em) {
		body:not(.toc-inline) .overlarge {
			/* 30.5em body padding 50em content area */
			margin-right: calc(40em - 50vw) !important;
		}
	}
	@media screen and (min-width: 90em) {
		body:not(.toc-inline) .overlarge {
			/* 4em html margin 30.5em body padding 50em content area */
			margin-right: calc(84.5em - 100vw) !important;
		}
	}

	@media not print {
		.overlarge {
			overflow-x: auto;
			/* See Lea Verou's explanation background-attachment:
			 * http://lea.verou.me/2012/04/background-attachment-local/
			 *
			background: top left  / 4em 100% linear-gradient(to right,  #ffffff, rgba(255, 255, 255, 0)) local,
			            top right / 4em 100% linear-gradient(to left, #ffffff, rgba(255, 255, 255, 0)) local,
			            top left  / 1em 100% linear-gradient(to right,  #c3c3c5, rgba(195, 195, 197, 0)) scroll,
			            top right / 1em 100% linear-gradient(to left, #c3c3c5, rgba(195, 195, 197, 0)) scroll,
			            white;
			background-repeat: no-repeat;
			*/
		}
	}
</style>
<style type="text/css">
    table, th, td {
      border: 1px solid black;
      border-collapse: collapse;
      vertical-align: top;
    }
    th, td {
      border-left: none;
      border-right: none;
      padding: 0px 10px;
    }
    th {
      text-align: center;
    }

    del { background: #fcc; color: #000; text-decoration: line-through; }
    ins { background: #cfc; color: #000; }
    blockquote .highlight:not(.idl) { background: initial; margin: initial; padding: 0.5em }
    blockquote ul { background: inherit; }
    blockquote code.highlight:not(.idl) { padding: initial; }
    blockquote c-[a] { color: inherit; } /* Keyword.Declaration */
    blockquote c-[b] { color: inherit; } /* Keyword.Type */
    blockquote c-[c] { color: inherit; } /* Comment */
    blockquote c-[d] { color: inherit; } /* Comment.Multiline */
    blockquote c-[e] { color: inherit; } /* Name.Attribute */
    blockquote c-[f] { color: inherit; } /* Name.Tag */
    blockquote c-[g] { color: inherit; } /* Name.Variable */
    blockquote c-[k] { color: inherit; } /* Keyword */
    blockquote c-[l] { color: inherit; } /* Literal */
    blockquote c-[m] { color: inherit; } /* Literal.Number */
    blockquote c-[n] { color: inherit; } /* Name */
    blockquote c-[o] { color: inherit; } /* Operator */
    blockquote c-[p] { color: inherit; } /* Punctuation */
    blockquote c-[s] { color: inherit; } /* Literal.String */
    blockquote c-[t] { color: inherit; } /* Literal.String.Single */
    blockquote c-[u] { color: inherit; } /* Literal.String.Double */
    blockquote c-[cp] { color: inherit; } /* Comment.Preproc */
    blockquote c-[c1] { color: inherit; } /* Comment.Single */
    blockquote c-[cs] { color: inherit; } /* Comment.Special */
    blockquote c-[kc] { color: inherit; } /* Keyword.Constant */
    blockquote c-[kn] { color: inherit; } /* Keyword.Namespace */
    blockquote c-[kp] { color: inherit; } /* Keyword.Pseudo */
    blockquote c-[kr] { color: inherit; } /* Keyword.Reserved */
    blockquote c-[ld] { color: inherit; } /* Literal.Date */
    blockquote c-[nc] { color: inherit; } /* Name.Class */
    blockquote c-[no] { color: inherit; } /* Name.Constant */
    blockquote c-[nd] { color: inherit; } /* Name.Decorator */
    blockquote c-[ni] { color: inherit; } /* Name.Entity */
    blockquote c-[ne] { color: inherit; } /* Name.Exception */
    blockquote c-[nf] { color: inherit; } /* Name.Function */
    blockquote c-[nl] { color: inherit; } /* Name.Label */
    blockquote c-[nn] { color: inherit; } /* Name.Namespace */
    blockquote c-[py] { color: inherit; } /* Name.Property */
    blockquote c-[ow] { color: inherit; } /* Operator.Word */
    blockquote c-[mb] { color: inherit; } /* Literal.Number.Bin */
    blockquote c-[mf] { color: inherit; } /* Literal.Number.Float */
    blockquote c-[mh] { color: inherit; } /* Literal.Number.Hex */
    blockquote c-[mi] { color: inherit; } /* Literal.Number.Integer */
    blockquote c-[mo] { color: inherit; } /* Literal.Number.Oct */
    blockquote c-[sb] { color: inherit; } /* Literal.String.Backtick */
    blockquote c-[sc] { color: inherit; } /* Literal.String.Char */
    blockquote c-[sd] { color: inherit; } /* Literal.String.Doc */
    blockquote c-[se] { color: inherit; } /* Literal.String.Escape */
    blockquote c-[sh] { color: inherit; } /* Literal.String.Heredoc */
    blockquote c-[si] { color: inherit; } /* Literal.String.Interpol */
    blockquote c-[sx] { color: inherit; } /* Literal.String.Other */
    blockquote c-[sr] { color: inherit; } /* Literal.String.Regex */
    blockquote c-[ss] { color: inherit; } /* Literal.String.Symbol */
    blockquote c-[vc] { color: inherit; } /* Name.Variable.Class */
    blockquote c-[vg] { color: inherit; } /* Name.Variable.Global */
    blockquote c-[vi] { color: inherit; } /* Name.Variable.Instance */
    blockquote c-[il] { color: inherit; } /* Literal.Number.Integer.Long */
  </style>
  <meta content="Bikeshed version d4d56a96, updated Fri Apr 10 11:10:34 2020 -0700" name="generator">
  <link href="https://wg21.link/P2145R0" rel="canonical">
  <link href="https://isocpp.org/favicon.ico" rel="icon">
<style>
pre {
  margin-top: 0px;
  margin-bottom: 0px;
}
.ins, ins, ins *, span.ins, span.ins * {
  background-color: rgb(200, 250, 200);
  color: rgb(0, 136, 0);
  text-decoration: none;
}
.del, del, del *, span.del, span.del * {
  background-color: rgb(250, 200, 200);
  color: rgb(255, 0, 0);
  text-decoration: line-through;
  text-decoration-color: rgb(255, 0, 0);
}
math, span.math {
  font-family: serif;
  font-style: italic;
}
ul {
  list-style-type: "— ";
}
blockquote {
  counter-reset: paragraph;
}
div.numbered, div.newnumbered {
  margin-left: 2em;
  margin-top: 1em;
  margin-bottom: 1em;
}
div.numbered:before, div.newnumbered:before {
  position: absolute;
  margin-left: -2em;
  display-style: block;
}
div.numbered:before {
  content: counter(paragraph);
  counter-increment: paragraph;
}
div.newnumbered:before {
  content: "�";
}
div.numbered ul, div.newnumbered ul {
  counter-reset: list_item;
}
div.numbered li, div.newnumbered li {
  margin-left: 3em;
}
div.numbered li:before, div.newnumbered li:before {
  position: absolute;
  margin-left: -4.8em;
  display-style: block;
}
div.numbered li:before {
  content: "(" counter(paragraph) "." counter(list_item) ")";
  counter-increment: list_item;
}
div.newnumbered li:before {
  content: "(�." counter(list_item) ")";
  counter-increment: list_item;
}
</style>
<style>
.hol { text-decoration: line-through; color: grey; }
.la1 { font-weight: bolder; color: red; }
.la2 { font-weight: bolder; color: orange; }
.li1 { font-weight: bolder; color: blue; }
.li2 { font-weight: bolder; color: teal; }
.sg1 { font-weight: bolder; color: hotpink; }
.sg16 { font-weight: bolder; color: maroon; }
.cwg { font-weight: bolder; color: burlywood; }
.calendars { display: flex; flex-wrap: wrap; justify-content: center; }
.calendar { margin: 1em; font-size: 125%; }
.calendar thead { font-weight: bolder; }
.calendar tbody { color: grey; }
.calendar tbody td { text-align: right; }
</style>
<style>/* style-autolinks */

.css.css, .property.property, .descriptor.descriptor {
    color: #005a9c;
    font-size: inherit;
    font-family: inherit;
}
.css::before, .property::before, .descriptor::before {
    content: "‘";
}
.css::after, .property::after, .descriptor::after {
    content: "’";
}
.property, .descriptor {
    /* Don't wrap property and descriptor names */
    white-space: nowrap;
}
.type { /* CSS value <type> */
    font-style: italic;
}
pre .property::before, pre .property::after {
    content: "";
}
[data-link-type="property"]::before,
[data-link-type="propdesc"]::before,
[data-link-type="descriptor"]::before,
[data-link-type="value"]::before,
[data-link-type="function"]::before,
[data-link-type="at-rule"]::before,
[data-link-type="selector"]::before,
[data-link-type="maybe"]::before {
    content: "‘";
}
[data-link-type="property"]::after,
[data-link-type="propdesc"]::after,
[data-link-type="descriptor"]::after,
[data-link-type="value"]::after,
[data-link-type="function"]::after,
[data-link-type="at-rule"]::after,
[data-link-type="selector"]::after,
[data-link-type="maybe"]::after {
    content: "’";
}

[data-link-type].production::before,
[data-link-type].production::after,
.prod [data-link-type]::before,
.prod [data-link-type]::after {
    content: "";
}

[data-link-type=element],
[data-link-type=element-attr] {
    font-family: Menlo, Consolas, "DejaVu Sans Mono", monospace;
    font-size: .9em;
}
[data-link-type=element]::before { content: "<" }
[data-link-type=element]::after  { content: ">" }

[data-link-type=biblio] {
    white-space: pre;
}</style>
<style>/* style-counters */

body {
    counter-reset: example figure issue;
}
.issue {
    counter-increment: issue;
}
.issue:not(.no-marker)::before {
    content: "Issue " counter(issue);
}

.example {
    counter-increment: example;
}
.example:not(.no-marker)::before {
    content: "Example " counter(example);
}
.invalid.example:not(.no-marker)::before,
.illegal.example:not(.no-marker)::before {
    content: "Invalid Example" counter(example);
}

figcaption {
    counter-increment: figure;
}
figcaption:not(.no-marker)::before {
    content: "Figure " counter(figure) " ";
}</style>
<style>/* style-dfn-panel */

.dfn-panel {
    position: absolute;
    z-index: 35;
    height: auto;
    width: -webkit-fit-content;
    width: fit-content;
    max-width: 300px;
    max-height: 500px;
    overflow: auto;
    padding: 0.5em 0.75em;
    font: small Helvetica Neue, sans-serif, Droid Sans Fallback;
    background: #DDDDDD;
    color: black;
    border: outset 0.2em;
}
.dfn-panel:not(.on) { display: none; }
.dfn-panel * { margin: 0; padding: 0; text-indent: 0; }
.dfn-panel > b { display: block; }
.dfn-panel a { color: black; }
.dfn-panel a:not(:hover) { text-decoration: none !important; border-bottom: none !important; }
.dfn-panel > b + b { margin-top: 0.25em; }
.dfn-panel ul { padding: 0; }
.dfn-panel li { list-style: inside; }
.dfn-panel.activated {
    display: inline-block;
    position: fixed;
    left: .5em;
    bottom: 2em;
    margin: 0 auto;
    max-width: calc(100vw - 1.5em - .4em - .5em);
    max-height: 30vh;
}

.dfn-paneled { cursor: pointer; }
</style>
<style>/* style-md-lists */

/* This is a weird hack for me not yet following the commonmark spec
   regarding paragraph and lists. */
[data-md] > :first-child {
    margin-top: 0;
}
[data-md] > :last-child {
    margin-bottom: 0;
}</style>
<style>/* style-selflinks */

.heading, .issue, .note, .example, li, dt {
    position: relative;
}
a.self-link {
    position: absolute;
    top: 0;
    left: calc(-1 * (3.5rem - 26px));
    width: calc(3.5rem - 26px);
    height: 2em;
    text-align: center;
    border: none;
    transition: opacity .2s;
    opacity: .5;
}
a.self-link:hover {
    opacity: 1;
}
.heading > a.self-link {
    font-size: 83%;
}
li > a.self-link {
    left: calc(-1 * (3.5rem - 26px) - 2em);
}
dfn > a.self-link {
    top: auto;
    left: auto;
    opacity: 0;
    width: 1.5em;
    height: 1.5em;
    background: gray;
    color: white;
    font-style: normal;
    transition: opacity .2s, background-color .2s, color .2s;
}
dfn:hover > a.self-link {
    opacity: 1;
}
dfn > a.self-link:hover {
    color: black;
}

a.self-link::before            { content: "¶"; }
.heading > a.self-link::before { content: "§"; }
dfn > a.self-link::before      { content: "#"; }</style>
 </head><body class="h-entry toc-inline"><p id="toc-nav"><a id="toc-jump" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#toc"><span aria-hidden="true">↑</span> <span>Jump to Table of Contents</span></a><a id="toc-toggle" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#toc"><span aria-hidden="true">→</span> <span>Pop Out Sidebar</span></a></p>
  <div class="head">
   <p data-fill-with="logo"></p>
   <h1 class="p-name no-ref" id="title">P2145R0<br>Evolving C++ Remotely</h1>
   <h2 class="no-num no-toc no-ref heading settled" id="subtitle"><span class="content">Published Proposal, <time class="dt-updated" datetime="2020-04-20">2020-04-20</time></span></h2>
   <div data-fill-with="spec-metadata">
    <dl>
     <dt>Authors:
     </dt><dd>
      </dd><dd class="editor p-author h-card vcard"><a class="p-name fn u-email email" href="mailto:brycelelbach@gmail.com">Bryce Adelstein Lelbach — Library Evolution Chair</a> (<span class="p-org org">NVIDIA</span>)
     </dd><dd>
      </dd><dd class="editor p-author h-card vcard"><a class="p-name fn u-email email" href="mailto:titus@google.com">Titus Winters — Library Evolution Chair Emeritus</a> (<span class="p-org org">Google</span>)
     </dd><dd>
      </dd><dd class="editor p-author h-card vcard"><a class="p-name fn u-email email" href="mailto:f.fracassi@gmx.net">Fabio Fracassi — Incoming Library Evolution Vice Chair</a> (<span class="p-org org">CODE University of Applied Sciences</span>)
     </dd><dd>
      </dd><dd class="editor p-author h-card vcard"><a class="p-name fn u-email email" href="mailto:Billy.Baker@flightsafety.com">Billy Baker — Incoming Library Evolution Incubator Chair</a> (<span class="p-org org">FlightSafety</span>)
     </dd><dd>
      </dd><dd class="editor p-author h-card vcard"><a class="p-name fn u-email email" href="mailto:nliber@gmail.com">Nevin Liber — Incoming Library Evolution Incubator Vice Chair</a> (<span class="p-org org">Argonne National Laboratory</span>)
     </dd><dd>
      </dd><dd class="editor p-author h-card vcard"><a class="p-name fn u-email email" href="mailto:jfbastien@apple.com">JF Bastien — Language Evolution Chair</a> (<span class="p-org org">Apple</span>)
     </dd><dd>
      </dd><dd class="editor p-author h-card vcard"><a class="p-name fn u-email email" href="mailto:david.stone@uber.com">David Stone — Language Evolution Vice Chair</a> (<span class="p-org org">Uber</span>)
     </dd><dd>
      </dd><dd class="editor p-author h-card vcard"><a class="p-name fn u-email email" href="mailto:botond_ballo@yahoo.ca">Botond Ballo — Language Evolution Incubator Chair</a> (<span class="p-org org">Mozilla</span>)
     </dd><dd>
      </dd><dd class="editor p-author h-card vcard"><a class="p-name fn u-email email" href="mailto:erich.keane@intel.com">Erich Keane — Language Evolution Incubator Vice Chair</a> (<span class="p-org org">Intel</span>)
     </dd><dd>
      </dd><dd class="editor p-author h-card vcard"><a class="p-name fn u-email email" href="mailto:tom@honermann.net">Tom Honermann — SG16 (Unicode and text processing) Chair</a> (<span class="p-org org">Synopsys</span>)
     </dd><dt>Source:
     </dt><dd><a href="https://github.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/blob/master/evolving_cpp_remotely.bs">GitHub</a>
     </dd><dt>Issue Tracking:
     </dt><dd><a href="https://github.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/issues">GitHub</a>
     </dd><dt>Project:
     </dt><dd>ISO/IEC JTC1/SC22/WG21 14882: Programming Language — C++
     </dd><dt>Audience:
     </dt><dd>WG21
    </dd></dl>
   </div>
   <div data-fill-with="warning"></div>
   <hr title="Separator for header">
  </div>
  <nav data-fill-with="table-of-contents" id="toc">
   <h2 class="no-num no-toc no-ref" id="contents">Table of Contents</h2>
   <ol class="toc" role="directory">
    <li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#introduction"><span class="secno">1</span> <span class="content">Introduction</span></a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#calendar"><span class="secno">2</span> <span class="content">Calendar</span></a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#short"><span class="secno">3</span> <span class="content">The Short Version</span></a>
    </li><li>
     <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#work-at-f2f-meetings"><span class="secno">4</span> <span class="content">Work Performed at Face-to-Face Meetings</span></a>
     <ol class="toc">
      <li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#amount-of-work-at-f2f-meetings"><span class="secno">4.1</span> <span class="content">Amount of Work Performed at Face-to-Face Meetings</span></a>
      </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#kinds-of-work-at-f2f-meetings"><span class="secno">4.2</span> <span class="content">Kinds of Work Performed at Face-to-Face Meetings</span></a>
     </li></ol>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#mechanisms-for-remote-meetings"><span class="secno">5</span> <span class="content">Mechanisms for Remote Collaboration</span></a>
    </li><li>
     <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecon"><span class="secno">6</span> <span class="content">Telecons</span></a>
     <ol class="toc">
      <li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecon-duration-and-cadence"><span class="secno">6.1</span> <span class="content">Telecon Duration and Cadence</span></a>
      </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecon-platform"><span class="secno">6.2</span> <span class="content">Telecon Platform</span></a>
      </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#no-separate-incubator-telecons"><span class="secno">6.3</span> <span class="content">No Separate Incubator Telecons</span></a>
      </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecon-decision-making"><span class="secno">6.4</span> <span class="content">Telecon Decision-Making</span></a>
      </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecon-quorum"><span class="secno">6.5</span> <span class="content">Telecon Quorum</span></a>
      </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecon-chairing"><span class="secno">6.6</span> <span class="content">Telecon Chairing</span></a>
      </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons-arent-mandatory"><span class="secno">6.7</span> <span class="content">Telecons Aren’t Mandatory</span></a>
     </li></ol>
    </li><li>
     <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-discussions"><span class="secno">7</span> <span class="content">Email List Discussions</span></a>
     <ol class="toc">
      <li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#what-email-is-good-for"><span class="secno">7.1</span> <span class="content">What Email List Discussions Are Good For</span></a>
      </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#what-email-isnt-good-for"><span class="secno">7.2</span> <span class="content">What Email List Discussions Aren’t Good For</span></a>
      </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#summarize-email-list-discussion"><span class="secno">7.3</span> <span class="content">Summarize Email List Discussions</span></a>
     </li></ol>
    </li><li>
     <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#high-priority-work"><span class="secno">8</span> <span class="content">High-Priority Work</span></a>
     <ol class="toc">
      <li>
       <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#high-priority-library-work"><span class="secno">8.1</span> <span class="content">High-Priority Library Work</span></a>
       <ol class="toc">
        <li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#networking"><span class="secno">8.1.1</span> <span class="content">Networking</span></a>
        </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#executors"><span class="secno">8.1.2</span> <span class="content">Executors</span></a>
        </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#modularizing-the-standard-library"><span class="secno">8.1.3</span> <span class="content">Modularizing the Standard Library</span></a>
        </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#coroutine-library-support"><span class="secno">8.1.4</span> <span class="content">Coroutine Library Support</span></a>
       </li></ol>
      </li><li>
       <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#high-priority-language-work"><span class="secno">8.2</span> <span class="content">High-Priority Language Work</span></a>
       <ol class="toc">
        <li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#pattern-matching"><span class="secno">8.2.1</span> <span class="content">Pattern Matching</span></a>
        </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#reflection"><span class="secno">8.2.2</span> <span class="content">Reflection</span></a>
        </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#contracts"><span class="secno">8.2.3</span> <span class="content">Contracts</span></a>
       </li></ol>
     </li></ol>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#field-experience"><span class="secno">9</span> <span class="content">Field Experience With Remote Work</span></a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#deadlines"><span class="secno">10</span> <span class="content">Deadlines</span></a>
    </li><li>
     <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#appendix"><span class="secno">11</span> <span class="content">Appendix</span></a>
     <ol class="toc">
      <li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#appendix-typical-evolution-f2f-schedule"><span class="secno">11.1</span> <span class="content">Typical Library and Language Evolution Face-to-Face Schedule</span></a>
      </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#appendix-historical-library-incubator-f2f-schedule"><span class="secno">11.2</span> <span class="content">Historical Library Incubator Face-to-Face Schedule</span></a>
      </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#appendix-historical-library-incubator-f2f-attendance"><span class="secno">11.3</span> <span class="content">Historical Library Incubator Face-to-Face Attendance</span></a>
     </li></ol>
    </li><li>
     <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#index"><span class="secno"></span> <span class="content">Index</span></a>
     <ol class="toc">
      <li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#index-defined-here"><span class="secno"></span> <span class="content">Terms defined by this specification</span></a>
     </li></ol>
    </li><li>
     <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#references"><span class="secno"></span> <span class="content">References</span></a>
     <ol class="toc">
      <li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#informative"><span class="secno"></span> <span class="content">Informative References</span></a>
     </li></ol>
   </li></ol>
  </nav>
  <main>
   <h2 class="heading settled" data-level="1" id="introduction"><span class="secno">1. </span><span class="content">Introduction</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#introduction"></a></h2>
   <p>Due to the ongoing global health crisis caused by the novel coronavirus, the
  ISO C++ Committee’s planned June 2020 meeting in Varna, Bulgaria was called
  off.
During this uncertain time, our priority must be the safety and well-being of
  the committee and the public at large.</p>
   <p>The postponement of the 2020-06 Varna meeting and the broader impacts of the
  novel coronavirus on society will be disruptive.
At times like these, family and personal well-being comes first, and work comes
  second.
No one can be as productive in these times as they normally would be.
However, the ISO C++ Committee can and will do our best to adapt to these
  disruptions and carry on our work remotely in these trying times.</p>
   <p>Our plans for C++23 and beyond (<a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p0592r4">[P0592R4]</a>) have not changed, but the way that
  we execute on those plans will have to change.
This document lays out plans for how we will conduct Library and Language
  Evolution work remotely.</p>
   <p>This proposal covers plans for remote operations until the schedule New York
  meeting in November 2020 <a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-n4848">[N4848]</a>.
We will revisit our plans should the 2020-11 New York meeting also be
  delayed.</p>
   <h2 class="heading settled" data-level="2" id="calendar"><span class="secno">2. </span><span class="content">Calendar</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#calendar"></a></h2>
   <p>The telecon calendar is as follows:</p>
   <ul>
    <li><span class="hol">Holidays:</span> no telecon, schedule for adjacent day. 
    </li><li><span class="li1">LEWG Library Evolution meetings:</span> 8:00AM Pacific on Mondays. 
    </li><li><span class="li2">LEWG Library Evolution meetings:</span> 10:00AM Pacific on Tuesdays. 
    </li><li><span class="la1">EWG Language Evolution meetings:</span> 8:00AM Pacific on Wednesday. 
    </li><li><span class="la2">EWG Language Evolution meetings:</span> 10:00AM Pacific on Thursday. 
    </li><li><span class="cwg">CWG Core Language:</span> 2020-04-20 at 17:00 UTC (1:00 p.m. EDT) for 2h of issue processing. 
    </li><li><span class="sg1">SG1 Concurrency &amp; Parallelism:</span> 8:30-10:30AM Pacific on Mondays, start date not yet set. 
    </li><li>ABI review group: no scheduled meetings 
    </li><li>SG10 feature testing: no scheduled meetings 
    </li><li><span class="sg16">SG16 Unicode and text processing:</span> 12:30-2:00PM Pacific on the 2nd and 4th Wednesday of each month. 
   </li></ul>
   <p>The topics for each <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons">telecon</a> can be found here:</p>
   <ul>
    <li data-md="">
     <p><a href="https://github.com/cplusplus/projects/2">Remote Library Evolution GitHub Project</a>.</p>
    </li><li data-md="">
     <p><a href="https://github.com/cplusplus/projects/3">Remote Language Evolution GitHub Project</a>.</p>
   </li></ul>
   <p>Details about how to join the telecons will be distributed through the Library
  and Language Evolution email lists and wiki.
If you do not have access to these and are interested in participating, please
  contact the authors of this paper.</p>
   <div class="calendars">
    <table class="calendar">
     <caption>April</caption>
     <thead>
      <tr>
       <td>Mo
       </td><td>Tu
       </td><td>We
       </td><td>Th
       </td><td>Fr
       </td><td>Sa
       </td><td>Su 
     </td></tr></thead><tbody>
      <tr>
       <td>
       </td><td>
       </td><td> 1
       </td><td> 2
       </td><td> 3
       </td><td> 4
       </td><td> 5 
      </td></tr><tr>
       <td class="li1"> 6
       </td><td> 7
       </td><td> 8<sup class="sg16">SG16</sup> 
       </td><td class="la2"> 9
       </td><td>10
       </td><td>11
       </td><td>12 
      </td></tr><tr>
       <td>13
       </td><td class="li2">14
       </td><td class="la1">15
       </td><td>16
       </td><td>17
       </td><td>18
       </td><td>19 
      </td></tr><tr>
       <td class="li1">20<sup class="cwg">CWG</sup>
       </td><td>21
       </td><td>22
       </td><td class="la2">23
       </td><td>24
       </td><td>25
       </td><td>26 
      </td></tr><tr>
       <td>27
       </td><td class="li2">28
       </td><td class="la1">29<sup class="sg16">SG16</sup> 
       </td><td>30
       </td><td>
       </td><td>
       </td><td>
    </td></tr></tbody></table>
    <table class="calendar">
     <caption>May</caption>
     <thead>
      <tr>
       <td>Mo
       </td><td>Tu
       </td><td>We
       </td><td>Th
       </td><td>Fr
       </td><td>Sa
       </td><td>Su 
     </td></tr></thead><tbody>
      <tr>
       <td>
       </td><td>
       </td><td>
       </td><td>
       </td><td> 1
       </td><td> 2
       </td><td> 3 
      </td></tr><tr>
       <td class="li1"> 4
       </td><td> 5
       </td><td> 6
       </td><td class="la2"> 7
       </td><td> 8
       </td><td> 9
       </td><td>10 
      </td></tr><tr>
       <td>11
       </td><td class="li2">12<sup class="sg16">SG16</sup> 
       </td><td class="la1">13
       </td><td>14
       </td><td>15
       </td><td>16
       </td><td>17 
      </td></tr><tr>
       <td class="li1">18
       </td><td>19
       </td><td>20
       </td><td class="la2">21
       </td><td>22
       </td><td>23
       </td><td>24 
      </td></tr><tr>
       <td class="hol">25
       </td><td class="li2">26<sup class="sg16">SG16</sup> 
       </td><td class="la1">27
       </td><td>28
       </td><td>29
       </td><td>30
       </td><td>31 
    </td></tr></tbody></table>
    <table class="calendar">
     <caption>June</caption>
     <thead>
      <tr>
       <td>Mo
       </td><td>Tu
       </td><td>We
       </td><td>Th
       </td><td>Fr
       </td><td>Sa
       </td><td>Su 
     </td></tr></thead><tbody>
      <tr>
       <td class="li1"> 1
       </td><td> 2
       </td><td> 3
       </td><td class="la2"> 4
       </td><td> 5
       </td><td> 6
       </td><td> 7 
      </td></tr><tr>
       <td> 8
       </td><td class="li2"> 9<sup class="sg16">SG16</sup> 
       </td><td class="la1">10
       </td><td>11
       </td><td>12
       </td><td>13
       </td><td>14 
      </td></tr><tr>
       <td class="li1">15
       </td><td>16
       </td><td>17
       </td><td class="la2">18
       </td><td>19
       </td><td>20
       </td><td>21 
      </td></tr><tr>
       <td>22
       </td><td class="li2">23<sup class="sg16">SG16</sup> 
       </td><td class="la1">24
       </td><td>25
       </td><td>26
       </td><td>27
       </td><td>28 
      </td></tr><tr>
       <td class="li1">29
       </td><td>30
       </td><td>
       </td><td>
       </td><td>
       </td><td>
       </td><td>
    </td></tr></tbody></table>
    <table class="calendar">
     <caption>July</caption>
     <thead>
      <tr>
       <td>Mo
       </td><td>Tu
       </td><td>We
       </td><td>Th
       </td><td>Fr
       </td><td>Sa
       </td><td>Su 
     </td></tr></thead><tbody>
      <tr>
       <td>
       </td><td>
       </td><td> 1
       </td><td class="la2"> 2
       </td><td> 3
       </td><td> 4
       </td><td> 5 
      </td></tr><tr>
       <td> 6
       </td><td class="li2"> 7
       </td><td class="la1"> 8
       </td><td> 9
       </td><td>10
       </td><td>11
       </td><td>12 
      </td></tr><tr>
       <td class="li1">13
       </td><td>14<sup class="sg16">SG16</sup> 
       </td><td>15
       </td><td class="la2">16
       </td><td>17
       </td><td>18
       </td><td>19 
      </td></tr><tr>
       <td>20
       </td><td class="li2">21
       </td><td class="la1">22
       </td><td>23
       </td><td>24
       </td><td>25
       </td><td>26 
      </td></tr><tr>
       <td class="li1">27
       </td><td>28<sup class="sg16">SG16</sup> 
       </td><td>29
       </td><td class="la2">30
       </td><td>31
       </td><td>
       </td><td>
    </td></tr></tbody></table>
    <table class="calendar">
     <caption>August</caption>
     <thead>
      <tr>
       <td>Mo
       </td><td>Tu
       </td><td>We
       </td><td>Th
       </td><td>Fr
       </td><td>Sa
       </td><td>Su 
     </td></tr></thead><tbody>
      <tr>
       <td>
       </td><td>
       </td><td>
       </td><td class="la2">
       </td><td>
       </td><td> 1
       </td><td> 2 
      </td></tr><tr>
       <td> 3
       </td><td class="li2"> 4
       </td><td class="la1"> 5
       </td><td> 6
       </td><td> 7
       </td><td> 8
       </td><td> 9 
      </td></tr><tr>
       <td class="li1">10
       </td><td>11<sup class="sg16">SG16</sup> 
       </td><td>12
       </td><td class="la2">13
       </td><td>14
       </td><td>15
       </td><td>16 
      </td></tr><tr>
       <td>17
       </td><td class="li2">18
       </td><td class="la1">19
       </td><td>20
       </td><td>21
       </td><td>22
       </td><td>23 
      </td></tr><tr>
       <td class="li1">24
       </td><td>25<sup class="sg16">SG16</sup> 
       </td><td>26
       </td><td class="la2">27
       </td><td>28
       </td><td>29
       </td><td>30 
      </td></tr><tr>
       <td>31
       </td><td>
       </td><td>
       </td><td>
       </td><td>
       </td><td>
       </td><td>
    </td></tr></tbody></table>
    <table class="calendar">
     <caption>September</caption>
     <thead>
      <tr>
       <td>Mo
       </td><td>Tu
       </td><td>We
       </td><td>Th
       </td><td>Fr
       </td><td>Sa
       </td><td>Su 
     </td></tr></thead><tbody>
      <tr>
       <td>
       </td><td class="li2"> 1
       </td><td class="la1"> 2
       </td><td> 3
       </td><td> 4
       </td><td> 5
       </td><td> 6 
      </td></tr><tr>
       <td class="hol"> 7
       </td><td class="li2"> 8<sup class="sg16">SG16</sup> 
       </td><td> 9
       </td><td class="la2">10
       </td><td>11
       </td><td>12
       </td><td>13 
      </td></tr><tr>
       <td>14
       </td><td class="li2">15
       </td><td class="la1">16
       </td><td>17
       </td><td>18
       </td><td>19
       </td><td>20 
      </td></tr><tr>
       <td class="li1">21
       </td><td>22<sup class="sg16">SG16</sup> 
       </td><td>23
       </td><td class="la2">24
       </td><td>25
       </td><td>26
       </td><td>27 
      </td></tr><tr>
       <td>28
       </td><td class="li2">29
       </td><td class="la1">30
       </td><td>
       </td><td>
       </td><td>
       </td><td>
    </td></tr></tbody></table>
    <table class="calendar">
     <caption>October</caption>
     <thead>
      <tr>
       <td>Mo
       </td><td>Tu
       </td><td>We
       </td><td>Th
       </td><td>Fr
       </td><td>Sa
       </td><td>Su 
     </td></tr></thead><tbody>
      <tr>
       <td>
       </td><td>
       </td><td>
       </td><td> 1
       </td><td> 2
       </td><td> 3
       </td><td> 4 
      </td></tr><tr>
       <td class="li1"> 5
       </td><td> 6
       </td><td> 7
       </td><td class="la2"> 8
       </td><td> 9
       </td><td>10
       </td><td>11 
      </td></tr><tr>
       <td class="hol">12
       </td><td class="li2">13<sup class="sg16">SG16</sup> 
       </td><td class="la1">14
       </td><td>15
       </td><td>16
       </td><td>17
       </td><td>18 
      </td></tr><tr>
       <td class="li1">19
       </td><td>20
       </td><td>21
       </td><td class="la2">22
       </td><td>23
       </td><td>24
       </td><td>25 
      </td></tr><tr>
       <td>26
       </td><td class="li2">27<sup class="sg16">SG16</sup> 
       </td><td class="la1">28
       </td><td>29
       </td><td>30
       </td><td>31
       </td><td>
    </td></tr></tbody></table>
   </div>
   <p>We will also provide a Google Calendar that people can subscribe to if they wish,
and we will be emailing calendar invites to the language and library reflectors.
Those will contain the link to the teleconference.</p>
   <h2 class="heading settled" data-level="3" id="short"><span class="secno">3. </span><span class="content">The Short Version</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#short"></a></h2>
   <ul>
    <li data-md="">
     <p>Library and Language Evolution consists of three activities:</p>
     <ul>
      <li data-md="">
       <p><a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#information-distribution" id="ref-for-information-distribution">Information Distribution</a>.</p>
      </li><li data-md="">
       <p><a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#review" id="ref-for-review">Review</a>.</p>
      </li><li data-md="">
       <p><a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#decision-making" id="ref-for-decision-making">Decision-Making</a>.</p>
     </li></ul>
    </li><li data-md="">
     <p>We have three main mechanisms for remote collaboration:</p>
     <ul>
      <li data-md="">
       <p><a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#mailings" id="ref-for-mailings">Mailings</a>.</p>
      </li><li data-md="">
       <p><a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions" id="ref-for-email-list-discussions">Email List Discussions</a>.</p>
      </li><li data-md="">
       <p><a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons①">Telecons</a>.</p>
     </li></ul>
    </li><li data-md="">
     <p>Starting in April 2020 Library and Language Evolution will have a weekly 1.5
  hour <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons②">telecon</a>.</p>
     <ul>
      <li data-md="">
       <p>Each will have two time slots which alternate each week.</p>
       <ul>
        <li data-md="">
         <p>Library on Monday 8:00AM Pacific / Tuesday 10:00AM Pacific.</p>
        </li><li data-md="">
         <p>Language on Wednesday 8:00AM Pacific / Thursday 10:00AM Pacific.</p>
        </li><li data-md="">
         <p>Modulo holidays, where we’ll defer the meeting by a day.</p>
       </li></ul>
      </li><li data-md="">
       <p>We will use <a href="https://zoom.us/">Zoom</a>, the official ISO <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons③">telecon</a> platform.</p>
     </li></ul>
    </li><li data-md="">
     <p>We will make <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#decision-making" id="ref-for-decision-making①">decisions</a> on these <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons④">telecons</a> using straw
  polls.</p>
     <ul>
      <li data-md="">
       <p>Decisions made on <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons⑤">telecons</a> will be "Tentatively Ready", which means:</p>
       <ul>
        <li data-md="">
         <p>They are sent to the Library Evolution or Language Evolution email
  list for feedback.</p>
        </li><li data-md="">
         <p>They are marked "Tentatively Ready" on GitHub.</p>
        </li><li data-md="">
         <p>They are briefly reviewed for affirmation at the next face-to-face
  meeting.</p>
       </li></ul>
      </li><li data-md="">
       <p>Missing a <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons⑥">telecon</a> does not prevent your voice from being heard.</p>
     </li></ul>
    </li><li data-md="">
     <p>Use <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions" id="ref-for-email-list-discussions①">email list discussions</a> for <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#review" id="ref-for-review①">review</a> whenever possible to minimize
  the amount of work that must be done on <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons⑦">telecons</a> or at future
  face-to-face meetings.</p>
     <ul>
      <li data-md="">
       <p>Chairs will start curated <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions" id="ref-for-email-list-discussions②">email list discussions</a> of certain papers.</p>
      </li><li data-md="">
       <p>Try to summarize <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions" id="ref-for-email-list-discussions③">email list discussions</a> that you start or participate
  in.</p>
     </li></ul>
    </li><li data-md="">
     <p>There will be no separate Library or Language Evolution Incubator meetings.</p>
   </li></ul>
   <h2 class="heading settled" data-level="4" id="work-at-f2f-meetings"><span class="secno">4. </span><span class="content">Work Performed at Face-to-Face Meetings</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#work-at-f2f-meetings"></a></h2>
   <p>First, we need to understand what exactly we’re losing with the postponement
  of the 2020-06 Varna meeting.
What exactly do we do at face-to-face meetings, and how much time do we spend
  doing it?</p>
   <h3 class="heading settled" data-level="4.1" id="amount-of-work-at-f2f-meetings"><span class="secno">4.1. </span><span class="content">Amount of Work Performed at Face-to-Face Meetings</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#amount-of-work-at-f2f-meetings"></a></h3>
   <p>At a typical ISO C++ Committee face-to-face meeting, <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#appendix-typical-evolution-f2f-schedule">Library Evolution and Language Evolution meet for 33.25 hours each</a>. <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#appendix-historical-library-incubator-f2f-schedule">Library Incubator meets for 24.8 hours</a>.
  Language Incubator has similar numbers.
For both the Library and Language tracks, we spend a total of ~58 hours per
  meeting and ~174 hours per year at face-to-face meetings on Evolution and
  Incubation.</p>
   <p>A lot of voluntary and informal, but important, work also occurs during meals
  and at in the evening hours.</p>
   <h3 class="heading settled" data-level="4.2" id="kinds-of-work-at-f2f-meetings"><span class="secno">4.2. </span><span class="content">Kinds of Work Performed at Face-to-Face Meetings</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#kinds-of-work-at-f2f-meetings"></a></h3>
   <p>When in session at face-to-face meetings, we typically perform three activities:</p>
   <ul>
    <li data-md="">
     <p><dfn class="dfn-paneled" data-dfn-type="dfn" data-noexport="" id="information-distribution">Information Distribution</dfn>, where knowledgeable parties
  educate the committee about a subject.</p>
    </li><li data-md="">
     <p><dfn class="dfn-paneled" data-dfn-type="dfn" data-noexport="" id="review">Review</dfn>, where the committee identifies open questions
  and places where we lack clear consensus.</p>
    </li><li data-md="">
     <p><dfn class="dfn-paneled" data-dfn-type="dfn" data-noexport="" id="decision-making">Decision-Making</dfn>, where the committee answers open
  questions and we determine consensus on particular matters.</p>
   </li></ul>
   <h2 class="heading settled" data-level="5" id="mechanisms-for-remote-meetings"><span class="secno">5. </span><span class="content">Mechanisms for Remote Collaboration</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#mechanisms-for-remote-meetings"></a></h2>
   <p>We have three primary mechanisms for remote collaboration:</p>
   <ul>
    <li data-md="">
     <p><dfn class="dfn-paneled" data-dfn-type="dfn" data-noexport="" id="mailings">Mailings</dfn>, which are regular distributions of committee
  proposals.
Mailings are a good way to <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#information-distribution" id="ref-for-information-distribution①">distribute information</a>.</p>
    </li><li data-md="">
     <p><dfn class="dfn-paneled" data-dfn-type="dfn" data-noexport="" id="email-list-discussions">Email List Discussions</dfn>, which are good for <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#information-distribution" id="ref-for-information-distribution②">information distribution</a> and <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#review" id="ref-for-review②">review</a>.
They are not as effective for <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#decision-making" id="ref-for-decision-making②">decision-making</a> as it can be hard to
  determine consensus.
Email list discussions are asynchronous, so everyone can participate when
  it is convenient for them.</p>
    </li><li data-md="">
     <p><dfn class="dfn-paneled" data-dfn-type="dfn" data-noexport="" id="telecons">Telecons</dfn>, which are good for <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#information-distribution" id="ref-for-information-distribution③">information distribution</a>, <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#review" id="ref-for-review③">review</a>, and <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#decision-making" id="ref-for-decision-making③">decision-making</a>.
However, they are synchronous by nature, which introduces scheduling
  constraints that limits participation and makes them a scarce resource.</p>
   </li></ul>
   <h2 class="heading settled" data-level="6" id="telecon"><span class="secno">6. </span><span class="content">Telecons</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecon"></a></h2>
   <p>Because <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons⑧">telecons</a> are the only good option for <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#decision-making" id="ref-for-decision-making④">decision-making</a> and they
  are a scarce resource, we should try to use them for <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#decision-making" id="ref-for-decision-making⑤">decision-making</a> as
  much as possible.
That means we should do as much <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#information-distribution" id="ref-for-information-distribution④">distribution of information</a> and <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#review" id="ref-for-review④">review</a> outside of <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons⑨">telecons</a> as possible.
It is important that participants read the proposals that will be discussed on
  a <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons①⓪">telecon</a> before the <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons①①">telecon</a>, and utilize <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions" id="ref-for-email-list-discussions④">email list discussions</a> whenever possible.</p>
   <h3 class="heading settled" data-level="6.1" id="telecon-duration-and-cadence"><span class="secno">6.1. </span><span class="content">Telecon Duration and Cadence</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecon-duration-and-cadence"></a></h3>
   <p>As mentioned earlier in <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#amount-of-work-at-f2f-meetings">§ 4.1 Amount of Work Performed at Face-to-Face Meetings</a>, we spend ~174
  hours per year on Library and Language Evolution at face-to-face meetings.
This is an average of ~3.3 hours per week (~4 months per committee meeting
  equivalent).</p>
   <p>~3.3 hours per week is a slightly larger commitment than reasonable, especially
  given that other parts of the committee will also be meeting remotely.
If some part of the <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#information-distribution" id="ref-for-information-distribution⑤">information distribution</a> and <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#review" id="ref-for-review⑤">review</a> that occurs at
  face-to-face committee meetings can happen via <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions" id="ref-for-email-list-discussions⑤">email list discussions</a> message platforms instead of <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons①②">telecons</a>, it should not be necessary for
  us to make up all of the time of face-to-face meetings via <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons①③">telecons</a>.</p>
   <p>There are tradeoffs in selecting a duration for individual <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons①④">telecons</a>.
Longer <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons①⑤">telecons</a> can be harder to schedule and can strain the endurance of
  participants.
Shorter <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons①⑥">telecons</a> are easier to schedule and may draw greater attendance,
  but disrupt the continuity of discussions.</p>
   <p>Given the committee’s global nature, it is difficult to find times that are
  convenient for all committee members.
Instead of always holding weekly meetings at a single time, we should either
  meet multiple times per week or meet once per week but have two time slots
  which alternate each week.
This will give us additional scheduling flexibility.</p>
   <p>Given all of this, <strong>Library and Language Evolution will meet ~1.5 hours per
  week, from April 2020 until at least November 2020</strong>.</p>
   <p>This is about 50% of time commitment that we would have made to the 2020-06
  Varna meeting.
If this cadence and duration proves to be too much, we will adjust by scaling
  back and cancelling meetings.</p>
   <h3 class="heading settled" data-level="6.2" id="telecon-platform"><span class="secno">6.2. </span><span class="content">Telecon Platform</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecon-platform"></a></h3>
   <p>Our <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons①⑦">telecon</a> platform needs to be able to support the following:</p>
   <ul>
    <li data-md="">
     <p>Supports video chat.</p>
    </li><li data-md="">
     <p>Supports audio over internet or via phone line.</p>
    </li><li data-md="">
     <p>Works on Windows, Mac, Linux, and mobile devices.</p>
    </li><li data-md="">
     <p>Attendee hand raising.</p>
     <ul>
      <li data-md="">
       <p>The hand queue should show the order in which hands were raised.</p>
      </li><li data-md="">
       <p>The <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons①⑧">telecon</a> organizer should to be able to lower raised hands.</p>
     </li></ul>
    </li><li data-md="">
     <p>Attendee polling.</p>
     <ul>
      <li data-md="">
       <p>Multiple types of polls should be supported: at least 5-way and 3-way polls.</p>
      </li><li data-md="">
       <p>The <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons①⑨">telecon</a> organizer should be able to clear votes.</p>
     </li></ul>
    </li><li data-md="">
     <p>Attendee renaming by <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons②⓪">telecon</a> organizer.</p>
    </li><li data-md="">
     <p>Meeting recording.</p>
   </li></ul>
   <p>We will use <a href="https://zoom.us/">Zoom</a>, the official ISO <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons②①">telecon</a> platform.
Zoom supports most of these features and the committee has field experience <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#field-experience">§ 9 Field Experience With Remote Work</a> using this platform to hold <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons②②">telecons</a>.</p>
   <h3 class="heading settled" data-level="6.3" id="no-separate-incubator-telecons"><span class="secno">6.3. </span><span class="content">No Separate Incubator Telecons</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#no-separate-incubator-telecons"></a></h3>
   <p>The primary reason that Library and Language Evolution Incubator meets
  separately and concurrently with Library and Language Evolution is due to the
  time constraints of our physical meetings.</p>
   <p>For remote meetings, we do not have the same kind of time constraints that force
  concurrent sessions of Evolution and Incubator groups.
As such, there does not seem to be much value in holding separate <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons②③">telecons</a>.</p>
   <p>All <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons②④">telecon</a> discussions will be considered joint exercises of Evolution and
  Evolution Incubator.</p>
   <h3 class="heading settled" data-level="6.4" id="telecon-decision-making"><span class="secno">6.4. </span><span class="content">Telecon Decision-Making</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecon-decision-making"></a></h3>
   <p>We will make decisions on <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons②⑤">telecons</a> via straw polls, just as we do at
  face-to-face meetings.</p>
   <p>Any decisions made on <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons②⑥">telecons</a> will be considered "Tentatively Ready".</p>
   <p>For forwarding of proposals to other subgroups, this means that the paper will
  be forwarded on the ISO C++ GitHub for paper tracking, but marked with the
  "Tentatively Ready" tag.
At the start of the next face-to-face meeting, we will briefly go through the
  list of "Tentatively Ready" proposals that were forwarded to see if anyone
  has new information or new perspectives that warrant revisiting those proposals.</p>
   <p>For all "Tentatively Ready" decisions made on <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons②⑦">telecons</a>, after the <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons②⑧">telecon</a> a message will be sent to the relevant email lists with a summary of the
  decisions, to give anyone who did not attend the <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons②⑨">telecon</a> a chance to voice
  their opinion.</p>
   <h3 class="heading settled" data-level="6.5" id="telecon-quorum"><span class="secno">6.5. </span><span class="content">Telecon Quorum</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecon-quorum"></a></h3>
   <p>We expect to have lower attendance on <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons③⓪">telecons</a> than we would have at
  face-to-face meetings.</p>
   <p>We do not have readily accessible data for attendance in Library Evolution
  and Language Evolution.
Typically, attendance in Library Evolution is between 15 and 30 people and
  attendance in Language Evolution is between 30 and 50 people. <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#appendix-historical-library-incubator-f2f-attendance">Average attendance in Library Incubator is 17 people</a>.
  Language Incubator has similar numbers.</p>
   <p>Quorum is not merely a function of the quantity of people in the room.
For quorum, we need to have both the right people and the right quantity of
  them.</p>
   <p>That said, if we have fewer than 15 participants on any given Library or
  Language Evolution <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons③①">telecon</a>, it will be difficult for us to make meaningful
  decisions.
In such a circumstance, we would avoid <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#decision-making" id="ref-for-decision-making⑥">decision-making</a> and instead use our
  time for <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#review" id="ref-for-review⑥">review</a> and <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#information-distribution" id="ref-for-information-distribution⑥">information distribution</a>.</p>
   <h3 class="heading settled" data-level="6.6" id="telecon-chairing"><span class="secno">6.6. </span><span class="content">Telecon Chairing</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecon-chairing"></a></h3>
   <p>Running weekly telecons is not a small amount of effort.
Fortunately, we have multiple chairs available for each track (Evolution chair,
  Evolution vice chair, Incubator chair, and Incubator vice chair), so we can
  distribute the burden amongst ourselves.</p>
   <h3 class="heading settled" data-level="6.7" id="telecons-arent-mandatory"><span class="secno">6.7. </span><span class="content">Telecons Aren’t Mandatory</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons-arent-mandatory"></a></h3>
   <p>If you are a stakeholder on a particular proposal or subject, you are strongly
  encouraged to attend <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons③②">telecons</a> on that proposal or subject.
However, <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons③③">telecon</a> attendance is encouraged but not mandatory.</p>
   <p><b>Missing a <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons③④">telecon</a> does not prevent your voice from being heard.</b> If a decision is made on a <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons③⑤">telecon</a> and you feel you have a new perspective or
  new information that was not considered, you should make the committee aware
  via <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions" id="ref-for-email-list-discussions⑥">email list discussion</a>.
As with face-to-face meetings, we can always revisit decisions if we have new
  information.</p>
   <h2 class="heading settled" data-level="7" id="email-discussions"><span class="secno">7. </span><span class="content">Email List Discussions</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-discussions"></a></h2>
   <p>We have always made use of <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions" id="ref-for-email-list-discussions⑦">email list discussions</a> for inter-meeting work,
  but they are more important than ever now, and we should strive to do more work
  via email.</p>
   <p>To help drive <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions" id="ref-for-email-list-discussions⑧">email list discussions</a> and minimize the need for <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons③⑥">telecons</a>,
  chairs will start curated discussions of papers on a regular basis.
This is something Library Evolution has done in the past to help address
  backlogs.</p>
   <h3 class="heading settled" data-level="7.1" id="what-email-is-good-for"><span class="secno">7.1. </span><span class="content">What Email List Discussions Are Good For</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#what-email-is-good-for"></a></h3>
   <p>As discussed earlier, email list discussions are an excellent medium for us to <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#review" id="ref-for-review⑦">review</a> proposals and <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#information-distribution" id="ref-for-information-distribution⑦">distribute information</a>.
They are asynchronous, which means people can participate in <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions" id="ref-for-email-list-discussions⑨">email list discussions</a> when it is convenient for them to do so.</p>
   <p><a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#review" id="ref-for-review⑧">Review</a> over email likely works best when the discussion is very targeted.
If you want to start an <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions" id="ref-for-email-list-discussions①⓪">email list discussion</a> of a proposal, it’s probably
  best to begin with a focused set of questions that you are seeking answers for.</p>
   <p>Here are some examples of questions that are probably well suited to an <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions" id="ref-for-email-list-discussions①①">email list discussion</a>:</p>
   <blockquote>
    <p>I was writing Proposal X and ran into Specific Problem Y. Can anyone suggest
some solutions?</p>
   </blockquote>
   <blockquote>
    <p>I was writing Proposal X and I was wondering how Specific Thing Y came to be
in the standard. Does anyone know?</p>
   </blockquote>
   <blockquote>
    <p>I noticed Perceived Problem X in the standard, and I was thinking about
writing a proposal to fix it in Specific Way Y. What do y’all think about my
solution?</p>
   </blockquote>
   <blockquote>
    <p>I was considering proposing Feature X. Do y’all think this is worth
standardizing?</p>
   </blockquote>
   <blockquote>
    <p>I was reading Proposal X and I noticed some downsides to Approach Y in
the proposal. I spoke with the author and he mentioned that we have to select
between Approach Y (which has Specific Downsides A) and Approach Z (which has
Specific Downsides B). The author and I wanted to know what the committee
thought about these tradeoffs.</p>
   </blockquote>
   <blockquote>
    <p>Decision X was made on Telecon A; I’m not sure I understand the rationale,
can someone explain?</p>
   </blockquote>
   <blockquote>
    <p>Decision X was made on Telecon A; was Specific Thing Y considered during the
discussion?</p>
   </blockquote>
   <blockquote>
    <p>Attached is an update of Proposal X, with the following changes based on
discussion from Telecon A: List of Changes B. I’d like to call particular
attention to Part Y and Open Question Z - please let me know if you have any
thoughts or new information.</p>
   </blockquote>
   <h3 class="heading settled" data-level="7.2" id="what-email-isnt-good-for"><span class="secno">7.2. </span><span class="content">What Email List Discussions Aren’t Good For</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#what-email-isnt-good-for"></a></h3>
   <p>However, <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions" id="ref-for-email-list-discussions①②">email list discussions</a> have downsides.
The signal-to-noise ratio can be quite bad and it can be difficult to identify
  the consensus of an <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions" id="ref-for-email-list-discussions①③">email list discussion</a> and leave with clear outcomes.</p>
   <p>Additionally, sometimes <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions" id="ref-for-email-list-discussions①④">email list discussions</a> are not effective due to lack
  of participation.
This can happen when the discussion doesn’t have a clear scope or goal.</p>
   <p>You shouldn’t necessarily expect someone else to guide the discussion for you;
  chairs will help to do so whenever possible, but we don’t always have the
  bandwidth for that.
If you want to start an effective <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions" id="ref-for-email-list-discussions①⑤">email list discussion</a>, you should take
  responsibility for scoping and guiding it.</p>
   <p>Here are some anti-patterns for email list discussions.</p>
   <blockquote>
    <p>Let’s discuss Proposal X. What do you think about it?</p>
   </blockquote>
   <p>Alternative: If you want to discuss the proposal, you’ve read it and probably
  have specific things in mind that you’d like to discuss.
So, write a concise, thoughtful email summarizing the specific matters or
  questions that you think ought to be discussed.</p>
   <blockquote>
    <p>[Very, very long wall of text on a subject.]</p>
   </blockquote>
   <p>Alternative: Consider writing a paper.</p>
   <blockquote>
    <p>Please don’t do Approach A and Design Choice B in Proposal X.</p>
   </blockquote>
   <p>Alternative: Explain yourself!
Make sure to describe your thought process and rationale, so that others
  understand your thinking.
Instead of saying "don’t do A and B", suggest alternatives that the authors
  might explore.</p>
   <h3 class="heading settled" data-level="7.3" id="summarize-email-list-discussion"><span class="secno">7.3. </span><span class="content">Summarize Email List Discussions</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#summarize-email-list-discussion"></a></h3>
   <p>Because <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions" id="ref-for-email-list-discussions①⑥">email list discussions</a> have bad signal-to-noise ratio and can be
  difficult to follow, it’s often hard to identify the outcomes of said
  discussions.</p>
   <p>It is invaluable for someone to step in at or around the end of a discussion and
  write up a short email summarizing their understanding of everyone’s position
  and any outcomes.
You can then send this summary and ask if everyone agrees with it.
This can help bring much needed closure to discussions.</p>
   <h2 class="heading settled" data-level="8" id="high-priority-work"><span class="secno">8. </span><span class="content">High-Priority Work</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#high-priority-work"></a></h2>
   <p>At the 2020-02 Prague meeting, the committee adopted a plan for C++
  standardization, <a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p0592r4">[P0592R4]</a>.
That plan contained seven high-priority items; four library items for C++23,
  and three language items for C++23 or later.</p>
   <p>This section describes specific plans for these high-priority work items.</p>
   <p>Once this material has been addressed, we will prioritize bug fixes,
  performance improvements, integration fixes for/between existing
  features, and issue processing.</p>
   <h3 class="heading settled" data-level="8.1" id="high-priority-library-work"><span class="secno">8.1. </span><span class="content">High-Priority Library Work</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#high-priority-library-work"></a></h3>
   <h4 class="heading settled" data-level="8.1.1" id="networking"><span class="secno">8.1.1. </span><span class="content">Networking</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#networking"></a></h4>
   <p>The Networking study group has been reactivated to drive standardization of
  networking.
This group will set the direction for work on networking; once they have
  consensus on a direction, they will bring that direction to Library Evolution.</p>
   <p>We have an existing, large proposal for networking: the Networking Technical
  Specification (<a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-n4734">[N4734]</a>).</p>
   <p>In Fall 2019, we conducted an inter-meeting review of the Networking TS.
We created a number of review groups, each of which was tasked with looking at
  a particular aspect of the Networking TS, resolving whatever issues they
  could, and identifying open questions that required broader review.
Each group was asked to summarize its findings.</p>
   <p>Approximately half of these groups presented their findings at the 2020-02
  Prague meeting of the Networking study group.
The Networking study group was able to reach consensus on some matters, and
  identified others that will eventually need review in Library Evolution.
Each of these groups has been asked to prepare a paper containing their summary,
  to presented to Networking study group and Library Evolution.</p>
   <p>Once all of these summaries have been produced and the Networking study group
  decides they are ready for Library Evolution, we will begin reviewing them
  in Library Evolution.</p>
   <h4 class="heading settled" data-level="8.1.2" id="executors"><span class="secno">8.1.2. </span><span class="content">Executors</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#executors"></a></h4>
   <p>For executors, we have an existing, large proposal, <a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p0443r13">[P0443R13]</a> which is ready
  for Library Evolution review.</p>
   <p>Given the scope of this proposal, we believe the best route to reviewing it is
  to form a number of review groups and ask each group to review a particular
  aspect of the proposal, resolve whatever issues they can, and identify open
  questions that require broader review.
Each group will then prepare a paper summarizing their findings.
Each group will consist of a number of executors authors and a number of Library
  Evolution regulars who are not involved in the executors proposal.</p>
   <p>Given the nature of the executors proposal, the work of each group will be
  overlapping.
Each group will not be reviewing a specific section, but instead reviewing the
  proposal from a particular perspective with a specific design facet in mind.</p>
   <p>We have already started speaking with some of the executors authors about how
  we will structure this review.
More details will be shared on the Library Evolution email list in the next few
  weeks.</p>
   <p>Once all of the review groups have completed their work and prepared their
  summary papers, we will discuss the results in a series of <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons③⑦">telecons</a> over
  the summer and work towards resolution of any open matters that need decisions
  and guidance.</p>
   <h4 class="heading settled" data-level="8.1.3" id="modularizing-the-standard-library"><span class="secno">8.1.3. </span><span class="content">Modularizing the Standard Library</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#modularizing-the-standard-library"></a></h4>
   <p>Modularizing the standard library is a goal for C++23, but we have not yet
  decided on a concrete direction or scope for this work.</p>
   <p>We are aware of the following papers on this topic:</p>
   <ul>
    <li data-md="">
     <p><a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p0581r1">[P0581R1]</a>: Standard Library Modules</p>
    </li><li data-md="">
     <p><a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p1212r0">[P1212R0]</a>: Modules and Freestanding</p>
    </li><li data-md="">
     <p><a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p1453r0">[P1453R0]</a>: Modularizing the Standard Library is a Reorganization Opportunity</p>
    </li><li data-md="">
     <p><a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p1502r1">[P1502R1]</a>: Standard Library Header Units for C++20 (historical)</p>
   </li></ul>
   <p>The following papers related to freestanding are also applicable:</p>
   <ul>
    <li data-md="">
     <p><a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p1105r1">[P1105R1]</a>: Leaving No Room for a Lower-Level Language: A C++ Subset</p>
    </li><li data-md="">
     <p><a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p0829r4">[P0829R4]</a>: Freestanding Proposal</p>
    </li><li data-md="">
     <p><a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p1376r0">[P1376R0]</a>: Summary of Freestanding Evening Session Discussions</p>
   </li></ul>
   <p>The first few big questions we have to address to help scope this work are:</p>
   <ul>
    <li data-md="">
     <p>What are our goals for standard library modularization?</p>
    </li><li data-md="">
     <p>Do we want to reorganize the standard library while modularizing it?</p>
    </li><li data-md="">
     <p>How granular should standard library modules be? What are the tradeoffs of
fine-grained modules versus coarse-grained modules?</p>
    </li><li data-md="">
     <p>Do standard library modularization and freestanding reorganization need to be
linked together?</p>
   </li></ul>
   <p>We will hold <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons③⑧">telecons</a> to reach consensus on these and other questions and
  define the scope of what we want to pursue.</p>
   <h4 class="heading settled" data-level="8.1.4" id="coroutine-library-support"><span class="secno">8.1.4. </span><span class="content">Coroutine Library Support</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#coroutine-library-support"></a></h4>
   <p>Richer coroutine library support is a goal for C++23, but we have not yet
  decided on a concrete direction or scope for this work.</p>
   <p>We are aware of the following papers on this topic, some of which are quite
  dated.
They are grouped by subject:</p>
   <ul>
    <li data-md="">
     <p><a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p0975r0">[P0975R0]</a>: Impact of coroutines on current and upcoming library facilities</p>
    </li><li data-md="">
     <p><a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p1341r0">[P1341R0]</a>: Unifying Asynchronous APIs in the Standard Library</p>
    </li><li data-md="">
     <p><a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p1288r0">[P1288R0]</a>: Coroutine concepts and metafunctions</p>
    </li><li data-md="">
     <p><a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p1056r1">[P1056R1]</a>: <code class="highlight"><c- n="">std</c-><c- o="">::</c-><c- n="">lazy</c-><c- o="">&lt;</c-><c- n="">T</c-><c- o="">&gt;</c-></code></p>
    </li><li data-md="">
     <p><a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p1681r0">[P1681R0]</a>: Revisiting the allocator model for <code class="highlight"><c- n="">std</c-><c- o="">::</c-><c- n="">lazy</c-><c- o="">&lt;</c-><c- n="">T</c-><c- o="">&gt;</c-></code>/et al</p>
    </li><li data-md="">
     <p><a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p1171r0">[P1171R0]</a>: <code class="highlight"><c- n="">std</c-><c- o="">::</c-><c- n="">sync_wait</c-></code></p>
    </li><li data-md="">
     <p><a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p1316r0">[P1316R0]</a>: <code class="highlight"><c- n="">std</c-><c- o="">::</c-><c- n="">when_all</c-></code> for coroutines</p>
    </li><li data-md="">
     <p><a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p0286r0">[P0286R0]</a>: A networking library extension to support co_await-based
  coroutines</p>
    </li><li data-md="">
     <p><a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p0055r1">[P0055R1]</a>: On Interactions Between Coroutines and Networking Library
  (historical)</p>
    </li><li data-md="">
     <p><a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p0162r0">[P0162R0]</a>: A response to P0055</p>
   </li></ul>
   <p>Additionally, the desire for the following coroutine library features have
  been expressed multiple times.
However, we lack a proposal for these features:</p>
   <ul>
    <li data-md="">
     <p><code class="highlight"><c- n="">std</c-><c- o="">::</c-><c- n="">generator</c-><c- o="">&lt;</c-><c- n="">T</c-><c- o="">&gt;</c-></code></p>
   </li></ul>
   <p>We need to identify what exactly we want here.
What are our goals for coroutine library support?
What features do we desire?</p>
   <p>We will discuss scoping of this work on an upcoming <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons③⑨">telecon</a>.
Ideally we need a paper proposing what the scope and goals should be.</p>
   <h3 class="heading settled" data-level="8.2" id="high-priority-language-work"><span class="secno">8.2. </span><span class="content">High-Priority Language Work</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#high-priority-language-work"></a></h3>
   <h4 class="heading settled" data-level="8.2.1" id="pattern-matching"><span class="secno">8.2.1. </span><span class="content">Pattern Matching</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#pattern-matching"></a></h4>
   <p>Language Evolution will continue to review <a data-link-type="biblio" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#biblio-p1371r2">[P1371R2]</a> as it gets updated.</p>
   <h4 class="heading settled" data-level="8.2.2" id="reflection"><span class="secno">8.2.2. </span><span class="content">Reflection</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#reflection"></a></h4>
   <p>We will let the Reflection study group pursue all work related to reflection.
We will only start looking at matters pertaining to reflection in Language
  Evolution after the Reflection study group has forwarded them to us.</p>
   <h4 class="heading settled" data-level="8.2.3" id="contracts"><span class="secno">8.2.3. </span><span class="content">Contracts</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#contracts"></a></h4>
   <p>We will let the Contracts study group pursue all work related to contracts.
We will only start looking at matters pertaining to contracts in Language
  Evolution after the Contracts study group has forwarded them to us.</p>
   <h2 class="heading settled" data-level="9" id="field-experience"><span class="secno">9. </span><span class="content">Field Experience With Remote Work</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#field-experience"></a></h2>
   <p>We are not in completely uncharted waters here.
The ISO C++ Committee does have field experience working remotely.
A lot of important inter-meeting discussion happens on email lists.
The Tooling and Unicode study groups, among others, have successfully and
  regularly met and made decisions via telecons.</p>
   <p>The main benefits of a face-to-face meeting over remote meetings are:</p>
   <ul>
    <li data-md="">
     <p>The informal, spontaneous, and serendipitous interactions between committee
  members in hallways, at meals, etc.</p>
    </li><li data-md="">
     <p>Sequestration, which limits distractions and increases focus.</p>
    </li><li data-md="">
     <p>Discussions happen consecutively, which keeps them "in cache".</p>
   </li></ul>
   <p>We can’t replicate these effects in remote meetings.</p>
   <h2 class="heading settled" data-level="10" id="deadlines"><span class="secno">10. </span><span class="content">Deadlines</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#deadlines"></a></h2>
   <p>One of the biggest impacts of losing the face-to-face 2020 summer meeting is
  the loss of a major deadline.
This is compounded by the transition to monthly mailing deadlines.
It is now a lot easier for a paper author to "miss" a deadline; you can always
  publish it next month and have it discussed on a <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons④⓪">telecon</a>.</p>
   <p>We must be careful to avoid allowing this flexibility to lead to procrastination.
Hard deadlines, even arbitrary ones, fight mission creep and ultimately produce
  deliverables.</p>
   <p>In the absence of physical meetings, there are two types of deadlines we can use
  to drive work:</p>
   <ul>
    <li data-md="">
     <p>The monthly mailings.</p>
    </li><li data-md="">
     <p>Scheduled <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons④①">telecons</a>.</p>
   </li></ul>
   <p><a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons④②">Telecons</a> will be most effective if the schedule is known well in advance,
  but leaves some room for flexibility, just as the schedule is for a
  face-to-face meeting.
Chairs will try to have a tentative agenda for the next 4 to 8 weeks of <a data-link-type="dfn" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons" id="ref-for-telecons④③">telecons</a>.
The tentative agendas can be found here:</p>
   <ul>
    <li data-md="">
     <p><a href="https://github.com/cplusplus/papers/projects/21">Remote Library Evolution GitHub Project</a>.</p>
    </li><li data-md="">
     <p><a href="https://github.com/cplusplus/papers/projects/23">Remote Language Evolution GitHub Project</a>.</p>
   </li></ul>
   <h2 class="heading settled" data-level="11" id="appendix"><span class="secno">11. </span><span class="content">Appendix</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#appendix"></a></h2>
   <h3 class="heading settled" data-level="11.1" id="appendix-typical-evolution-f2f-schedule"><span class="secno">11.1. </span><span class="content">Typical Library and Language Evolution Face-to-Face Schedule</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#appendix-typical-evolution-f2f-schedule"></a></h3>
   <table>
    <thead>
     <tr>
      <td>Day 
      </td><td>Hours 
    </td></tr></thead><tbody>
     <tr>
      <td>Monday 
      </td><td>5.25 
     </td></tr><tr>
      <td>Tuesday 
      </td><td>7 
     </td></tr><tr>
      <td>Wednesday 
      </td><td>7 
     </td></tr><tr>
      <td>Thursday 
      </td><td>7 
     </td></tr><tr>
      <td>Friday 
      </td><td>7 
     </td></tr><tr>
      <td><strong>Total</strong> 
      </td><td><strong>33.25</strong> 
   </td></tr></tbody></table>
   <h3 class="heading settled" data-level="11.2" id="appendix-historical-library-incubator-f2f-schedule"><span class="secno">11.2. </span><span class="content">Historical Library Incubator Face-to-Face Schedule</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#appendix-historical-library-incubator-f2f-schedule"></a></h3>
   <table>
    <thead>
     <tr>
      <td>Meeting 
      </td><td>Hours 
    </td></tr></thead><tbody>
     <tr>
      <td>2018-11 San Diego 
      </td><td>22.75 
     </td></tr><tr>
      <td>2019-02 Kona 
      </td><td>26.25 
     </td></tr><tr>
      <td>2019-07 Cologne 
      </td><td>24.5 
     </td></tr><tr>
      <td>2019-11 Belfast 
      </td><td>30 
     </td></tr><tr>
      <td>2020-02 Prague 
      </td><td>20.5 
     </td></tr><tr>
      <td><strong>Average</strong> 
      </td><td><strong>24.8</strong> 
   </td></tr></tbody></table>
   <h3 class="heading settled" data-level="11.3" id="appendix-historical-library-incubator-f2f-attendance"><span class="secno">11.3. </span><span class="content">Historical Library Incubator Face-to-Face Attendance</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#appendix-historical-library-incubator-f2f-attendance"></a></h3>
   <table>
    <thead>
     <tr>
      <td>Meeting 
      </td><td># of Polls 
      </td><td>Average Attendance 
      </td><td>Minimum Attendance 
      </td><td>Maximum Attendance 
    </td></tr></thead><tbody>
     <tr>
      <td>2018-11 San Diego 
      </td><td>62 
      </td><td>14.6 
      </td><td>11 
      </td><td>19 
     </td></tr><tr>
      <td>2019-02 Kona 
      </td><td>75 
      </td><td>14 
      </td><td>11 
      </td><td>22 
     </td></tr><tr>
      <td>2019-07 Cologne 
      </td><td>49 
      </td><td>19.2 
      </td><td>12 
      </td><td>26 
     </td></tr><tr>
      <td>2019-11 Belfast 
      </td><td>50 
      </td><td>17.8 
      </td><td>12 
      </td><td>24 
     </td></tr><tr>
      <td>2020-02 Prague 
      </td><td>46 
      </td><td>20 
      </td><td>12 
      </td><td>25 
     </td></tr><tr>
      <td><strong>Average</strong> 
      </td><td><strong>56.4</strong> 
      </td><td><strong>17.12</strong> 
      </td><td><strong>11.6</strong> 
      </td><td><strong>23.2</strong> 
   </td></tr></tbody></table>
  </main>
<script>
(function() {
  "use strict";
  var collapseSidebarText = '<span aria-hidden="true">←</span> '
                          + '<span>Collapse Sidebar</span>';
  var expandSidebarText   = '<span aria-hidden="true">→</span> '
                          + '<span>Pop Out Sidebar</span>';
  var tocJumpText         = '<span aria-hidden="true">↑</span> '
                          + '<span>Jump to Table of Contents</span>';

  var sidebarMedia = window.matchMedia('screen and (min-width: 78em)');
  var autoToggle   = function(e){ toggleSidebar(e.matches) };
  if(sidebarMedia.addListener) {
    sidebarMedia.addListener(autoToggle);
  }

  function toggleSidebar(on) {
    if (on == undefined) {
      on = !document.body.classList.contains('toc-sidebar');
    }

    /* Don’t scroll to compensate for the ToC if we’re above it already. */
    var headY = 0;
    var head = document.querySelector('.head');
    if (head) {
      // terrible approx of "top of ToC"
      headY += head.offsetTop + head.offsetHeight;
    }
    var skipScroll = window.scrollY < headY;

    var toggle = document.getElementById('toc-toggle');
    var tocNav = document.getElementById('toc');
    if (on) {
      var tocHeight = tocNav.offsetHeight;
      document.body.classList.add('toc-sidebar');
      document.body.classList.remove('toc-inline');
      toggle.innerHTML = collapseSidebarText;
      if (!skipScroll) {
        window.scrollBy(0, 0 - tocHeight);
      }
      tocNav.focus();
      sidebarMedia.addListener(autoToggle); // auto-collapse when out of room
    }
    else {
      document.body.classList.add('toc-inline');
      document.body.classList.remove('toc-sidebar');
      toggle.innerHTML = expandSidebarText;
      if (!skipScroll) {
        window.scrollBy(0, tocNav.offsetHeight);
      }
      if (toggle.matches(':hover')) {
        /* Unfocus button when not using keyboard navigation,
           because I don’t know where else to send the focus. */
        toggle.blur();
      }
    }
  }

  function createSidebarToggle() {
    /* Create the sidebar toggle in JS; it shouldn’t exist when JS is off. */
    var toggle = document.createElement('a');
      /* This should probably be a button, but appearance isn’t standards-track.*/
    toggle.id = 'toc-toggle';
    toggle.class = 'toc-toggle';
    toggle.href = '#toc';
    toggle.innerHTML = collapseSidebarText;

    sidebarMedia.addListener(autoToggle);
    var toggler = function(e) {
      e.preventDefault();
      sidebarMedia.removeListener(autoToggle); // persist explicit off states
      toggleSidebar();
      return false;
    }
    toggle.addEventListener('click', toggler, false);


    /* Get <nav id=toc-nav>, or make it if we don’t have one. */
    var tocNav = document.getElementById('toc-nav');
    if (!tocNav) {
      tocNav = document.createElement('p');
      tocNav.id = 'toc-nav';
      /* Prepend for better keyboard navigation */
      document.body.insertBefore(tocNav, document.body.firstChild);
    }
    /* While we’re at it, make sure we have a Jump to Toc link. */
    var tocJump = document.getElementById('toc-jump');
    if (!tocJump) {
      tocJump = document.createElement('a');
      tocJump.id = 'toc-jump';
      tocJump.href = '#toc';
      tocJump.innerHTML = tocJumpText;
      tocNav.appendChild(tocJump);
    }

    tocNav.appendChild(toggle);
  }

  var toc = document.getElementById('toc');
  if (toc) {
    createSidebarToggle();
    toggleSidebar(sidebarMedia.matches);

    /* If the sidebar has been manually opened and is currently overlaying the text
       (window too small for the MQ to add the margin to body),
       then auto-close the sidebar once you click on something in there. */
    toc.addEventListener('click', function(e) {
      if(e.target.tagName.toLowerCase() == "a" && document.body.classList.contains('toc-sidebar') && !sidebarMedia.matches) {
        toggleSidebar(false);
      }
    }, false);
  }
  else {
    console.warn("Can’t find Table of Contents. Please use <nav id='toc'> around the ToC.");
  }

  /* Wrap tables in case they overflow */
  var tables = document.querySelectorAll(':not(.overlarge) > table.data, :not(.overlarge) > table.index');
  var numTables = tables.length;
  for (var i = 0; i < numTables; i++) {
    var table = tables[i];
    var wrapper = document.createElement('div');
    wrapper.className = 'overlarge';
    table.parentNode.insertBefore(wrapper, table);
    wrapper.appendChild(table);
  }

})();
</script>
  <h2 class="no-num no-ref heading settled" id="index"><span class="content">Index</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#index"></a></h2>
  <h3 class="no-num no-ref heading settled" id="index-defined-here"><span class="content">Terms defined by this specification</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#index-defined-here"></a></h3>
  <ul class="index">
   <li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#decision-making">Decision-Making</a><span>, in §4.2</span>
   </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions">Email List Discussions</a><span>, in §5</span>
   </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#information-distribution">Information Distribution</a><span>, in §4.2</span>
   </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#mailings">Mailings</a><span>, in §5</span>
   </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#review">Review</a><span>, in §4.2</span>
   </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons">Telecons</a><span>, in §5</span>
  </li></ul>
  <h2 class="no-num no-ref heading settled" id="references"><span class="content">References</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#references"></a></h2>
  <h3 class="no-num no-ref heading settled" id="informative"><span class="content">Informative References</span><a class="self-link" href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#informative"></a></h3>
  <dl>
   <dt id="biblio-n4734">[N4734]
   </dt><dd>Jonathan Wakely. <a href="https://wg21.link/n4734">Working Draft, C ++ Extensions for Networking</a>. 4 April 2018. URL: <a href="https://wg21.link/n4734">https://wg21.link/n4734</a>
   </dd><dt id="biblio-n4848">[N4848]
   </dt><dd>Kevin Fleming. <a href="https://wg21.link/n4848">WG21 Autumn Meeting 2020 - New York, New York, USA</a>. 14 January 2020. URL: <a href="https://wg21.link/n4848">https://wg21.link/n4848</a>
   </dd><dt id="biblio-p0055r1">[P0055R1]
   </dt><dd>Gor Nishanov. <a href="https://wg21.link/p0055r1">On Interactions Between Coroutines and Networking Library</a>. 12 February 2016. URL: <a href="https://wg21.link/p0055r1">https://wg21.link/p0055r1</a>
   </dd><dt id="biblio-p0162r0">[P0162R0]
   </dt><dd>Christopher Kohlhoff. <a href="https://wg21.link/p0162r0">A response to "P0055R0: On Interactions Between Coroutines and Networking Library"</a>. 6 November 2015. URL: <a href="https://wg21.link/p0162r0">https://wg21.link/p0162r0</a>
   </dd><dt id="biblio-p0286r0">[P0286R0]
   </dt><dd>Christopher Kohlhoff. <a href="https://wg21.link/p0286r0">A networking library extension to support co_await-based coroutines</a>. 14 February 2016. URL: <a href="https://wg21.link/p0286r0">https://wg21.link/p0286r0</a>
   </dd><dt id="biblio-p0443r13">[P0443R13]
   </dt><dd>Jared Hoberock, Michael Garland, Chris Kohlhoff, Chris Mysen, Carter Edwards, Gordon Brown, D. S. Hollman, Lee Howes, Kirk Shoop, Lewis Baker, Eric Niebler. <a href="https://wg21.link/p0443r13">A Unified Executors Proposal for C++</a>. 2 March 2020. URL: <a href="https://wg21.link/p0443r13">https://wg21.link/p0443r13</a>
   </dd><dt id="biblio-p0581r1">[P0581R1]
   </dt><dd>Marshall Clow, Beman Dawes, Gabriel Dos Reis, Stephan T. Lavavej, Billy O’Neal, Bjarne Stroustrup, Jonathan Wakely. <a href="https://wg21.link/p0581r1">Standard Library Modules</a>. 11 February 2018. URL: <a href="https://wg21.link/p0581r1">https://wg21.link/p0581r1</a>
   </dd><dt id="biblio-p0592r4">[P0592R4]
   </dt><dd>Ville Voutilainen. <a href="https://wg21.link/p0592r4">To boldly suggest an overall plan for C++23</a>. 25 November 2019. URL: <a href="https://wg21.link/p0592r4">https://wg21.link/p0592r4</a>
   </dd><dt id="biblio-p0829r4">[P0829R4]
   </dt><dd>Ben Craig. <a href="https://wg21.link/p0829r4">Freestanding Proposal</a>. 12 January 2019. URL: <a href="https://wg21.link/p0829r4">https://wg21.link/p0829r4</a>
   </dd><dt id="biblio-p0975r0">[P0975R0]
   </dt><dd>Gor Nishanov. <a href="https://wg21.link/p0975r0">Impact of coroutines on current and upcoming library facilities</a>. 10 March 2018. URL: <a href="https://wg21.link/p0975r0">https://wg21.link/p0975r0</a>
   </dd><dt id="biblio-p1056r1">[P1056R1]
   </dt><dd>Lewis Baker, Gor Nishanov. <a href="https://wg21.link/p1056r1">Add lazy coroutine (coroutine task) type</a>. 7 October 2018. URL: <a href="https://wg21.link/p1056r1">https://wg21.link/p1056r1</a>
   </dd><dt id="biblio-p1105r1">[P1105R1]
   </dt><dd>Ben Craig, Ben Saks. <a href="https://wg21.link/p1105r1">Leaving no room for a lower-level language: A C++ Subset</a>. 6 October 2018. URL: <a href="https://wg21.link/p1105r1">https://wg21.link/p1105r1</a>
   </dd><dt id="biblio-p1171r0">[P1171R0]
   </dt><dd>Lewis Baker. <a href="https://wg21.link/p1171r0">Synchronously waiting on asynchronous operations</a>. 7 October 2018. URL: <a href="https://wg21.link/p1171r0">https://wg21.link/p1171r0</a>
   </dd><dt id="biblio-p1212r0">[P1212R0]
   </dt><dd>Ben Craig. <a href="https://wg21.link/p1212r0">Modules and Freestanding</a>. 6 October 2018. URL: <a href="https://wg21.link/p1212r0">https://wg21.link/p1212r0</a>
   </dd><dt id="biblio-p1288r0">[P1288R0]
   </dt><dd>Lewis Baker. <a href="https://wg21.link/p1288r0">Coroutine concepts and metafunctions</a>. 7 October 2018. URL: <a href="https://wg21.link/p1288r0">https://wg21.link/p1288r0</a>
   </dd><dt id="biblio-p1316r0">[P1316R0]
   </dt><dd>Lewis Baker. <a href="https://wg21.link/p1316r0">A when_all() operator for coroutines</a>. 8 October 2018. URL: <a href="https://wg21.link/p1316r0">https://wg21.link/p1316r0</a>
   </dd><dt id="biblio-p1341r0">[P1341R0]
   </dt><dd>Lewis Baker. <a href="https://wg21.link/p1341r0">Unifying Asynchronous APIs in the Standard Library</a>. 25 November 2018. URL: <a href="https://wg21.link/p1341r0">https://wg21.link/p1341r0</a>
   </dd><dt id="biblio-p1371r2">[P1371R2]
   </dt><dd>Sergei Murzin, Michael Park, David Sankel, Dan Sarginson. <a href="https://wg21.link/p1371r2">Pattern Matching</a>. 13 January 2020. URL: <a href="https://wg21.link/p1371r2">https://wg21.link/p1371r2</a>
   </dd><dt id="biblio-p1376r0">[P1376R0]
   </dt><dd>Ben Craig. <a href="https://wg21.link/p1376r0">Summary of freestanding evening session discussions</a>. 24 November 2018. URL: <a href="https://wg21.link/p1376r0">https://wg21.link/p1376r0</a>
   </dd><dt id="biblio-p1453r0">[P1453R0]
   </dt><dd>Bryce Adelstein Lelbach. <a href="https://wg21.link/p1453r0">Modularizing the Standard Library is a Reorganization Opportunity</a>. 21 January 2019. URL: <a href="https://wg21.link/p1453r0">https://wg21.link/p1453r0</a>
   </dd><dt id="biblio-p1502r1">[P1502R1]
   </dt><dd>Richard Smith. <a href="https://wg21.link/p1502r1">Standard library header units for C++20</a>. 15 August 2019. URL: <a href="https://wg21.link/p1502r1">https://wg21.link/p1502r1</a>
   </dd><dt id="biblio-p1681r0">[P1681R0]
   </dt><dd>Gor Nishanov. <a href="https://wg21.link/p1681r0">Revisiting allocator model for coroutine lazy/task/generator</a>. 17 June 2019. URL: <a href="https://wg21.link/p1681r0">https://wg21.link/p1681r0</a>
  </dd></dl>
  <aside class="dfn-panel" data-for="information-distribution">
   <b><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#information-distribution">#information-distribution</a></b><b>Referenced in:</b>
   <ul>
    <li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-information-distribution">3. The Short Version</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-information-distribution%E2%91%A0">5. Mechanisms for Remote Collaboration</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-information-distribution%E2%91%A1">(2)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-information-distribution%E2%91%A2">(3)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-information-distribution%E2%91%A3">6. Telecons</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-information-distribution%E2%91%A4">6.1. Telecon Duration and Cadence</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-information-distribution%E2%91%A5">6.5. Telecon Quorum</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-information-distribution%E2%91%A6">7.1. What Email List Discussions Are Good For</a>
   </li></ul>
  </aside>
  <aside class="dfn-panel" data-for="review">
   <b><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#review">#review</a></b><b>Referenced in:</b>
   <ul>
    <li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-review">3. The Short Version</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-review%E2%91%A0">(2)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-review%E2%91%A1">5. Mechanisms for Remote Collaboration</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-review%E2%91%A2">(2)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-review%E2%91%A3">6. Telecons</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-review%E2%91%A4">6.1. Telecon Duration and Cadence</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-review%E2%91%A5">6.5. Telecon Quorum</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-review%E2%91%A6">7.1. What Email List Discussions Are Good For</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-review%E2%91%A7">(2)</a>
   </li></ul>
  </aside>
  <aside class="dfn-panel" data-for="decision-making">
   <b><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#decision-making">#decision-making</a></b><b>Referenced in:</b>
   <ul>
    <li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-decision-making">3. The Short Version</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-decision-making%E2%91%A0">(2)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-decision-making%E2%91%A1">5. Mechanisms for Remote Collaboration</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-decision-making%E2%91%A2">(2)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-decision-making%E2%91%A3">6. Telecons</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-decision-making%E2%91%A4">(2)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-decision-making%E2%91%A5">6.5. Telecon Quorum</a>
   </li></ul>
  </aside>
  <aside class="dfn-panel" data-for="mailings">
   <b><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#mailings">#mailings</a></b><b>Referenced in:</b>
   <ul>
    <li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-mailings">3. The Short Version</a>
   </li></ul>
  </aside>
  <aside class="dfn-panel" data-for="email-list-discussions">
   <b><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#email-list-discussions">#email-list-discussions</a></b><b>Referenced in:</b>
   <ul>
    <li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-email-list-discussions">3. The Short Version</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-email-list-discussions%E2%91%A0">(2)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-email-list-discussions%E2%91%A1">(3)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-email-list-discussions%E2%91%A2">(4)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-email-list-discussions%E2%91%A3">6. Telecons</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-email-list-discussions%E2%91%A4">6.1. Telecon Duration and Cadence</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-email-list-discussions%E2%91%A5">6.7. Telecons Aren’t Mandatory</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-email-list-discussions%E2%91%A6">7. Email List Discussions</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-email-list-discussions%E2%91%A7">(2)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-email-list-discussions%E2%91%A8">7.1. What Email List Discussions Are Good For</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-email-list-discussions%E2%91%A0%E2%93%AA">(2)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-email-list-discussions%E2%91%A0%E2%91%A0">(3)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-email-list-discussions%E2%91%A0%E2%91%A1">7.2. What Email List Discussions Aren’t Good For</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-email-list-discussions%E2%91%A0%E2%91%A2">(2)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-email-list-discussions%E2%91%A0%E2%91%A3">(3)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-email-list-discussions%E2%91%A0%E2%91%A4">(4)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-email-list-discussions%E2%91%A0%E2%91%A5">7.3. Summarize Email List Discussions</a>
   </li></ul>
  </aside>
  <aside class="dfn-panel" data-for="telecons">
   <b><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#telecons">#telecons</a></b><b>Referenced in:</b>
   <ul>
    <li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons">2. Calendar</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A0">3. The Short Version</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A1">(2)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A2">(3)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A3">(4)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A4">(5)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A5">(6)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A6">(7)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A7">6. Telecons</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A8">(2)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A0%E2%93%AA">(3)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A0%E2%91%A0">(4)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A0%E2%91%A1">6.1. Telecon Duration and Cadence</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A0%E2%91%A2">(2)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A0%E2%91%A3">(3)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A0%E2%91%A4">(4)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A0%E2%91%A5">(5)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A0%E2%91%A6">6.2. Telecon Platform</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A0%E2%91%A7">(2)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A0%E2%91%A8">(3)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A1%E2%93%AA">(4)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A1%E2%91%A0">(5)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A1%E2%91%A1">(6)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A1%E2%91%A2">6.3. No Separate Incubator Telecons</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A1%E2%91%A3">(2)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A1%E2%91%A4">6.4. Telecon Decision-Making</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A1%E2%91%A5">(2)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A1%E2%91%A6">(3)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A1%E2%91%A7">(4)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A1%E2%91%A8">(5)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A2%E2%93%AA">6.5. Telecon Quorum</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A2%E2%91%A0">(2)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A2%E2%91%A1">6.7. Telecons Aren’t Mandatory</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A2%E2%91%A2">(2)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A2%E2%91%A3">(3)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A2%E2%91%A4">(4)</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A2%E2%91%A5">7. Email List Discussions</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A2%E2%91%A6">8.1.2. Executors</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A2%E2%91%A7">8.1.3. Modularizing the Standard Library</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A2%E2%91%A8">8.1.4. Coroutine Library Support</a>
    </li><li><a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A3%E2%93%AA">10. Deadlines</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A3%E2%91%A0">(2)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A3%E2%91%A1">(3)</a> <a href="https://api.csswg.org/bikeshed/?force=1&amp;url=https://raw.githubusercontent.com/brycelelbach/wg21_p2145_evolving_cpp_remotely/master/evolving_cpp_remotely.bs#ref-for-telecons%E2%91%A3%E2%91%A2">(4)</a>
   </li></ul>
  </aside>
<script>/* script-dfn-panel */

document.body.addEventListener("click", function(e) {
    var queryAll = function(sel) { return [].slice.call(document.querySelectorAll(sel)); }
    // Find the dfn element or panel, if any, that was clicked on.
    var el = e.target;
    var target;
    var hitALink = false;
    while(el.parentElement) {
        if(el.tagName == "A") {
            // Clicking on a link in a <dfn> shouldn't summon the panel
            hitALink = true;
        }
        if(el.classList.contains("dfn-paneled")) {
            target = "dfn";
            break;
        }
        if(el.classList.contains("dfn-panel")) {
            target = "dfn-panel";
            break;
        }
        el = el.parentElement;
    }
    if(target != "dfn-panel") {
        // Turn off any currently "on" or "activated" panels.
        queryAll(".dfn-panel.on, .dfn-panel.activated").forEach(function(el){
            el.classList.remove("on");
            el.classList.remove("activated");
        });
    }
    if(target == "dfn" && !hitALink) {
        // open the panel
        var dfnPanel = document.querySelector(".dfn-panel[data-for='" + el.id + "']");
        if(dfnPanel) {
            dfnPanel.classList.add("on");
            var rect = el.getBoundingClientRect();
            dfnPanel.style.left = window.scrollX + rect.right + 5 + "px";
            dfnPanel.style.top = window.scrollY + rect.top + "px";
            var panelRect = dfnPanel.getBoundingClientRect();
            var panelWidth = panelRect.right - panelRect.left;
            if(panelRect.right > document.body.scrollWidth && (rect.left - (panelWidth + 5)) > 0) {
                // Reposition, because the panel is overflowing
                dfnPanel.style.left = window.scrollX + rect.left - (panelWidth + 5) + "px";
            }
        } else {
            console.log("Couldn't find .dfn-panel[data-for='" + el.id + "']");
        }
    } else if(target == "dfn-panel") {
        // Switch it to "activated" state, which pins it.
        el.classList.add("activated");
        el.style.left = null;
        el.style.top = null;
    }

});
</script></body></html>