tsl::sparse_map<int, std::string> m;
for (auto &it : m) {
std::string &value = it.second;
}
This fails with tsl but works with std::unordered_map.
This is documented in README.md but there doesn't seem to be anything making this impossible in principle.