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