pub struct Fragment<R: UnitRA>(pub Resource<Auth<R>>);Tuple Fields§
§0: Resource<Auth<R>>Implementations§
Source§impl<R: UnitRA> Fragment<R>
impl<R: UnitRA> Fragment<R>
Sourcepub fn id_ghost(&self) -> Id
pub fn id_ghost(&self) -> Id
Get the id for this resource.
This is the same as [Self::id], but for ghost code.
Sourcepub fn split(self, a: Snapshot<R>, b: Snapshot<R>) -> (Self, Self)
pub fn split(self, a: Snapshot<R>, b: Snapshot<R>) -> (Self, Self)
Split a fragment into two parts, described by a and b.
See also Self::split_off.
Sourcepub fn split_off(&mut self, r: Snapshot<R>, s: Snapshot<R>) -> Self
pub fn split_off(&mut self, r: Snapshot<R>, s: Snapshot<R>) -> Self
Remove r from self and return it, leaving s in self.
Sourcepub fn join(self, other: Self) -> Self
pub fn join(self, other: Self) -> Self
Join two owned framents together.
See also Self::join_in and [Self::join_shared].
Sourcepub fn join_in(&mut self, other: Self)
pub fn join_in(&mut self, other: Self)
Same as Self::join, but put the result into self.
Sourcepub fn weaken(&mut self, target: Snapshot<R>)
pub fn weaken(&mut self, target: Snapshot<R>)
Transforms self into target, given that target is included in self.
Sourcepub fn valid_op_lemma(&mut self, other: &Self)
pub fn valid_op_lemma(&mut self, other: &Self)
Validate the composition of self and other.
Trait Implementations§
Auto Trait Implementations§
impl<R> Freeze for Fragment<R>
impl<R> RefUnwindSafe for Fragment<R>where
R: RefUnwindSafe,
impl<R> Send for Fragment<R>
impl<R> Sync for Fragment<R>where
R: Sync,
impl<R> Unpin for Fragment<R>where
R: Unpin,
impl<R> UnsafeUnpin for Fragment<R>
impl<R> UnwindSafe for Fragment<R>where
R: 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