diff options
Diffstat (limited to 'tests/ui/associated-types/impl-trait-return-missing-constraint.stderr')
-rw-r--r-- | tests/ui/associated-types/impl-trait-return-missing-constraint.stderr | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/ui/associated-types/impl-trait-return-missing-constraint.stderr b/tests/ui/associated-types/impl-trait-return-missing-constraint.stderr new file mode 100644 index 000000000..fbd76a64c --- /dev/null +++ b/tests/ui/associated-types/impl-trait-return-missing-constraint.stderr @@ -0,0 +1,24 @@ +error[E0271]: type mismatch resolving `<impl Bar as Foo>::Item == i32` + --> $DIR/impl-trait-return-missing-constraint.rs:25:13 + | +LL | fn bar() -> impl Bar { + | -------- the expected opaque type +... +LL | fn baz() -> impl Bar<Item = i32> { + | ^^^^^^^^^^^^^^^^^^^^ expected associated type, found `i32` +LL | +LL | bar() + | ----- return type was inferred to be `impl Bar` here + | + = note: expected associated type `<impl Bar as Foo>::Item` + found type `i32` + = help: consider constraining the associated type `<impl Bar as Foo>::Item` to `i32` or calling a method that returns `<impl Bar as Foo>::Item` + = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html +help: consider constraining the associated type `<impl Bar as Foo>::Item` to `i32` + | +LL | fn bar() -> impl Bar<Item = i32> { + | ++++++++++++ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0271`. |