https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63698
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> --- This still leaks like a sieve without the second patch: #include <set> #include <random> int main() { std::mt19937 rng; std::uniform_int_distribution<int> d; std::uniform_int_distribution<int>::param_type p{0, 100}; std::uniform_int_distribution<int>::param_type x{0, 1000}; for (int i = 0; i < 10; ++i) { std::set<int> l, r; for (int n = d(rng, p); n > 0; --n) { int i = d(rng, x); l.insert(i); r.insert(i); l = r; } } }