pub enum CompileFilter {
Default {
required_features_filterable: bool,
},
Only {
all_targets: bool,
lib: LibRule,
bins: FilterRule,
examples: FilterRule,
tests: FilterRule,
benches: FilterRule,
},
}
Expand description
Filter to apply to the root package to select which Cargo targets will be built. (examples, bins, benches, tests, …)
The actual filter process happens inside generate_root_units
.
Not to be confused with Packages
, which opts in packages to be built.
Variants§
Default
The default set of Cargo targets.
Fields
Only
Only includes a subset of all Cargo targets.
Implementations§
source§impl CompileFilter
impl CompileFilter
sourcepub fn from_raw_arguments(
lib_only: bool,
bins: Vec<String>,
all_bins: bool,
tsts: Vec<String>,
all_tsts: bool,
exms: Vec<String>,
all_exms: bool,
bens: Vec<String>,
all_bens: bool,
all_targets: bool,
) -> CompileFilter
pub fn from_raw_arguments( lib_only: bool, bins: Vec<String>, all_bins: bool, tsts: Vec<String>, all_tsts: bool, exms: Vec<String>, all_exms: bool, bens: Vec<String>, all_bens: bool, all_targets: bool, ) -> CompileFilter
Constructs a filter from raw command line arguments.
sourcepub fn new(
rule_lib: LibRule,
rule_bins: FilterRule,
rule_tsts: FilterRule,
rule_exms: FilterRule,
rule_bens: FilterRule,
) -> CompileFilter
pub fn new( rule_lib: LibRule, rule_bins: FilterRule, rule_tsts: FilterRule, rule_exms: FilterRule, rule_bens: FilterRule, ) -> CompileFilter
Constructs a filter from underlying primitives.
sourcepub fn new_all_targets() -> CompileFilter
pub fn new_all_targets() -> CompileFilter
Constructs a filter that includes all targets.
sourcepub fn all_test_targets() -> Self
pub fn all_test_targets() -> Self
Constructs a filter that includes all test targets.
Being different from the behavior of CompileFilter::Default
, this
function only recognizes test targets, which means cargo might compile
all targets with tested
flag on, whereas CompileFilter::Default
may include additional example targets to ensure they can be compiled.
Note that the actual behavior is subject to filter_default_targets
and generate_root_units
though.
sourcepub fn single_bin(bin: String) -> Self
pub fn single_bin(bin: String) -> Self
Constructs a filter that includes the given binary. No more. No less.
sourcepub fn need_dev_deps(&self, mode: CompileMode) -> bool
pub fn need_dev_deps(&self, mode: CompileMode) -> bool
Indicates if Cargo needs to build any dev dependency.
sourcepub fn target_run(&self, target: &Target) -> bool
pub fn target_run(&self, target: &Target) -> bool
Selects targets for “cargo run”. for logic to select targets for other
subcommands, see generate_root_units
and filter_default_targets
.
pub fn is_specific(&self) -> bool
pub fn is_all_targets(&self) -> bool
sourcepub(crate) fn contains_glob_patterns(&self) -> bool
pub(crate) fn contains_glob_patterns(&self) -> bool
Checks if any specified target name contains glob patterns.
Trait Implementations§
source§impl Clone for CompileFilter
impl Clone for CompileFilter
source§fn clone(&self) -> CompileFilter
fn clone(&self) -> CompileFilter
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for CompileFilter
impl RefUnwindSafe for CompileFilter
impl Send for CompileFilter
impl Sync for CompileFilter
impl Unpin for CompileFilter
impl UnwindSafe for CompileFilter
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
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> 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>
§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>
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: 104 bytes
Size for each variant:
Default
: 9 bytesOnly
: 104 bytes