INNER CODE UNIT · Rust
get_or_insert
fishfolk/bones · framework_crates/bones_asset/src/lib.rs:181
pub fn get_or_insert(&mut self, v: T) -> &mut T {
if let Maybe::Unset = self {
*self = Maybe::Set(v);
}
match self {
Maybe::Set(ref mut v) => v,
Maybe::Unset => unreachable!(),
}
}
/// Inserts a value computed from `f` into the option if it is `Unset`, then returns a mutable reference to the contained value.
#[inline]
pub fn get_or_insert_with<F: FnOnce() -> T>(&mut self, f: F) -> &mut T {
if let Maybe::Unset = self {
*self = Maybe::Set(f());
}
match self {
Maybe::Set(ref mut v) => v,