I've now come up with a test case, and it shows the bug is actually worse than I'd originally thought, and it can definitely happen for wrapped-around keys. I've also included the version of dict.jl from my spj/maxprobe, which both fixes the bug, and improves performance, by keeping track of the maximum probe actually needed, which is usually much less than the current maxprobe calculated from the size of the hash table.
The TestHash code will need a small change to convert to using @test, currently it prints out all cases where keys are missed, instead of stopping on the first bad case found. -Scott
TestHash.jl
Description: Binary data
dict.jl
Description: Binary data