Re: [Boost-bugs] [Boost C++ Libraries] #10340: No boost::promise<T>::set_value(const T&) overload present in C++03 mode

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #10340: No boost::promise<T>::set_value(const T&) overload present in C++03 mode
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-08-13 08:53:45


#10340: No boost::promise<T>::set_value(const T&) overload present in C++03 mode
-------------------------------+----------------------
  Reporter: rob.desbois@… | Owner: anthonyw
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: thread
   Version: Boost 1.54.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+----------------------

Comment (by rob.desbois@…):

 Agh, apologies for the brainfail there. Problem hopefully clear from the
 bug title, but for completeness here is the compile error with 1.55, g++
 4.8.2, and -DBOOST_THREAD_USES_MOVE:

 {{{
 In file included from t.cpp:1:0:
 ../deps/boost/include/boost/thread/future.hpp: In instantiation of
 â€˜boost::unique_future<typename boost::decay<T>::type>
 boost::make_ready_future(const T&) [with T = foo; typename
 boost::decay<T>::type = foo]’:
 t.cpp:14:35: required from here
 ../deps/boost/include/boost/thread/future.hpp:3634:5: error: no matching
 function for call to ‘boost::promise<foo>::set_value(const foo&)’
      p.set_value(boost::forward<future_value_type>(value));
      ^
 ../deps/boost/include/boost/thread/future.hpp:3634:5: note: candidates
 are:
 In file included from t.cpp:1:0:
 ../deps/boost/include/boost/thread/future.hpp:2052:14: note: void
 boost::promise<R>::set_value(typename
 boost::detail::future_traits<T>::source_reference_type) [with R = foo;
 typename boost::detail::future_traits<T>::source_reference_type = foo&]
          void set_value(typename
 detail::future_traits<R>::source_reference_type r)
               ^
 ../deps/boost/include/boost/thread/future.hpp:2052:14: note: no known
 conversion for argument 1 from ‘const foo’ to
 â€˜boost::detail::future_traits<foo>::source_reference_type {aka foo&}’
 ../deps/boost/include/boost/thread/future.hpp:2064:14: note: void
 boost::promise<R>::set_value(typename
 boost::detail::future_traits<T>::rvalue_source_type) [with R = foo;
 typename boost::detail::future_traits<T>::rvalue_source_type =
 boost::rv<foo>&]
          void set_value(typename
 detail::future_traits<R>::rvalue_source_type r)
               ^
 ../deps/boost/include/boost/thread/future.hpp:2064:14: note: no known
 conversion for argument 1 from ‘const foo’ to
 â€˜boost::detail::future_traits<foo>::rvalue_source_type {aka
 boost::rv<foo>&}’
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/10340#comment:3>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:16 UTC