in csrc/suffix_decoding/int32_map.h [348:362]
static void place_new_(Slot* arr, uint32_t cap, int32_t key, U&& val) {
uint32_t idx = mix_hash_(key) & (cap - 1);
uint32_t step = 0;
for (uint32_t probes = 0; probes < cap; ++probes) {
int32_t k = arr[idx].key;
if (k == KEY_EMPTY || k == KEY_TOMBSTONE) {
arr[idx].key = key;
::new (static_cast<void*>(&arr[idx].storage)) T(std::forward<U>(val));
return;
}
++step;
idx = (idx + step) & (cap - 1);
}
assert(false && "rehash placement failed");
}