
Issue #21449 has been updated by tompng (tomoya ishida). pull request https://github.com/ruby/ruby/pull/13680 ---------------------------------------- Bug #21449: Set#divide is order dependent and not working correctly https://bugs.ruby-lang.org/issues/21449#change-113814 * 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 == 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. ~~~ruby Set.new(1000.times.to_a.shuffle).divide{(_1 - _2).abs == 1}.size #=> 1 (ruby 3.4) #=> 250±20 (ruby 3.5.0dev) ~~~ -- https://bugs.ruby-lang.org/