SymbolUserMap relied on try_emplace and std::move to relocate an entry to another key. However, if this triggered the resizing of the DenseMap, the value was destroyed before it could be moved to the new storage location, leading to a dangling users reference to be inserted into the map. On destruction, since a new entry was created from one that was already freed, a double-free error occurred.
Fixed issue by re-fetching the iterator after the mutation of the container.