<div class="socmaildefaultfont" dir="ltr" style="font-family:Arial, Helvetica, sans-serif;font-size:10.5pt" ><div dir="ltr" >Hi Saar,</div>
<div dir="ltr" > </div>
<div dir="ltr" >I submitted the work I did for review.</div>
<div dir="ltr" > </div>
<div dir="ltr" ><div><a href="https://reviews.llvm.org/D40380" >https://reviews.llvm.org/D40380</a></div></div>
<div dir="ltr" ><a href="https://reviews.llvm.org/D40381" >https://reviews.llvm.org/D40381</a><br> </div>
<div dir="ltr" >I broke it into two parts. The removing old code part is pretty much the same as yours. </div>
<div dir="ltr" > </div>
<div dir="ltr" > </div>
<blockquote data-history-content-modified="1" dir="ltr" style="border-left:solid #aaaaaa 2px; margin-left:5px; padding-left:5px; direction:ltr; margin-right:0px" >----- Original message -----<br>From: Changyu Li/Markham/IBM<br>To: hubert.reinterpretcast@gmail.com<br>Cc: cfe-dev@lists.llvm.org, nwilson20@gmail.com, richard@metafoo.co.uk, saar@raz.email<br>Subject: Re: [cfe-dev] Roadmap for a Concepts implementation P0734R0, currently merged into C++20 draft<br>Date: Thu, Nov 23, 2017 12:50 AM<br> 
<div dir="ltr" style="font-family:Arial, Helvetica, sans-serif;font-size:10.5pt" ><div dir="ltr" >Hi Saar,</div>
<div dir="ltr" > </div>
<div dir="ltr" >I submitted the work I did for review.</div>
<div dir="ltr" ><a href="https://reviews.llvm.org/D40381" target="_blank" >https://reviews.llvm.org/D40381</a><a href="https://reviews.llvm.org/D40381" target="_blank" >https://reviews.llvm.org/D40381</a></div>
<div dir="ltr" > </div>
<blockquote data-history-content-modified="1" dir="ltr" style="border-left:solid #aaaaaa 2px; margin-left:5px; padding-left:5px; direction:ltr; margin-right:0px" >----- Original message -----<br>From: Hubert Tong <hubert.reinterpretcast@gmail.com><br>To: Saar Raz <saar@raz.email><br>Cc: Richard Smith <richard@metafoo.co.uk>, Clang Dev <cfe-dev@lists.llvm.org>, Nathan Wilson <nwilson20@gmail.com>, Changyu Li <changyu@ca.ibm.com><br>Subject: Re: [cfe-dev] Roadmap for a Concepts implementation P0734R0, currently merged into C++20 draft<br>Date: Tue, Nov 21, 2017 4:32 PM<br> 
<div dir="ltr" ><div><div>On Tue, Nov 21, 2017 at 3:53 PM, Saar Raz <span dir="ltr" ><<a href="mailto:saar@raz.email" target="_blank" >saar@raz.email</a>></span> wrote:

<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex" ><div dir="ltr" >Agreed, I'll post a patch with fixed tests and the diagnostic removed soon.
<div> </div>
<div>Richard - I heard from Andrew Sutton that constrained non-template functions had been cut out of the working draft when concepts was voted in because of name mangling issues - are they still left out? If so, was the trailing requires-clause cut out as well?</div>
<div>Anyway I've noticed another problem/defect with constrained non-template functions as described in P0734R0, discussed here: <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__groups.google.com_a_isocpp.org_forum_-23-21topic_std-2Ddiscussion_CJAmcnFI86o&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=_TppqN2XZ2ySkHq7c46FM6kKcTPHv0u9VoUI4-BYNJg&m=1qLy4xI-SfbJo7vTFWt4Xsmyc86lguLScArE_9EIhx8&s=IB0SL0sySfBcN7XrCExUpmnerOvqjKsWiJiTTVPs5Q8&e=" target="_blank" >https://groups.google.<wbr>com/a/isocpp.org/forum/#!<wbr>topic/std-discussion/<wbr>CJAmcnFI86o</a> (Andrew also agreed that this probably should be fixed in the way I suggested)</div></div></blockquote>
<div>Yes, previous discussions on the issue you describe led to the same conclusion. There are still questions over what exactly is used to distinguish requires-clauses that are "different" without template dependent constructs. The constraint expression really just evaluates to a bool value, and all cases evaluating to "true" could be considered equivalent. [basic.link]/9 in N4700 is silent to the point of being wrong here, but I do not think we have an agreement on what the right words should look like.</div>
<div> </div>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex" ><div dir="ltr" ><div><div> 
<div><div dir="ltr" >On Mon, Nov 20, 2017 at 7:15 PM Hubert Tong <<a href="mailto:hubert.reinterpretcast@gmail.com" target="_blank" >hubert.reinterpretcast@gmail.<wbr>com</a>> wrote:</div>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex" ><div dir="ltr" >On Sun, Nov 19, 2017 at 7:39 PM, Saar Raz <span dir="ltr" ><<a href="mailto:saar@raz.email" target="_blank" >saar@raz.email</a>></span> wrote:</div>
<div dir="ltr" ><div><div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" ><div dir="ltr" >Attached is a patch file that implements point 1 with some comments as to what should be done next.</div></blockquote></div></div></div>
<div dir="ltr" ><div>Saar, I believe cfe-commits is the mailing list for patch reviews. I also find Phabricator to be helpful (but it is not mandatory).</div>
<div><br>Some comments:<br>The patch would obviously break tests, so test updates are needed. I would prefer to see if some tests are salvageable by modifying them to use the new syntax (and then leaving them disabled for now).<br>The error message at line 132 of the patch still refers to "concept" as a specifier.<br>This particular error message is also more likely to be orphaned than not depending on how the parsing is implemented.<br><br>template <typename T><br>inline concept C = true;<br>//     ^<br>// error: expected unqualified-id<br><br>template <typename T><br>concept constexpr C = true;<br>//      ^<br>// error: expected unqualified-id<br> </div></div></blockquote></div></div></div></div></blockquote></div></div></div></blockquote>
<div dir="ltr" > </div></div></blockquote>
<div dir="ltr" > </div></div><BR>