I think I found the problem. Very new compilers use the move insert() overload on unordered_map<> which deletes a variable I use later if that variable is not *exactly* the unordered_map's value_type. That is an incredibly stupid decision on the part of the C++ committee :(