File tree Expand file tree Collapse file tree 2 files changed +5
-3
lines changed Expand file tree Collapse file tree 2 files changed +5
-3
lines changed Original file line number Diff line number Diff line change
1
+ f: () -> _ requires true = 0;
2
+ main: () -> _ = f();
Original file line number Diff line number Diff line change @@ -1988,7 +1988,7 @@ struct declaration_node
1988
1988
std::vector<std::unique_ptr<id_expression_node>> meta_functions;
1989
1989
std::unique_ptr<parameter_declaration_list_node> template_parameters;
1990
1990
source_position requires_pos = {};
1991
- std::unique_ptr<expression_node> requires_clause_expression;
1991
+ std::unique_ptr<logical_or_expression_node> requires_clause_expression;
1992
1992
1993
1993
source_position equal_sign = {};
1994
1994
std::unique_ptr<statement_node> initializer;
@@ -5865,7 +5865,7 @@ class parser
5865
5865
// G meta-functions-list '@' id-expression
5866
5866
// G
5867
5867
// G requires-clause:
5868
- // G 'requires' expression
5868
+ // G 'requires' logical-or- expression
5869
5869
// G
5870
5870
// G template-parameter-declaration-list
5871
5871
// G '<' parameter-declaration-seq '>'
@@ -6112,7 +6112,7 @@ class parser
6112
6112
if (curr () == " requires" ) {
6113
6113
n->requires_pos = curr ().position ();
6114
6114
next ();
6115
- auto e = expression ();
6115
+ auto e = logical_or_expression ();
6116
6116
if (!e) {
6117
6117
error (" 'requires' must be followed by an expression" );
6118
6118
return {};
You can’t perform that action at this time.
0 commit comments