pub struct GuardPool(/* private fields */);Expand description
A GuardPool is an “arena”-style storage area for FlatGuards.
Some invariants for the underlying vector:
GuardRefsare always within the same pool (obviously).- The underlyings numbers in
GuardRefs can only go “backward,” in the sense that they refer to smaller indices than the currentFlatGuard. - The first
FlatGuardis alwaysFlatGuard::True.
This could be used to do some interesting hash-consing/deduplication; it currently does the
weakest possible form of that: deduplicating True guards only.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for GuardPool
impl !RefUnwindSafe for GuardPool
impl !Send for GuardPool
impl !Sync for GuardPool
impl Unpin for GuardPool
impl !UnwindSafe for GuardPool
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more