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

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
I suspect if you fix the first error:
```
<source>: In function 'Generator<int> countdown(int)':
<source>:68:16: error: the coroutine promise type
'std::__n4861::__coroutine_traits_impl<Generator<int>, void>::promise_type'
{aka 'Generator<int>::promise_type'} declares both 'return_value' and
'return_void'
   68 | Generator<int> countdown(int start) {
      |                ^~~~~~~~~
<source>:30:14: note: 'return_void' declared here
   30 |         void return_void() {}
      |              ^~~~~~~~~~~
<source>:26:14: note: 'return_value' first declared here
   26 |         void return_value(U&& value) {
      |              ^~~~~~~~~~~~
```

The ICE will go away.

Reply via email to