| //! Check that array lengths can observe associated types of opaque types | |
| //@ check-pass | |
| trait MyTrait: Copy { | |
| const ASSOC: usize; | |
| } | |
| impl MyTrait for u8 { | |
| const ASSOC: usize = 32; | |
| } | |
| const fn yeet() -> impl MyTrait { | |
| 0u8 | |
| } | |
| const fn output<T: MyTrait>(_: T) -> usize { | |
| <T as MyTrait>::ASSOC | |
| } | |
| fn main() { | |
| let x = [0u8; output(yeet())]; | |
| println!("{:?}", x); | |
| } |