Мне нужны структуры с фиксированным максимальным размером, поэтому очевидным выбором будет arrayvec crate .Тем не менее, я застрял, когда ArrayVec
является членом структуры, которая впоследствии должна быть частично инициализирована:
use arrayvec::ArrayVec; // 0.4.7
#[derive(Debug)]
struct Test {
member_one: Option<u32>,
member_two: ArrayVec<[u16; 5]>,
}
pub fn main() {
let mut test = Test {
member_one: Some(45678),
member_two: [1, 2, 3], // <- What to do here to initialise only 3 elements?
};
print!("{:?}", test);
}
Я хотел бы инициализировать первые три элемента ArrayVec
, так каквполне способен удерживать любое количество элементов от нуля до 5 (в моем примере), но я не могу понять, как это сделать.