From: Nick Brown Date: 2009-07-28T03:50:19+09:00 Subject: bug in IPAddr eql? (stndard library) The .eql? method is supposed to return true if the objects are == and of the same class, correct? This is *not* the case with IPAddr objects. irb(main):001:0> require 'ipaddr' => true irb(main):002:0> a = IPAddr.new('1.1.1.1') => # irb(main):003:0> b = IPAddr.new('1.1.1.1') => # irb(main):004:0> a == b => true irb(main):005:0> a.eql? b => false irb(main):006:0> a == b and a.class == b.class => true Clearly, the value of "a.eql? b" should be true, not false. This bug breaks several things. In my case, it causes Sets of IPAddr objects to contain duplicates, angering the gods of mathematics. -- Posted via http://www.ruby-forum.com/.