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

--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Interesting if I change the lambda into a normal function:
```
auto coro() ->LazyTask<int>
{
        co_await []() -> Task<int> {}();
}
```

GCC 15 rejects it and then ICEs:
```
<source>: In function 'QCoro::LazyTask<int> QCoro::coro()':
<source>:81:39: error: wrong number of template arguments (1, should be 2)
   81 |         co_await []() -> Task<int> {}();
      |                                       ^
<source>:6:46: note: provided for 'template<class _Result, class> struct
std::coroutine_traits'
    6 | template <typename _Result, typename> struct coroutine_traits : _Result
{};
      |                                              ^~~~~~~~~~~~~~~~
<source>:81:9: error: cannot instantiate 'coroutine traits'
   81 |         co_await []() -> Task<int> {}();
      |         ^~~~~~~~
```

Reply via email to