1 error[E0308]: `match` arms have incompatible types
2 --> $DIR/match-prev-arm-needing-semi.rs:32:18
4 LL | let _ = match true {
8 | | -------------- this is found to be of type `()`
11 LL | | false => async_dummy(),
12 | | ^^^^^^^^^^^^^ expected `()`, found opaque type
16 | |_____- `match` arms have incompatible types
18 note: while checking the return type of the `async fn`
19 --> $DIR/match-prev-arm-needing-semi.rs:16:24
21 LL | async fn async_dummy() {}
22 | ^ checked the `Output` of this `async fn`, found opaque type
23 = note: expected type `()`
24 found opaque type `impl Future`
25 help: consider `await`ing on the `Future`
27 LL | false => async_dummy().await,
29 help: consider removing this semicolon
34 error[E0308]: `match` arms have incompatible types
35 --> $DIR/match-prev-arm-needing-semi.rs:45:18
37 LL | let _ = match true {
41 | | -------------- this is found to be of type `()`
44 LL | | false => async_dummy2(),
45 | | ^^^^^^^^^^^^^^ expected `()`, found opaque type
49 | |_____- `match` arms have incompatible types
51 note: while checking the return type of the `async fn`
52 --> $DIR/match-prev-arm-needing-semi.rs:19:25
54 LL | async fn async_dummy2() {}
55 | ^ checked the `Output` of this `async fn`, found opaque type
56 = note: expected type `()`
57 found opaque type `impl Future`
58 help: consider `await`ing on the `Future`
60 LL | false => async_dummy2().await,
62 help: consider removing this semicolon and boxing the expressions
64 LL | Box::new(async_dummy())
67 LL | false => Box::new(async_dummy2()),
70 error[E0308]: `match` arms have incompatible types
71 --> $DIR/match-prev-arm-needing-semi.rs:56:18
73 LL | let _ = match true {
75 LL | | true => async_dummy(),
76 | | ------------- this is found to be of type `impl Future`
78 LL | | false => async_dummy2(),
79 | | ^^^^^^^^^^^^^^ expected opaque type, found a different opaque type
83 | |_____- `match` arms have incompatible types
85 note: while checking the return type of the `async fn`
86 --> $DIR/match-prev-arm-needing-semi.rs:19:25
88 LL | async fn async_dummy2() {}
89 | ^ checked the `Output` of this `async fn`, found opaque type
90 = note: expected type `impl Future` (opaque type at <$DIR/match-prev-arm-needing-semi.rs:16:24>)
91 found opaque type `impl Future` (opaque type at <$DIR/match-prev-arm-needing-semi.rs:19:25>)
92 = note: distinct uses of `impl Trait` result in different opaque types
93 help: consider `await`ing on both `Future`s
95 LL | true => async_dummy().await,
97 LL | false => async_dummy2().await,
100 error[E0308]: `match` arms have incompatible types
101 --> $DIR/match-prev-arm-needing-semi.rs:11:18
103 LL | let _ = match true {
109 | | | help: consider removing this semicolon
110 | | this is found to be of type `()`
113 LL | | false => dummy(),
114 | | ^^^^^^^ expected `()`, found `i32`
117 | |_____- `match` arms have incompatible types
119 error: aborting due to 4 previous errors
121 For more information about this error, try `rustc --explain E0308`.