pub(crate) struct ScopeGuard {
depth: usize,
name: &'static str,
}Expand description
Guard that helps uphold the scope depth correctness invariant.
Scopes should be closed and they should be closed in the right order. If that isn’t the case the compiler has somehow lost track of scopes and the resulting program will not be correct.
Fields§
§depth: usizeAvailable on debug-assertions enabled only.
§name: &'static strAvailable on debug-assertions enabled only.
Implementations§
Trait Implementations§
Source§impl Drop for ScopeGuard
impl Drop for ScopeGuard
Auto Trait Implementations§
impl Freeze for ScopeGuard
impl RefUnwindSafe for ScopeGuard
impl Send for ScopeGuard
impl Sync for ScopeGuard
impl Unpin for ScopeGuard
impl UnsafeUnpin for ScopeGuard
impl UnwindSafe for ScopeGuard
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