[ruby-core:121140] [Ruby master Bug#21152] Enumerator's #size returned by Range#reverse_each raises an exception for endless Range
From:
"andrykonchin (Andrew Konchin) via ruby-core" <ruby-core@...>
Date:
2025-02-22 23:47:50 UTC
List:
ruby-core #121140
Issue #21152 has been reported by andrykonchin (Andrew Konchin).
----------------------------------------
Bug #21152: Enumerator's #size returned by Range#reverse_each raises an exception for endless Range
https://bugs.ruby-lang.org/issues/21152
* Author: andrykonchin (Andrew Konchin)
* Status: Open
* ruby -v: 3.4.2
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
I've noticed a change between 3.3 and 3.4 in a way how `Range#reverse_each` behaves:
Ruby 3.3:
```ruby
Range.new("a", nil).size # => nil
Range.new(1, nil).size # => Infinity
Range.new("a", nil).reverse_each.size # => nil
Range.new(1, nil).reverse_each.size # => Infinity
```
Ruby 3.4
```ruby
Range.new("a", nil).size # => nil
Range.new(1, nil).size # => Infinity
Range.new("a", nil).reverse_each.size # can't iterate from NilClass (TypeError)
Range.new(1, nil).reverse_each.size # can't iterate from NilClass (TypeError)
```
--
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/