enum TlsDtorsStatePriv<'tcx> {
Init,
ThreadAtexit,
PthreadDtors(RunningPthreadDtorState),
WindowsDtors(RunningWindowsDtorState, Vec<(ImmTy<'tcx>, Span)>),
Done,
}Variants§
Init
ThreadAtexit
Running native thread destructors (TlsData::thread_atexit).
PthreadDtors(RunningPthreadDtorState)
Running pthread key destructors.
WindowsDtors(RunningWindowsDtorState, Vec<(ImmTy<'tcx>, Span)>)
For Windows, we support two different ways dtors can be registered.
- Functions that are registered via the
FlsAllocfunction, which are invoked one by one. - Functions from the magic
.CRT$XLBlinker section. We store these as a list of functions that we still have to call.
Done
Trait Implementations§
Auto Trait Implementations§
impl<'tcx> !DynSend for TlsDtorsStatePriv<'tcx>
impl<'tcx> !DynSync for TlsDtorsStatePriv<'tcx>
impl<'tcx> !RefUnwindSafe for TlsDtorsStatePriv<'tcx>
impl<'tcx> !UnwindSafe for TlsDtorsStatePriv<'tcx>
impl<'tcx> Forget for TlsDtorsStatePriv<'tcx>
impl<'tcx> Freeze for TlsDtorsStatePriv<'tcx>
impl<'tcx> Move for TlsDtorsStatePriv<'tcx>
impl<'tcx> Send for TlsDtorsStatePriv<'tcx>
impl<'tcx> Sync for TlsDtorsStatePriv<'tcx>
impl<'tcx> Unpin for TlsDtorsStatePriv<'tcx>
impl<'tcx> UnsafeUnpin for TlsDtorsStatePriv<'tcx>
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
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 96 bytes
Size for each variant:
Init: 0 bytesThreadAtexit: 0 bytesPthreadDtors: 48 bytesWindowsDtors: 96 bytesDone: 0 bytes