Struct Metadata
#[non_exhaustive]pub struct Metadata {
pub packages: Vec<Package>,
pub workspace_members: Vec<PackageId>,
pub workspace_default_members: WorkspaceDefaultMembers,
pub resolve: Option<Resolve>,
pub workspace_root: Utf8PathBuf,
pub target_directory: Utf8PathBuf,
pub workspace_metadata: Value,
/* private fields */
}
Expand description
Starting point for metadata returned by cargo metadata
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.packages: Vec<Package>
A list of all crates referenced by this crate (and the crate itself)
workspace_members: Vec<PackageId>
A list of all workspace members
workspace_default_members: WorkspaceDefaultMembers
The list of default workspace members
This not available if running with a version of Cargo older than 1.71.
resolve: Option<Resolve>
Dependencies graph
workspace_root: Utf8PathBuf
Workspace root
target_directory: Utf8PathBuf
Build directory
workspace_metadata: Value
The workspace-level metadata object. Null if non-existent.
Implementations§
§impl Metadata
impl Metadata
pub fn root_package(&self) -> Option<&Package>
pub fn root_package(&self) -> Option<&Package>
Get the workspace’s root package of this metadata instance.
pub fn workspace_packages(&self) -> Vec<&Package>
pub fn workspace_packages(&self) -> Vec<&Package>
Get the workspace packages.
pub fn workspace_default_packages(&self) -> Vec<&Package>
pub fn workspace_default_packages(&self) -> Vec<&Package>
Get the workspace default packages.
§Panics
This will panic if running with a version of Cargo older than 1.71.
Trait Implementations§
§impl<'de> Deserialize<'de> for Metadata
impl<'de> Deserialize<'de> for Metadata
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Metadata, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Metadata, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl Serialize for Metadata
impl Serialize for Metadata
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for Metadata
impl RefUnwindSafe for Metadata
impl Send for Metadata
impl Sync for Metadata
impl Unpin for Metadata
impl UnwindSafe for Metadata
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more