From de870875f773f5a680b12e5306bc316d35465fe5 Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 16 Nov 2014 10:38:15 +0000 Subject: vm_eval.c: rb_current_receiver * vm_eval.c (rb_current_receiver): new function to return the receiver in the current control frame. [Feature #10195] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/-ext-/proc/test_bmethod.rb | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'test') diff --git a/test/-ext-/proc/test_bmethod.rb b/test/-ext-/proc/test_bmethod.rb index 32b31580d6..16927dcf7d 100644 --- a/test/-ext-/proc/test_bmethod.rb +++ b/test/-ext-/proc/test_bmethod.rb @@ -15,6 +15,7 @@ class TestProc::TestBMethod class Bound < Base define_method(:foo, Bug::Proc.make_call_super(42)) + define_method(:receiver, Bug::Proc.make_call_receiver(nil)) end def test_super_in_bmethod @@ -28,4 +29,9 @@ class TestProc::TestBMethod obj.foo(2) {|*a| result = a} assert_equal([2, 42], result) end + + def test_receiver_in_bmethod + obj = Bound.new + assert_same(obj, obj.receiver) + end end -- cgit v1.2.3