#[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
.
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.