Skip to main content

extern_spec_T_Option_T_ok_or_else

Function extern_spec_T_Option_T_ok_or_else 

Source
pub fn extern_spec_T_Option_T_ok_or_else<T, E, F: FnOnce() -> E>(
    self_: Option<T>,
    err: F,
) -> Result<T, E>
Expand description

extern spec for Option<T>::ok_or_else

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

requires

self == None ==> err.precondition(())

ensures

match self {
    None => exists<r> result == Err(r) && err.postcondition_once((), r),
    Some(t) => result == Ok(t),
}