Bug #11811 ยป vm_caller_setup_arg_block.diff
test/ruby/test_lazy_enumerator.rb | ||
---|---|---|
assert_warning("") {le.drop(1).force}
|
||
assert_warning("") {le.drop_while{false}.force}
|
||
end
|
||
def test_symbol_chain
|
||
assert_raise(NoMethodError) do
|
||
[1, 2, 3].lazy.map(&:undefined).map(&:to_s).force
|
||
end
|
||
end
|
||
end
|
vm_args.c | ||
---|---|---|
else if (SYMBOL_P(proc) && rb_method_basic_definition_p(rb_cSymbol, idTo_proc)) {
|
||
calling->blockptr = RUBY_VM_GET_BLOCK_PTR_IN_CFP(reg_cfp);
|
||
calling->blockptr->iseq = (rb_iseq_t *)proc;
|
||
calling->blockptr->proc = proc;
|
||
calling->blockptr->proc = 0;
|
||
}
|
||
else if (RUBY_VM_IFUNC_P(proc)) {
|
||
calling->blockptr = RUBY_VM_GET_BLOCK_PTR_IN_CFP(reg_cfp);
|