https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120453
Iain Sandoe <iains at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- URL| |https://gcc.gnu.org/piperma | |il/gcc-patches/2025-May/685 | |037.html --- Comment #14 from Iain Sandoe <iains at gcc dot gnu.org> --- patch posted. Note that there is some implementation divergence in the handling of the reduced test-case here. https://godbolt.org/z/3zrexzEas ( -DHAS_MOVE_CTOR to add that back ) * clang-20 accepts the coroutine code. * If we add the non-coroutine simulation of the ramp, then clang-20 also complains - but with a different diagnostic: "<source>:97:10: error: call to implicitly-deleted copy constructor of 'LazyTask<int>' 97 | return Gro; | ^~~ <source>:84:41: note: copy constructor of 'LazyTask<int>' is implicitly deleted because base class 'detail::TaskBase<int, LazyTask, int>' has a deleted copy constructor 84 | template <typename T> struct LazyTask : detail::TaskBase<int, LazyTask, int> { | ^ <source>:51:8: note: copy constructor is implicitly deleted because 'TaskBase<int, QCoro::LazyTask, int>' has a user-declared move assignment operator 51 | void operator=(TaskBase &&); " (rather than complaining about a default that would be ill-formed.)