diff options
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.stderr | 49 |
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`. |