https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94087
--- Comment #19 from Jonathan Wakely <redi at gcc dot gnu.org> --- If you mean the mersenne twister in the std::random_device object, that's a union member and doesn't exist when a proper source (/dev/random, rdrand, rdseed etc) is available. So we'd need to add *another* mersenne twister object (which would double the size of std::random_device, changing ABI, or have to be global and protected by a mutex, or thread-local) and we'd have to seed it so it's not 100% deterministic, and MT has a state size of 19968 bits which needs a lot of seeding. It's not a good choice for many reasons.