From: Marc-Andre Lafortune Date: 2009-10-27T01:23:05+09:00 Subject: [ruby-core:26325] [Feature #1697] Object#<=> Issue #1697 has been updated by Marc-Andre Lafortune. Given your comment, and Eero rightly pointing out that it's better to use eql? than == for this case, diff --git a/object.c b/object.c index 9f7537f..8f20621 100644 --- a/object.c +++ b/object.c @@ -1123,7 +1123,7 @@ rb_obj_not_match(VALUE obj1, VALUE obj2) static VALUE rb_obj_cmp(VALUE obj1, VALUE obj2) { - if (obj1 == obj2 || rb_obj_equal(obj1, obj2)) + if (obj1 == obj2 || rb_eql(obj1, obj2)) return INT2FIX(0); return Qnil; } Note: I'm not saying that obj1 == obj2 is redundant. I'm saying rb_obj_equal is. ---------------------------------------- http://redmine.ruby-lang.org/issues/show/1697 ---------------------------------------- http://redmine.ruby-lang.org