//@ 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(); | |
} |