From e18aa4d8939e11139f9508e7cad3939858e0a1c5 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Fri, 13 Dec 2019 17:30:34 +0900 Subject: 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 ``` --- src/array.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/array.c') 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); } -- cgit v1.2.3