diff options
Diffstat (limited to 'enum.c')
-rw-r--r-- | enum.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -496,11 +496,13 @@ static VALUE enum_collect(VALUE obj) { VALUE ary; + int min_argc, max_argc; RETURN_SIZED_ENUMERATOR(obj, 0, 0, enum_size); ary = rb_ary_new(); - rb_block_call(obj, id_each, 0, 0, collect_i, ary); + min_argc = rb_block_min_max_arity(&max_argc); + rb_lambda_call(obj, id_each, 0, 0, collect_i, min_argc, max_argc, ary); return ary; } |