Issue #10432 has been updated by Usaku NAKAMURA. Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED to 2.0.0: DONE, 2.1: REQUIRED Backported into `ruby_2_0_0` at r48633. (元のレポートにもあるように2.0.0にはBinding#receiverがないため、テストを一部変更) ---------------------------------------- Bug #10432: wrong receiver of Binding from Method https://bugs.ruby-lang.org/issues/10432#change-50156 * Author: Nobuyoshi Nakada * Status: Closed * Priority: Normal * Assignee: Nobuyoshi Nakada * Category: core * Target version: current: 2.2.0 * ruby -v: trunk * Backport: 2.0.0: DONE, 2.1: REQUIRED ---------------------------------------- Methodオブジェクトから`to_proc.binding`で作られたBindingのreceiverが、Methodオブジェクトの元になったオブジェクトではなく、Methodオブジェクトになっています。 ~~~ruby class C def foo;end end o = C.new m = o.method(:foo) p m.receiver # #<C:0x007fcada074e58> p m.to_proc.binding.receiver # #<Method: C#foo> ~~~ 2.0, 2.1では`Binding#receiver`はありませんが、`eval("self")`で同様の結果になります。 -- https://bugs.ruby-lang.org/