summaryrefslogtreecommitdiffhomepage
path: root/src/array.c
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2019-12-13 17:30:34 +0900
committerKOBAYASHI Shuji <[email protected]>2019-12-13 17:30:34 +0900
commite18aa4d8939e11139f9508e7cad3939858e0a1c5 (patch)
treeca86e0a97b94defa34c2b8337814678591d14567 /src/array.c
parent9c4c82ed1c6cf21d420dc62185fc42552ad2e924 (diff)
downloadmruby-e18aa4d8939e11139f9508e7cad3939858e0a1c5.tar.gz
mruby-e18aa4d8939e11139f9508e7cad3939858e0a1c5.zip
Fix arguments check to `Array#each`
#### Before this patch: ``` $ mruby -e '[].each(1){}' #=> no error ``` #### After this patch: ``` $ mruby -e '[].each(1){}' #=> ArgumentError: wrong number of arguments ```
Diffstat (limited to 'src/array.c')
-rw-r--r--src/array.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/array.c b/src/array.c
index 8190c2416..8547cfff4 100644
--- a/src/array.c
+++ b/src/array.c
@@ -1304,6 +1304,7 @@ init_ary_each(mrb_state *mrb, struct RClass *ary)
each_irep->nregs = 7;
each_irep->nlocals = 3;
p = mrb_proc_new(mrb, each_irep);
+ p->flags |= MRB_PROC_SCOPE | MRB_PROC_STRICT;
MRB_METHOD_FROM_PROC(m, p);
mrb_define_method_raw(mrb, ary, mrb_intern_lit(mrb, "each"), m);
}