pub struct BumpScopeGuardRoot<'b, A, const MIN_ALIGN: usize = 1, const UP: bool = true>{ /* private fields */ }Expand description
Returned from Bump::scope_guard.
This fulfills the same purpose as BumpScopeGuard, but it does not need to store
the address which the bump pointer needs to be reset to. It simply resets the bump pointer to the very start.
It is allowed to do so because it takes a &mut Bump to create this guard. This means that no
allocations can be live when the guard is created.
Implementations§
Source§impl<'a, A, const MIN_ALIGN: usize, const UP: bool> BumpScopeGuardRoot<'a, A, MIN_ALIGN, UP>
impl<'a, A, const MIN_ALIGN: usize, const UP: bool> BumpScopeGuardRoot<'a, A, MIN_ALIGN, UP>
Trait Implementations§
Source§impl<A, const MIN_ALIGN: usize, const UP: bool> Debug for BumpScopeGuardRoot<'_, A, MIN_ALIGN, UP>
impl<A, const MIN_ALIGN: usize, const UP: bool> Debug for BumpScopeGuardRoot<'_, A, MIN_ALIGN, UP>
Auto Trait Implementations§
impl<'b, A, const MIN_ALIGN: usize, const UP: bool> Freeze for BumpScopeGuardRoot<'b, A, MIN_ALIGN, UP>where
MinimumAlignment<MIN_ALIGN>: Sized,
impl<'b, A, const MIN_ALIGN: usize = 1, const UP: bool = true> !RefUnwindSafe for BumpScopeGuardRoot<'b, A, MIN_ALIGN, UP>
impl<'b, A, const MIN_ALIGN: usize = 1, const UP: bool = true> !Send for BumpScopeGuardRoot<'b, A, MIN_ALIGN, UP>
impl<'b, A, const MIN_ALIGN: usize = 1, const UP: bool = true> !Sync for BumpScopeGuardRoot<'b, A, MIN_ALIGN, UP>
impl<'b, A, const MIN_ALIGN: usize, const UP: bool> Unpin for BumpScopeGuardRoot<'b, A, MIN_ALIGN, UP>where
MinimumAlignment<MIN_ALIGN>: Sized,
impl<'b, A, const MIN_ALIGN: usize = 1, const UP: bool = true> !UnwindSafe for BumpScopeGuardRoot<'b, A, MIN_ALIGN, UP>
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