Actions
Bug #11809
closedmethod_missing should not be refined
Description
The following code prints [:Refinement, :abc]
, but method_missing
should not be refined because it's indirect call.
class Foo
end
module Bar
refine Foo do
def method_missing(mid, *args)
p [:Refinement, mid, *args]
end
end
end
using Bar
Foo.new.abc
Files
Updated by shugo (Shugo Maeda) about 9 years ago
- Status changed from Assigned to Closed
Applied in changeset r53060.
- vm_insnhelper.c (vm_call_method_missing): method_missing should
not be refined.
[ruby-core:72080] [Bug #11809]
Updated by nagachika (Tomoyuki Chikanaga) about 9 years ago
- Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN to 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONTNEED
r53060 introduce behavior change between 2.2 and 2.3.
NEWS should be updated too.
Updated by ktsj (Kazuki Tsujimoto) almost 9 years ago
- Related to Bug #11655: Can't refine Object.const_missing added
Actions
Like0
Like0Like0Like0