error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates --> $DIR/issue-87340.rs:8:6 | LL | impl X for () { | ^ unconstrained type parameter error[E0282]: type annotations needed --> $DIR/issue-87340.rs:11:23 | LL | fn f() -> Self::I {} | ^^ cannot infer type for type parameter `T` error[E0282]: type annotations needed --> $DIR/issue-87340.rs:11:15 | LL | fn f() -> Self::I {} | ^^^^^^^ cannot infer type for type parameter `T` error: aborting due to 3 previous errors Some errors have detailed explanations: E0207, E0282. For more information about an error, try `rustc --explain E0207`.