1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::maybe_contains::MaybeContains;

/// A trait marking whether `T` is absent.
///
/// See [Traits](crate#traits) section of crate documentation for more information.
pub trait Missing<Item>: MaybeContains<Item, CONTAINS = false> {
    #[doc(hidden)]
    fn insert(self, item: Item) -> Self::Inserted
    where
        Self: Sized,
    {
        let (_, inserted) = self.try_insert(item);
        inserted
    }
}

impl<Item, T> Missing<Item> for T where T: MaybeContains<Item, CONTAINS = false> {}