1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

object.c: rb_eql returns int not VALUE

It works, but assumes `Qfalse == 0`, which is true today
but might not be forever.
This commit is contained in:
Jean Boussier 2022-10-07 14:44:13 +02:00 committed by Jean Boussier
parent f1c89c8147
commit 1a7e7bb2d1
Notes: git 2022-10-10 18:35:41 +09:00
2 changed files with 4 additions and 4 deletions

View file

@ -92,8 +92,8 @@ VALUE rb_class_new_instance_kw(int argc, const VALUE *argv, VALUE klass, int kw_
*
* @param[in] lhs Comparison left hand side.
* @param[in] rhs Comparison right hand side.
* @retval RUBY_Qtrue They are equal.
* @retval RUBY_Qfalse Otherwise.
* @retval non-zero They are equal.
* @retval 0 Otherwise.
* @note This function actually calls `lhs.eql?(rhs)` so you cannot
* implement your class' `#eql?` method using it.
*/

View file

@ -134,12 +134,12 @@ rb_eql(VALUE obj1, VALUE obj2)
{
VALUE result;
if (obj1 == obj2) return Qtrue;
if (obj1 == obj2) return TRUE;
result = rb_eql_opt(obj1, obj2);
if (result == Qundef) {
result = rb_funcall(obj1, id_eql, 1, obj2);
}
return RBOOL(RTEST(result));
return RTEST(result);
}
/**