Skip to content

Commit 90a098d

Browse files
authored
Merge pull request #3654 from Earlopain/command-call-if-and
Reject `1 if foo = bar baz`
2 parents 07de61d + 7a13d35 commit 90a098d

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

src/prism.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20909,7 +20909,7 @@ parse_assignment_values(pm_parser_t *parser, pm_binding_power_t previous_binding
2090920909
bool permitted = true;
2091020910
if (previous_binding_power != PM_BINDING_POWER_STATEMENT && match1(parser, PM_TOKEN_USTAR)) permitted = false;
2091120911

20912-
pm_node_t *value = parse_starred_expression(parser, binding_power, previous_binding_power == PM_BINDING_POWER_ASSIGNMENT ? accepts_command_call : previous_binding_power < PM_BINDING_POWER_MATCH, diag_id, (uint16_t) (depth + 1));
20912+
pm_node_t *value = parse_starred_expression(parser, binding_power, previous_binding_power == PM_BINDING_POWER_ASSIGNMENT ? accepts_command_call : previous_binding_power < PM_BINDING_POWER_MODIFIER, diag_id, (uint16_t) (depth + 1));
2091320913
if (!permitted) pm_parser_err_node(parser, value, PM_ERR_UNEXPECTED_MULTI_WRITE);
2091420914

2091520915
parse_assignment_value_local(parser, value);
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
1 if foo = bar baz
2+
^~~ unexpected local variable or method, expecting end-of-input
3+
4+
1 and foo = bar baz
5+
^~~ unexpected local variable or method, expecting end-of-input
6+

0 commit comments

Comments
 (0)