Issue #7739 has been updated by drbrain (Eric Hodel). Status changed from Open to Assigned Assignee set to matz (Yukihiro Matsumoto) Target version set to next minor We don't have any operations that use mathematical or logical operators for Hash. It seems confusing to introduce an operator (|) when a name (reverse_merge) exists. Hash and Set are different data structures and serve different purposes. The design of Hash should not be based on the design of Set. ---------------------------------------- Feature #7739: Define Hash#| as Hash#reverse_merge in Rails https://bugs.ruby-lang.org/issues/7739#change-35585 Author: alexeymuranov (Alexey Muranov) Status: Assigned Priority: Normal Assignee: matz (Yukihiro Matsumoto) Category: core Target version: next minor =begin I suggest for to define (({Hash#|})) as (({Hash#reverse_merge})) in ((*Rails*)), in my opinion this would correspond nicely to (({Set#|})), to the logical (({#||})) and to the bitwise (({#|})): { :a => 1, :b => 2 } | { :b => 1, :c => 2 } # => { :a => 1, :b => 1, :c => 2 } =end -- http://bugs.ruby-lang.org/