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;
|
||
|
}
|
||
|
}
|
||
|
}
|
||