[clang] Reapply "[Clang] Transform lambda's constraints when instantiating parameter mapping (PR #207966)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 10 07:00:22 PDT 2026


================
@@ -1002,8 +1005,13 @@ ExprResult ConstraintSatisfactionChecker::EvaluateSlow(
       const_cast<NamedDecl *>(Template), Constraint.getSourceRange());
 
   TemplateArgumentListInfo OutArgs(Ori->LAngleLoc, Ori->RAngleLoc);
-  if (S.SubstTemplateArguments(Ori->arguments(), *SubstitutedArgs, OutArgs) ||
-      Trap.hasErrorOccurred()) {
+
+  if (ConceptId == TopLevelConceptId) {
----------------
erichkeane wrote:

I'm quite sure I've seen us compare `ConceptReference` in quite a few places, and even the original patches for concepts did that quite a bit.  Do you have a case where that acts incorrectly?  Do we have a modules reproducer that shows that we end up having 2 nodes of ConceptReference that reference the same concept? 

https://github.com/llvm/llvm-project/pull/207966


More information about the cfe-commits mailing list