diff options
| author | KOBAYASHI Shuji <[email protected]> | 2019-12-13 17:30:34 +0900 |
|---|---|---|
| committer | KOBAYASHI Shuji <[email protected]> | 2019-12-13 17:30:34 +0900 |
| commit | e18aa4d8939e11139f9508e7cad3939858e0a1c5 (patch) | |
| tree | ca86e0a97b94defa34c2b8337814678591d14567 /src/array.c | |
| parent | 9c4c82ed1c6cf21d420dc62185fc42552ad2e924 (diff) | |
| download | mruby-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.c | 1 |
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); } |
