https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115851
--- Comment #1 from Dan Klishch <daklishch at gmail dot com> --- GCC seems to do checks for coroutine-related types more eagerly now, so the original minified reproducer is rejected. Nonetheless, the underlying issue persists, which can be shown using this snippet: ``` #include <coroutine> struct SuspendNever { bool await_ready(); void await_suspend(std::coroutine_handle<>); void await_resume(); }; struct Coroutine; struct PromiseType { Coroutine get_return_object(); SuspendNever initial_suspend(); SuspendNever final_suspend(); }; struct Coroutine { using promise_type = PromiseType; }; struct ErrorOr { int release_error(); }; void warnln(int const&); Coroutine __async_test_input_basic() { ({ co_await SuspendNever{}; ErrorOr _temporary_result2; warnln(_temporary_result2.release_error()); }); } ``` CE link: https://godbolt.org/z/aG588Whv6