Bug #7969
Integer binary_op Float operations doesn't use coercion
Description
I'm trying to override #coerce method on Float. But I found that redefining Float#coerce makes no changes in behavior of code: 1 + 2.0
class Float
def coerce(other)
[2, 2]
end
end
puts 1+2.0 # ==> 3.0 while result should be 4.
Is it done due to perfomance considerations or it's just a bug? If it's intended is it a spec or realization specific feature?
History
#1
Updated by Nobuyoshi Nakada about 2 years ago
- Status changed from Open to Rejected
Intended behavior.
coerce method is called if the peer is unknown to the receiver.
Also available in: Atom PDF