From: lith Date: 2009-07-23T02:24:59+09:00 Subject: Re: Incorrect -0.0.hash - Ruby bug. > Actually Float overrides both #eql? and #hash so the contract is not > applicable inside that class. Is that the best option in the world?? - > probably not - but that would make it a non bug in theory. I'd assume it overrides both methods in order to fulfill the contract not to break it. Contract are there so that people can rely on it. Breaking it is an error.