Closed madmann91 closed 7 years ago
I won't have time to debug today, but I guess the bug is sth like this:
hashmap[key] = do_sth_which_provokes_a_rehash(foo);
The fix would be:
auto x = do_sth_which_provokes_a_rehash(foo);
hashmap[key] = x;
Can you give me a back trace?
Fixed.
There seems to be some sort of bug in the hashing/partial evailuation:
This bug is triggered by the following piece of code, with -emit-llvm. Interestingly, if you replace
let iterate = |begin, end, body| { vectorize(4, begin, end, body); }
bylet iterate = range;
(in the functiontraverse_single
), then the code compiles perfectly. Moving the partial evaluation symbols also triggers another assertion.This is the culprit: