diff --git a/executable_semantics/syntax/parser.ypp b/executable_semantics/syntax/parser.ypp index 16b7c7efce80..e8443b9fede2 100644 --- a/executable_semantics/syntax/parser.ypp +++ b/executable_semantics/syntax/parser.ypp @@ -786,20 +786,20 @@ deduced_param_list: $$ = std::vector>(); $$.push_back($1); } -| generic_binding COMMA deduced_param_list +| deduced_param_list COMMA generic_binding { - $$ = $3; - $$.push_back($1); + $$ = $1; + $$.push_back($3); } | variable_declaration { $$ = std::vector>(); $$.push_back($1); } -| variable_declaration COMMA deduced_param_list +| deduced_param_list COMMA variable_declaration { - $$ = $3; - $$.push_back($1); + $$ = $1; + $$.push_back($3); } ; deduced_params: