https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113457
Arsen Arsenović <arsen at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Trying to emulate |Nesting coroutine |views::concat with |definitions (e.g. via a |std::generator gives ICE on |lambda or a template |co_yield: "internal |expansion) can ICE the |compiler error: in |compiler |canonicalize_component_ref, | |at gimplify.cc" | Assignee|unassigned at gcc dot gnu.org |arsen at gcc dot gnu.org Status|NEW |ASSIGNED --- Comment #8 from Arsen Arsenović <arsen at gcc dot gnu.org> --- reduced more: #include <coroutine> struct coro { struct promise_type { std::suspend_never initial_suspend (); std::suspend_never final_suspend () noexcept; void return_void (); void unhandled_exception (); coro get_return_object (); }; }; struct not_quite_suspend_never : std::suspend_never {}; coro foo () { co_await std::suspend_never{}, [] () -> coro { co_return; }, co_await not_quite_suspend_never{}; }