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