pub struct OptionUpdate<U>(pub U);Tuple Fields§
§0: UTrait Implementations§
Source§impl<R: RA, U: Update<R>> Update<Option<R>> for OptionUpdate<U>
impl<R: RA, U: Update<R>> Update<Option<R>> for OptionUpdate<U>
Source§fn premise(self, from: Option<R>) -> bool
fn premise(self, from: Option<R>) -> bool
(open)
match from { Some(from) => self.0.premise(from), None => false, }
Source§fn update(self, from: Option<R>, ch: U::Choice) -> Option<R>
fn update(self, from: Option<R>, ch: U::Choice) -> Option<R>
(open)
match from { Some(from) => Some(self.0.update(from, ch)), None => None, /* Dummy */ }
requires
self.premise(from)Source§fn frame_preserving(self, from: Option<R>, frame: Option<R>) -> U::Choice
fn frame_preserving(self, from: Option<R>, frame: Option<R>) -> U::Choice
⚠
requires
self.premise(from)requires
from.op(frame) != Noneensures
self.update(from, result).op(frame) != Nonetype Choice = <U as Update<R>>::Choice
Auto Trait Implementations§
impl<U> Freeze for OptionUpdate<U>where
U: Freeze,
impl<U> RefUnwindSafe for OptionUpdate<U>where
U: RefUnwindSafe,
impl<U> Send for OptionUpdate<U>where
U: Send,
impl<U> Sync for OptionUpdate<U>where
U: Sync,
impl<U> Unpin for OptionUpdate<U>where
U: Unpin,
impl<U> UnwindSafe for OptionUpdate<U>where
U: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more