[#77789] [Ruby trunk Feature#12012] Add Boolean method — prodis@...
Issue #12012 has been updated by Fernando Hamasaki de Amorim.
4 messages
2016/10/27
[ruby-core:77634] [Ruby trunk Bug#12705] yielding args to a lambda uses block/proc rather than lambda/method semantics
From:
eregontp@...
Date:
2016-10-15 10:37:55 UTC
List:
ruby-core #77634
Issue #12705 has been updated by Benoit Daloze.
This bug seems specific to yield, calling the lambda behaves as expected.
I added specs in ruby/spec to verify this behavior:
https://github.com/ruby/spec/commit/c4cabcf37ac804ea127bd0216c0239e5f9045ec1
The ruby_bug guard can be adjusted as soon as there is a minor release containing the fix for this bug.
----------------------------------------
Bug #12705: yielding args to a lambda uses block/proc rather than lambda/method semantics
https://bugs.ruby-lang.org/issues/12705#change-60905
* Author: bug hit
* Status: Assigned
* Priority: Normal
* Assignee: Koichi Sasada
* ruby -v:
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
```ruby
def yield_test
yield 1, 2
yield [1, 2]
end
def foo(a, b)
p a, b
end
method_lambda = method(:foo).to_proc
normal_lambda = ->a, b{p a, b}
yield_test(&normal_lambda)
yield_test(&method_lambda)
```
the yield of [1, 2] to the method_lambda produces an argument error as you would expect
but the same yield to the normal_lamda does not, the single array arg is slpatted per block/proc semantics
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>