pub struct AuthUpdate<U>(pub U);Tuple Fields§
§0: UTrait Implementations§
Source§impl<R: UnitRA, U: LocalUpdate<R>> Update<View<AuthViewRel<R>>> for AuthUpdate<U>
impl<R: UnitRA, U: LocalUpdate<R>> Update<View<AuthViewRel<R>>> for AuthUpdate<U>
Source§fn premise(self, from: Auth<R>) -> bool
fn premise(self, from: Auth<R>) -> bool
(open)
match from.auth() { Some(auth) => self.0.premise(auth, from.frag()), None => false, }
Source§fn update(self, from: Auth<R>, _: ()) -> Auth<R>
fn update(self, from: Auth<R>, _: ()) -> Auth<R>
(open)
let from_auth = from.auth().unwrap_logic(); let (auth, frag) = self.0.update(from_auth, from.frag()); self.0.frame_preserving(from_auth, from.frag(), from_auth.factor(from.frag())); Auth::new(Some(auth), frag)
requires
self.premise(from)ensures
let (auth, frag) = self.0.update(from.auth().unwrap_logic(), from.frag()); AuthViewRel::rel(Some(auth), frag)
Source§fn frame_preserving(self, from: Auth<R>, frame: Auth<R>)
fn frame_preserving(self, from: Auth<R>, frame: Auth<R>)
⚠
requires
self.premise(from)requires
from.op(frame) != Noneensures
self.update(from, result).op(frame) != Nonetype Choice = ()
Auto Trait Implementations§
impl<U> Freeze for AuthUpdate<U>where
U: Freeze,
impl<U> RefUnwindSafe for AuthUpdate<U>where
U: RefUnwindSafe,
impl<U> Send for AuthUpdate<U>where
U: Send,
impl<U> Sync for AuthUpdate<U>where
U: Sync,
impl<U> Unpin for AuthUpdate<U>where
U: Unpin,
impl<U> UnwindSafe for AuthUpdate<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