================
@@ -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) {
----------------
zyn0217 wrote:

TopLevelConceptId is only set when we evaluate the constraint from user-written 
concepts directly and therefore it's unnecessary to substitute into parameter 
mapping because they're actually the same thing (both the parameter mapping and 
the user written template arguments come from the user-written template 
arguments, see CheckConceptTemplateId)

https://github.com/llvm/llvm-project/pull/207966
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to