(slots: &mut Vec<Option<T>>, value: T)
| 1 | use super::*; |
| 2 | |
| 3 | pub(crate) fn insert_slot<T>(slots: &mut Vec<Option<T>>, value: T) -> u32 { |
| 4 | if let Some(i) = slots.iter().position(Option::is_none) { |
| 5 | slots[i] = Some(value); |
| 6 | return i as u32; |
| 7 | } |
| 8 | slots.push(Some(value)); |
| 9 | (slots.len() - 1) as u32 |
| 10 | } |
| 11 | |
| 12 | pub(crate) fn remove_slot<T>(slots: &mut [Option<T>], id: u32) -> bool { |
| 13 | let Some(slot) = slots.get_mut(id as usize) else { |
no test coverage detected