enum TlsDtorsStatePriv<'tcx> {
Init,
MacOsDtors,
PthreadDtors(RunningPthreadDtorState),
WindowsDtors(RunningWindowsDtorState, Vec<(ImmTy<'tcx>, Span)>),
Done,
}Variants§
Init
MacOsDtors
PthreadDtors(RunningPthreadDtorState)
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§
Source§impl<'tcx> Debug for TlsDtorsStatePriv<'tcx>
impl<'tcx> Debug for TlsDtorsStatePriv<'tcx>
Source§impl<'tcx> Default for TlsDtorsStatePriv<'tcx>
impl<'tcx> Default for TlsDtorsStatePriv<'tcx>
Source§fn default() -> TlsDtorsStatePriv<'tcx>
fn default() -> TlsDtorsStatePriv<'tcx>
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl<'tcx> !RefUnwindSafe for TlsDtorsStatePriv<'tcx>
impl<'tcx> !UnwindSafe for TlsDtorsStatePriv<'tcx>
impl<'tcx> Freeze 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 bytesMacOsDtors: 0 bytesPthreadDtors: 48 bytesWindowsDtors: 96 bytesDone: 0 bytes