> On Aug. 30, 2017, 7:35 p.m., Jie Yu wrote: > > I got this compile error on my box: > > ```[jie@core-dev build]$ gcc -v > > Using built-in specs. > > COLLECT_GCC=/usr/bin/gcc > > COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper > > Target: x86_64-redhat-linux > > Configured with: ../configure --prefix=/usr --mandir=/usr/share/man > > --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla > > --enable-bootstrap --enable-shared --enable-threads=posix > > --enable-checking=release --with-system-zlib --enable-__cxa_atexit > > --disable-libunwind-exceptions --enable-gnu-unique-object > > --enable-linker-build-id --with-linker-hash-style=gnu > > --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto > > --enable-plugin --enable-initfini-array --disable-libgcj > > --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install > > > > --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install > > --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 > > --build=x86_64-redhat-linux > > Thread model: posix > > gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) > > [jie@core-dev build]$ uname -a > > Linux core-dev 3.10.0-514.16.1.el7.x86_64 #1 SMP Wed Apr 12 15:04:24 UTC > > 2017 x86_64 x86_64 x86_64 GNU/Linux > > > > > > > > In file included from > > /home/jie/workspace/mesos/3rdparty/libprocess/src/tests/future_tests.cpp:18:0: > > /home/jie/workspace/mesos/3rdparty/libprocess/include/process/future.hpp: > > In instantiation of > > ‘process::UndiscardableDecorator<F>::UndiscardableDecorator(G&&) [with G = > > process::UndiscardableDecorator<FutureTest_UndiscardableLambda_Test::TestBody()::__lambda43>&; > > F = FutureTest_UndiscardableLambda_Test::TestBody()::__lambda43]’: > > /usr/include/c++/4.8.2/functional:1910:34: required from ‘static void > > std::_Function_base::_Base_manager<_Functor>::_M_clone(std::_Any_data&, > > const std::_Any_data&, std::false_type) [with _Functor = > > process::UndiscardableDecorator<FutureTest_UndiscardableLambda_Test::TestBody()::__lambda43>; > > std::false_type = std::integral_constant<bool, false>]’ > > /usr/include/c++/4.8.2/functional:1946:51: required from ‘static bool > > std::_Function_base::_Base_manager<_Functor>::_M_manager(std::_Any_data&, > > const std::_Any_data&, std::_Manager_operation) [with _Functor = > > process::UndiscardableDecorator<FutureTest_UndiscardableLambda_Test::TestBody()::__lambda43>]’ > > /usr/include/c++/4.8.2/functional:2460:19: required from > > ‘std::function<_Res(_ArgTypes ...)>::function(_Functor) [with _Functor = > > process::UndiscardableDecorator<FutureTest_Und > > iscardableLambda_Test::TestBody()::__lambda43>; <template-parameter-2-2> = > > void; _Res = process::Future<int>; _ArgTypes = {const int&}]’ > > /home/jie/workspace/mesos/3rdparty/libprocess/include/process/future.hpp:385:16: > > required from ‘process::Future<X> process::Future<T>::then(F&&, > > process::Future<T>::Prefer) con > > st [with F = > > process::UndiscardableDecorator<FutureTest_UndiscardableLambda_Test::TestBody()::__lambda43>; > > X = int; T = int]’ > > /home/jie/workspace/mesos/3rdparty/libprocess/include/process/future.hpp:417:45: > > required from ‘decltype (this->.then(forward<F>(f), > > process::Future<T>::Prefer())) process::Fut > > ure<T>::then(F&&) const [with F = > > process::UndiscardableDecorator<FutureTest_UndiscardableLambda_Test::TestBody()::__lambda43>; > > T = int; decltype (this->.then(forward<F>(f), proc > > ess::Future<T>::Prefer())) = <type error>]’ > > /home/jie/workspace/mesos/3rdparty/libprocess/src/tests/future_tests.cpp:578:7: > > required from here > > /home/jie/workspace/mesos/3rdparty/libprocess/include/process/future.hpp:1670:55: > > error: no matching function for call to > > ‘FutureTest_UndiscardableLambda_Test::TestBody()::__lamb > > da43::__lambda43(process::UndiscardableDecorator<FutureTest_UndiscardableLambda_Test::TestBody()::__lambda43>&)’ > > UndiscardableDecorator(G&& g) : f(std::forward<G>(g)) {} > > ^ > > /home/jie/workspace/mesos/3rdparty/libprocess/include/process/future.hpp:1670:55: > > note: candidates are: > > /home/jie/workspace/mesos/3rdparty/libprocess/src/tests/future_tests.cpp:573:27: > > note: constexpr > > FutureTest_UndiscardableLambda_Test::TestBody()::__lambda43::<lambda>(const > > Futur > > eTest_UndiscardableLambda_Test::TestBody()::__lambda43&) > > .then(undiscardable([&](int multiplier) { > > ^ > > /home/jie/workspace/mesos/3rdparty/libprocess/src/tests/future_tests.cpp:573:27: > > note: no known conversion for argument 1 from > > ‘process::UndiscardableDecorator<FutureTest_Undis > > cardableLambda_Test::TestBody()::__lambda43>’ to ‘const > > FutureTest_UndiscardableLambda_Test::TestBody()::__lambda43&’ > > /home/jie/workspace/mesos/3rdparty/libprocess/src/tests/future_tests.cpp:573:27: > > note: constexpr > > FutureTest_UndiscardableLambda_Test::TestBody()::__lambda43::<lambda>(FutureTest_ > > UndiscardableLambda_Test::TestBody()::__lambda43&&) > > /home/jie/workspace/mesos/3rdparty/libprocess/src/tests/future_tests.cpp:573:27: > > note: no known conversion for argument 1 from > > ‘process::UndiscardableDecorator<FutureTest_Undis > > cardableLambda_Test::TestBody()::__lambda43>’ to > > ‘FutureTest_UndiscardableLambda_Test::TestBody()::__lambda43&&’```
@benh, can we split this into two patches. Let's commit the non lambda version first to unblock MESOS-7926? - Jie ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/61987/#review184185 ----------------------------------------------------------- On Aug. 30, 2017, 6:30 a.m., Benjamin Hindman wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/61987/ > ----------------------------------------------------------- > > (Updated Aug. 30, 2017, 6:30 a.m.) > > > Review request for mesos, Benjamin Mahler, Gilbert Song, and Jie Yu. > > > Bugs: MESOS-7926 > https://issues.apache.org/jira/browse/MESOS-7926 > > > Repository: mesos > > > Description > ------- > > This can be useful in circumstances where you don't want some > asynchronous operation to be canceled. > > > Diffs > ----- > > 3rdparty/libprocess/include/process/future.hpp > 2f5f0a20b5a39b04fd684b1cb44b6a33b647bbef > 3rdparty/libprocess/src/tests/future_tests.cpp > 0c8725b9a5e64aaac6e3979e450a11e84f9bd45e > > > Diff: https://reviews.apache.org/r/61987/diff/1/ > > > Testing > ------- > > make check > > > Thanks, > > Benjamin Hindman > >
