From: keithyjohnson@... Date: 2020-03-11T20:10:41+00:00 Subject: [ruby-core:97453] [Ruby master Bug#16690] [BUG] Set of sets: containing set no longer believes member set is a member after mutating its member set Issue #16690 has been reported by keithyjohnson (Keith Johnson). ---------------------------------------- Bug #16690: [BUG] Set of sets: containing set no longer believes member set is a member after mutating its member set https://bugs.ruby-lang.org/issues/16690 * Author: keithyjohnson (Keith Johnson) * Status: Open * Priority: Normal * ruby -v: 2.3.0 * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- Please correct me if I'm wrong but I expected that when mutating a member set of a containing set, that that mutated member set, would still be considered a member of the containing set. But after merging another set into the member set, the containing set no longer believes it to be a member. I was surprised by this, but if that is expected behavior, please let me know! Also, please let me know if you have any more questions. ``` ruby [1] pry(#)> clusters.class => Set [2] pry(#)> smaller_cluster.class => Set [3] pry(#)> larger_cluster.class => Set [4] pry(#)> x = larger_cluster.object_id => 70237123254460 [5] pry(#)> clusters.member?(larger_cluster) => true [6] pry(#)> larger_cluster.merge(smaller_cluster) => # [7] pry(#)> larger_cluster.object_id == x => true [8] pry(#)> clusters.member?(larger_cluster) => false [9] pry(#)> clusters.map(&:object_id).include?(larger_cluster.object_id) => true [10] pry(#)> RUBY_VERSION => "2.3.0" ``` -- https://bugs.ruby-lang.org/ Unsubscribe: