Actions
Bug #21449
closedSet#divide is order dependent and not working correctly
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 3.5.0dev (2025-06-23T11:03:48Z master af6b98f7a2) +YJIT +MN +PRISM [arm64-darwin22]
Description
Set[0,1,2,3].divide{(_1 - _2).abs == 1}
#=> #<Set: {#<Set: {0, 1, 2, 3}>}>
Set[0,2,3,1].divide{(_1 - _2).abs == 1}
#=> #<Set: {#<Set: {0, 1, 2, 3}>}> (ruby 3.4)
#=> #<Set: {#<Set: {0, 1}>, #<Set: {2, 3, 1}>}> (ruby 3.5.0dev)
Result of Set#divide
wrongly depends on set order.
Set.new(1000.times.to_a.shuffle).divide{(_1 - _2).abs == 1}.size
#=> 1 (ruby 3.4)
#=> 250±20 (ruby 3.5.0dev)
Actions
Like1
Like0Like0