use super::{SlotSet, StableSlot};
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
#[must_use]
pub enum SlotSetRemoveOutcome {
Removed { slot: StableSlot },
Absent { slot: StableSlot },
}
impl SlotSet {
pub fn remove(&mut self, slot: StableSlot) -> SlotSetRemoveOutcome {
let removed = self.0.remove(slot.value());
if removed {
SlotSetRemoveOutcome::Removed { slot }
} else {
SlotSetRemoveOutcome::Absent { slot }
}
}
}