1 #include "coro.h" 2 3 struct promise; 4 5 struct future 6 { 7 using promise_type = promise; 8 }; 9 10 struct promise 11 { 12 template<typename Class> promisepromise13 promise(Class &,int) { static_assert(!std::is_pointer<Class>::value, ""); } 14 initial_suspendpromise15 coro::suspend_never initial_suspend() { return {}; } final_suspendpromise16 coro::suspend_never final_suspend() noexcept { return {}; } 17 get_return_objectpromise18 future get_return_object() { return {}; } 19 return_valuepromise20 void return_value(int) {} unhandled_exceptionpromise21 void unhandled_exception() {} 22 }; 23 24 struct bar 25 { foobar26 future foo(int param) { co_return 0; } 27 };