| //@ check-pass | |
| struct Test<T, const N: usize>([T; N]); | |
| impl<T: Copy + Default, const N: usize> Default for Test<T, N> { | |
| fn default() -> Self { | |
| Self([T::default(); N]) | |
| } | |
| } | |
| impl<T, const N: usize> std::ops::Deref for Test<T, N> { | |
| type Target = [T; N]; | |
| fn deref(&self) -> &[T; N] { | |
| &self.0 | |
| } | |
| } | |
| fn test() -> Test<u64, 16> { | |
| let test = Test::default(); | |
| println!("{}", test.len()); | |
| test | |
| } | |
| fn main() { | |
| test(); | |
| } |