aboutsummaryrefslogtreecommitdiffstats
path: root/parse.y
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-08-29 22:07:45 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-09-06 09:02:12 +0900
commit3754e155309ed430250781c616a6e52b54ef511d (patch)
tree6bd60f672da679421968e7577363b11b48e58795 /parse.y
parent092f31e7e23c0ee04df987f0c0f979d036971804 (diff)
downloadruby-3754e155309ed430250781c616a6e52b54ef511d.tar.gz
Warn local variables which conflict with new numbered parameters
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 63d8f53c1d..602c572736 100644
--- a/parse.y
+++ b/parse.y
@@ -11652,6 +11652,10 @@ arg_var(struct parser_params *p, ID id)
static void
local_var(struct parser_params *p, ID id)
{
+ if (id >= idNUMPARAM_0 && id <= idNUMPARAM_9) {
+ rb_warn1("`_%d' is used as numbered parameter",
+ WARN_I((int)(id - idNUMPARAM_0)));
+ }
vtable_add(p->lvtbl->vars, id);
if (p->lvtbl->used) {
vtable_add(p->lvtbl->used, (ID)p->ruby_sourceline);