error[E0308]: mismatched types --> $DIR/issue-32323.rs:5:30 | LL | pub fn f<'a, T: Tr<'a>>() -> >::Out {} | - ^^^^^^^^^^^^^^^^^^ expected associated type, found `()` | | | implicitly returns `()` as its body has no tail or `return` expression | = note: expected associated type `>::Out` found unit type `()` = note: consider constraining the associated type `>::Out` to `()` or calling a method that returns `>::Out` = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.