Hi,
I am currently working on coroutine, and how they works.
In the C++ ISO draft (N4860), on at 9.5.4-10, page 209, there is an generator example.
The line : "auto final_suspend() { return std::suspend_always{}; }" causes an issue to gcc 12.2, where it expects a noexcept qualifier for final_suspend.
At 9.5.4-15, it is said that "The expression co_await promise .final_suspend() shall not be potentially-throwing"
Here I am sure what mean exactly "shall", and if gcc is too conservative, or the example miss the noexcept qualifier.
Regards,
PS: Since I have only access to the draft, may be something has changed in the final document.