pub struct LinkerFeaturesCli {
pub enabled: LinkerFeatures,
pub disabled: LinkerFeatures,
}
Expand description
The different values that -Z linker-features
can take on the CLI: a list of individually
enabled or disabled features used during linking.
There is no need to enable or disable them in bulk. Each feature is fine-grained, and can be
used to turn LinkerFeatures
on or off, without needing to change the linker flavor:
- using the system lld, or the self-contained
rust-lld
linker - using a C/C++ compiler to drive the linker (not yet exposed on the CLI)
- etc.
Fields§
§enabled: LinkerFeatures
The linker features that are enabled on the CLI, using the +feature
syntax.
disabled: LinkerFeatures
The linker features that are disabled on the CLI, using the -feature
syntax.
Implementations§
Source§impl LinkerFeaturesCli
impl LinkerFeaturesCli
Sourcepub(crate) fn handle_cli_feature(&mut self, feature: &str) -> Option<()>
pub(crate) fn handle_cli_feature(&mut self, feature: &str) -> Option<()>
Accumulates an enabled or disabled feature as specified on the CLI, if possible.
For example: +lld
, and -lld
.
Trait Implementations§
Source§impl Clone for LinkerFeaturesCli
impl Clone for LinkerFeaturesCli
Source§fn clone(&self) -> LinkerFeaturesCli
fn clone(&self) -> LinkerFeaturesCli
Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for LinkerFeaturesCli
impl Debug for LinkerFeaturesCli
Source§impl Default for LinkerFeaturesCli
impl Default for LinkerFeaturesCli
Source§fn default() -> LinkerFeaturesCli
fn default() -> LinkerFeaturesCli
Source§impl PartialEq for LinkerFeaturesCli
impl PartialEq for LinkerFeaturesCli
impl Copy for LinkerFeaturesCli
impl StructuralPartialEq for LinkerFeaturesCli
Auto Trait Implementations§
impl DynSend for LinkerFeaturesCli
impl DynSync for LinkerFeaturesCli
impl Freeze for LinkerFeaturesCli
impl RefUnwindSafe for LinkerFeaturesCli
impl Send for LinkerFeaturesCli
impl Sync for LinkerFeaturesCli
impl Unpin for LinkerFeaturesCli
impl UnwindSafe for LinkerFeaturesCli
Blanket Implementations§
§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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§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
§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: 2 bytes