id summary reporter owner description type status milestone component version severity resolution keywords cc 10552 Add make_valid_future viboes viboes "Some functions require that the future are valid. The needs to check for the validity before using these futures. {{{ if (fut.valid()) { auto x = fut.then(fct); } if (f1.valid() && f2.valid()) { auto x = when_all(f1, f2); } }}} An alternative is to provide a make_valid_future function that ensure that the result is valid. If the input future is valid it return the same future, otherwise it sets an exception future_error, and the corresponding error condition would be std::future_errc::no_state. In this way the user can always use it as {{{ auto x = make_valid_future(fut).then(fct); auto y = when_all(make_valid_future(f1), make_valid_future(f2)); }}} " Feature Requests closed Boost 1.57.0 thread Boost 1.56.0 Problem fixed