pub struct ViewUpdateRemove<R: ViewRel>(pub Snapshot<R::Auth>);Tuple Fields§
§0: Snapshot<R::Auth>Trait Implementations§
Source§impl<R: ViewRel> Update<View<R>> for ViewUpdateRemove<R>
impl<R: ViewRel> Update<View<R>> for ViewUpdateRemove<R>
Source§fn premise(self, from: View<R>) -> bool
fn premise(self, from: View<R>) -> bool
(open)
pearlite! { from.auth() != None && forall<f: R::Frag> match from.frag().op(f) { Some(ff) => R::rel(from.auth(), ff), None => false } ==> R::rel(Some(*self.0), f) }
Source§fn update(self, from: View<R>, _: ()) -> View<R>
fn update(self, from: View<R>, _: ()) -> View<R>
(open)
View::new_auth(*self.0)requires
self.premise(from)ensures
R::rel(Some(*self.0), R::Frag::unit())Source§fn frame_preserving(self, from: View<R>, frame: View<R>)
fn frame_preserving(self, from: View<R>, frame: View<R>)
⚠
requires
self.premise(from)requires
from.op(frame) != Noneensures
self.update(from, result).op(frame) != Nonetype Choice = ()
Auto Trait Implementations§
impl<R> Freeze for ViewUpdateRemove<R>
impl<R> RefUnwindSafe for ViewUpdateRemove<R>
impl<R> Send for ViewUpdateRemove<R>
impl<R> Sync for ViewUpdateRemove<R>
impl<R> Unpin for ViewUpdateRemove<R>
impl<R> UnwindSafe for ViewUpdateRemove<R>
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