Skip to main content

extern_spec_T_Option_T_get_or_insert_default

Function extern_spec_T_Option_T_get_or_insert_default 

Source
pub fn extern_spec_T_Option_T_get_or_insert_default<T>(
    self_: &mut Option<T>,
) -> &mut T
where T: Default,
Expand description

extern spec for Option<T>::get_or_insert_default

This is not a real function: its only use is for documentation.

requires

match self {
    None => T::default.precondition(()),
    Some(_) => true,
}

ensures

match *self {
    None => T::default.postcondition((), *result) && ^self == Some(^result),
    Some(_) => *self == Some(*result) && ^self == Some(^result),
}