1 // { dg-additional-options "-fsyntax-only -w" } 2 3 #include "coro.h" 4 5 // Diagnose completely missing promise. 6 7 struct NoPromiseHere { 8 coro::coroutine_handle<> handle; f()9 NoPromiseHere () : handle (nullptr) {} 10 NoPromiseHere (coro::coroutine_handle<> handle) : handle (handle) {} 11 }; 12 13 NoPromiseHere 14 bar () 15 { 16 co_yield 22; // { dg-error {unable to find the promise type for this coroutine} } 17 co_return 0; 18 } 19 20 // check we have not messed up continuation of the compilation. 21 template <class... Args> 22 struct void_t_imp { 23 using type = void; 24 }; 25