Try(Try const& src): Try(nullptr) { if (src) { _impl.reset(new SuccessImpl<T>(*src)); } else { std::exception_ptr exc = src.getException(); _impl.reset(new FailureImpl<T>(exc)); } }