Backport #1210

Array behavior for minus/uniq is not as expected for hash elements

Added by Chris Morris almost 3 years ago. Updated 10 months ago.

[ruby-core:22472]
Status:Assigned Start date:02/26/2009
Priority:Low Due date:
Assignee:Kirk Haines % Done:

0%

Category:core
Target version:Ruby 1.8.6

Description

Array#- does not remove an element of type hash (line 8):
irb(main):001:0> a = {}
=> {}
irb(main):002:0> b = {}
=> {}
irb(main):003:0> c = []
=> []
irb(main):004:0> a == b
=> true
irb(main):005:0> c << a
=> [{}]
irb(main):006:0> c.index(a)
=> 0
irb(main):007:0> c.index(b)
=> 0
irb(main):008:0> c - [b]
=> [{}]
irb(main):009:0> c - [a]
=> []

Array#uniq does not remove an element of type hash (line 7):
irb(main):001:0> a = {}
=> {}
irb(main):002:0> b = {}
=> {}
irb(main):003:0> c = []
=> []
irb(main):004:0> a == b
=> true
irb(main):005:0> c << a
=> [{}]
irb(main):006:0> c << b
=> [{}, {}]
irb(main):007:0> c.uniq
=> [{}, {}]

History

Updated by m . over 2 years ago

Looks like both of these issues were fixed a while ago in ruby_1_8 and in ruby_1_9. 

You might wanna close this ticket but Kirk Haines should be informed so he can backport it to 1.8.6 (in case it's not there yet).

Updated by Marc-Andre Lafortune over 2 years ago

Issues are still present in ruby 1.8.6 (2009-08-26 patchlevel 387) [i686-darwin10.0.0]

Updated by Marc-Andre Lafortune over 2 years ago

  • Status changed from Open to Assigned
  • Assignee set to Kirk Haines
  • Priority changed from Normal to Low

Also available in: Atom PDF