9ec12774fd9d18cc9fdde3537def12b52c9b1ae0
When the compiler inserts a constant, it will first check to see if that constant already has been created, so we aren't making millions of the same constant value - e.g. we can reuse the same integer. However, the .equals() function on all Object values was returning a false positive against Ints and Floats that have the same numeric value, i.e. Float(1.0) == Int(1). If, for example, a float 1.0 was inserted as a constant, and then an integer 1 was used as a constant later, it was erroneously retrieving the float 1.0 as an interned pointer value. This is fixed by checking if the two values' types are equal as well. Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
Description
No description provided
Languages
Rust
95.5%
Python
4.2%
Shell
0.3%