Issue #7274 has been updated by mame (Yusuke Endoh).

Status changed from Open to Assigned
Assignee set to matz (Yukihiro Matsumoto)
Target version set to next minor


----------------------------------------
Feature #7274: UnboundMethods should be bindable  to any object that is_a?(owner of the UnboundMethod)
https://bugs.ruby-lang.org/issues/7274#change-33707

Author: rits (First Last)
Status: Assigned
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: next minor


as a corollary, UnboundMethods referencing the same method name on the same owner, should be equal

currently UnboundMethods binding is determined by the class via which they were retrieved, not the owner
____________________________________
class Base; def foo; end end
class Sub < Base; end

base_foo = Base.instance_method :foo
sub_foo = Sub.instance_method :foo
sub_foo.bind(Base.new).call
__________________________________

sub_foo.owner is Base so there does not seem to be any reason why it's not safe for it to bind to an instance of Base.

and there does not seem to be any reason for sub_foo and base_foo to be unequal, they both refer to the same method, foo on Base.


-- 
http://bugs.ruby-lang.org/