https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107466
--- Comment #3 from Mara Sophie Grosch ---
Standard explicitly allows using unsigned short though:
https://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107466
--- Comment #2 from Jonathan Wakely ---
I don't think this is a compiler bug. Converting that value to uint16_t is
narrowing.
The problem is that the standard requires subtract_with_carry_engine to use
linear_congruential_engine where each of t
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107466
--- Comment #1 from Andrew Pinski ---
Shorter testcase (still includes):
#include
void f() {
std::subtract_with_carry_engine();
}