<div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jul 26, 2023 at 1:59 PM Tom Honermann &lt;<a href="mailto:tom@honermann.net">tom@honermann.net</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    <div>On 7/25/23 9:17 PM, Hubert Tong via
      SG16 wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Sat, Jul 22, 2023 at
            9:15 PM Tom Honermann via SG16 &lt;<a href="mailto:sg16@lists.isocpp.org" target="_blank">sg16@lists.isocpp.org</a>&gt;
            wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
            <div>
              <p>SG16 will hold a telecon on Wednesday, July 26th, at
                19:30 UTC (<a href="https://www.timeanddate.com/worldclock/converter.html?iso=20230726T193000&amp;p1=1440&amp;p2=tz_pt&amp;p3=tz_mt&amp;p4=tz_ct&amp;p5=tz_et&amp;p6=tz_cest" target="_blank">timezone
                  conversion</a>).</p>
              <p>The agenda follows.</p>
              <ul>
                <li><a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3145.pdf" target="_blank">WG14 N3145: $
                    in Identifiers v2</a>:</li>
                <ul>
                  <li>Determine whether a corresponding proposal for
                    WG21 is desired.</li>
                </ul>
                <li><a href="https://wg21.link/p2811r7" target="_blank">P2811R7: Contract-Violation
                    Handlers</a>:</li>
                <ul>
                  <li>Discuss character encoding considerations for the
                    std::contracts::contract_violation::comment() member
                    function.</li>
                </ul>
                <li><a href="https://wg21.link/lwg3944" target="_blank">LWG 3944: Formatters
                    converting sequences of char to sequences of wchar_t</a>:</li>
                <ul>
                  <li>Continue review pending a proposed resolution or
                    related paper.<br>
                  </li>
                </ul>
              </ul>
              <p>Hubert suggested in a <a href="https://lists.isocpp.org/sg16/2023/07/3891.php" target="_blank">post to the
                  SG16 mailing list</a> that SG16 consider whether
                similar changes to those adopted for C2x via <a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3145.pdf" target="_blank">WG14 N3145</a>
                to allow $ in identifiers as a sanctioned
                implementation-defined allowance are desirable. All
                major C++ implementations currently allow $ in
                identifiers by default with no warning, even with <font face="monospace">-Wall</font>; <a href="https://godbolt.org/z/M154z7bGf" target="_blank">https://godbolt.org/z/M154z7bGf</a>.
                Some implementations issue a warning in their pedantic
                modes. All implementations provide an option to prohibit
                $ in identifiers. We&#39;ll discuss the impact (or lack
                thereof) to implementations regarding an
                implementation-defined allowance vs a conforming
                extension.<br>
              </p>
            </div>
          </blockquote>
          <div>There can be no conforming extension without a change to
            the standard. As it stands, parsing for an identifier must
            end when a dollar sign is encountered because it is
            considered a separate pp-token. Furthermore, as a member of
            the basic character set, attempts to use a UCN for it
            outside of character/string literals is ill-formed.<br>
          </div>
        </div>
      </div>
    </blockquote>
    <p>Ah, yes, thank you for that correction, Hubert!</p>
    <p>The extension has been non-conforming since before <a href="https://wg21.link/p2558" target="_blank">P25582
        (Add @, $, and ` to the basic character set)</a> due to the
      pp-token issue, correct? So this isn&#39;t actually a new concern;
      just one that is slightly changed due to the new prohibition
      against use of a UCN to name the $ character outside of literals.</p></div></blockquote><div>The extension was conforming (i.e., only affected ill-formed code) as late as C++20. $ becomes a UCN in phase 1 and identifier-nondigit took UCNs.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
    <p>Tom.<br>
    </p>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div> </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
            <div>
              <p> </p>
              <p>SG21 has been making good progress on a contracts
                feature for C++26 and recently approved <a href="https://wg21.link/p2811r7" target="_blank">P2811R7</a>. When a contract
                violation occurs, a violation handler is invoked and
                passed a <font face="monospace">std::contracts::contract_violation</font>
                object whose <font face="monospace">comment()</font>
                member function is expected to reflect portions of the
                source code. Per proposal 1.3 (&quot;The <font face="monospace">comment</font> property&quot;) in section
                4.1 (&quot;An Extensible <font face="monospace">contract_violation</font>
                Type&quot;), the intent is that the function return text
                encoded in the literal encoding. The proposed wording
                simply states that the function returns
                implementation-defined text. We&#39;ll discuss whether to
                recommend any changes.</p>
              <p><a href="https://wg21.link/lwg3944" target="_blank">LWG 3944</a> was discussed
                during the <a href="https://github.com/sg16-unicode/sg16-meetings/#june-7th-2023" target="_blank">2023-07-12 SG16
                  meeting</a> (that link will work soon) and is pending
                a proposed resolution or paper. If an update is provided
                and time permits, we&#39;ll continue discussion.<br>
              </p>
              <p>Tom.<br>
              </p>
            </div>
            -- <br>
            SG16 mailing list<br>
            <a href="mailto:SG16@lists.isocpp.org" target="_blank">SG16@lists.isocpp.org</a><br>
            <a href="https://lists.isocpp.org/mailman/listinfo.cgi/sg16" rel="noreferrer" target="_blank">https://lists.isocpp.org/mailman/listinfo.cgi/sg16</a><br>
          </blockquote>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
    </blockquote>
  </div>

</blockquote></div></div>

