1 | // This file is @generated by then_compile_test.rb. Do not edit directly. |
2 | |
3 | #include <folly/futures/test/ThenCompileTest.h> |
4 | |
5 | using namespace folly; |
6 | |
7 | TEST(Basic, thenVariants) { |
8 | SomeClass anObject; |
9 | |
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(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(aStdFunction<Future<B>, Try<A> const&>());} |
17 | {Future<B> f = someFuture<A>().then([&](Try<A> const&){return someFuture<B>();});} |
18 | {Future<B> f = someFuture<A>().then(&aFunction<Future<B>, Try<A>>);} |
19 | {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<Future<B>, Try<A>>);} |
20 | {Future<B> f = someFuture<A>().then(aStdFunction<Future<B>, Try<A>>());} |
21 | {Future<B> f = someFuture<A>().then([&](Try<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(aStdFunction<B, Try<A>&&>());} |
25 | {Future<B> f = someFuture<A>().then([&](Try<A>&&){return B();});} |
26 | {Future<B> f = someFuture<A>().then(&aFunction<B, Try<A> const&>);} |
27 | {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<B, Try<A> const&>);} |
28 | {Future<B> f = someFuture<A>().then(aStdFunction<B, Try<A> const&>());} |
29 | {Future<B> f = someFuture<A>().then([&](Try<A> const&){return B();});} |
30 | {Future<B> f = someFuture<A>().then(&aFunction<B, Try<A>>);} |
31 | {Future<B> f = someFuture<A>().then(&SomeClass::aStaticMethod<B, Try<A>>);} |
32 | {Future<B> f = someFuture<A>().then(aStdFunction<B, Try<A>>());} |
33 | {Future<B> f = someFuture<A>().then([&](Try<A>){return B();});} |
34 | {Future<B> f = someFuture<A>().thenValue(&aFunction<Future<B>, A&&>);} |
35 | {Future<B> f = someFuture<A>().thenValue(&SomeClass::aStaticMethod<Future<B>, A&&>);} |
36 | {Future<B> f = someFuture<A>().thenValue(aStdFunction<Future<B>, A&&>());} |
37 | {Future<B> f = someFuture<A>().thenValue([&](A&&){return someFuture<B>();});} |
38 | {Future<B> f = someFuture<A>().thenValue(&aFunction<Future<B>, A const&>);} |
39 | {Future<B> f = someFuture<A>().thenValue(&SomeClass::aStaticMethod<Future<B>, A const&>);} |
40 | {Future<B> f = someFuture<A>().thenValue(aStdFunction<Future<B>, A const&>());} |
41 | {Future<B> f = someFuture<A>().thenValue([&](A const&){return someFuture<B>();});} |
42 | {Future<B> f = someFuture<A>().thenValue(&aFunction<Future<B>, A>);} |
43 | {Future<B> f = someFuture<A>().thenValue(&SomeClass::aStaticMethod<Future<B>, A>);} |
44 | {Future<B> f = someFuture<A>().thenValue(aStdFunction<Future<B>, A>());} |
45 | {Future<B> f = someFuture<A>().thenValue([&](A){return someFuture<B>();});} |
46 | {Future<B> f = someFuture<A>().thenValue(&aFunction<B, A&&>);} |
47 | {Future<B> f = someFuture<A>().thenValue(&SomeClass::aStaticMethod<B, A&&>);} |
48 | {Future<B> f = someFuture<A>().thenValue(aStdFunction<B, A&&>());} |
49 | {Future<B> f = someFuture<A>().thenValue([&](A&&){return B();});} |
50 | {Future<B> f = someFuture<A>().thenValue(&aFunction<B, A const&>);} |
51 | {Future<B> f = someFuture<A>().thenValue(&SomeClass::aStaticMethod<B, A const&>);} |
52 | {Future<B> f = someFuture<A>().thenValue(aStdFunction<B, A const&>());} |
53 | {Future<B> f = someFuture<A>().thenValue([&](A const&){return B();});} |
54 | {Future<B> f = someFuture<A>().thenValue(&aFunction<B, A>);} |
55 | {Future<B> f = someFuture<A>().thenValue(&SomeClass::aStaticMethod<B, A>);} |
56 | {Future<B> f = someFuture<A>().thenValue(aStdFunction<B, A>());} |
57 | {Future<B> f = someFuture<A>().thenValue([&](A){return B();});} |
58 | {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<Future<B>, Try<A>&&>, &anObject);} |
59 | {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<Future<B>, Try<A> const&>, &anObject);} |
60 | {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<Future<B>, Try<A>>, &anObject);} |
61 | {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<B, Try<A>&&>, &anObject);} |
62 | {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<B, Try<A> const&>, &anObject);} |
63 | {Future<B> f = someFuture<A>().then(&SomeClass::aMethod<B, Try<A>>, &anObject);} |
64 | } |
65 | |