I am sensing resistance. I now doubt that this will get fixed, and it will likely be a waste of my time to comment further.
I can find plenty of examples on the web of Fixnum operator overloading in Ruby.
My particular use case and application is somewhat obscure – so I expect it would not be productive to discuss it in this context.
IMHO, it is not my responsibility to justify a request for a bug fix to functionality that has clearly worked in previous versions of JRuby, and current versions of Matz's Ruby.
In the very least, the optimization changes should fail fast. When the Fixnum class is reopened and its operator methods redefined, an exception should be raised at that point.
Currently when JRuby Fixnum methods are overloaded there are no errors, as expected. During runtime, however, JRuby inexplicably and mutely fails to invoke the new operator method definitions.
Overloading operators in every other class in JRuby seems to work as expected. So it should be made clear that Fixnum is a special case.
Do you have plans to eliminate the ability to overload unary operators as well? Because currently Fixnum#-@ is still overload-able as of JRuby 1.6.0. Is that because it is inherited from Numeric? Do you plan to optimize the operator overloading out of Numeric as well?
Finally, to which impls, specifically, are you referring? Can you please provide a citation for your claim that Ruby implementations are trending towards eliminating the ability to overload operators on one particular class in the language – Fixnum.
Currently, both the latest versions of Matz's Ruby (1.8.7 and 1.9.2) fully support the overloading of operators on the Fixnum class.
I feel compelled to express my dismay to learn that code execution speed is more important than compatibility with the reference Ruby implementation.
My perception of JRuby as a faithful implementation of the Ruby language has been compromised.