[Boost-bugs] [Boost C++ Libraries] #10963: future<future<T>>::then Has No Implementation

Subject: [Boost-bugs] [Boost C++ Libraries] #10963: future<future<T>>::then Has No Implementation
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-01-23 22:08:23


#10963: future<future<T>>::then Has No Implementation
------------------------------+----------------------
 Reporter: code@… | Owner: anthonyw
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: thread
  Version: Boost 1.57.0 | Severity: Problem
 Keywords: |
------------------------------+----------------------
 Linker errors when using .then() on a future<future<T>>

 {{{
 Undefined symbols for architecture x86_64:
   "boost::future<boost::result_of<TestCallback
 (boost::future<boost::future<void> >)>::type>
 boost::future<boost::future<void> >::then<TestCallback>(TestCallback&&)",
 referenced from:
       _main in test_100000.o
 ld: symbol(s) not found for architecture x86_64
 clang: error: linker command failed with exit code 1 (use -v to see
 invocation)
 }}}

 Example:

 {{{
 struct TestCallback
 {
     typedef boost::future<void> result_type;

     result_type operator()(boost::future<void> future) const
     {
         future.get();
         return boost::make_ready_future();
     }

     result_type operator()(boost::future<boost::future<void>> future)
 const
     {
        future.get();
        return boost::make_ready_future();
     }
 };

 int main()
 {
     boost::promise<void> test_promise;
     boost::future<void> test_future(test_promise.get_future());
     test_future.then(TestCallback()).then(TestCallback());
     return 0;
 }
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/10963>
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:17 UTC