Struct cargo_metadata::Target
source · #[non_exhaustive]pub struct Target {
pub name: String,
pub kind: Vec<String>,
pub crate_types: Vec<String>,
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<String>
Kind of target (“bin”, “example”, “test”, “bench”, “lib”, “custom-build”)
crate_types: Vec<String>
Almost the same as kind
, except when an example is a library instead of an executable.
In that case crate_types
contains things like rlib
and dylib
while kind
is example
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_example(&self) -> bool
pub fn is_example(&self) -> bool
Return true if this target is of kind “example”.
sourcepub fn is_custom_build(&self) -> bool
pub fn is_custom_build(&self) -> bool
Return true if this target is of kind “custom-build”.