Ответ 1
Вы не можете использовать синтаксис инициализации [expr; N]
для типов Copy
из-за модели владения Rusts - он выполняет одно только одно выражение, а для типов Copy
он не может просто скопировать байты N раз, они должны принадлежать только в одном месте.
Вам понадобится:
-
Запишите его явно десять раз:
let v: [Vec<u8>; 10] = [vec![], vec![], vec![], vec![], vec![], vec![], vec![], vec![], vec![], vec![]]
или -
Используйте что-то вроде вектора вместо массива:
std::iter::repeat(vec![]).take(10).collect::<Vec<_>>()
.