summaryrefslogtreecommitdiffstats
path: root/src/test/ui/suggestions/opaque-type-error.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/suggestions/opaque-type-error.stderr')
-rw-r--r--src/test/ui/suggestions/opaque-type-error.stderr31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/opaque-type-error.stderr b/src/test/ui/suggestions/opaque-type-error.stderr
new file mode 100644
index 000000000..133ffb058
--- /dev/null
+++ b/src/test/ui/suggestions/opaque-type-error.stderr
@@ -0,0 +1,31 @@
+error[E0308]: `if` and `else` have incompatible types
+ --> $DIR/opaque-type-error.rs:20:9
+ |
+LL | fn thing_one() -> impl Future<Output = Result<(), ()>> {
+ | ------------------------------------ the expected opaque type
+...
+LL | fn thing_two() -> impl Future<Output = Result<(), ()>> {
+ | ------------------------------------ the found opaque type
+...
+LL | / if true {
+LL | | thing_one()
+ | | ----------- expected because of this
+LL | | } else {
+LL | | thing_two()
+ | | ^^^^^^^^^^^ expected opaque type, found a different opaque type
+LL | | }.await
+ | |_____- `if` and `else` have incompatible types
+ |
+ = note: expected opaque type `impl Future<Output = Result<(), ()>>` (opaque type at <$DIR/opaque-type-error.rs:8:19>)
+ found opaque type `impl Future<Output = Result<(), ()>>` (opaque type at <$DIR/opaque-type-error.rs:12:19>)
+ = note: distinct uses of `impl Trait` result in different opaque types
+help: consider `await`ing on both `Future`s
+ |
+LL ~ thing_one().await
+LL | } else {
+LL ~ thing_two().await
+ |
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.