#![feature(lazy_type_alias)] #![allow(incomplete_features)] impl NotInjective {} //~ ERROR the type parameter `T` is not constrained type NotInjective = Local<::Out>; struct Local(T); trait Discard { type Out; } impl Discard for T { type Out = (); } fn main() {}