INNER CODE UNIT · Rust
or_else
fishfolk/bones · framework_crates/bones_asset/src/lib.rs:169
pub fn or_else<F: FnOnce() -> Maybe<T>>(self, f: F) -> Maybe<T> {
self.option().or_else(|| f().option()).into()
}
/// Returns `Set` if exactly one of `self`, `optb` is `Set`, otherwise returns `Unset`.
#[inline]
pub fn xor(self, optb: Maybe<T>) -> Maybe<T> {
self.option().xor(optb.option()).into()
}
/// Inserts `v` into the option if it is `Unset`, then returns a mutable reference to the contained value.
#[inline]
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,