https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100476
--- Comment #1 from Iain Sandoe <iains at gcc dot gnu.org> --- I am by no means an expert at reading standardese - and it might be that I'm not alone, (library writers might have made the same assumption) but it seems to me that: http://eel.is/c++draft/dcl.fct.def.coroutine#7 Doe not make any specification about what get_return_object() returns, only that it is possible to use it either (a) to initialise the return value directly or (b) to construct a return value object from it.