[ruby/prism] Fix splat after kwsplat
https://github.com/ruby/prism/commit/70c1cd480f
This commit is contained in:
parent
4b4c94b17c
commit
6767117b07
@ -14190,6 +14190,9 @@ parse_arguments(pm_parser_t *parser, pm_arguments_t *arguments, bool accepts_for
|
||||
if (match4(parser, PM_TOKEN_PARENTHESIS_RIGHT, PM_TOKEN_COMMA, PM_TOKEN_SEMICOLON, PM_TOKEN_BRACKET_RIGHT)) {
|
||||
pm_parser_scope_forwarding_positionals_check(parser, &operator);
|
||||
argument = (pm_node_t *) pm_splat_node_create(parser, &operator, NULL);
|
||||
if (parsed_bare_hash) {
|
||||
pm_parser_err_previous(parser, PM_ERR_ARGUMENT_SPLAT_AFTER_ASSOC_SPLAT);
|
||||
}
|
||||
} else {
|
||||
pm_node_t *expression = parse_value_expression(parser, PM_BINDING_POWER_DEFINED, false, false, PM_ERR_EXPECT_EXPRESSION_AFTER_SPLAT, (uint16_t) (depth + 1));
|
||||
|
||||
|
3
test/prism/errors/arguments_splat_after_star_star.txt
Normal file
3
test/prism/errors/arguments_splat_after_star_star.txt
Normal file
@ -0,0 +1,3 @@
|
||||
def f(*, **); p(**, *); end
|
||||
^ unexpected `*` splat argument after a `**` keyword splat argument
|
||||
|
Loading…
x
Reference in New Issue
Block a user