https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109323

--- Comment #7 from Enrico Maria De Angelis <enricomaria.dean6elis at gmail dot 
com> ---
(In reply to Arsen Arsenović from comment #6)
> is it possible to implement any correct terminating coroutine within those
> restrictions?

Is it a requirement that a coroutine must be terminate-able? I mean, if a
coroutine has neither of those two functions, but it's never resumed after a
suspension via co_await, what's the problem?

Take for instance a generator coroutine,

std::generator<int> foo() {
    int i{};
    while (true) {
        co_yield i++;
    }
}

it will never terminate, so why should it have return_value or return_void?

Reply via email to