<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

   <meta http-equiv="content-type" content="text/html;charset=UTF-8">

   <style type="text/css">

   /*
CSS stylesheet is based on killwing's flavored markdown style:
https://gist.github.com/2937864
*/
body{
    margin: 0 auto;
    font: 13px/1.231 Helvetica, Arial, sans-serif;
    color: #444444;
    line-height: 1;
    max-width: 960px;
    padding: 5px;
}
h1, h2, h3, h4 {
    color: #111111;
    font-weight: 400;
}
h1, h2, h3, h4, h5, p {
    margin-bottom: 16px;
    padding: 0;
}
h1 {
    font-size: 28px;
}
h2 {
    font-size: 22px;
    margin: 20px 0 6px;
}
h3 {
    font-size: 21px;
}
h4 {
    font-size: 18px;
}
h5 {
    font-size: 16px;
}
a {
    color: #0099ff;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
}
a:link,a:visited{
 text-decoration:none;
}
a:hover{
 text-decoration:underline;
}
ul, ol {
    padding: 0;
    margin: 0;
}
li {
    line-height: 24px;
    margin-left: 44px;
}
li ul, li ul {
    margin-left: 24px;
}
ul, ol {
    font-size: 14px;
    line-height: 20px;
    max-width: 540px;
}

p {
    font-size: 14px;
    line-height: 20px;
    max-width: 540px;
    margin-top: 3px;
}

pre {
    padding: 0px 4px;
    max-width: 800px;
    white-space: pre-wrap;
    font-family: Consolas, Monaco, Andale Mono, monospace;
    line-height: 1.5;
    font-size: 13px;
    border: 1px solid #ddd;
    background-color: #f7f7f7;
    border-radius: 3px;
}
code {
    font-family: Consolas, Monaco, Andale Mono, monospace;
    line-height: 1.5;
    font-size: 13px;
    border: 1px solid #ddd;
    background-color: #f7f7f7;
    border-radius: 3px;
}
pre code {
    border: 0px;
}
aside {
    display: block;
    float: right;
    width: 390px;
}
blockquote {
    border-left:.5em solid #40AA53;
    padding: 0 2em;
    margin-left:0;
    max-width: 476px;
}
blockquote  cite {
    font-size:14px;
    line-height:20px;
    color:#bfbfbf;
}
blockquote cite:before {
    content: '\2014 \00A0';
}

blockquote p {  
    color: #666;
    max-width: 460px;
}
hr {
    height: 1px;
    border: none;
    border-top: 1px dashed #0066CC
}

button,
input,
select,
textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle;
}
button, input {
  line-height: normal;
  *overflow: visible;
}
button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button;
}
input[type=checkbox], input[type=radio] {
  cursor: pointer;
}
/* override default chrome & firefox settings */
input:not([type="image"]), textarea {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

input[type="search"] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
label,
input,
select,
textarea {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: normal;
  line-height: normal;
  margin-bottom: 18px;
}
input[type=checkbox], input[type=radio] {
  cursor: pointer;
  margin-bottom: 0;
}
input[type=text],
input[type=password],
textarea,
select {
  display: inline-block;
  width: 210px;
  padding: 4px;
  font-size: 13px;
  font-weight: normal;
  line-height: 18px;
  height: 18px;
  color: #808080;
  border: 1px solid #ccc;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
select, input[type=file] {
  height: 27px;
  line-height: 27px;
}
textarea {
  height: auto;
}

/* grey out placeholders */
:-moz-placeholder {
  color: #bfbfbf;
}
::-webkit-input-placeholder {
  color: #bfbfbf;
}

input[type=text],
input[type=password],
select,
textarea {
  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
  -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
  transition: border linear 0.2s, box-shadow linear 0.2s;
  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
}
input[type=text]:focus, input[type=password]:focus, textarea:focus {
  outline: none;
  border-color: rgba(82, 168, 236, 0.8);
  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
  -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
}

/* buttons */
button {
  display: inline-block;
  padding: 4px 14px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 18px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  background-color: #0064cd;
  background-repeat: repeat-x;
  background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
  background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
  background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
  background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
  background-image: -o-linear-gradient(top, #049cdb, #0064cd);
  background-image: linear-gradient(top, #049cdb, #0064cd);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  border: 1px solid #004b9a;
  border-bottom-color: #003f81;
  -webkit-transition: 0.1s linear all;
  -moz-transition: 0.1s linear all;
  transition: 0.1s linear all;
  border-color: #0064cd #0064cd #003f81;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
}
button:hover {
  color: #fff;
  background-position: 0 -15px;
  text-decoration: none;
}
button:active {
  -webkit-box-shadow: inset 0 3px 7px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: inset 0 3px 7px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 3px 7px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
}
button::-moz-focus-inner {
  padding: 0;
  border: 0;
}
/* table  */
table {
    border-spacing: 0;
    border: 1px solid #ccc;
}
td, th{
    border: 1px solid #ccc;
    padding: 5px;
}
/* code syntax highlight.
Documentation: http://www.mdcharm.com/documentation/code_syntax_highlighting.html#custom_your_own
 */
pre .literal,
pre .comment,
pre .template_comment,
pre .diff .header,
pre .javadoc {
    color: #008000;
}

pre .keyword,
pre .css .rule .keyword,
pre .winutils,
pre .javascript .title,
pre .nginx .title,
pre .subst,
pre .request,
pre .status {
    color: #0000FF;
    font-weight: bold
}

pre .number,
pre .hexcolor,
pre .python .decorator,
pre .ruby .constant {
    color: #0000FF;
}

pre .string,
pre .tag .value,
pre .phpdoc,
pre .tex .formula {
    color: #D14
}

pre .title,
pre .id {
    color: #900;
    font-weight: bold
}

pre .javascript .title,
pre .lisp .title,
pre .clojure .title,
pre .subst {
    font-weight: normal
}

pre .class .title,
pre .haskell .type,
pre .vhdl .literal,
pre .tex .command {
    color: #458;
    font-weight: bold
}

pre .tag,
pre .tag .title,
pre .rules .property,
pre .django .tag .keyword {
    color: #000080;
    font-weight: normal
}

pre .attribute,
pre .variable,
pre .lisp .body {
    color: #008080
}

pre .regexp {
    color: #009926
}

pre .class {
    color: #458;
    font-weight: bold
}

pre .symbol,
pre .ruby .symbol .string,
pre .lisp .keyword,
pre .tex .special,
pre .prompt {
    color: #990073
}

pre .built_in,
pre .lisp .title,
pre .clojure .built_in {
    color: #0086b3
}

pre .preprocessor,
pre .pi,
pre .doctype,
pre .shebang,
pre .cdata {
    color: #999;
    font-weight: bold
}

pre .deletion {
    background: #fdd
}

pre .addition {
    background: #dfd
}

pre .diff .change {
    background: #0086b3
}

pre .chunk {
    color: #aaa
}

pre .markdown .header {
    color: #800;
    font-weight: bold;
}

pre .markdown .blockquote {
    color: #888;
}

pre .markdown .link_label {
    color: #88F;
}

pre .markdown .strong {
    font-weight: bold;
}

pre .markdown .emphasis {
    font-style: italic;
}

   </style>

   

   

</head>

<body>

    <h1>WG21 2018-03 Jacksonville Record of Discussion</h1>

<p>ISO/IEC JTC1 SC22 WG21 P1015 — 2018-04-02</p>

<p>Patrice Roy, <a href="mailto:Patrice.Roy@USherbrooke.ca">Patrice.Roy@USherbrooke.ca</a></p>

<p>March 12 - March 17, 2018 - Jacksonville, FL, USA</p>

<p>Chair: John Spicer</p>

<h2>1. Opening activities (Monday 9:00)</h2>

<h3>1.1 Opening comments, welcome from host (PL22.16)</h3>

<p>Spicer welcomes everyone. Hedquist greets attendees and thanks sponsors.</p>

<h3>1.2 Meeting guidelines (PL22.16)</h3>

<p>Every participant is responsible for understanding and abiding by the <a href="http://www.incits.org/standards-information/legal-info">INCITS Antitrust Guidelines</a> and <a href="http://www.incits.org/dotAsset/63b6e457-53b9-4933-9835-7c74e77ca2fd.pdf">Patent Policy</a>
and the [ISO Code of Conduct][isococ].</p>

<h3>1.3 Membership, voting rights, and procedures for the meeting (PL22.16)</h3>

<p>The chair requests that prospective PL22.16 members inform the chair (Spicer) 
or vice-chair (Finkel) that they are present.</p>

<p>Finkel explains the attendance sheet rules and requests people adding
themselves print their names clearly.</p>

<p>Finkel explains new rules to manage the attribution of document numbers for papers.</p>

<h3>1.4 Introductions</h3>

<p>Representatives from the following countries:</p>

<p>Canada
Finland
Germany
Spain
Switzerland
UK
US</p>

<p>France has members but no NB representative</p>

<p>Poland has members but is here as an observer</p>

<h3>1.5 Agenda review and approval (PL22.16 motion)</h3>

<p>Agenda is in a revision of <a href="https://wg21.link/n4716">N4716</a>, posted on the Wiki.</p>

<p>Dawes moved to adopt the agenda, Carruth seconded.</p>

<p>Approved by unanimous consent (for both WG21 and .16 polls).</p>

<p>The WG and SG chairs must arrange for any proposals to be written up in the form of a motion, and made available by 8:00 PM Friday. </p>

<h3>1.6 Editor&#39;s reports, approval of working drafts</h3>

<table><thead>
<tr>
<th>Document</th>
<th align="center">Editor&#39;s Report</th>
<th align="center">Prospective WD</th>
</tr>
</thead><tbody>
<tr>
<td>C++20 Standard</td>
<td align="center"><a href="https://wg21.link/n4728">N4728</a></td>
<td align="center"><a href="https://wg21.link/n4727">N4727</a></td>
</tr>
<tr>
<td>Coroutines TS</td>
<td align="center"><a href="https://wg21.link/n4724">N4724</a></td>
<td align="center"><a href="https://wg21.link/n4723">N4723</a></td>
</tr>
<tr>
<td>Networking TS</td>
<td align="center"><a href="https://wg21.link/n4712">N4712</a></td>
<td align="center"><a href="https://wg21.link/n4711">N4711</a></td>
</tr>
<tr>
<td>Parallelism v2 TS</td>
<td align="center"><a href="https://wg21.link/n4726">N4726</a></td>
<td align="center"><a href="https://wg21.link/n4725">N4725</a></td>
</tr>
</tbody></table>

<p>Approved by unanimous consent.</p>

<h3>1.7 Approval of the minutes of the previous meetings (PL22.16 motion)</h3>

<table><thead>
<tr>
<th>Meeting</th>
<th align="center">Minutes</th>
</tr>
</thead><tbody>
<tr>
<td>WG21 Albuquerque</td>
<td align="center"><a href="https://wg21.link/n4709">N4709</a></td>
</tr>
<tr>
<td>PL22.16 Albuquerque</td>
<td align="center"><a href="https://wg21.link/n4710">N4710</a></td>
</tr>
<tr>
<td>WG21 Modules telecon</td>
<td align="center"><a href="https://wg21.link/n4729">N4729</a></td>
</tr>
<tr>
<td>WG21 pre-Jacksonville administrative telecon</td>
<td align="center"><a href="https://wg21.link/n4730">N4730</a></td>
</tr>
</tbody></table>

<p>Carruth moved to accept the PL22.16 Albuquerque minutes, Clow seconded.
Approved by unanimous consent.</p>

<p>WG21 minutes approved by unanimous consent.</p>

<h2>2. Liaison reports, and WG21 study group reports (see pre-meeting WG21 telecon minutes)</h2>

<p>Already summarized in the pre-meeting minutes</p>

<h2>3. WG progress reports and work plans for the week (Core, Evolution, Library, Library Evolution)</h2>

<p>Already summarized in the pre-meeting minutes</p>

<h2>4. New business requiring action by the committee</h2>

<p>Miller states that issues, tentatively ready or not, have not been presented in paper form as usual due
to an important number of pre-meeting teleconferences, particularly for modules. D0968 contains the
list of tentatively ready issues and is attached to the Core Wiki.</p>

<h2>5. Organize working groups and study groups, establish working procedures</h2>

<p>(Clarify rooms available for evening sessions)</p>

<h2>6. WG and SG sessions</h2>

<p>The WG and SG chairs must arrange for any proposals to be written up in the
form of a motion, and made available by 8:00 PM Friday.</p>

<h2>7. Review of the meeting (Saturday 8:30 AM)</h2>

<p>WG and SG status and progress reports. Presentation and discussion of proposals
to be considered for consensus adoption by full WG21.</p>

<p>Spicer invites SG chairs to make their reports</p>

<p><strong>SG5: Transactional memory (Wong)</strong></p>

<p>Wong: continues to meet every two weeks</p>

<p><strong>SG6: Numerics (Crowl)</strong></p>

<p>Met Thursday all day and Friday afternoon.</p>

<p>Major work:</p>

<ul>
<li><p>P0907R0 &quot;Signed Integers are Two&#39;s Complement&quot;</p>

<p>The top-level consensus was &#39;yes&#39; to defining the representation
as two&#39;s complement, but &#39;no&#39; to defining the overflow behavior
as wrapping.</p></li>
</ul>

<p>Passed on to LEWG:</p>

<ul>
<li>P0631R2 &quot;Math Constants&quot;.</li>
</ul>

<p>Passed on to LEWG with modifications:</p>

<ul>
<li>P0533R2 &quot;constexpr for <cmath> and <cstdlib>&quot;</li>
<li>P0891R0 &quot;Let strong_order Truly Be a Customizatoin Point&quot;</li>
</ul>

<p>Returned back LEWG with comments but without resolution:</p>

<ul>
<li>P0647R1 &quot;Floating point value access for std::ratio&quot;</li>
</ul>

<p>Discussed but no resolution:</p>

<ul>
<li>P0554R0 &quot;Composition of Arithmetic Types&quot;</li>
<li>P0611R0 &quot;More Better Operators&quot; (no proposal)</li>
</ul>

<p>Abducted by [L]EWG:</p>

<ul>
<li>P0586R0 &quot;Safe integral comparisons&quot;</li>
</ul>

<p>Did not get to:</p>

<ul>
<li>P0037R4 &quot;Fixed-point real numbers&quot; </li>
<li>P0237R9 &quot;Wording for fundamental bit manipulation utilities&quot;</li>
<li>P0452R1 &quot;Unifying <numeric> Parallel Algorithms&quot; </li>
<li>P0539R3 &quot;Proposal to add wide_int Template Class&quot; </li>
<li>P0553R2 &quot;Bit operations&quot;</li>
<li>P0556R2 &quot;Integral power-of-2 operations&quot;</li>
<li>P0571R1 &quot;Type Requirements for <numeric> Algorithms&quot; </li>
<li>P0675R0 &quot;Numeric Traints for Type Composition&quot;</li>
<li>D0811R2 &quot;Well-behaved interpolation for numbers and pointers&quot;</li>
<li>P0828R0 &quot;Elastic Integers&quot; </li>
<li>P0880R0 &quot;Numbers interaction&quot; </li>
</ul>

<p>Crowl: we had a long list of papers we did not get to, and are hoping to get to at the next meeting</p>

<p><strong>SG7: Compile-Time Programming (Carruth)</strong></p>

<p>Carruth: we explored constexpr reflexpr</p>

<p>Carruth: we had a progress report from Herb Sutter on metaclasses</p>

<p>Carruth: we heard about Bjarne&#39;s vision</p>

<p>Carruth: the reflection TS is getting nearer</p>

<p><strong>SG10: Feature test (Nelson)</strong></p>

<p>Nelson: nothing to report</p>

<p><strong>SG12: Undefined and unspecified behavior (Dos Reis)</strong></p>

<p>Crowl: most of SG12 was in SG6 when we discussed the two&#39;s complement paper. SG12 did not have its own meeting</p>

<p>Dos Reis: we cancelled the joint meeting with WG23 who could not make it</p>

<p>Dos Reis: we met with SG6 Wednesday all day and Thursday afternoon</p>

<p><strong>SG14: Games &amp; low latency (Wong)</strong></p>

<p>Wong: meets every month. Works on containers and utilities useful for the low-latency people</p>

<p>Q: meeting at GDC?</p>

<p>Wong: we wanted to but will not be able to this time</p>

<p><strong>SG15: Tooling (Winters)</strong></p>

<p>Winters: we had the inaugural meeting last night</p>

<p>Winters: we made a list of things we&#39;d like to do and set an informal ten-year target for our efforts</p>

<p><strong>SG1: Concurrency (Giroux)</strong></p>

<p>Giroux: 28-34 people. 38 discussions. 7 votes towards IS of C++20</p>

<p>Giroux: 25 papers + many late minute papers</p>

<p>Giroux: we still managed to adjourn early</p>

<p>Giroux: we (will) have Parallelism TS v2, including Taks blocks, simd<T>, &quot;vec&quot; execution policy</p>

<p>Giroux: voted toward C++20 IS and routed to various groups:</p>

<ul>
<li>0528 atomics and padding bits</li>
<li>0883 simplified atomic initialization</li>
<li>0943 atomic C and C++ compatibility</li>
<li>0514 semaphores and waiting</li>
<li>1001 unsequenced policy algorithms</li>
<li>0668 (updated) fixing gaps in the memory model</li>
<li>0995 Improve atomic_flag</li>
</ul>

<p>Giroux: algorithm policy extensions, next futures, networking all depend on executors </p>

<p>Giroux: next async depends on next futures</p>

<p>Giroux: coroutines maybe depend on executors (unclear)</p>

<p>Giroux: for executors, the request for authors to work towards the C++20 IS lead to a divided polls</p>

<p>Giroux: strong poll results for the fact that executors must merge into the IS before networking</p>

<p>Giroux: polled for unanimous consent that coroutines do not depend on executors: objection noted</p>

<p>Giroux: one option is that executors and networking both merge into C++20 IS</p>

<p>Giroux: another option is that IS of C++23 gets executors, networking, more algorithm policies, etc.</p>

<p>Giroux: SG1 ships <em>big</em> stuff every two releases, and fixes and filled gaps in the others. C++17 was big for SG1</p>

<p>Rohmer: (missed)</p>

<p>Orr: we do have a networking TS published...</p>

<p>Winters: it is not our policy to ensure compatibility for people who use the TS</p>

<p>Orr: I still suggest we think about it</p>

<p>Josuttis: do you want guidance from this group about whether we want executors in C++20 or do you want to decide on your own?</p>

<p>Giroux: I want people to discuss between meetings. I&#39;m not looking for a poll in this room</p>

<p>Rodgers: there&#39;s little likelihood that changes to executors will be big</p>

<p>Garçia: is there a chance that we need to put only a small part of executors in C++20 IS to make networking work? It&#39;s an important component</p>

<p>Giroux: I understand. This is already &#39;executors lite&#39;; if we cut more from the design, we won&#39;t be comfortable</p>

<p>Adlestein Lelbach: I agree that the set of changes to apply to the networking TS to work with executors is small. We haven&#39;t explored the way the networking TS would look without executors. It would be a bigger task</p>

<p>Clow: I have been talking with Jonathan Wakely. He thinks shipping executors with C++20 would be a good idea, and is the editor of the networking TS</p>

<p><strong>Evolution (Voutilainen)</strong></p>

<p>Voutilainen: P0782R0 was reviewed in an evening session</p>

<p>Voutilainen: P0745R0 we also examined Herb Sutter&#39;s new proposed notation for concepts, and will consider it for C++20, but will decide in Rapperswil</p>

<p>Voutilainen: for coroutines, D0973R0 will be reexamined in Rapperswil. P0913R0 and P0914R0 will be moved here for the coroutines TS</p>

<p>Voutilainen: we reviewed &quot;another take on modules&quot; and expect further work on that</p>

<p>Dos Reis: after discussion with EWG, Richard Smith and I discussed similarities and differences, and observed significant commonalities</p>

<p>Dos Reis: we have a plan for a paper in the post-mailing where we will propose (a) to adapt wording from the modules TS that supports programs that meet both models and move it to the IS, and (b) adjust the modules TS to better support headers and support the global module (what happens before a module&#39;s declaration)</p>

<p>Dos Reis: this will allow a tooling migration to a world without header files</p>

<p>Dos Reis: we will be working on that for Rapperswil</p>

<p>Dos Reis: the goal is to have something usable and solid for C++20</p>

<p>Smith: for the end of the next meeting, we hope to offer something common for C++20</p>

<p>Voutilainen: we will support modular legacy headers</p>

<p>Dos Reis: lookup issues will be explorer with Spicer and others. We plan to give regular status updates</p>

<p>Voutilainen: we also investigate ways to avoid code breakage with new keywords</p>

<p>Voutilainen: we had a discussion on side-effects in pre- and post-conditions in contracts, and look for guidance in UB situations</p>

<p>Voutilainen: reflection and associated facilities were reviewed and approved, with one paper (P0424) withdrawn and in part integrated in another. This has been forwared to CWG</p>

<p>Voutilainen: standard compatibility promises have been examined (P0912E0). EWG supports turning it into a Standing Document to be added to the Library Introduction clause</p>

<p>Voutilainen: we reviewed the LEWG wishlist for EWG. Among other things, we are looking for non-macro solutions to traditionally-macro-related problems</p>

<p>Voutilainen: fixing ADL was reviewed. Work ongoing</p>

<p>Voutilainen: we moved a DR for for-loop traversal of sequences previously unpleasant to traverse</p>

<p>Voutilainen: we also relaxed Structures Binding rules</p>

<p>Voutilainen: Structured Bindings are now based on access rules, not limited to public members</p>

<p>Voutilainen: P0931R0 and P0963R0 were rejected</p>

<p>Voutilainen: comparison operators and compatibility with C was explored. We are going forward with this and will revisit in Rapperswil</p>

<p>Voutilainen: symmetry for &lt;=&gt; was approved</p>

<p>Voutilainen: char8_t was reviewed. No consensus for a TS, we are targeting an IS</p>

<p>Voutilainen: intializing aggregates from parentheses was reviewed but not accepted yet</p>

<p>Voutilainen: signed integers and two&#39;s complement was reviewed. It&#39;s not ready for CWG yet</p>

<p>Voutilainen: feature macro was not reviewed. It will return in Rapperswil and targets C++20</p>

<p>Voutilainen: mitigating speculation attacks was reviewed. Further work expected</p>

<p>Voutilainen: explicit(bool) approved. Likewise for &quot;checking for abstract class types&quot;</p>

<p>Voutilainen: we have a lot of unreviewed papers too. We focus on the major features, which are concepts, modules and coroutines</p>

<p><strong>Library Evolution (Winters)</strong></p>

<ul>
<li>40 papers reviewed</li>
<li>29 papers left unreviewed</li>
<li>~25 last time</li>
</ul>

<p>Winters: we approved allowing conditional noexcept for wrapper types (P0884)</p>

<p>Winters: we forwarded many papers to LWG for the C++20 IS, including</p>

<ul>
<li>Heterogenous lookup for unordered containers (P0919)</li>
<li>variant and optional should forward triviality (P0602)</li>
<li>reference_wrapper for incomplete types and assorted removals (P0357)</li>
<li>Define basic_string_view(nullptr) (P0903)</li>
<li>char8_t - A type for UTF-8 characters and strings (P0482)</li>
<li>Symmetry for spaceship (P0905)</li>
<li>Introducing <smart_ptr> header (P0942)</li>
<li>An identity metafunction (type_identity) (P0887)</li>
<li>polymorphic_allocator as a vocabulary type (P0339)</li>
<li>function_ref (P0792)</li>
<li>standard library concepts (p0898)</li>
</ul>

<p>Winters: we forwarded the following to LWG for the static reflection TS</p>

<ul>
<li>Revisit the core reflection paper (P0194)</li>
<li>Static reflection of functions (P0670)</li>
</ul>

<p>Winters: we forwarded the following to LWG for the coroutines TS</p>

<ul>
<li>Add symmetric coroutine control transfer (P0913)</li>
</ul>

<p>Winters: we discussed but did not forward</p>

<ul>
<li>C++ Stability, Velocity, and Deployment Plans (P0684)</li>
<li>Standard Library Compatibility Promises (P0921)</li>
<li>LEWG wishlist for EWG (P0922)</li>
<li>Merging the Ranges TS (P0896)</li>
<li>Range complexity requirements (D0979R0)</li>
<li>Executors</li>
<li>Extensibility and customization for span / mdspan</li>
<li>Hazard pointers</li>
<li>RCU</li>
<li>2D graphics</li>
</ul>

<p>Winters: for 2D graphics, we have decisions to make</p>

<p>Sutter: please think about this before Rapperswil</p>

<p>Sutter: the direction group wishes <em>something</em>. If this proposal is not what we want, please bring something, a competing proposal, for consideration</p>

<p>Winters: we also discussed but did not forward</p>

<ul>
<li>Text formatting (P0645)</li>
<li>Containers operations that handle failure w/o exceptions (P0132)</li>
<li>Naming and design for simd types (P0916)</li>
<li>Product-type access (P0327)</li>
<li>Move-only iterators (P0902)</li>
<li>Math constants (P0631)</li>
<li>Stack traces (P0881)</li>
<li>wide_int&lt;&gt; (P0539)</li>
<li>Interpolation (P0811)</li>
</ul>

<p>Winters: we might have discussions between sessions to get progress on the smaller papers, through the reflectors and otherwise</p>

<p><strong>Core (Miller)</strong></p>

<p>Miller: CWG has been meeting all week</p>

<p>Miller: we mostly looked at proposals for C++20. We processed all of those forwarded to us, some more than once, and are moving eight of those for the Working Draft today</p>

<p>Miller: three some had shared CWG and LWG wording, were approved by CWG and were forwarded to LWG</p>

<p>Miller: five will be reexamined in the future</p>

<p>Miller: we reviewed the Static reflection TS</p>

<p>Miller: we reviewed changes to the coroutines TS. Two will be moved by CWG today, one was referred to LWG</p>

<p>Miller: we did some Issues processing as the workload was more manageable than in previous meetings</p>

<p>Miller: we have draft resolutions to be moved in Rapperswil. Seven &quot;ready&quot; from this meeting, and six &quot;tentatively ready&quot; from 2018-02-26 telconference</p>

<p>Miller: we expect additional teleconferences before Rapperswil</p>

<p>Miller: we managed to get to the high-priority issues that were piling up. Some were given lower priority due to language evolution having made them less prone to damage than before</p>

<p>Miller: we assigned twelve issues for drafting</p>

<p>Miller: we demoted two issues to lower priority</p>

<p>Miller: we decided on NAD after extensive discussion in one case</p>

<p>Miller: in one case, we need guidance from EWG and will contact them</p>

<p>Miller: in two other cases, further investigation is required</p>

<p>Miller: we will need to prioritize new issues, and plan to do that right after the plenary today</p>

<p>Miller: two teleconferences are planned before Rapperswil: 2018-04-09 and 2018-05-07</p>

<h4>CWG Motions</h4>

<p>Sutter reminds members of the rules for transcripts and other ways of contributing
to social media, e.g. not while the plenary session is ongoing</p>

<p>Sutter describes the voting procedures, including voting rights</p>

<p>Miller: the tentatively ready issues would normally show up in the pre-meeting mailing, but we spent so much time on modules that it slipped my mind and I forgot to put that document in the mailing</p>

<p>Miller: those we move to approve are those that were reviewed by almost the full group, and we feel pretty confident about. Should someone oppose their adoption, we will push it back to Rapperswil</p>

<p>CWG Motions</p>

<p><strong>Motion 1</strong></p>

<p>Move to accept as Defect Reports all issues except 2237 in P0968R0 (Core Language Working Group &quot;tentatively ready&quot; Issues for the March, 2018 (Jacksonville) meeting) and apply all the proposed resolutions (including the one for 2237) to the C++ working paper.</p>

<p>Miller explains the feature that would be removed in issue 2237, which is moved but not as a defect report</p>

<p>Approved by unanimous consent</p>

<p><strong>Motion 2</strong></p>

<p>Move to apply the changes in P0840R2 (Language support for empty objects) to the C++ working paper.</p>

<p>Approved by unanimous consent</p>

<p><strong>Motion 3</strong></p>

<p>Move to accept as a Defect Report and apply the changes in P0962R1 (Relaxing the range-for loop customization point finding rules) to the C++ working paper.</p>

<p>Approved by unanimous consent</p>

<p><strong>Motion 4</strong></p>

<p>Move to accept as a Defect Report and apply the changes in P0969R0 (Allow structured bindings to accessible members) to the C++ working paper.</p>

<p>Approved by unanimous consent</p>

<p><strong>Motion 5</strong></p>

<p>Move to accept as a Defect Report and apply the changes in P0961R1 (Relaxing the structured bindings customization point finding rules) to the C++ working paper.</p>

<p>Approved by unanimous consent</p>

<p><strong>Motion 6</strong></p>

<p>Move to apply the changes in P0634R3 (Down with typename!) to the C++ working paper.</p>

<p>Carruth: there was a discussion requesting a paper, there was a paper...</p>

<p>Voutilainen: this could clash with a direction EWG aims to take, but we could probably adapt</p>

<p>Dos Reis: adding it, then removing it after would be confusing for tool vendors</p>

<p>Alisdair: I&#39;m not surprised this is coming ahead</p>

<p>Sutter: in ABQ plenary, we said we&#39;d like a paper but did not get to it. A Working Draft is a Working Draft; we can look at conflicting papers in Rapperswil</p>

<p>Josuttis: what&#39;s the other paper?</p>

<p>Carruth: 0945</p>

<p>Miller: we discussed it in CWG. The item that interests EWG conflicts with a small item in this paper, which could be reverted if the other feature passes with EWG. We think this paper is worthwhile and does not prevent EWG work</p>

<p>Miller: currently all aliases deal with types. EWG examines other types of aliases, which might restore the need for typename in some aliases</p>

<p>Sutter: reminder, we don&#39;t do technical discussion in plenary. Chandler: are you Ok with this motion going forward even if we remove a bit in Rapperswil?</p>

<p>Voutilainen: we could discuss this first thing on Monday in Rapperswil</p>

<p>Carruth: I can live with it if the committee wants to go ahead</p>

<p>Dos Reis: there are other objections</p>

<p>Josuttis: we should vote</p>

<p>Objection to unanimous consent</p>

<table><thead>
<tr>
<th align="center">Favor</th>
<th align="center">Opposed</th>
<th align="center">Abstain</th>
</tr>
</thead><tbody>
<tr>
<td align="center">31</td>
<td align="center">6</td>
<td align="center">14</td>
</tr>
</tbody></table>

<p>Motion passed.</p>

<p><strong>Motion 7</strong></p>

<p>Move to apply the changes in P0780R2 (Allow pack expansion in lambda init-capture) to the C++ working paper.</p>

<p>Approved by unanimous consent</p>

<p><strong>Motion 8</strong></p>

<p>Move to apply the changes in P0479R5 (Proposed wording for likely and unlikely attributes (Revision 5)) to the C++ working paper.</p>

<p>Approved by unanimous consent</p>

<p><strong>Motion 9</strong></p>

<p>Move to apply the changes in P0905R1 (Symmetry for spaceship) to the C++ working paper.</p>

<p>Adam: I raised a technical objection in EWG and want this noted</p>

<p>Objection to unanimous consent</p>

<table><thead>
<tr>
<th align="center">Favor</th>
<th align="center">Opposed</th>
<th align="center">Abstain</th>
</tr>
</thead><tbody>
<tr>
<td align="center">34</td>
<td align="center">2</td>
<td align="center">17</td>
</tr>
</tbody></table>

<p>Motion passed.</p>

<p><strong>Motion 10</strong></p>

<p>Move to apply the changes in P0914R1 (Add parameter preview to coroutine promise constructor) to the Coroutines TS working paper.</p>

<p>Approved by unanimous consent</p>

<p><strong>Motion 11</strong></p>

<p>Move to apply the changes in P0911R1 (Rebase the Coroutines TS onto the C++17 Standard) to the Coroutines TS working paper. </p>

<p>Approved by unanimous consent</p>

<p><strong>Library (Clow)</strong></p>

<p>Clow: we had a big week</p>

<p>Clow: we have about 55 papers, and did not come close to doing them all</p>

<p>Clow: we finished the week with more papers than we had at the beginning</p>

<p>Clow: we had two big ones: the simd paper for the Parallelism TS and the Calendar paper</p>

<p>Clow: we managed to do some issues processing on Wednesday evening</p>

<p>Clow: we have new TSs, span made it at long last</p>

<p>Clow: we reviewed but did not adopt expected and polymorphic value types</p>

<p>Clow: we&#39;d like for someone to do a LWG week-long meeting during summer. Who would come? (approximately 14 hands)</p>

<p>Josuttis: please put it on the East coast to make it easier for those coming from Europe</p>

<p>(break starts at 10:12AM and ends at 10:30AM)</p>

<h4>LWG motions</h4>

<h5>Parallelism 2 TS</h5>

<p><strong>Motion 1</strong></p>

<p>Move to apply to the Parallelism 2 TS working paper the proposed wording in P0214R9 (Data-Parallel Vector Types &amp; Operations). </p>

<p>Approved by unanimous consent</p>

<p><strong>Motion 2</strong></p>

<p>Move that we appoint an editing committee of Adlestein Lelbach, Matthias Kretz, Alisdair Meredith, and Marshall Clow, to approve the correctness of the Parallelism 2 TS working draft as modified by the motions approved at this meeting, and to direct the Convener to transmit the approved updated working draft for PTDS. </p>

<p>Approved by unanimous consent</p>

<h5>Reflection TS</h5>

<p><strong>Motion 3</strong></p>

<p>Move to direct the Convener to request a New Work Item for a Technical Specification on &quot;C++ Extensions for Reflection&quot; and create a working draft with [ P0194R6 &quot;Static reflection&quot; ] as its initial content</p>

<p>Maurer: who will be the project editor?</p>

<p>Sutter: probably David Sankel or Axel Naumann. To be determined, one would probably be primary and the other one would be backup</p>

<p>Approved by unanimous consent</p>

<h5>Coroutines TS</h5>

<p><strong>Motion 4</strong></p>

<p>Move to apply to the Coroutines TS working paper the proposed wording in P0913R1 (Add symmetric coroutine control transfer). </p>

<p>Approved by unanimous consent</p>

<h5>Networking TS</h5>

<p><strong>Motion 5</strong></p>

<p>Move to apply to the Networking TS working paper the proposed resolutions of issues 3002, 3010 and 3020 in P0888R0 (C++ Standard Library Issues to be moved in Jacksonville). </p>

<p>Approved by unanimous consent</p>

<h5>Library Fundamentals TS</h5>

<p><strong>Motion 6</strong></p>

<p>Move to direct the Convener to request a New Work Item for a Technical Specification on &quot;C++ Extensions for Library Fundamentals, Version 3&quot; and create a working draft with P0996R1 modifying Library Fundamentals Version 2 N4600 </p>

<p>Approved by unanimous consent</p>

<h5>Issues</h5>

<p><strong>Motion 7</strong></p>

<p>Move to apply to the C++ working paper the proposed resolutions of all of the issues except 3002, 3010 and 3020 in P0888R0 (C++ Standard Library Issues to be moved in Jacksonville). </p>

<p>Approved by unanimous consent</p>

<p><strong>Motion 8</strong></p>

<p>Move to apply to the C++ working paper the proposed wording in P1003R0 (C++ Standard Library Issues Resolved Directly In Jacksonville). </p>

<p>Approved by unanimous consent</p>

<h5>Working Draft</h5>

<p><strong>Motion 9</strong></p>

<p>Move to apply to the C++ working paper the proposed wording in P0754R2 (<version>). </p>

<p>Garçia: the paper does not say which symbols will be obtained from the <version> header. Intentional?</p>

<p>Clow: it&#39;s meant to be implementation-specific, tell you which library you have, which version, etc.</p>

<p>Clow: the current guidance is to include <ciso646>...</p>

<p>Voutilainen explains the intent</p>

<p>Sutter: did the fact that we had <ciso646> considered?</p>

<p>Winters: yes. Nobody likes <ciso646></p>

<p>Objection to unanimous consent</p>

<table><thead>
<tr>
<th align="center">Favor</th>
<th align="center">Opposed</th>
<th align="center">Abstain</th>
</tr>
</thead><tbody>
<tr>
<td align="center">45</td>
<td align="center">2</td>
<td align="center">5</td>
</tr>
</tbody></table>

<p>Motion passed.</p>

<p><strong>Motion 10</strong></p>

<p>Move to apply to the C++ working paper the proposed wording in P0809R0 (Comparing Unordered Containers). This resolves LWG#2831 </p>

<p>Approved by unanimous consent</p>

<p><strong>Motion 11</strong></p>

<p>Move to apply to the C++ working paper the proposed wording in P0355R7 (Extending chrono to Calendars and Time Zones) </p>

<p>Voutilainen: this is the best library proposal ever (applause!)</p>

<p>Maurer: how was the pointer to the IANA timezone database resolved?</p>

<p>Hinnant: there is a link to the database in normative wording</p>

<p>Approved by unanimous consent (applause!)</p>

<p><strong>Motion 12</strong></p>

<p>Move to apply to the C++ working paper the proposed wording in P0966R1 (string::reserve Should Not Shrink). </p>

<p>Adam: was it considered to make this a Defect Report for C++17</p>

<p>Clow: no</p>

<p>Approved by unanimous consent</p>

<p><strong>Motion 13</strong></p>

<p>Move to apply to the C++ working paper the proposed wording in P0551R3 (Thou Shalt Not Specialize std Function Templates!). </p>

<p>Orr: what might this break?</p>

<p>Brown: it should not break well-formed programs. This formalizes the fact that some practices are improper by making them unspecified</p>

<p>Brown: the one place in the standard where we must take pointers to standard functions is in iostreams. We introduced a special term of Art for this</p>

<p>Objection to unanimous consent</p>

<table><thead>
<tr>
<th align="center">Favor</th>
<th align="center">Opposed</th>
<th align="center">Abstain</th>
</tr>
</thead><tbody>
<tr>
<td align="center">39</td>
<td align="center">2</td>
<td align="center">13</td>
</tr>
</tbody></table>

<p>Motion passed.</p>

<p><strong>Motion 14</strong></p>

<p>Move to apply to the C++ working paper the proposed wording in P0753R2 (Manipulators for C++ Synchronized Buffered Ostream). </p>

<p>Approved by unanimous consent</p>

<p><strong>Motion 15</strong></p>

<p>Move to apply to the C++ working paper the proposed wording in P0122R7 (<span>). </p>

<p>Carruth: this introduces a new type, and I would like LEWG to review it</p>

<p>Objection to unanimous consent</p>

<table><thead>
<tr>
<th align="center">Favor</th>
<th align="center">Opposed</th>
<th align="center">Abstain</th>
</tr>
</thead><tbody>
<tr>
<td align="center">36</td>
<td align="center">1</td>
<td align="center">18</td>
</tr>
</tbody></table>

<p>Motion passed.</p>

<p><strong>Motion 16</strong></p>

<p>Move to apply to the C++ working paper the proposed wording in P0858R0 (Constexpr iterator requirements). </p>

<p>Clow: this was discussed on Saturday in Albuquerque, and we decided to move it in Jacksonville</p>

<p>Approved by unanimous consent</p>

<h2>8. Closing activities (Saturday 10:53 AM)</h2>

<h3>8.1 PL22.16 motions, if any</h3>

<p>None.</p>

<h3>8.2 Issues delayed until today</h3>

<p>None.</p>

<h2>9. Plans for the future (PL22.16)</h2>

<h3>9.1 Next and following meetings</h3>

<p>Announcements:</p>

<p>Sutter: we have a high-school student with us this week (applause!)</p>

<p>Sutter: we have had an evening session on Unicode, which has lead to the creation of SG16: Unicode (Tom Honermann)</p>

<p>Herring: does 16 mean UTF-16? (laughs!)</p>

<p>Winters: thank you for finding experts to work on this</p>

<p>Voutilainen: did you discuss this with Evolution Chairs?</p>

<p>Sutter: I did with the Library Evolution Chair. Does this affect the language?</p>

<p>Voutilainen: perhaps</p>

<p>Sutter: I will be more careful in the future</p>

<p>Sutter: Beman Dawes is retiring as of this meeting. We want to recognize his contribution to C++</p>

<ul>
<li>WG21 member since 1992</li>
<li>LWG Chair 5 years</li>
<li>Influential in STL adoption</li>
<li>Boost</li>
<li>Filesystem Chair and Editor</li>
<li>Standard C++ Foundation Director</li>
<li>Direction Group Founding Member</li>
<li>... and much more</li>
</ul>

<p>Stroustrup: without Beman Dawes, the STL would not have passed, and the STL saved C++</p>

<p>(standing ovation for Beman Dawes)</p>

<p>Sutter: we&#39;re about half-way through C++20. We tend to do nine-year cycles: 1989-1998, then 2002-2011 (we overflowed a bit), leading to C++11 which is a success story</p>

<p>Sutter: with C++20, we&#39;re nearing the end of the nine-year period that started with C++11. We have shipped a lot in that time span</p>

<p>Sutter presents a time-line of the meetings up until 2020, which shows the committee trying to merge big TSs for Rapperswil in order to meet C++20</p>

<p>Sutter: we are aiming to be feature-complete in Kona, at meeting 2019.1</p>

<p>Sutter: we hope for Library features to land at worst in San Diego, 2018.3</p>

<p>Maurer: regarding the DIS ballot, I understand we do an FDIS ballot if there&#39;s a technical issue</p>

<p>Sutter: we send the DIS, if it&#39;s all Ok (except for comments), we&#39;re done. If there&#39;s a technical comment, we go to a shorter FDIS</p>

<p>Maurer: can we reject the technical comment and forego the FDIS process?</p>

<p>Sutter: only if there&#39;s no No vote</p>

<p>Voutilainen: we do not ignore comments</p>

<p>Voutilainen: any proposal going to Core after Kona will be sent without a specific shipping vehicle. It will be up to Core to decide at that point, and they will be sent with that message</p>

<p>Orr: is Library happy with the extra time?</p>

<p>Clow: we never have enough time, but more time makes it better</p>

<p>Adam: we saw a similar slide in Toronto. Can I assume 2020.2 to be the first meeting of C++23?</p>

<p>Sutter: that&#39;s what I think</p>

<p>Winters: going back to Library Evolution, there&#39;s never enough time. Remember that San Diego is the cut-off moment</p>

<p>Niebler: I think you mean &quot;try to merge language features&quot; in 2019.1</p>

<p>Sutter: the sooner the better</p>

<p>Van Eerd: new language features probably affect Library. Assume they do</p>

<p>Sutter: if you disagree with the schedule, say so. We are looking for common agreement</p>

<p>Stroustrup: make sure we have a written trace of this</p>

<p>Clow: make a paper out of this</p>

<p>Sutter: will do</p>

<p>Sutter: in Albuquerque, we said we would be more transparent about the process from evolution to wording, which is why we&#39;re doing this</p>

<p>Sutter: the Chair reports will now be in the mailings. If there are objections, we would like to get them early</p>

<p>Sutter: we got through plenary without technical objections. We thank you for that</p>

<p>Sutter presents a tentative list of major proposal / TSs and what they depend on, for short/ medium-term planning</p>

<p>Dos Reis signals a need to update the document before publishing, due to recent changes on modules</p>

<p>Sutter suggests looking at what we did in 2002-2011 and 2011-2020 to evaluate if we&#39;re shipping less or more... We&#39;re shipping significantly more</p>

<p>Spertus: the plan to ship more existed also before C++11</p>

<p>Stroustrup: not everything that ships is useful. I&#39;m getting preoccupied with TSs, they seem unreliable and difficult to use portably</p>

<p>Herring: it seems that we have a large number, but it&#39;s hard to compete with things like auto and variadic templates...</p>

<p>Sutter: to me, shipping the TS is an implementation detail. Looking only at the IS, we&#39;re getting complaints that we mostly ship small features... But...</p>

<p>Sutter thanks Thomas Köppe for his list of features</p>

<p>Sutter compares &#39;small&#39; features in C++11 and &#39;small&#39; features since, to show the list is significant. We did ship a lot of small stuff since</p>

<p>Honermann: removal of POD is missing</p>

<p>Voutilainen: who considers tuple a small feature?</p>

<p>Sutter: send me an email, I&#39;ll correct this</p>

<p>Sutter: &#39;medium&#39; features are lists of about the same size</p>

<p>Sutter: the &#39;big&#39; features list seems to be getting more important for C++20 that it was for C++11. We&#39;re doing well!</p>

<p>Sutter makes a plea for TSs as a working vehicle</p>

<p>Voutilainen: do we plan a poll to see if the committee agrees with the shipping plan</p>

<p>Poll taken. Unanimous consent</p>

<ul>
<li>2018-06-04/09: Rapperswil, CH (<a href="https://wg21.link/n4673">N4673</a>)</li>
<li>2018-11-05/10: San Diego, CA, US (<a href="https://wg21.link/n4715">N4715</a>)</li>
</ul>

<p>Sommerlad: I will be your host in Rapperswil (applause!)</p>

<p>Sommerlad: about hotel rooms, two hotels closed since our last meeting</p>

<p>Sommerlad: we need your names for badges</p>

<p>Sommerlad: we&#39;re taking an evening away from evening sessions for an even in the castle. If there are people who can provide additional sponsorship for this, it will be appreciated. Registration includes options for dinner, and information about spouses and family should they come too</p>

<p>Sommerlad: there is a logistics issue with an Ironman competition, conflicting with our meeting for hotel rooms. Detailed information online</p>

<p>Van Eerd: the meeting is right besides the train station, so public transit is a reasonable option</p>

<p>Sommerlad: we will have an evening talk on Wednesday night, for our students and customers</p>

<p>Sutter: the November meeting will be in San Diego</p>

<p>Clow: not much to say. Information is online, there&#39;s public transit</p>

<p>Sutter: the dates for the 2019 meetings are tentative</p>

<p>Orr: for Belfast, we are looking for sponsors</p>

<h3>9.2 Mailings</h3>

<ul>
<li>2018-04-02: Post-Jacksonville</li>
<li>2018-05-07: Pre-Rapperswil</li>
</ul>

<p>Deadline for papers is 14:00 UTC.</p>

<p>Brown: I want to move to thank the host &gt;applause&lt;.</p>

<p>Hedquist: I want to thank Jens Maurer for his logistics support, as well as the C++ Foundation</p>

<p>Brown: I would also like us to thank the following :</p>

<ul>
<li>The officers and convener,</li>
<li>The project editors (and their minions),</li>
<li>The WG and SG chairs,</li>
<li>The note-takers/scribes,</li>
<li>The paper authors and their reviewers,</li>
<li>Those who pay for our participation,
and</li>
<li>Our loved ones, who do without us as we labor on C++!</li>
</ul>

<p>Maurer: thanks to Patrice Roy for stepping in as secretary</p>

<p>Wong presents slides titled &quot;To TS or not to TS: that is the question&quot;</p>

<p>Wong: the intent is not to have a discussion. We plan an evening session and a paper for Rapperswil</p>

<p>Wong: we recommend</p>

<ul>
<li>Use TSs for library components</li>
<li>Don&#39;t use TSs for language features (unless self-contained)</li>
<li>Don&#39;t use a TS to delay, as it doesn&#39;t simplify decision-making. TSs are targeted for completion</li>
</ul>

<p>Wong presents a long list of questions (approximately 17-18 at a glance) to ask when proposing a TS</p>

<p>Wong presents a proposal for Direction Group advisory. A poll should be taken before taking the direction of a TS, and the key questions should be answered first</p>

<p>Wong: the DG plans to examine each planned TS and offer non-binding advisory in the direction of IS, TS or SG. This might be set in a continuum</p>

<p>Maurer: the evening session in Rapperswil will be on Wednesday</p>

<h2>10. Adjournment (PL22.16 motion)</h2>

<p>Adam Martin moved to adjourn. Marshal Clow seconded.</p>

<p>Plenary concludes at 12:01 PM</p>

<h2>11. Attendance</h2>

<p>The column &quot;WG21&quot; designates official PL22.16 or WG21 status (&quot;P&quot;, &quot;A&quot;, &quot;E&quot;, &quot;M&quot;)</p>

<p>The column &quot;PL22.16&quot; indicates organizations eligible to vote by &quot;V&quot;, and advisory membership by &quot;A&quot;.</p>

<h3>PL22.16 members</h3>

<table><thead>
<tr>
<th>Company / Organization</th>
<th align="center">NB</th>
<th>Representative</th>
<th align="center">WG21</th>
<th align="center">PL22.16</th>
</tr>
</thead><tbody>
<tr>
<td>AMD</td>
<td align="center"></td>
<td>Siu Chi Chan</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>AMD</td>
<td align="center"></td>
<td>Tony Tye</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>AMD</td>
<td align="center"></td>
<td>Alexandru Voicu</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Amazon</td>
<td align="center"></td>
<td>Louis Dionne</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Amazon</td>
<td align="center"></td>
<td>John McFarlane</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Apple</td>
<td align="center"></td>
<td>Alex Christensen</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Apple</td>
<td align="center"></td>
<td>Bruno Lopes</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Apple</td>
<td align="center"></td>
<td>Tim Northover</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Argonne National Lab</td>
<td align="center"></td>
<td>Hal Finkel</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Bloomberg</td>
<td align="center"></td>
<td>John Lakos</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Bloomberg</td>
<td align="center">UK</td>
<td>Dietmar Kühl</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Bloomberg</td>
<td align="center">UK</td>
<td>Alisdair Meredith</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Bloomberg</td>
<td align="center"></td>
<td>David Sankel</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Bloomberg</td>
<td align="center"></td>
<td>Frank Birbacher</td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>Bloomberg</td>
<td align="center"></td>
<td>Jeffrey Mendeksohn</td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>Bloomberg</td>
<td align="center"></td>
<td>Vittorio Romeo</td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>Bloomberg</td>
<td align="center"></td>
<td>Georg Rudoy</td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>Brown</td>
<td align="center"></td>
<td>Walter E. Brown</td>
<td align="center">E</td>
<td align="center"></td>
</tr>
<tr>
<td>Cisco Systems</td>
<td align="center"></td>
<td>Lars Gullik Bjønnes</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Dinkumware Ltd</td>
<td align="center"></td>
<td>P.J. Plauger</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Dinkumware Ltd</td>
<td align="center"></td>
<td>Tana Plauger</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>EPAM Systems Inc</td>
<td align="center"></td>
<td>Mateusz Pusz</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Edison Design Group</td>
<td align="center"></td>
<td>John Spicer</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Edison Design Group</td>
<td align="center"></td>
<td>Daveed Vandevoorde</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Edison Design Group</td>
<td align="center"></td>
<td>Jens Maurer</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Edison Design Group</td>
<td align="center"></td>
<td>William M. Miller</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Facebook</td>
<td align="center"></td>
<td>Lee Howes</td>
<td align="center">A</td>
<td align="center">V</td>
</tr>
<tr>
<td>Facebook</td>
<td align="center"></td>
<td>Maged Michael</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Facebook</td>
<td align="center"></td>
<td>Eric Niebler</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Facebook</td>
<td align="center"></td>
<td>David Goldblatt</td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>Facebook</td>
<td align="center"></td>
<td>Nathan Sidwell</td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>Facebook</td>
<td align="center"></td>
<td>Victor Zverovich</td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>FlightSafety International</td>
<td align="center"></td>
<td>Billy Baker</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Google</td>
<td align="center"></td>
<td>Chandler Carruth</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Google</td>
<td align="center"></td>
<td>Hans Boehm</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Google</td>
<td align="center"></td>
<td>James Dennett</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Google</td>
<td align="center"></td>
<td>Geoffrey Romer</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Google</td>
<td align="center">UK</td>
<td>Richard Smith</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Google</td>
<td align="center"></td>
<td>Titus Winters</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Google</td>
<td align="center"></td>
<td>Ashley Hedberg</td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>Google</td>
<td align="center"></td>
<td>Andrew Hunter</td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>Google</td>
<td align="center"></td>
<td>Chris Kennelly</td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>Google</td>
<td align="center"></td>
<td>Thomas Koeppe</td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>Google</td>
<td align="center"></td>
<td>Chris Mysen</td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>Google</td>
<td align="center"></td>
<td>Tim Shen</td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>GrammaTech Inc,</td>
<td align="center"></td>
<td>Aaron Ballman</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>GreenWireSoft</td>
<td align="center"></td>
<td>Juan Alday</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>IBM</td>
<td align="center"></td>
<td>Paul E. McKenney</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Intel</td>
<td align="center"></td>
<td>Clark Nelson</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Intel</td>
<td align="center"></td>
<td>Pablo Halpern</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Intel</td>
<td align="center"></td>
<td>Erich Keane</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Intel</td>
<td align="center"></td>
<td>Axel Wells</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>LTK Engineering</td>
<td align="center"></td>
<td>Alan Talbot</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Linden Research, Inc.</td>
<td align="center"></td>
<td>Nat Goodspeed</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Los Alamos National Laboratory</td>
<td align="center"></td>
<td>S. Davis Herring</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Microsoft</td>
<td align="center"></td>
<td>Jonathan Caves</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Microsoft</td>
<td align="center"></td>
<td>Casey Carter</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Microsoft</td>
<td align="center"></td>
<td>Stephan Lavavej</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Microsoft</td>
<td align="center"></td>
<td>Gor Nishanov</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Microsoft</td>
<td align="center"></td>
<td>Andrew Pardoe</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Microsoft</td>
<td align="center"></td>
<td>Gabriel Dos Reis</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Microsoft</td>
<td align="center"></td>
<td>Herb Sutter</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>MongoDB</td>
<td align="center"></td>
<td>Adam Martin</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>MongoDB</td>
<td align="center"></td>
<td>Jason Carey</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Morgan Stanley</td>
<td align="center"></td>
<td>Bjarne Stroustrup</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>NVidia</td>
<td align="center"></td>
<td>Bryce Adelstein-Lelbach</td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>NVidia</td>
<td align="center"></td>
<td>Michael Garland</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>NVidia</td>
<td align="center"></td>
<td>Olivier Giroux</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>NVidia</td>
<td align="center"></td>
<td>Jared Hoberock</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Oak Ridge National Laboratory</td>
<td align="center"></td>
<td>Graham Lopez</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Ocient</td>
<td align="center"></td>
<td>Nevin Liber</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Oracle</td>
<td align="center"></td>
<td>Paolo Carlini</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Perennial</td>
<td align="center"></td>
<td>Barry Hedquist</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Perennial</td>
<td align="center"></td>
<td>Lawrence Crowl</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Perennial</td>
<td align="center"></td>
<td>Beman G. Dawes</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Plum Hall</td>
<td align="center"></td>
<td>Thomas Plum</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Programming Research Group</td>
<td align="center"></td>
<td>Christof Meerwald</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Qualcomm</td>
<td align="center"></td>
<td>Marshall Clow</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Red Hat</td>
<td align="center"></td>
<td>Jason Merrill</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Red Hat</td>
<td align="center"></td>
<td>Torvald Riegel</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Red Hat</td>
<td align="center"></td>
<td>Thomas Rodgers</td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>Ripple Labs</td>
<td align="center"></td>
<td>Howard E. Hinnant</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Ripple Labs</td>
<td align="center"></td>
<td>Stephen Schurr</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Saks &amp; Associates</td>
<td align="center"></td>
<td>Benjamin Saks</td>
<td align="center">P</td>
<td align="center"></td>
</tr>
<tr>
<td>Sandia National Labs</td>
<td align="center"></td>
<td>Daniel Sunderland</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Sandia National Labs</td>
<td align="center"></td>
<td>Mark Hoemmen</td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>Sandia National Labs</td>
<td align="center"></td>
<td>David Hollman</td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td>Schonfeld Tools LLC</td>
<td align="center"></td>
<td>Wesley Maness</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Seymour</td>
<td align="center"></td>
<td>William Seymour</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Stellar Science</td>
<td align="center"></td>
<td>Kelly Walker</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Symantec</td>
<td align="center"></td>
<td>Mike Spertus</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Synopsys</td>
<td align="center"></td>
<td>Thierry Lavoie</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>Synopsys</td>
<td align="center"></td>
<td>Tom Honermann</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>Synopsys</td>
<td align="center"></td>
<td>Michael Price</td>
<td align="center">A</td>
<td align="center"></td>
</tr>
<tr>
<td>University of Akron</td>
<td align="center"></td>
<td>Andrew Sutton</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
<tr>
<td>VMware Inc</td>
<td align="center"></td>
<td>Mark Zeren</td>
<td align="center">P</td>
<td align="center">V</td>
</tr>
</tbody></table>

<h3>Other WG21 members</h3>

<table><thead>
<tr>
<th>Company / Organization</th>
<th align="center">NB</th>
<th>Representative</th>
<th align="center">WG21</th>
</tr>
</thead><tbody>
<tr>
<td>BDS</td>
<td align="center">BG</td>
<td>Vasil Vasilev</td>
<td align="center">M</td>
</tr>
<tr>
<td></td>
<td align="center">CA</td>
<td>Bryan St, Amour</td>
<td align="center">M</td>
</tr>
<tr>
<td>Apple</td>
<td align="center">CA</td>
<td>JF Bastien</td>
<td align="center">M</td>
</tr>
<tr>
<td>Canada Seneca</td>
<td align="center">CA</td>
<td>Chris Szarwinski</td>
<td align="center">M</td>
</tr>
<tr>
<td>Christie Digital</td>
<td align="center">CA</td>
<td>Tony Van Eerd</td>
<td align="center">M</td>
</tr>
<tr>
<td>Codeplay</td>
<td align="center">CA</td>
<td>Michael Wong</td>
<td align="center">M</td>
</tr>
<tr>
<td>IBM</td>
<td align="center">CA</td>
<td>Shuo Feng Liu</td>
<td align="center">M</td>
</tr>
<tr>
<td>IBM</td>
<td align="center">CA</td>
<td>Hubert Tong</td>
<td align="center">M</td>
</tr>
<tr>
<td>Mozilla</td>
<td align="center">CA</td>
<td>Botond Ballo</td>
<td align="center">M</td>
</tr>
<tr>
<td>Christie Digital</td>
<td align="center">CA</td>
<td>Tony Van Eerd</td>
<td align="center">M</td>
</tr>
<tr>
<td>University of Windsor</td>
<td align="center">CA</td>
<td>Paul Preney</td>
<td align="center">M</td>
</tr>
<tr>
<td>Université de Sherbrooke</td>
<td align="center">CA</td>
<td>Patrice Roy</td>
<td align="center">M</td>
</tr>
<tr>
<td>CERN</td>
<td align="center">CH</td>
<td>Axel Naumann</td>
<td align="center">M</td>
</tr>
<tr>
<td>HSR</td>
<td align="center">CH</td>
<td>Peter Sommerlad</td>
<td align="center">M</td>
</tr>
<tr>
<td>Vollmann Engineering</td>
<td align="center">CH</td>
<td>Detlef Vollmann</td>
<td align="center">M</td>
</tr>
<tr>
<td></td>
<td align="center">DE</td>
<td>Fabio Fracassi</td>
<td align="center">M</td>
</tr>
<tr>
<td></td>
<td align="center">DE</td>
<td>Nicolai Josuttis</td>
<td align="center">M</td>
</tr>
<tr>
<td>GSI</td>
<td align="center">DE</td>
<td>Matthias Kretz</td>
<td align="center">M</td>
</tr>
<tr>
<td>University Carlos III</td>
<td align="center">ES</td>
<td>J. Daniel García</td>
<td align="center">M</td>
</tr>
<tr>
<td>CryptoTec</td>
<td align="center">FI</td>
<td>Mikael Kilpeläinen</td>
<td align="center">M</td>
</tr>
<tr>
<td>Plum Hall</td>
<td align="center">FI</td>
<td>Ville Voutilainen</td>
<td align="center">A</td>
</tr>
<tr>
<td></td>
<td align="center">UK</td>
<td>Roger Orr</td>
<td align="center">M</td>
</tr>
<tr>
<td>ARM</td>
<td align="center">UK</td>
<td>Will Deacon</td>
<td align="center">M</td>
</tr>
<tr>
<td>Jetbrains</td>
<td align="center">UK</td>
<td>Timur Doumler</td>
<td align="center">M</td>
</tr>
<tr>
<td>PDT Partners</td>
<td align="center">UK</td>
<td>Jeff Snyder</td>
<td align="center">M</td>
</tr>
<tr>
<td></td>
<td align="center">UK</td>
<td>Dinka Ranns</td>
<td align="center">M</td>
</tr>
<tr>
<td>Nokia</td>
<td align="center">PL</td>
<td>Michał Dominiak</td>
<td align="center">M</td>
</tr>
</tbody></table>

<h3>Participating non-members</h3>

<table><thead>
<tr>
<th>Company / Organization</th>
<th align="center">NB</th>
<th>Representative</th>
</tr>
</thead><tbody>
<tr>
<td></td>
<td align="center"></td>
<td>Nicolas Lesser</td>
</tr>
<tr>
<td></td>
<td align="center"></td>
<td>Faisal Vali</td>
</tr>
<tr>
<td></td>
<td align="center"></td>
<td>Gevorg Voskanyan</td>
</tr>
<tr>
<td></td>
<td align="center"></td>
<td>Michael Young</td>
</tr>
<tr>
<td>Blizzard</td>
<td align="center"></td>
<td>James Touton</td>
</tr>
<tr>
<td>DePaul University</td>
<td align="center"></td>
<td>Zhihao Yuan</td>
</tr>
<tr>
<td>Jump Trading</td>
<td align="center"></td>
<td>Barry Revzin</td>
</tr>
<tr>
<td>KEWB Computing</td>
<td align="center"></td>
<td>Bob Steagall</td>
</tr>
<tr>
<td>Maystreet</td>
<td align="center"></td>
<td>Nathan Myers</td>
</tr>
<tr>
<td>National Instruments</td>
<td align="center"></td>
<td>Ben Craig</td>
</tr>
<tr>
<td>Nokia</td>
<td align="center"></td>
<td>Vicente J. Botet Escriba</td>
</tr>
<tr>
<td>Paris Observatory</td>
<td align="center"></td>
<td>Vincent Reverdy</td>
</tr>
<tr>
<td>RKR Capital</td>
<td align="center"></td>
<td>Robert Douglas</td>
</tr>
<tr>
<td>Sony Computer Entertainment</td>
<td align="center"></td>
<td>Michael Spencer</td>
</tr>
<tr>
<td>Tanium</td>
<td align="center"></td>
<td>Lisa Lippincott</td>
</tr>
<tr>
<td>think-cell</td>
<td align="center"></td>
<td>Tony Lewis</td>
</tr>
<tr>
<td>Xilinx</td>
<td align="center"></td>
<td>Ronan Keryell</td>
</tr>
</tbody></table>


</body>

</html>