1 // This file is @generated by thens.rb. Do not edit directly.
3 #include <folly/futures/test/Thens.h>
5 TEST(Future, thenVariants) {
7 folly::Executor* anExecutor;
9 {Future<B> f = someFuture<A>().then(&aFunction<Future<B>, Try<A>&&>);}
10 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<Future<B>, Try<A>&&>);}
11 {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<Future<B>, Try<A>&&>, &anObject);}
12 {Future<B> f = someFuture<A>().then(aStdFunction<Future<B>, Try<A>&&>());}
13 {Future<B> f = someFuture<A>().then([&](Try<A>&&){return someFuture<B>();});}
14 {Future<B> f = someFuture<A>().then(&aFunction<Future<B>, Try<A> const&>);}
15 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<Future<B>, Try<A> const&>);}
16 {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<Future<B>, Try<A> const&>, &anObject);}
17 {Future<B> f = someFuture<A>().then(aStdFunction<Future<B>, Try<A> const&>());}
18 {Future<B> f = someFuture<A>().then([&](Try<A> const&){return someFuture<B>();});}
19 {Future<B> f = someFuture<A>().then(&aFunction<Future<B>, Try<A>>);}
20 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<Future<B>, Try<A>>);}
21 {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<Future<B>, Try<A>>, &anObject);}
22 {Future<B> f = someFuture<A>().then(aStdFunction<Future<B>, Try<A>>());}
23 {Future<B> f = someFuture<A>().then([&](Try<A>){return someFuture<B>();});}
24 {Future<B> f = someFuture<A>().then(&aFunction<Future<B>, Try<A>&>);}
25 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<Future<B>, Try<A>&>);}
26 {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<Future<B>, Try<A>&>, &anObject);}
27 {Future<B> f = someFuture<A>().then(aStdFunction<Future<B>, Try<A>&>());}
28 {Future<B> f = someFuture<A>().then([&](Try<A>&){return someFuture<B>();});}
29 {Future<B> f = someFuture<A>().then(&aFunction<Future<B>, A&&>);}
30 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<Future<B>, A&&>);}
31 {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<Future<B>, A&&>, &anObject);}
32 {Future<B> f = someFuture<A>().then(aStdFunction<Future<B>, A&&>());}
33 {Future<B> f = someFuture<A>().then([&](A&&){return someFuture<B>();});}
34 {Future<B> f = someFuture<A>().then(&aFunction<Future<B>, A const&>);}
35 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<Future<B>, A const&>);}
36 {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<Future<B>, A const&>, &anObject);}
37 {Future<B> f = someFuture<A>().then(aStdFunction<Future<B>, A const&>());}
38 {Future<B> f = someFuture<A>().then([&](A const&){return someFuture<B>();});}
39 {Future<B> f = someFuture<A>().then(&aFunction<Future<B>, A>);}
40 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<Future<B>, A>);}
41 {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<Future<B>, A>, &anObject);}
42 {Future<B> f = someFuture<A>().then(aStdFunction<Future<B>, A>());}
43 {Future<B> f = someFuture<A>().then([&](A){return someFuture<B>();});}
44 {Future<B> f = someFuture<A>().then(&aFunction<Future<B>, A&>);}
45 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<Future<B>, A&>);}
46 {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<Future<B>, A&>, &anObject);}
47 {Future<B> f = someFuture<A>().then(aStdFunction<Future<B>, A&>());}
48 {Future<B> f = someFuture<A>().then([&](A&){return someFuture<B>();});}
49 {Future<B> f = someFuture<A>().then([&](){return someFuture<B>();});}
50 {Future<B> f = someFuture<A>().then(&aFunction<B, Try<A>&&>);}
51 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<B, Try<A>&&>);}
52 {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<B, Try<A>&&>, &anObject);}
53 {Future<B> f = someFuture<A>().then(aStdFunction<B, Try<A>&&>());}
54 {Future<B> f = someFuture<A>().then([&](Try<A>&&){return B();});}
55 {Future<B> f = someFuture<A>().then(&aFunction<B, Try<A> const&>);}
56 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<B, Try<A> const&>);}
57 {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<B, Try<A> const&>, &anObject);}
58 {Future<B> f = someFuture<A>().then(aStdFunction<B, Try<A> const&>());}
59 {Future<B> f = someFuture<A>().then([&](Try<A> const&){return B();});}
60 {Future<B> f = someFuture<A>().then(&aFunction<B, Try<A>>);}
61 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<B, Try<A>>);}
62 {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<B, Try<A>>, &anObject);}
63 {Future<B> f = someFuture<A>().then(aStdFunction<B, Try<A>>());}
64 {Future<B> f = someFuture<A>().then([&](Try<A>){return B();});}
65 {Future<B> f = someFuture<A>().then(&aFunction<B, Try<A>&>);}
66 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<B, Try<A>&>);}
67 {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<B, Try<A>&>, &anObject);}
68 {Future<B> f = someFuture<A>().then(aStdFunction<B, Try<A>&>());}
69 {Future<B> f = someFuture<A>().then([&](Try<A>&){return B();});}
70 {Future<B> f = someFuture<A>().then(&aFunction<B, A&&>);}
71 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<B, A&&>);}
72 {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<B, A&&>, &anObject);}
73 {Future<B> f = someFuture<A>().then(aStdFunction<B, A&&>());}
74 {Future<B> f = someFuture<A>().then([&](A&&){return B();});}
75 {Future<B> f = someFuture<A>().then(&aFunction<B, A const&>);}
76 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<B, A const&>);}
77 {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<B, A const&>, &anObject);}
78 {Future<B> f = someFuture<A>().then(aStdFunction<B, A const&>());}
79 {Future<B> f = someFuture<A>().then([&](A const&){return B();});}
80 {Future<B> f = someFuture<A>().then(&aFunction<B, A>);}
81 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<B, A>);}
82 {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<B, A>, &anObject);}
83 {Future<B> f = someFuture<A>().then(aStdFunction<B, A>());}
84 {Future<B> f = someFuture<A>().then([&](A){return B();});}
85 {Future<B> f = someFuture<A>().then(&aFunction<B, A&>);}
86 {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<B, A&>);}
87 {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<B, A&>, &anObject);}
88 {Future<B> f = someFuture<A>().then(aStdFunction<B, A&>());}
89 {Future<B> f = someFuture<A>().then([&](A&){return B();});}
90 {Future<B> f = someFuture<A>().then([&](){return B();});}