1 // Enormous types are allowed if they are never actually instantiated. 2 // run-pass 3 trait Foo { 4 type Assoc; 5 } 6 7 impl Foo for [u16; usize::MAX] { 8 type Assoc = u32; 9 } 10 main()11 fn main() { 12 let _a: Option<<[u16; usize::MAX] as Foo>::Assoc> = None; 13 } 14