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

--- Comment #4 from Nils Gladitz <nilsgladitz at gmail dot com> ---
Not sure if this is helpful at all but I think I ran into the same issue and
reduced it to the following which is slightly shorter but also keeps the
standard C++ includes intact (manually reintroduced them after reduction):

#include <coroutine>
#include <initializer_list>

struct a {
  a();
};

struct task {
  struct promise_type {
    std::suspend_always initial_suspend();
    std::suspend_always final_suspend() noexcept;
    void unhandled_exception();
    task get_return_object();
  };

  std::suspend_always c(a);

  a bar(std::initializer_list<a>);

 task e() {
    co_await c(bar({a{}}));
  }
};

Reply via email to