* [ruby-core:103336] [Ruby master Bug#17789] Incompatible behavior of Enumarator::Lazy#with_index
@ 2021-04-09 8:46 soudai.sasada
2021-04-09 9:02 ` [ruby-core:103338] " zverok.offline
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: soudai.sasada @ 2021-04-09 8:46 UTC (permalink / raw)
To: ruby-core
Issue #17789 has been reported by soudai_s (Soudai Sasada).
----------------------------------------
Bug #17789: Incompatible behavior of Enumarator::Lazy#with_index
https://bugs.ruby-lang.org/issues/17789
* Author: soudai_s (Soudai Sasada)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin20]
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
this method ignores the block passed to it, but this behavior looks different from the Enumerator (super class).
```
$ ruby -e '%w(a).lazy.with_index { |s, i| puts "#{s} => #{i}" }'
a => 0 # Expected, but doesn't actually print anything
```
After confirmation I found #16414 but this behavior was not fixed and the doc in the modified source code states: "If a block given, iterates the given block for each element".
Is this behavior intended?
--
https://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 4+ messages in thread
* [ruby-core:103338] [Ruby master Bug#17789] Incompatible behavior of Enumarator::Lazy#with_index
2021-04-09 8:46 [ruby-core:103336] [Ruby master Bug#17789] Incompatible behavior of Enumarator::Lazy#with_index soudai.sasada
@ 2021-04-09 9:02 ` zverok.offline
2021-04-09 11:03 ` [ruby-core:103343] " soudai.sasada
2021-04-09 14:33 ` [ruby-core:103348] " merch-redmine
2 siblings, 0 replies; 4+ messages in thread
From: zverok.offline @ 2021-04-09 9:02 UTC (permalink / raw)
To: ruby-core
Issue #17789 has been updated by zverok (Victor Shepelev).
It doesn't ignores the block. It is just lazy to perform it :)
```ruby
%w(a).lazy.with_index { |s, i| puts "#{s} => #{i}" }
# => #<Enumerator::Lazy: ...>
%w(a).lazy.with_index { |s, i| puts "#{s} => #{i}" }.force
# a => 0
```
----------------------------------------
Bug #17789: Incompatible behavior of Enumarator::Lazy#with_index
https://bugs.ruby-lang.org/issues/17789#change-91429
* Author: soudai_s (Soudai Sasada)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin20]
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
this method ignores the block passed to it, but this behavior looks different from the Enumerator (super class).
```
$ ruby -e '%w(a).lazy.with_index { |s, i| puts "#{s} => #{i}" }'
a => 0 # Expected, but doesn't actually print anything
```
After confirmation I found #16414 but this behavior was not fixed and the doc in the modified source code states: "If a block given, iterates the given block for each element".
Is this behavior intended?
--
https://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 4+ messages in thread
* [ruby-core:103343] [Ruby master Bug#17789] Incompatible behavior of Enumarator::Lazy#with_index
2021-04-09 8:46 [ruby-core:103336] [Ruby master Bug#17789] Incompatible behavior of Enumarator::Lazy#with_index soudai.sasada
2021-04-09 9:02 ` [ruby-core:103338] " zverok.offline
@ 2021-04-09 11:03 ` soudai.sasada
2021-04-09 14:33 ` [ruby-core:103348] " merch-redmine
2 siblings, 0 replies; 4+ messages in thread
From: soudai.sasada @ 2021-04-09 11:03 UTC (permalink / raw)
To: ruby-core
Issue #17789 has been updated by soudai_s (Soudai Sasada).
It means It's no longer compatible with 2.6 or under, isn't it?
Thank you for quick reply!
----------------------------------------
Bug #17789: Incompatible behavior of Enumarator::Lazy#with_index
https://bugs.ruby-lang.org/issues/17789#change-91434
* Author: soudai_s (Soudai Sasada)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin20]
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
this method ignores the block passed to it, but this behavior looks different from the Enumerator (super class).
```
$ ruby -e '%w(a).lazy.with_index { |s, i| puts "#{s} => #{i}" }'
a => 0 # Expected, but doesn't actually print anything
```
After confirmation I found #16414 but this behavior was not fixed and the doc in the modified source code states: "If a block given, iterates the given block for each element".
Is this behavior intended?
--
https://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 4+ messages in thread
* [ruby-core:103348] [Ruby master Bug#17789] Incompatible behavior of Enumarator::Lazy#with_index
2021-04-09 8:46 [ruby-core:103336] [Ruby master Bug#17789] Incompatible behavior of Enumarator::Lazy#with_index soudai.sasada
2021-04-09 9:02 ` [ruby-core:103338] " zverok.offline
2021-04-09 11:03 ` [ruby-core:103343] " soudai.sasada
@ 2021-04-09 14:33 ` merch-redmine
2 siblings, 0 replies; 4+ messages in thread
From: merch-redmine @ 2021-04-09 14:33 UTC (permalink / raw)
To: ruby-core
Issue #17789 has been updated by jeremyevans0 (Jeremy Evans).
Status changed from Open to Closed
This is expected. The behavior has changed. All bug fixes are incompatibilities.
----------------------------------------
Bug #17789: Incompatible behavior of Enumarator::Lazy#with_index
https://bugs.ruby-lang.org/issues/17789#change-91438
* Author: soudai_s (Soudai Sasada)
* Status: Closed
* Priority: Normal
* ruby -v: ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin20]
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
this method ignores the block passed to it, but this behavior looks different from the Enumerator (super class).
```
$ ruby -e '%w(a).lazy.with_index { |s, i| puts "#{s} => #{i}" }'
a => 0 # Expected, but doesn't actually print anything
```
After confirmation I found #16414 but this behavior was not fixed and the doc in the modified source code states: "If a block given, iterates the given block for each element".
Is this behavior intended?
--
https://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-04-09 14:33 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-09 8:46 [ruby-core:103336] [Ruby master Bug#17789] Incompatible behavior of Enumarator::Lazy#with_index soudai.sasada
2021-04-09 9:02 ` [ruby-core:103338] " zverok.offline
2021-04-09 11:03 ` [ruby-core:103343] " soudai.sasada
2021-04-09 14:33 ` [ruby-core:103348] " merch-redmine
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).