https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118491
--- Comment #2 from Miro Palmu <email at miropalmu dot cc> --- >Yes that is because GCC 15 implemented the C++23 for range loop changes for >>temporaries and in turn broke coroutines on accident. If you notice it does >not > ICE with -std=c++20 :). Yep. Makes sense. That is one think I did not realize to try, as I first got it when using std::generator from C++23.