#[non_exhaustive]pub struct Target {
pub name: String,
pub kind: Vec<TargetKind>,
pub crate_types: Vec<CrateType>,
pub required_features: Vec<String>,
pub src_path: Utf8PathBuf,
pub edition: Edition,
pub doctest: bool,
pub test: bool,
pub doc: bool,
}
Expand description
A single target (lib, bin, example, …) provided by a crate
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.name: String
Name as given in the Cargo.toml
or generated from the file name
kind: Vec<TargetKind>
Kind of target.
The possible values are example
, test
, bench
, custom-build
and
Cargo crate types:
bin
, lib
, rlib
, dylib
, cdylib
, staticlib
, proc-macro
.
Other possible values may be added in the future.
crate_types: Vec<CrateType>
Similar to kind
, but only reports the
Cargo crate types:
bin
, lib
, rlib
, dylib
, cdylib
, staticlib
, proc-macro
.
Everything that’s not a proc macro or a library of some kind is reported as “bin”.
Other possible values may be added in the future.
required_features: Vec<String>
This target is built only if these features are enabled.
It doesn’t apply to lib
targets.
src_path: Utf8PathBuf
Path to the main source file of the target
edition: Edition
Rust edition for this target
doctest: bool
Whether or not this target has doc tests enabled, and the target is compatible with doc testing.
This is always true
if running with a version of Cargo older than 1.37.
test: bool
Whether or not this target is tested by default by cargo test
.
This is always true
if running with a version of Cargo older than 1.47.
doc: bool
Whether or not this target is documented by cargo doc
.
This is always true
if running with a version of Cargo older than 1.50.
Implementations§
Source§impl Target
impl Target
Sourcepub fn is_kind(&self, name: TargetKind) -> bool
pub fn is_kind(&self, name: TargetKind) -> bool
Return true if this target is of the given kind.
Sourcepub fn is_example(&self) -> bool
pub fn is_example(&self) -> bool
Return true if this target is of kind $kind
.
Sourcepub fn is_custom_build(&self) -> bool
pub fn is_custom_build(&self) -> bool
Return true if this target is of kind $kind
.
Sourcepub fn is_proc_macro(&self) -> bool
pub fn is_proc_macro(&self) -> bool
Return true if this target is of kind $kind
.
Sourcepub fn is_staticlib(&self) -> bool
pub fn is_staticlib(&self) -> bool
Return true if this target is of kind $kind
.