[PATCH] D119544: Deferred Concept Instantiation Implementation

Erich Keane via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 25 11:15:15 PDT 2022

erichkeane added a comment.

Alright, a touch more:  It looks like the looping through the `CurContext` at line 6084 finds the wrong thing in evaluating this `CXXMethodDecl`!  The "broken" version has its CurContext as `bar` in the example above, the "working" versions have `foo` or `foo2<int>`.  Therefore the 2nd time through the loop, those both end up on the `ClassTemplateSpecializationDecl`, but the broken one finds the `isFileContext` version.

So I don't know HOW to fix it, but it seems that the `CheckFunctionConstraints` probably has to change the `CurContext`.  I suspect the instantiation of the `WorkingRequires` does something like this correctly.

I'm poking on/off on it today, but if @ChuanqiXu has an idea/help, it would be greatly appreciated.



More information about the cfe-commits mailing list