summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2020-06-01 23:43:31 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2020-06-07 18:44:07 +0900
commitc0ba35f3344652bca7768cf37f367ff40f5e973e (patch)
tree45f379f05871b14d844ce4818886d7e75787a73d /parse.y
parent9d24ddbb53b296105177e1badce226c4e575dcc7 (diff)
downloadruby-c0ba35f3344652bca7768cf37f367ff40f5e973e.tar.gz
Differentiate `...` in lambda arguments
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y4
1 files changed, 4 insertions, 0 deletions
diff --git a/parse.y b/parse.y
index 1848dc5890..e7e4bddd50 100644
--- a/parse.y
+++ b/parse.y
@@ -9365,6 +9365,10 @@ parser_yylex(struct parser_params *p)
if (p->lex.paren_nest == 0 && looking_at_eol_p(p)) {
rb_warn0("... at EOL, should be parenthesized?");
}
+ else if (p->lex.lpar_beg >= 0 && p->lex.lpar_beg+1 == p->lex.paren_nest) {
+ if (IS_lex_state_for(last_state, EXPR_LABEL))
+ return tDOT3;
+ }
return is_beg ? tBDOT3 : tDOT3;
}
pushback(p, c);