pub struct FeatureOpts {
decouple_host_deps: bool,
decouple_dev_deps: bool,
ignore_inactive_targets: bool,
compare: bool,
}Expand description
Options for how the feature resolver works.
Fields§
§decouple_host_deps: boolBuild deps and proc-macros will not share features with other dep kinds, and so won’t artifact targets. In other terms, if true, features associated with certain kinds of dependencies will only be unified together. If false, there is only one namespace for features, unifying all features across all dependencies, no matter what kind.
decouple_dev_deps: boolDev dep features will not be activated unless needed.
ignore_inactive_targets: boolTargets that are not in use will not activate features.
compare: boolIf enabled, compare against old resolver (for testing).
Implementations§
Source§impl FeatureOpts
impl FeatureOpts
pub fn new( ws: &Workspace<'_>, has_dev_units: HasDevUnits, force_all_targets: ForceAllTargets, ) -> CargoResult<FeatureOpts>
Sourcepub fn new_behavior(
behavior: ResolveBehavior,
has_dev_units: HasDevUnits,
) -> FeatureOpts
pub fn new_behavior( behavior: ResolveBehavior, has_dev_units: HasDevUnits, ) -> FeatureOpts
Creates a new FeatureOpts for the given behavior.
Trait Implementations§
Source§impl Default for FeatureOpts
impl Default for FeatureOpts
Source§fn default() -> FeatureOpts
fn default() -> FeatureOpts
Auto Trait Implementations§
impl Freeze for FeatureOpts
impl RefUnwindSafe for FeatureOpts
impl Send for FeatureOpts
impl Sync for FeatureOpts
impl Unpin for FeatureOpts
impl UnwindSafe for FeatureOpts
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
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: 4 bytes