summaryrefslogtreecommitdiffstats
path: root/tests/ui/impl-trait/in-assoc-type.stderr
blob: af60da07cac3152f989f6f9b29a429ae6d12706e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
error[E0308]: mismatched types
  --> $DIR/in-assoc-type.rs:20:22
   |
LL |     type Bar = impl std::fmt::Debug;
   |                -------------------- the expected opaque type
...
LL |     fn foo(&self) -> <Self as Foo<()>>::Bar {}
   |        ---           ^^^^^^^^^^^^^^^^^^^^^^ expected opaque type, found `()`
   |        |
   |        implicitly returns `()` as its body has no tail or `return` expression
   |
   = note: expected opaque type `<() as Foo<()>>::Bar`
                found unit type `()`
note: this item must have the opaque type in its signature in order to be able to register hidden types
  --> $DIR/in-assoc-type.rs:20:8
   |
LL |     fn foo(&self) -> <Self as Foo<()>>::Bar {}
   |        ^^^

error: aborting due to previous error

For more information about this error, try `rustc --explain E0308`.