summaryrefslogtreecommitdiffstats
path: root/src/test/ui/associated-types/associated-types-eq-3.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/associated-types/associated-types-eq-3.stderr')
-rw-r--r--src/test/ui/associated-types/associated-types-eq-3.stderr49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/test/ui/associated-types/associated-types-eq-3.stderr b/src/test/ui/associated-types/associated-types-eq-3.stderr
new file mode 100644
index 000000000..bed63a5e6
--- /dev/null
+++ b/src/test/ui/associated-types/associated-types-eq-3.stderr
@@ -0,0 +1,49 @@
+error[E0308]: mismatched types
+ --> $DIR/associated-types-eq-3.rs:23:18
+ |
+LL | let _: Bar = x.boo();
+ | --- ^^^^^^^ expected struct `Bar`, found associated type
+ | |
+ | expected due to this
+ |
+ = note: expected struct `Bar`
+ found associated type `<I as Foo>::A`
+help: consider constraining the associated type `<I as Foo>::A` to `Bar`
+ |
+LL | fn foo2<I: Foo<A = Bar>>(x: I) {
+ | +++++++++
+
+error[E0271]: type mismatch resolving `<isize as Foo>::A == Bar`
+ --> $DIR/associated-types-eq-3.rs:38:5
+ |
+LL | foo1(a);
+ | ^^^^ type mismatch resolving `<isize as Foo>::A == Bar`
+ |
+note: expected this to be `Bar`
+ --> $DIR/associated-types-eq-3.rs:12:14
+ |
+LL | type A = usize;
+ | ^^^^^
+note: required by a bound in `foo1`
+ --> $DIR/associated-types-eq-3.rs:18:16
+ |
+LL | fn foo1<I: Foo<A=Bar>>(x: I) {
+ | ^^^^^ required by this bound in `foo1`
+
+error[E0271]: type mismatch resolving `<isize as Foo>::A == Bar`
+ --> $DIR/associated-types-eq-3.rs:40:9
+ |
+LL | baz(&a);
+ | ^^ type mismatch resolving `<isize as Foo>::A == Bar`
+ |
+note: expected this to be `Bar`
+ --> $DIR/associated-types-eq-3.rs:12:14
+ |
+LL | type A = usize;
+ | ^^^^^
+ = note: required for the cast from `isize` to the object type `dyn Foo<A = Bar>`
+
+error: aborting due to 3 previous errors
+
+Some errors have detailed explanations: E0271, E0308.
+For more information about an error, try `rustc --explain E0271`.