Bug #10687 » relaxed.patch
vm_args.c | ||
---|---|---|
break;
|
||
case arg_setup_lambda:
|
||
if (given_argc == 1 &&
|
||
given_argc != iseq->param.lead_num &&
|
||
given_argc != min_argc &&
|
||
(min_argc > 0 || iseq->param.flags.has_block) &&
|
||
!iseq->param.flags.has_rest &&
|
||
args_check_block_arg0(args, th, msl)) {
|
||
given_argc = RARRAY_LENINT(args->rest);
|
||
int len = RARRAY_LENINT(args->rest);
|
||
if (len >= min_argc && len <= max_argc) {
|
||
given_argc = len;
|
||
}
|
||
}
|
||
}
|
||