1 error[E0308]: `match` arms have incompatible types
2 --> $DIR/match-prev-arm-needing-semi.rs:26:18
4 LL | async fn async_dummy() {}
5 | - checked the `Output` of this `async fn`, found opaque type
7 LL | let _ = match true {
11 | | -------------- this is found to be of type `()`
14 LL | | false => async_dummy(),
15 | | ^^^^^^^^^^^^^ expected `()`, found opaque type
19 | |_____- `match` arms have incompatible types
21 = note: while checking the return type of the `async fn`
22 = note: expected type `()`
23 found opaque type `impl Future`
24 help: consider `await`ing on the `Future`
26 LL | false => async_dummy().await,
28 help: consider removing this semicolon
33 error[E0308]: `match` arms have incompatible types
34 --> $DIR/match-prev-arm-needing-semi.rs:40:18
36 LL | async fn async_dummy2() {}
37 | - checked the `Output` of this `async fn`, found opaque type
39 LL | let _ = match true {
43 | | -------------- this is found to be of type `()`
46 LL | | false => async_dummy2(),
47 | | ^^^^^^^^^^^^^^ expected `()`, found opaque type
51 | |_____- `match` arms have incompatible types
53 = note: while checking the return type of the `async fn`
54 = note: expected type `()`
55 found opaque type `impl Future`
56 help: consider `await`ing on the `Future`
58 LL | false => async_dummy2().await,
60 help: consider removing this semicolon and boxing the expressions
62 LL | Box::new(async_dummy())
65 LL | false => Box::new(async_dummy2()),
68 error[E0308]: `match` arms have incompatible types
69 --> $DIR/match-prev-arm-needing-semi.rs:52:18
71 LL | async fn async_dummy2() {}
72 | - checked the `Output` of this `async fn`, found opaque type
74 LL | let _ = match true {
76 LL | | true => async_dummy(),
77 | | ------------- this is found to be of type `impl Future`
79 LL | | false => async_dummy2(),
80 | | ^^^^^^^^^^^^^^ expected opaque type, found a different opaque type
84 | |_____- `match` arms have incompatible types
86 = note: while checking the return type of the `async fn`
87 = note: expected type `impl Future` (opaque type at <$DIR/match-prev-arm-needing-semi.rs:16:24>)
88 found opaque type `impl Future` (opaque type at <$DIR/match-prev-arm-needing-semi.rs:17:25>)
89 = note: distinct uses of `impl Trait` result in different opaque types
90 help: consider `await`ing on both `Future`s
92 LL | true => async_dummy().await,
94 LL | false => async_dummy2().await,
97 error[E0308]: `match` arms have incompatible types
98 --> $DIR/match-prev-arm-needing-semi.rs:11:18
100 LL | let _ = match true {
106 | | | help: consider removing this semicolon
107 | | this is found to be of type `()`
110 LL | | false => dummy(),
111 | | ^^^^^^^ expected `()`, found `i32`
114 | |_____- `match` arms have incompatible types
116 error: aborting due to 4 previous errors
118 For more information about this error, try `rustc --explain E0308`.