pub struct SumUpdateL<U>(pub U);Tuple Fields§
§0: UTrait Implementations§
Source§impl<R1: RA, R2: RA, U: Update<R1>> Update<Sum<R1, R2>> for SumUpdateL<U>
impl<R1: RA, R2: RA, U: Update<R1>> Update<Sum<R1, R2>> for SumUpdateL<U>
Source§fn premise(self, from: Sum<R1, R2>) -> bool
fn premise(self, from: Sum<R1, R2>) -> bool
(open)
match from { Sum::Left(from) => self.0.premise(from), Sum::Right(_) => false, }
Source§fn update(self, from: Sum<R1, R2>, ch: U::Choice) -> Sum<R1, R2>
fn update(self, from: Sum<R1, R2>, ch: U::Choice) -> Sum<R1, R2>
(open)
match from { Sum::Left(from) => Sum::Left(self.0.update(from, ch)), x => x, /* Dummy */ }
requires
self.premise(from)Source§fn frame_preserving(self, from: Sum<R1, R2>, frame: Sum<R1, R2>) -> U::Choice
fn frame_preserving(self, from: Sum<R1, R2>, frame: Sum<R1, R2>) -> U::Choice
⚠
requires
self.premise(from)requires
from.op(frame) != Noneensures
self.update(from, result).op(frame) != Nonetype Choice = <U as Update<R1>>::Choice
Auto Trait Implementations§
impl<U> Freeze for SumUpdateL<U>where
U: Freeze,
impl<U> RefUnwindSafe for SumUpdateL<U>where
U: RefUnwindSafe,
impl<U> Send for SumUpdateL<U>where
U: Send,
impl<U> Sync for SumUpdateL<U>where
U: Sync,
impl<U> Unpin for SumUpdateL<U>where
U: Unpin,
impl<U> UnwindSafe for SumUpdateL<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