summaryrefslogtreecommitdiffstats
path: root/src/test/ui/associated-types/impl-trait-return-missing-constraint.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/associated-types/impl-trait-return-missing-constraint.stderr')
-rw-r--r--src/test/ui/associated-types/impl-trait-return-missing-constraint.stderr24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/ui/associated-types/impl-trait-return-missing-constraint.stderr b/src/test/ui/associated-types/impl-trait-return-missing-constraint.stderr
new file mode 100644
index 000000000..fbd76a64c
--- /dev/null
+++ b/src/test/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`.