Issue #16414 has been reported by tomog105 (Tomohiro Ogoke).

----------------------------------------
Bug #16414: Incompatible behavior of Proc/lambda with single argument when using `Enumerator::Lazy#with_index`
https://bugs.ruby-lang.org/issues/16414

* Author: tomog105 (Tomohiro Ogoke)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.7.0dev (2019-12-10T10:12:21Z master af11efd377) [x86_64-darwin18]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN
----------------------------------------
Following code is raised error `wrong number of arguments (given 1, expected 2) (ArgumentError)` in master.

```
$ ruby -e 'lambda = -> (s, i) { "#{i}:#{s}" }; p %w(a b c).each.lazy.with_index.map(&lambda).first(2)'
# expect results => ["0:a", "1:b"]
```

This code is valid until Ruby 2.6.5 and 2.7.0-preview1, but raised error since Ruby 2.7.0-preview2.
(Maybe, this behavior has been since the implementation of `Enumerator::Lazy#with_index`.)

Is this behaviour intentional change?



-- 
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>