id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 12874,future<> extension constructor must be under BOOST_THREAD_PROVIDES_FUTURE_UNWRAP,Arthur O'Dwyer,viboes,"In Boost 1.63.0's ""boost/thread/future.hpp"", we see this code: {{{ inline explicit BOOST_THREAD_FUTURE(BOOST_THREAD_RV_REF(BOOST_THREAD_FUTURE >) other); // EXTENSION }}} Unfortunately, the actual definition of this inline constructor is located under an #ifdef that may not be defined at compile time: {{{ #if defined BOOST_THREAD_PROVIDES_FUTURE_UNWRAP // many lines snipped... template inline BOOST_THREAD_FUTURE::BOOST_THREAD_FUTURE(BOOST_THREAD_RV_REF(BOOST_THREAD_FUTURE >) other) : base_type(other.unwrap()) {} // several lines snipped... #endif }}} The result is that this inline constructor is declared but not defined, which produces very confusing linker errors. The appropriate solution is to wrap the declaration of this constructor in {{{ #if defined BOOST_THREAD_PROVIDES_FUTURE_UNWRAP #endif }}} No other change needs to be made, as far as I know.",Patches,closed,Boost 1.65.0,thread,Boost 1.63.0,Problem,fixed,,