* [ruby-core:120138] [Ruby master Bug#20936] Enumerator#size returned by Range#reverse_each raises an exception
@ 2024-12-09 15:01 andrykonchin (Andrew Konchin) via ruby-core
2024-12-10 3:13 ` [ruby-core:120145] [Ruby master Bug#20936] Enumerator's #size returned by Range#reverse_each raises an exception for beginningless Range kyanagi (Kouhei Yanagita) via ruby-core
2024-12-10 12:34 ` [ruby-core:120154] " andrykonchin (Andrew Konchin) via ruby-core
0 siblings, 2 replies; 3+ messages in thread
From: andrykonchin (Andrew Konchin) via ruby-core @ 2024-12-09 15:01 UTC (permalink / raw)
To: ruby-core; +Cc: andrykonchin (Andrew Konchin)
Issue #20936 has been reported by andrykonchin (Andrew Konchin).
----------------------------------------
Bug #20936: Enumerator#size returned by Range#reverse_each raises an exception
https://bugs.ruby-lang.org/issues/20936
* Author: andrykonchin (Andrew Konchin)
* Status: Open
* ruby -v: 3.4.0dev
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
`(..3).reverse_each.size` is supposed to return `Infinity` (at least it does so in Ruby 3.3). But in Ruby 3.4 preview it raises `can't iterate from NilClass (TypeError)` what seems a regression.
Ruby 3.3.5:
```
$ ruby -v -e 'p (..3).reverse_each.size'
ruby 3.3.5 (2024-09-03 revision ef084cc8f4) [x86_64-darwin23]
Infinity
$ ruby -v -e 'p (1..).reverse_each.size'
ruby 3.3.5 (2024-09-03 revision ef084cc8f4) [x86_64-darwin23]
Infinity
```
3.4.0dev:
```
$ ruby -v -e 'p (1..).reverse_each.size'
ruby 3.4.0dev (2024-12-09T08:00:19Z master 652b0c13a7) +PRISM [x86_64-darwin23]
Infinity
$ ruby -v -e 'p (..3).reverse_each.size'
ruby 3.4.0dev (2024-12-09T08:00:19Z master 652b0c13a7) +PRISM [x86_64-darwin23]
-e:1:in 'Enumerator#size': can't iterate from NilClass (TypeError)
from -e:1:in '<main>'
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
* [ruby-core:120145] [Ruby master Bug#20936] Enumerator's #size returned by Range#reverse_each raises an exception for beginningless Range
2024-12-09 15:01 [ruby-core:120138] [Ruby master Bug#20936] Enumerator#size returned by Range#reverse_each raises an exception andrykonchin (Andrew Konchin) via ruby-core
@ 2024-12-10 3:13 ` kyanagi (Kouhei Yanagita) via ruby-core
2024-12-10 12:34 ` [ruby-core:120154] " andrykonchin (Andrew Konchin) via ruby-core
1 sibling, 0 replies; 3+ messages in thread
From: kyanagi (Kouhei Yanagita) via ruby-core @ 2024-12-10 3:13 UTC (permalink / raw)
To: ruby-core; +Cc: kyanagi (Kouhei Yanagita)
Issue #20936 has been updated by kyanagi (Kouhei Yanagita).
I made a pull request: https://github.com/ruby/ruby/pull/12301
Does this fix work?
----------------------------------------
Bug #20936: Enumerator's #size returned by Range#reverse_each raises an exception for beginningless Range
https://bugs.ruby-lang.org/issues/20936#change-110899
* Author: andrykonchin (Andrew Konchin)
* Status: Open
* ruby -v: 3.4.0dev
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
`(..3).reverse_each.size` is supposed to return `Infinity` (at least it does so in Ruby 3.3). But in Ruby 3.4 preview it raises `can't iterate from NilClass (TypeError)` what seems a regression.
Ruby 3.3.5:
```
$ ruby -v -e 'p (..3).reverse_each.size'
ruby 3.3.5 (2024-09-03 revision ef084cc8f4) [x86_64-darwin23]
Infinity
$ ruby -v -e 'p (1..).reverse_each.size'
ruby 3.3.5 (2024-09-03 revision ef084cc8f4) [x86_64-darwin23]
Infinity
```
3.4.0dev:
```
$ ruby -v -e 'p (1..).reverse_each.size'
ruby 3.4.0dev (2024-12-09T08:00:19Z master 652b0c13a7) +PRISM [x86_64-darwin23]
Infinity
$ ruby -v -e 'p (..3).reverse_each.size'
ruby 3.4.0dev (2024-12-09T08:00:19Z master 652b0c13a7) +PRISM [x86_64-darwin23]
-e:1:in 'Enumerator#size': can't iterate from NilClass (TypeError)
from -e:1:in '<main>'
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
* [ruby-core:120154] [Ruby master Bug#20936] Enumerator's #size returned by Range#reverse_each raises an exception for beginningless Range
2024-12-09 15:01 [ruby-core:120138] [Ruby master Bug#20936] Enumerator#size returned by Range#reverse_each raises an exception andrykonchin (Andrew Konchin) via ruby-core
2024-12-10 3:13 ` [ruby-core:120145] [Ruby master Bug#20936] Enumerator's #size returned by Range#reverse_each raises an exception for beginningless Range kyanagi (Kouhei Yanagita) via ruby-core
@ 2024-12-10 12:34 ` andrykonchin (Andrew Konchin) via ruby-core
1 sibling, 0 replies; 3+ messages in thread
From: andrykonchin (Andrew Konchin) via ruby-core @ 2024-12-10 12:34 UTC (permalink / raw)
To: ruby-core; +Cc: andrykonchin (Andrew Konchin)
Issue #20936 has been updated by andrykonchin (Andrew Konchin).
It works. Thank you!
----------------------------------------
Bug #20936: Enumerator's #size returned by Range#reverse_each raises an exception for beginningless Range
https://bugs.ruby-lang.org/issues/20936#change-110906
* Author: andrykonchin (Andrew Konchin)
* Status: Open
* ruby -v: 3.4.0dev
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
`(..3).reverse_each.size` is supposed to return `Infinity` (at least it does so in Ruby 3.3). But in Ruby 3.4 preview it raises `can't iterate from NilClass (TypeError)` what seems a regression.
Ruby 3.3.5:
```
$ ruby -v -e 'p (..3).reverse_each.size'
ruby 3.3.5 (2024-09-03 revision ef084cc8f4) [x86_64-darwin23]
Infinity
$ ruby -v -e 'p (1..).reverse_each.size'
ruby 3.3.5 (2024-09-03 revision ef084cc8f4) [x86_64-darwin23]
Infinity
```
3.4.0dev:
```
$ ruby -v -e 'p (1..).reverse_each.size'
ruby 3.4.0dev (2024-12-09T08:00:19Z master 652b0c13a7) +PRISM [x86_64-darwin23]
Infinity
$ ruby -v -e 'p (..3).reverse_each.size'
ruby 3.4.0dev (2024-12-09T08:00:19Z master 652b0c13a7) +PRISM [x86_64-darwin23]
-e:1:in 'Enumerator#size': can't iterate from NilClass (TypeError)
from -e:1:in '<main>'
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-12-10 12:34 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-09 15:01 [ruby-core:120138] [Ruby master Bug#20936] Enumerator#size returned by Range#reverse_each raises an exception andrykonchin (Andrew Konchin) via ruby-core
2024-12-10 3:13 ` [ruby-core:120145] [Ruby master Bug#20936] Enumerator's #size returned by Range#reverse_each raises an exception for beginningless Range kyanagi (Kouhei Yanagita) via ruby-core
2024-12-10 12:34 ` [ruby-core:120154] " andrykonchin (Andrew Konchin) via ruby-core
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 NNTP newsgroup(s).