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 };