[clang] [Clang][Sema] Fix mismatch of out-of-line definition of template class (PR #102554)

Qizhi Hu via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 8 20:51:49 PDT 2024


================
@@ -951,7 +951,8 @@ static const Expr *SubstituteConstraintExpressionWithoutSatisfaction(
       DeclInfo.getDecl(), DeclInfo.getLexicalDeclContext(), /*Final=*/false,
       /*Innermost=*/std::nullopt,
       /*RelativeToPrimary=*/true,
-      /*Pattern=*/nullptr, /*ForConstraintInstantiation=*/true,
+      /*Pattern=*/nullptr,
+      !isa_and_present<ClassTemplateDecl>(DeclInfo.getDecl()),
----------------
jcsxky wrote:

By the way, I don't think we always need outer arguments since the depth of the `TemplateTypeParmType` in `ConceptSpecializationExpr` is 1 (not 0).

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


More information about the cfe-commits mailing list