Bug #10578 ยป undef_in_refine.diff
| test/ruby/test_refinement.rb | ||
|---|---|---|
|
:foo, bug10826)
|
||
|
end
|
||
|
def test_undef_original_method
|
||
|
assert_in_out_err([], <<-INPUT, ["NoMethodError"], [])
|
||
|
module NoPlus
|
||
|
refine String do
|
||
|
undef +
|
||
|
end
|
||
|
end
|
||
|
using NoPlus
|
||
|
"a" + "b" rescue p($!.class)
|
||
|
INPUT
|
||
|
end
|
||
|
private
|
||
|
def eval_using(mod, s)
|
||
| vm_insnhelper.c | ||
|---|---|---|
|
goto start_method_dispatch;
|
||
|
}
|
||
|
}
|
||
|
else {
|
||
|
ci->me = 0;
|
||
|
goto start_method_dispatch;
|
||
|
}
|
||
|
no_refinement_dispatch:
|
||
|
if (ci->me->def->body.orig_me) {
|
||