diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2 index ccd4e08..e35b81a 100644 --- a/doc/Jamfile.v2 +++ b/doc/Jamfile.v2 @@ -31,3 +31,6 @@ boostbook coro # Absolute path for images: pdf:img.src.path=$(here)/html/ ; + +alias boostdoc : coro + : : : coro ; diff --git a/include/boost/coroutine2/detail/pull_control_block_ecv2.ipp b/include/boost/coroutine2/detail/pull_control_block_ecv2.ipp index b5e0397..766a3f5 100644 --- a/include/boost/coroutine2/detail/pull_control_block_ecv2.ipp +++ b/include/boost/coroutine2/detail/pull_control_block_ecv2.ipp @@ -109,9 +109,7 @@ pull_coroutine< T >::control_block::control_block( context::preallocated palloc, bvalid{ false }, storage{} { // enter coroutine-fn in order to have first value available after ctor (of `*this`) returns - auto result = ctx( nullptr); - ctx = std::move( std::get< 0 >( result) ); - set( std::get< 1 >( result) ); + resume(); } template< typename T > @@ -260,9 +258,7 @@ pull_coroutine< T & >::control_block::control_block( context::preallocated pallo except{}, t{ nullptr } { // enter coroutine-fn in order to have first value available after ctor (of `*this`) returns - auto result = ctx( nullptr); - ctx = std::move( std::get< 0 >( result) ); - t = std::get< 1 >( result); + resume(); } template< typename T > @@ -382,7 +378,7 @@ pull_coroutine< void >::control_block::control_block( context::preallocated pall state{ state_t::unwind }, except{} { // enter coroutine-fn in order to have first value available after ctor (of `*this`) returns - ctx = ctx(); + resume(); } inline diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 3bfc713..0692048 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -26,7 +26,8 @@ project boost/coroutine2/test multi ; -run test_coroutine.cpp : +test-suite minimal : +[ run test_coroutine.cpp : : : [ requires cxx11_auto_declarations cxx11_constexpr @@ -38,4 +39,12 @@ run test_coroutine.cpp : cxx11_nullptr cxx11_rvalue_references cxx11_template_aliases - cxx11_variadic_templates ] ; + cxx11_variadic_templates ] ] ; + +test-suite full : + minimal ; + +test-suite extra ; + +explicit minimal ; +explicit extra ;