Skip to main content

SumLocalUpdateR

Struct SumLocalUpdateR 

Source
pub struct SumLocalUpdateR<U>(pub U);
Expand description

Apply an update to the Right variant of an authority/fragment pair of Sums.

This requires either the authority or the fragment to be in the Right state (the other will be implied as they must always be in the same state).

Tuple Fields§

§0: U

Trait Implementations§

Source§

impl<R1: RA, R2: RA, U: LocalUpdate<R2>> LocalUpdate<Sum<R1, R2>> for SumLocalUpdateR<U>

Source§

fn premise(self, from_auth: Sum<R1, R2>, from_frag: Sum<R1, R2>) -> bool

logic(open, inline)

match (from_auth, from_frag) {
    (Sum::Right(from_auth), Sum::Right(from_frag)) => self.0.premise(from_auth, from_frag),
    (Sum::Left(_), Sum::Left(_)) => false,
    _ => true,
}
Source§

fn update( self, from_auth: Sum<R1, R2>, from_frag: Sum<R1, R2>, ) -> (Sum<R1, R2>, Sum<R1, R2>)

logic(open, inline)

/* Macro-generated */

Source§

fn frame_preserving( self, from_auth: Sum<R1, R2>, from_frag: Sum<R1, R2>, frame: Option<Sum<R1, R2>>, )

logic

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 SumLocalUpdateR<U>
where U: Freeze,

§

impl<U> Objective for SumLocalUpdateR<U>
where U: Objective,

§

impl<U> RefUnwindSafe for SumLocalUpdateR<U>
where U: RefUnwindSafe,

§

impl<U> Send for SumLocalUpdateR<U>
where U: Send,

§

impl<U> Sync for SumLocalUpdateR<U>
where U: Sync,

§

impl<U> Unpin for SumLocalUpdateR<U>
where U: Unpin,

§

impl<U> UnsafeUnpin for SumLocalUpdateR<U>
where U: UnsafeUnpin,

§

impl<U> UnwindSafe for SumLocalUpdateR<U>
where U: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.