Mean L. wrote in post #1082678:

> This would also make base_foo and sub_foo equal as they refer to the
> same foo in base.

{{ Base.new.is_a?(sub_foo.owner) }} does not give you the right answer
because the rule demands that the following holds:

  {{ Base.new.is_a?(sub_foo.owner) && Base != Sub.superclass }}.

And yes, I do not know nor care, why "why does UnboundMethod need to
remember the class it was retrieved from (not merely owner)?". At least
not the way you asked it. This question is to vague, and it turned out
also irrelevant in the relationship to the code you gave us in your
original post, as well as to your comment in your AFAICT latter. If you
understand the rule, you can tell that your

  {{ Base.new.is_a?(sub_foo.owner) }}

is not the same as what demands the rule.

Cheers, igor

-- 
Posted via http://www.ruby-forum.com/.