Project

General

Profile

Bug #11811 ยป vm_caller_setup_arg_block.diff

shugo (Shugo Maeda), 12/16/2015 01:39 AM

View differences:

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);
    (1-1/1)