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

Fields

§required_features_filterable: bool

Flag whether targets can be safely skipped when required-features are not satisfied.

The default set of Cargo targets.

§

Only

Fields

§all_targets: bool

Include all Cargo targets.

§lib: LibRule
§examples: FilterRule
§tests: FilterRule
§benches: FilterRule

Only includes a subset of all Cargo targets.

Implementations§

Constructs a filter from raw command line arguments.

Constructs a filter from underlying primitives.

Constructs a filter that includes all targets.

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.

Constructs a filter that includes lib target only.

Constructs a filter that includes the given binary. No more. No less.

Indicates if Cargo needs to build any dev dependency.

Selects targets for “cargo run”. for logic to select targets for other subcommands, see generate_root_units and filter_default_targets.

Checks if any specified target name contains glob patterns.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.

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: 1 byte
  • Only: 103 bytes