2016-07-05 20:36 GMT+02:00 Michael Steinberg <michsteinb@gmail.com>:
a) not documented

http://www.boost.org/doc/libs/1_61_0/libs/coroutine2/doc/html/coroutine2/coroutine/asymmetric.html
'Code executed by coroutine-function must not prevent the propagation of the detail::forced_unwind exception. Absorbing that exception will cause stack unwinding to fail. Thus, any code that catches all exceptions must re-throw any pending detail::forced_unwind exception.'

 
b) the exception is defined in the detail namespace. That means, one has to use a detail-member to rethrow the one exception that has to leave the coroutine client entry function.

do not absorb exception detail::forced_unwind, e.g. do not use 'catch(...)'