>
> Your code happened to work by chance.


Granted. As I've said elsewhere, this is just my example of a significant
change in 1.8.7. I accept that no iteration order was ever explicitly stated
for 1.8, and a change like this is something of a grey area in terms of
whether it would be considered a backward incompatibility.



> > To work with 1.8.7, you need to create an empty hash
> > and add keys one by one rather than putting them all in a hash literal
> (see
> > the patch).
>
> Do I understand that the code relies on insertion order now?
> Then it's still working by chance in case it works at all.



I may have misstated this: it does rely on insertion order, but I maintain
that explicitly in my code now -- I'm not relying on Ruby to do it for me.