Fantastic write up of a complex bug, really nice to see the amount of work that went into making the interplay of the various innocent components result in unexpected behavior.
Agreed. I really enjoy reading a good bug story. Every project should document their best bugs this way, as a new kind of folk lore.
How would the insertion order be preserved without too much performance or memory impact?
This is obsolete. Rust doesn't use this hashmap implementation any more.