1 // This file is @generated by thens.rb. Do not edit directly.
3 // TODO: fails to compile with clang:dev. See task #4412111
6 #include <folly/wangle/futures/test/Thens.h>
8 TEST(Future, thenVariants) {
10 folly::Executor* anExecutor;
12 {Future<B> f = someFuture<A>().then(&aFunction<Future<B>, Try<A>&&>);}
13 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<Future<B>, Try<A>&&>);}
14 {Future<B> f = someFuture<A>().then(&anObject, &SomeClass::aMethod<Future<B>, Try<A>&&>);}
15 {Future<B> f = someFuture<A>().then(aStdFunction<Future<B>, Try<A>&&>());}
16 {Future<B> f = someFuture<A>().then([&](Try<A>&&){return someFuture<B>();});}
17 {Future<B> f = someFuture<A>().then(&aFunction<Future<B>, A&&>);}
18 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<Future<B>, A&&>);}
19 {Future<B> f = someFuture<A>().then(&anObject, &SomeClass::aMethod<Future<B>, A&&>);}
20 {Future<B> f = someFuture<A>().then(aStdFunction<Future<B>, A&&>());}
21 {Future<B> f = someFuture<A>().then([&](A&&){return someFuture<B>();});}
22 {Future<B> f = someFuture<A>().then(&aFunction<B, Try<A>&&>);}
23 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<B, Try<A>&&>);}
24 {Future<B> f = someFuture<A>().then(&anObject, &SomeClass::aMethod<B, Try<A>&&>);}
25 {Future<B> f = someFuture<A>().then(aStdFunction<B, Try<A>&&>());}
26 {Future<B> f = someFuture<A>().then([&](Try<A>&&){return B();});}
27 {Future<B> f = someFuture<A>().then(&aFunction<B, A&&>);}
28 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<B, A&&>);}
29 {Future<B> f = someFuture<A>().then(&anObject, &SomeClass::aMethod<B, A&&>);}
30 {Future<B> f = someFuture<A>().then(aStdFunction<B, A&&>());}
31 {Future<B> f = someFuture<A>().then([&](A&&){return B();});}