pub struct ViewUpdateInsert<R: ViewRel>(pub Snapshot<R::Auth>, pub Snapshot<R::Frag>);Tuple Fields§
§0: Snapshot<R::Auth>§1: Snapshot<R::Frag>Trait Implementations§
Source§impl<R: ViewRel> Update<View<R>> for ViewUpdateInsert<R>
impl<R: ViewRel> Update<View<R>> for ViewUpdateInsert<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> R::rel(from.auth(), f) ==> match self.1.op(f) { Some(ff) => R::rel(Some(*self.0), ff), None => false } }
Source§fn update(self, from: View<R>, _: ()) -> View<R>
fn update(self, from: View<R>, _: ()) -> View<R>
(open)
View::new(Some(*self.0), *self.1)requires
self.premise(from)ensures
R::rel(Some(*self.0), *self.1)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 ViewUpdateInsert<R>
impl<R> RefUnwindSafe for ViewUpdateInsert<R>
impl<R> Send for ViewUpdateInsert<R>
impl<R> Sync for ViewUpdateInsert<R>
impl<R> Unpin for ViewUpdateInsert<R>
impl<R> UnwindSafe for ViewUpdateInsert<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