[PATCH] D119544: Deferred Concept Instantiation Implementation

Erich Keane via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 28 21:26:15 PDT 2022


erichkeane added a comment.

In D119544#3477316 <https://reviews.llvm.org/D119544#3477316>, @erichkeane wrote:

> Correct the caching behavior to make the FriendFunc example work.
>
> I THINK this is ready to review!  I'd like to do the lambda examples in a followup patch as I believe that is a pre-existing issue, and this patch has gotten large enough.

Ping @ChuanqiXu : This should be ready for you!  Let me know what changes you suggest.



================
Comment at: clang/test/SemaTemplate/concepts.cpp:471
+  // isn't re-evaluating the constraint?
+  FriendFunc(CFC, 1.0);
+
----------------
erichkeane wrote:
> THIS one looks like a regression, it seems to matter which order these two functions are called in, whether it catches it or not.
> 
> So this is the 1 example I have: https://godbolt.org/z/vY4f3961s  Note that if you swap lines 32 and 33, this patch ALSO fails, but in the version in the example, it does NOT fail despite the fact that it SHOULD.
This one was actually pretty easy, I never updated the 'caching' for constraints, so we were only doing it based on the outermost level of template args, so the two were considered to be the 'same' instantiation for the purposes of caching..


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D119544/new/

https://reviews.llvm.org/D119544



More information about the cfe-commits mailing list