pub struct OptionLocalUpdate<U>(pub U);Tuple Fields§
§0: UTrait Implementations§
Source§impl<R: RA, U: LocalUpdate<R>> LocalUpdate<Option<R>> for OptionLocalUpdate<U>
impl<R: RA, U: LocalUpdate<R>> LocalUpdate<Option<R>> for OptionLocalUpdate<U>
Source§fn premise(self, from_auth: Option<R>, from_frag: Option<R>) -> bool
fn premise(self, from_auth: Option<R>, from_frag: Option<R>) -> bool
(open, inline)
match (from_auth, from_frag) { (Some(from_auth), Some(from_frag)) => self.0.premise(from_auth, from_frag), _ => false, }
Source§fn update(
self,
from_auth: Option<R>,
from_frag: Option<R>,
) -> (Option<R>, Option<R>)
fn update( self, from_auth: Option<R>, from_frag: Option<R>, ) -> (Option<R>, Option<R>)
(open, inline)
match (from_auth, from_frag) { (Some(from_auth), Some(from_frag)) => { let (to_auth, to_frag) = self.0.update(from_auth, from_frag); (Some(to_auth), Some(to_frag)) } _ => (None, None), // Dummy }
Source§fn frame_preserving(
self,
from_auth: Option<R>,
from_frag: Option<R>,
frame: Option<Option<R>>,
)
fn frame_preserving( self, from_auth: Option<R>, from_frag: Option<R>, frame: Option<Option<R>>, )
⚠
requires
self.premise(from_auth, from_frag)requires
Some(from_frag).op(frame) == Some(Some(from_auth))ensures
let (to_auth, to_frag) = self.update(from_auth, from_frag); Some(to_frag).op(frame) == Some(Some(to_auth))
Auto Trait Implementations§
impl<U> Freeze for OptionLocalUpdate<U>where
U: Freeze,
impl<U> RefUnwindSafe for OptionLocalUpdate<U>where
U: RefUnwindSafe,
impl<U> Send for OptionLocalUpdate<U>where
U: Send,
impl<U> Sync for OptionLocalUpdate<U>where
U: Sync,
impl<U> Unpin for OptionLocalUpdate<U>where
U: Unpin,
impl<U> UnwindSafe for OptionLocalUpdate<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