This is the follow-up to #568, which should be merged first. (That's why this is marked as a draft.)
Essentially, this pulls the bulk of the probing logic out of RawTable and into iterators which can more easily be reasoned with in isolation. The code isn't identical to that in RawTable, but it seems to pass all the tests, so, I'm assuming that it all works correctly.
This is the follow-up to #568, which should be merged first. (That's why this is marked as a draft.)
Essentially, this pulls the bulk of the probing logic out of
RawTable
and into iterators which can more easily be reasoned with in isolation. The code isn't identical to that inRawTable
, but it seems to pass all the tests, so, I'm assuming that it all works correctly.