From: "andrykonchin (Andrew Konchin) via ruby-core" Date: 2025-10-28T21:36:27+00:00 Subject: [ruby-core:123575] [Ruby Feature#21653] Unify Hash methods and preserving default/default_proc Issue #21653 has been reported by andrykonchin (Andrew Konchin). ---------------------------------------- Feature #21653: Unify Hash methods and preserving default/default_proc https://bugs.ruby-lang.org/issues/21653 * Author: andrykonchin (Andrew Konchin) * Status: Open ---------------------------------------- All the Hash methods that return a new instance of Hash don't preserve the `default` and `default_proc` properties except `#compact` and `#merge`: ```ruby h = {a: 1} h.default = 0 h.compact[:f] == 0 # => true h.merge(b: 2)[:f] == 0 # => true ``` Propose to unify Hash methods select/slice/reject/except/compact/merge/transform_values/transform_keys/invert/to_h/Hash[] and to preserve or not preserve default/default_proc altogether. -- 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.ruby-lang.org/