Bump version to 43:0
[folly.git] / folly / futures / test / Thens.cpp
1 // This file is @generated by thens.rb. Do not edit directly.
2
3 #include <folly/futures/test/Thens.h>
4
5 TEST(Future, thenVariants) {
6   SomeClass anObject;
7   folly::Executor* anExecutor;
8
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();});}
91 }
92