#[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: StringName 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: Utf8PathBufPath to the main source file of the target
edition: EditionRust edition for this target
doctest: boolWhether 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: boolWhether 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: boolWhether 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.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Target
impl<'de> Deserialize<'de> for Target
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Target
impl StructuralPartialEq for Target
Auto Trait Implementations§
impl Freeze for Target
impl RefUnwindSafe for Target
impl Send for Target
impl Sync for Target
impl Unpin for Target
impl UnwindSafe for Target
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§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.