pub enum BeginFree {
Drained,
AlreadyFreeing,
TimedOut,
}Expand description
Outcome of HandleGuard::begin_free_detailed — lets a _free
log accurately instead of treating every non-success the same.
Variants§
Drained
This call won the free race AND in-flight ops drained: the caller owns the right to take/drop the inner exactly once.
AlreadyFreeing
A prior _free already won for this handle (benign repeat
free). The caller must NOT touch the inner — the winner has
it — and nothing is leaked by this call, so don’t warn.
TimedOut
This call won the free race but in-flight ops did not drain within the deadline. The caller must leak the inner (a concurrent op may still be reading it) — worth a warning.
Trait Implementations§
impl Copy for BeginFree
impl Eq for BeginFree
impl StructuralPartialEq for BeginFree
Auto Trait Implementations§
impl Freeze for BeginFree
impl RefUnwindSafe for BeginFree
impl Send for BeginFree
impl Sync for BeginFree
impl Unpin for BeginFree
impl UnsafeUnpin for BeginFree
impl UnwindSafe for BeginFree
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.