1 #ifndef __MissingUEH_H 2 #define __MissingUEH_H 3 4 /* Common code for testing missing unhandled_exception. */ 5 struct MissingUEH { 6 coro::coroutine_handle<> handle; MissingUEHMissingUEH7 MissingUEH () : handle (nullptr) {} MissingUEHMissingUEH8 MissingUEH (coro::coroutine_handle<> handle) : handle (handle) {} 9 struct missing_ueh { initial_suspendMissingUEH::missing_ueh10 coro::suspend_never initial_suspend() { return {}; } final_suspendMissingUEH::missing_ueh11 coro::suspend_never final_suspend() noexcept { return {}; } get_return_objectMissingUEH::missing_ueh12 MissingUEH get_return_object() { 13 return MissingUEH (coro::coroutine_handle<missing_ueh>::from_promise (*this)); 14 } return_voidMissingUEH::missing_ueh15 void return_void () {} 16 }; 17 }; 18 19 template<> struct coro::coroutine_traits<MissingUEH> { 20 using promise_type = MissingUEH::missing_ueh; 21 }; 22 23 #endif 24