On Fri, Aug 31, 2007 at 08:18:38AM +0900, Keith Rarick wrote:
> 2. An unbound method (such as what you get by calling
> foo.method(:bar).unbind) can only be bound to an object of the same
> type as the original receiver. For singleton methods, this means that
> they can only be bound to the very same object.

Nodewrap lets you do this, but it's not safe:

irb(main):001:0> class Foo; def foo; puts "HERE"; end; end
=> nil
irb(main):002:0> class Bar; end
=> nil
irb(main):005:0> Bar.add_method(:bar, Foo.instance_method(:foo).body, 0)
=> nil
irb(main):006:0> Bar.new.bar
HERE
=> nil

Paul