Integer binary_op Float operations doesn't use coercion
|ruby -v:||1.9.3; 2.0.0||Backport:|
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
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?