Boost C++ Libraries: Ticket #10963: future<future<T>>::then Has No Implementation https://svn.boost.org/trac10/ticket/10963 <p> Linker errors when using .then() on a future&lt;future&lt;T&gt;&gt; </p> <pre class="wiki">Undefined symbols for architecture x86_64: "boost::future&lt;boost::result_of&lt;TestCallback (boost::future&lt;boost::future&lt;void&gt; &gt;)&gt;::type&gt; boost::future&lt;boost::future&lt;void&gt; &gt;::then&lt;TestCallback&gt;(TestCallback&amp;&amp;)", 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) </pre><p> Example: </p> <pre class="wiki">struct TestCallback { typedef boost::future&lt;void&gt; result_type; result_type operator()(boost::future&lt;void&gt; future) const { future.get(); return boost::make_ready_future(); } result_type operator()(boost::future&lt;boost::future&lt;void&gt;&gt; future) const { future.get(); return boost::make_ready_future(); } }; int main() { boost::promise&lt;void&gt; test_promise; boost::future&lt;void&gt; test_future(test_promise.get_future()); test_future.then(TestCallback()).then(TestCallback()); return 0; } </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/10963 Trac 1.4.3 viboes Sat, 24 Jan 2015 08:06:42 GMT owner, status changed https://svn.boost.org/trac10/ticket/10963#comment:1 https://svn.boost.org/trac10/ticket/10963#comment:1 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Anthony Williams</span> to <span class="trac-author">viboes</span> </li> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> <p> This is weird. The result of </p> <pre class="wiki">test_future.then(TestCallback()) </pre><p> should be future&lt;void&gt; and so future&lt;future&lt;void&gt;::then will not necessary in this case. </p> <p> I'm not saying that there is no problem. I will add the test and check it. </p> Ticket viboes Sat, 24 Jan 2015 10:23:29 GMT <link>https://svn.boost.org/trac10/ticket/10963#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10963#comment:2</guid> <description> <p> Hrr, I have not implemented yet the implicit unwrap when calling future::then. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>viboes</dc:creator> <pubDate>Sat, 24 Jan 2015 11:00:18 GMT</pubDate> <title>milestone changed https://svn.boost.org/trac10/ticket/10963#comment:3 https://svn.boost.org/trac10/ticket/10963#comment:3 <ul> <li><strong>milestone</strong> <span class="trac-field-old">To Be Determined</span> → <span class="trac-field-new">Boost 1.58.0</span> </li> </ul> <p> <a class="ext-link" href="https://github.com/boostorg/thread/commit/b77eac3e379332e3a1752596dd12b90ff9303fb4"><span class="icon">​</span>https://github.com/boostorg/thread/commit/b77eac3e379332e3a1752596dd12b90ff9303fb4</a> </p> Ticket viboes Mon, 02 Feb 2015 05:47:46 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/10963#comment:4 https://svn.boost.org/trac10/ticket/10963#comment:4 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> <a class="ext-link" href="https://github.com/boostorg/thread/commit/71997bd9aa43e1da2f05cdd46219d152a1c2321f"><span class="icon">​</span>https://github.com/boostorg/thread/commit/71997bd9aa43e1da2f05cdd46219d152a1c2321f</a> </p> Ticket