[ruby-core:122580] [Ruby Bug#21449] Set#divide is order dependent and not working correctly
From:
"tompng (tomoya ishida) via ruby-core" <ruby-core@...>
Date:
2025-06-23 13:15:05 UTC
List:
ruby-core #122580
Issue #21449 has been reported by tompng (tomoya ishida).
----------------------------------------
Bug #21449: Set#divide is order dependent and not working correctly
https://bugs.ruby-lang.org/issues/21449
* Author: tompng (tomoya ishida)
* Status: Open
* ruby -v: ruby 3.5.0dev (2025-06-23T11:03:48Z master af6b98f7a2) +YJIT +MN=
+PRISM [arm64-darwin22]
* Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
~~~ruby
Set[0,1,2,3].divide{(_1 - _2).abs =3D=3D 1}
#=3D> #<Set: {#<Set: {0, 1, 2, 3}>}>
Set[0,2,3,1].divide{(_1 - _2).abs =3D=3D 1}
#=3D> #<Set: {#<Set: {0, 1, 2, 3}>}> (ruby 3.4)
#=3D> #<Set: {#<Set: {0, 1}>, #<Set: {2, 3, 1}>}> (ruby 3.5.0dev)
~~~
Result of `Set#divide` wrongly depends on set order.
~~~ruby
Set.new(1000.times.to_a.shuffle).divide{(_1 - _2).abs =3D=3D 1}.size
#=3D> 1 (ruby 3.4)
#=3D> 250=B120 (ruby 3.5.0dev)
~~~
--=20
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.rub=
y-lang.org/