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