@@ -2790,15 +2790,16 @@ NamedDecl *transformTemplateParameter(Sema &SemaRef, DeclContext *DC,
2790
2790
//
2791
2791
// The return result is expected to be the require-clause for the synthesized
2792
2792
// alias deduction guide.
2793
- Expr *transformRequireClause(Sema &SemaRef, FunctionTemplateDecl *F,
2794
- TypeAliasTemplateDecl *AliasTemplate,
2795
- ArrayRef<DeducedTemplateArgument> DeduceResults,
2796
- Expr *IsDeducible) {
2793
+ Expr *
2794
+ buildAssociatedConstraints(Sema &SemaRef, FunctionTemplateDecl *F,
2795
+ TypeAliasTemplateDecl *AliasTemplate,
2796
+ ArrayRef<DeducedTemplateArgument> DeduceResults,
2797
+ Expr *IsDeducible) {
2797
2798
Expr *RC = F->getTemplateParameters()->getRequiresClause();
2798
2799
if (!RC)
2799
2800
return IsDeducible;
2800
2801
2801
- auto &Context = SemaRef.Context;
2802
+ ASTContext &Context = SemaRef.Context;
2802
2803
LocalInstantiationScope Scope(SemaRef);
2803
2804
2804
2805
// In the clang AST, constraint nodes are deliberately not instantiated unless
@@ -2915,7 +2916,6 @@ Expr *transformRequireClause(Sema &SemaRef, FunctionTemplateDecl *F,
2915
2916
BinaryOperatorKind::BO_LAnd, E.get(), IsDeducible);
2916
2917
if (Conjunction.isInvalid())
2917
2918
return nullptr;
2918
- Conjunction.getAs<Expr>()->dump();
2919
2919
return Conjunction.getAs<Expr>();
2920
2920
}
2921
2921
// Build the is_deducible constraint for the alias deduction guides.
@@ -2926,7 +2926,7 @@ Expr *buildIsDeducibleConstraint(Sema &SemaRef,
2926
2926
TypeAliasTemplateDecl *AliasTemplate,
2927
2927
QualType ReturnType,
2928
2928
SmallVector<NamedDecl *> TemplateParams) {
2929
- auto &Context = SemaRef.Context;
2929
+ ASTContext &Context = SemaRef.Context;
2930
2930
// Constraint AST nodes must use uninstantiated depth.
2931
2931
if (auto *PrimaryTemplate =
2932
2932
AliasTemplate->getInstantiatedFromMemberTemplate()) {
@@ -3182,8 +3182,8 @@ BuildDeductionGuideForTypeAlias(Sema &SemaRef,
3182
3182
3183
3183
Expr *IsDeducible = buildIsDeducibleConstraint(
3184
3184
SemaRef, AliasTemplate, FPrime->getReturnType(), FPrimeTemplateParams);
3185
- Expr *RequiresClause = transformRequireClause(SemaRef, F, AliasTemplate,
3186
- DeduceResults, IsDeducible);
3185
+ Expr *RequiresClause = buildAssociatedConstraints(
3186
+ SemaRef, F, AliasTemplate, DeduceResults, IsDeducible);
3187
3187
3188
3188
// FIXME: implement the is_deducible constraint per C++
3189
3189
// [over.match.class.deduct]p3.3:
0 commit comments