#![feature(type_alias_impl_trait)] #![deny(improper_ctypes)] trait Baz {} impl Baz for u32 {} type Qux = impl Baz; trait Foo { type Assoc; } impl Foo for u32 { type Assoc = Qux; } fn assign() -> Qux { 1 } extern "C" { fn lint_me() -> ::Assoc; //~ ERROR: uses type `Qux` } fn main() {}