Skip to main content

VacantEntry

Struct VacantEntry 

Source
pub struct VacantEntry<'a, T, S, A = Global>
where A: Allocator,
{ /* private fields */ }
Expand description

A view into a vacant entry in a HashSet. It is part of the Entry enum.

ยงExamples

use rune::alloc::hash_set::{Entry, HashSet, VacantEntry};

let mut set = HashSet::<&str>::new();

let entry_v: VacantEntry<_, _> = match set.entry("a") {
    Entry::Vacant(view) => view,
    Entry::Occupied(_) => unreachable!(),
};
entry_v.try_insert()?;
assert!(set.contains("a") && set.len() == 1);

// Nonexistent key (try_insert)
match set.entry("b") {
    Entry::Vacant(view) => view.try_insert()?,
    Entry::Occupied(_) => unreachable!(),
}
assert!(set.contains("b") && set.len() == 2);