summaryrefslogtreecommitdiff
path: root/prism
diff options
context:
space:
mode:
authorydah <t.yudai92@gmail.com>2024-11-27 19:53:18 +0900
committergit <svn-admin@ruby-lang.org>2024-12-02 18:39:49 +0000
commitaa77bfd13ee183adde6bdc7812cfbb9580ea4b7a (patch)
treef6e4fc232998334b6ad3ad3da1ba89a0d0e32226 /prism
parent90404ca46004e10e4e64e7b4e648d88ffcfb65ee (diff)
[ruby/prism] Reject extra comma in array after keyword argument
Fixes: https://github.com/ruby/prism/issues/3109 https://github.com/ruby/prism/commit/9ed989c30d
Diffstat (limited to 'prism')
-rw-r--r--prism/prism.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/prism/prism.c b/prism/prism.c
index 83b6f7e00c..567c337054 100644
--- a/prism/prism.c
+++ b/prism/prism.c
@@ -10869,6 +10869,10 @@ parser_lex(pm_parser_t *parser) {
// ,
case ',':
+ if ((parser->previous.type == PM_TOKEN_COMMA) && (parser->enclosure_nesting > 0)) {
+ PM_PARSER_ERR_TOKEN_FORMAT(parser, parser->current, PM_ERR_ARRAY_TERM, pm_token_type_human(parser->current.type));
+ }
+
lex_state_set(parser, PM_LEX_STATE_BEG | PM_LEX_STATE_LABEL);
LEX(PM_TOKEN_COMMA);