error[E0308]: mismatched types --> $DIR/issue-68648-2.rs:14:17 | LL | fn bug<'a, T: Fun = T>>(t: T) -> T::F<'a> { | - this type parameter LL | T::identity(()) | ^^ expected type parameter `T`, found `()` | = note: expected type parameter `T` found unit type `()` error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.