// check-pass #![deny(dead_code)] const TLC: usize = 4; trait Tr { fn doit(&self); } impl Tr for [usize; TLC] { fn doit(&self) { println!("called 4"); } } struct X; struct Y; struct Z; trait Foo { type Ty; fn foo() -> Self::Ty; } impl Foo for X { type Ty = Z; fn foo() -> Self::Ty { unimplemented!() } } fn main() { let s = [0,1,2,3]; s.doit(); X::foo(); }