File tree Expand file tree Collapse file tree 3 files changed +9
-5
lines changed
test/CXX/dcl.decl/dcl.meaning/dcl.fct Expand file tree Collapse file tree 3 files changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -373,8 +373,6 @@ def err_requires_clause_must_appear_after_trailing_return : Error<
373
373
"trailing return type must appear before trailing requires clause">;
374
374
def err_requires_clause_on_declarator_not_declaring_a_function : Error<
375
375
"trailing requires clause can only be used when declaring a function">;
376
- def err_requires_clause_explicit_object_parameter: Error<
377
- "a requires clause cannot have an explicit object parameter">;
378
376
def err_requires_clause_inside_parens : Error<
379
377
"trailing requires clause should be placed outside parentheses">;
380
378
def ext_auto_storage_class : ExtWarn<
@@ -865,6 +863,8 @@ def err_empty_requires_expr : Error<
865
863
"a requires expression must contain at least one requirement">;
866
864
def err_requires_expr_parameter_list_ellipsis : Error<
867
865
"varargs not allowed in requires expression">;
866
+ def err_requires_expr_explicit_object_parameter: Error<
867
+ "a requires expression cannot have an explicit object parameter">;
868
868
def err_expected_semi_requirement : Error<
869
869
"expected ';' at end of requirement">;
870
870
def err_requires_expr_missing_arrow : Error<
Original file line number Diff line number Diff line change @@ -7673,7 +7673,7 @@ void Parser::ParseParameterDeclarationClause(
7673
7673
// The parameter-declaration-list of a requires-expression is not such
7674
7674
// a context.
7675
7675
if (DeclaratorCtx == DeclaratorContext::RequiresExpr)
7676
- Diag (ThisLoc, diag::err_requires_clause_explicit_object_parameter );
7676
+ Diag (ThisLoc, diag::err_requires_expr_explicit_object_parameter );
7677
7677
}
7678
7678
7679
7679
ParseDeclarationSpecifiers (DS, /* TemplateInfo=*/ ParsedTemplateInfo (),
Original file line number Diff line number Diff line change 1
1
// RUN: %clang_cc1 -std=c++23 -fsyntax-only -verify %s
2
2
3
- auto x0 = requires (this int ) { true ; }; // expected-error {{a requires clause cannot have an explicit object parameter}}
4
- auto x1 = requires (int , this int ) { true ; }; // expected-error {{a requires clause cannot have an explicit object parameter}}
3
+ auto x0 = requires (this int ) { true ; }; // expected-error {{a requires expression cannot have an explicit object parameter}}
4
+ auto x1 = requires (int , this int ) { true ; }; // expected-error {{a requires expression cannot have an explicit object parameter}}
5
+
6
+ template <this auto >
7
+ void f (); // expected-error {{expected template parameter}}
8
+ // expected-error@-1 {{no function template matches function template specialization 'f'}}
You can’t perform that action at this time.
0 commit comments