pub enum SplitDwarfKind {
Single,
Split,
}
Expand description
Split debug-information is enabled by -C split-debuginfo
, this enum is only used if split
debug-information is enabled (in either Packed
or Unpacked
modes), and the platform
uses DWARF for debug-information.
Some debug-information requires link-time relocation and some does not. LLVM can partition the debuginfo into sections depending on whether or not it requires link-time relocation. Split DWARF provides a mechanism which allows the linker to skip the sections which don’t require link-time relocation - either by putting those sections in DWARF object files, or by keeping them in the object file in such a way that the linker will skip them.
Variants§
Single
Sections which do not require relocation are written into object file but ignored by the linker.
Split
Sections which do not require relocation are written into a DWARF object (.dwo
) file
which is ignored by the linker.
Trait Implementations§
Source§impl Clone for SplitDwarfKind
impl Clone for SplitDwarfKind
Source§fn clone(&self) -> SplitDwarfKind
fn clone(&self) -> SplitDwarfKind
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for SplitDwarfKind
impl Debug for SplitDwarfKind
Source§impl DepTrackingHash for SplitDwarfKind
impl DepTrackingHash for SplitDwarfKind
fn hash( &self, hasher: &mut DefaultHasher, _: ErrorOutputType, _for_crate_hash: bool, )
Source§impl FromStr for SplitDwarfKind
impl FromStr for SplitDwarfKind
Source§impl Hash for SplitDwarfKind
impl Hash for SplitDwarfKind
Source§impl PartialEq for SplitDwarfKind
impl PartialEq for SplitDwarfKind
impl Copy for SplitDwarfKind
impl StructuralPartialEq for SplitDwarfKind
Auto Trait Implementations§
impl DynSend for SplitDwarfKind
impl DynSync for SplitDwarfKind
impl Freeze for SplitDwarfKind
impl RefUnwindSafe for SplitDwarfKind
impl Send for SplitDwarfKind
impl Sync for SplitDwarfKind
impl Unpin for SplitDwarfKind
impl UnwindSafe for SplitDwarfKind
Blanket Implementations§
Source§impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut T
fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = T>, ) -> &'tcx mut [T]
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
Source§impl<I, T> UpcastFrom<I, T> for T
impl<I, T> UpcastFrom<I, T> for T
fn upcast_from(from: T, _tcx: I) -> T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
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: 1 byte
Size for each variant:
Single
: 0 bytesSplit
: 0 bytes