Vec<T> for T:Default but not Clone

You could use resize_with:

pub fn create_vec<T: Default>(size: usize) -> Vec<T> {
    let mut v = vec![];
    v.resize_with(size, T::default);
    v
}
2 Likes