Project

General

Profile

Bug #22452

Updated by byroot (Jean Boussier) about 4 hours ago

I noticed this while trying to cleanup and simplify `rb_equal`. 

 ```ruby 
 >> Float::NAN == Float::NAN 
 => false 
 >> [Float::NAN].index(Float::NAN) 
 => 0 
 ``` 

 I would expect it to return `nil`. 

 `Array#index` is just an example, any core method, and even C extension relying on `rb_equal` is similarly impacted. 

 This bug is present on all Ruby versions, except for versions between 2.1 and to 2.4.  

 The bug seem to have been re-introduced in 2.5 by [6e0e067de31511cebec01d176f628442371db879](https://github.com/ruby/ruby/commit/6e0e067de31511cebec01d176f628442371db879) 

 JRuby seem to have the same behavior, but TruffleRuby correctly returns`nil`. returns`nil` 

 The bug seem to have been re-introduced by 6e0e067de31511cebec01d176f628442371db879 

Back