hash function should use #eql? internally

This commit is contained in:
Yukihiro Matsumoto
2012-06-01 01:30:44 +09:00
parent 6a2cf46ff9
commit 6caeb8f8fb
2 changed files with 4 additions and 4 deletions
+1 -1
View File
@@ -32,7 +32,7 @@ mrb_hash_ht_hash_func(mrb_state *mrb, mrb_value key)
static inline khint_t
mrb_hash_ht_hash_equal(mrb_state *mrb, mrb_value a, mrb_value b)
{
return mrb_equal(mrb, a, b);
return mrb_eql(mrb, a, b);
}
KHASH_INIT(ht, mrb_value, mrb_value, 1, mrb_hash_ht_hash_func, mrb_hash_ht_hash_equal);
+3 -3
View File
@@ -619,12 +619,12 @@ mrb_Float(mrb_state *mrb, mrb_value val)
mrb_value
mrb_inspect(mrb_state *mrb, mrb_value obj)
{
return mrb_obj_as_string(mrb, mrb_funcall(mrb, obj, "inspect", 0, 0));
return mrb_obj_as_string(mrb, mrb_funcall(mrb, obj, "inspect", 0, 0));
}
int
mrb_eql(mrb_state *mrb, mrb_value obj1, mrb_value obj2)
{
return RTEST(mrb_funcall(mrb, obj1, "eql?", 1, obj2));
if (mrb_obj_eq(mrb, obj1, obj2)) return TRUE;
return RTEST(mrb_funcall(mrb, obj1, "eql?", 1, obj2));
}