1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* vm_insnhelper.c (vm_invoke_block): returning from lambda proc

now always exits from the Proc. [ruby-core:56193] [Feature #8693]

* NEWS, test/ruby/test_lambda.rb: ditto. Patch by nobu.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ktsj 2013-08-09 01:49:38 +00:00
parent 4a7afb71ec
commit 214cbdc943
4 changed files with 37 additions and 2 deletions

View file

@ -89,4 +89,24 @@ class TestLambdaParameters < Test::Unit::TestCase
assert_send([e.backtrace.first, :start_with?, "#{__FILE__}:#{line}:"], bug6151)
assert_equal(0, called)
end
def return_in_current(val)
1.tap &->(*) {return 0}
val
end
def yield_block
yield
end
def return_in_callee(val)
yield_block &->(*) {return 0}
val
end
def test_return
feature8693 = '[ruby-core:56193] [Feature #8693]'
assert_equal(42, return_in_current(42), feature8693)
assert_equal(42, return_in_callee(42), feature8693)
end
end