From a3744458d3f09a075a263a134bff6790523460c6 Mon Sep 17 00:00:00 2001 From: mrhoribu <15917743+mrhoribu@users.noreply.github.com> Date: Sat, 24 Oct 2026 11:26:02 -0400 Subject: [PATCH] Set compare_by_identity changes were backported to 4.0 The fix for [Bug #22174] was backported to Ruby 4.0.8. See https://bugs.ruby-lang.org/issues/22174 Co-Authored-By: Claude Opus 5.5 --- core/set/classify_spec.rb | 2 +- core/set/divide_spec.rb | 2 +- core/set/flatten_spec.rb | 4 ++-- core/set/intersection_spec.rb | 2 +- core/set/map_spec.rb | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/core/set/classify_spec.rb b/core/set/classify_spec.rb index a9521d3b5..a2d27cf3d 100644 --- a/core/set/classify_spec.rb +++ b/core/set/classify_spec.rb @@ -24,7 +24,7 @@ classified.should == { 3 => Set["one", "two"], 4 => Set["four"], 5 => Set["three"] } end - ruby_version_is "4.1" do + ruby_version_is "4.0" do it "retains compare_by_identity flag" do set = Set["one", "two"].compare_by_identity classified = set.classify { |x| x.length } diff --git a/core/set/divide_spec.rb b/core/set/divide_spec.rb index 96880db9b..5527ced8d 100644 --- a/core/set/divide_spec.rb +++ b/core/set/divide_spec.rb @@ -18,7 +18,7 @@ ret.each(&:even?).should == Set[Set[1, 3], Set[2, 4]] end - ruby_version_is "4.1" do + ruby_version_is "4.0" do it "retains compare_by_identity flag" do set = Set["one", "two"].compare_by_identity res = set.divide { |x| x.length } diff --git a/core/set/flatten_spec.rb b/core/set/flatten_spec.rb index 9fc05ea37..21a89fbd2 100644 --- a/core/set/flatten_spec.rb +++ b/core/set/flatten_spec.rb @@ -16,7 +16,7 @@ -> { set.flatten }.should.raise(ArgumentError) end - ruby_version_is "4.1" do + ruby_version_is "4.0" do it "retains compare_by_identity flag" do set = Set[1, 2, Set[3, 4]].compare_by_identity set.flatten.compare_by_identity?.should == true @@ -59,7 +59,7 @@ -> { set.flatten! }.should.raise(ArgumentError) end - ruby_version_is "4.1" do + ruby_version_is "4.0" do it "retains compare_by_identity flag when flattening elements" do set = Set[1, 2, Set[3, 4]].compare_by_identity set.flatten! diff --git a/core/set/intersection_spec.rb b/core/set/intersection_spec.rb index 2e1388e0c..61ba61455 100644 --- a/core/set/intersection_spec.rb +++ b/core/set/intersection_spec.rb @@ -21,7 +21,7 @@ -> { @set & Object.new }.should.raise(ArgumentError) end - ruby_version_is "4.1" do + ruby_version_is "4.0" do it "retains compare_by_identity flag" do @set.compare_by_identity (@set & Set[:b, :c, :d, :e]).compare_by_identity?.should == true diff --git a/core/set/map_spec.rb b/core/set/map_spec.rb index 7121afc45..c626912a2 100644 --- a/core/set/map_spec.rb +++ b/core/set/map_spec.rb @@ -20,7 +20,7 @@ @set.should == Set[2, 4, 6, 8, 10] end - ruby_version_is "4.1" do + ruby_version_is "4.0" do it "retains compare_by_identity flag" do @set.compare_by_identity @set.map! { |x| x * 2 }