// run-pass trait IterExt: Sized + Iterator { fn default_for_size(self) -> [Self::Item; N] where [Self::Item; N]: Default, { Default::default() } } impl IterExt for T {} fn main(){ const N: usize = 10; let arr = (0u32..10).default_for_size::(); assert_eq!(arr, [0; 10]); }