1 error[E0308]: `if` and `else` have incompatible types
2 --> $DIR/opaque-type-error.rs:20:9
4 LL | fn thing_one() -> impl Future<Output = Result<(), ()>> {
5 | ------------------------------------ the expected opaque type
7 LL | fn thing_two() -> impl Future<Output = Result<(), ()>> {
8 | ------------------------------------ the found opaque type
12 | | ----------- expected because of this
15 | | ^^^^^^^^^^^ expected opaque type, found a different opaque type
17 | |_____- `if` and `else` have incompatible types
19 = note: expected opaque type `impl Future<Output = Result<(), ()>>` (opaque type at <$DIR/opaque-type-error.rs:8:19>)
20 found opaque type `impl Future<Output = Result<(), ()>>` (opaque type at <$DIR/opaque-type-error.rs:12:19>)
21 = note: distinct uses of `impl Trait` result in different opaque types
22 help: consider `await`ing on both `Future`s
24 LL ~ thing_one().await
26 LL ~ thing_two().await
29 error: aborting due to previous error
31 For more information about this error, try `rustc --explain E0308`.