Crate array_removal
source ·Expand description
Remove an element from the array.
§Examples
use std::mem::MaybeUninit;
use array_removal::array_remove;
fn uninit_array<T, const N: usize>() -> [MaybeUninit<T>; N] {
unsafe { MaybeUninit::<[MaybeUninit<T>; N]>::uninit().assume_init() }
}
let mut array = uninit_array::<String, 10>();
array[0].write("A".to_owned());
array[1].write("B".to_owned());
array[2].write("C".to_owned());
array[3].write("X".to_owned());
array[4].write("D".to_owned());
array[5].write("E".to_owned());
unsafe {
let elt = array_remove(&mut array, 3, 6);
assert_eq!(elt, "X");
let init = &*(&array[..5] as *const [_] as *const [String]);
assert_eq!(init, ["A", "B", "C", "D", "E"]);
for e in &mut array[..5] {
e.assume_init_drop();
}
}
Functions§
- Remove an element from the array.