Struct cargo_toml::Package
source · [−]#[non_exhaustive]pub struct Package<Metadata = Value> {Show 25 fields
pub name: String,
pub edition: Edition,
pub rust_version: Option<String>,
pub version: String,
pub build: Option<OptionalFile>,
pub workspace: Option<String>,
pub authors: Vec<String>,
pub links: Option<String>,
pub description: Option<String>,
pub homepage: Option<String>,
pub documentation: Option<String>,
pub readme: OptionalFile,
pub keywords: Vec<String>,
pub categories: Vec<String>,
pub license: Option<String>,
pub license_file: Option<String>,
pub repository: Option<String>,
pub default_run: Option<String>,
pub autobins: bool,
pub autoexamples: bool,
pub autotests: bool,
pub autobenches: bool,
pub publish: Publish,
pub resolver: Option<Resolver>,
pub metadata: Option<Metadata>,
}
Expand description
You can replace Metadata
type with your own
to parse into something more useful than a generic toml Value
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
Careful: some names are uppercase
edition: Edition
rust_version: Option<String>
MSRV 1.x (beware: does not require semver formatting)
version: String
e.g. “1.9.0”
build: Option<OptionalFile>
workspace: Option<String>
e.g. [“Author e@mail”, “etc”] Deprecated.
links: Option<String>
description: Option<String>
A short blurb about the package. This is not rendered in any format when uploaded to crates.io (aka this is not markdown).
homepage: Option<String>
documentation: Option<String>
readme: OptionalFile
This points to a file under the package root (relative to this Cargo.toml
).
implied if README.md, README.txt or README exists.
keywords: Vec<String>
categories: Vec<String>
This is a list of up to five categories where this crate would fit. e.g. [“command-line-utilities”, “development-tools::cargo-plugins”]
license: Option<String>
e.g. “MIT”
license_file: Option<String>
repository: Option<String>
default_run: Option<String>
The default binary to run by cargo run.
autobins: bool
autoexamples: bool
autotests: bool
autobenches: bool
publish: Publish
resolver: Option<Resolver>
“2” is the only useful value
metadata: Option<Metadata>
Implementations
sourceimpl<Metadata> Package<Metadata>
impl<Metadata> Package<Metadata>
sourcepub fn new(name: impl Into<String>, version: impl Into<String>) -> Self
pub fn new(name: impl Into<String>, version: impl Into<String>) -> Self
Prefer creating it by parsing Manifest
instead
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn categories(&self) -> &[String]
pub fn categories(&self) -> &[String]
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn categories_mut(&mut self) -> &mut Vec<String>
pub fn categories_mut(&mut self) -> &mut Vec<String>
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn description(&self) -> Option<&str>
pub fn description(&self) -> Option<&str>
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
pub fn set_description(&mut self, description: Option<String>)
sourcepub fn documentation(&self) -> Option<&str>
pub fn documentation(&self) -> Option<&str>
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
pub fn set_documentation(&mut self, documentation: Option<String>)
sourcepub fn edition(&self) -> Edition
pub fn edition(&self) -> Edition
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn homepage(&self) -> Option<&str>
pub fn homepage(&self) -> Option<&str>
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
pub fn set_homepage(&mut self, homepage: Option<String>)
sourcepub fn keywords(&self) -> &[String]
pub fn keywords(&self) -> &[String]
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn license(&self) -> Option<&str>
pub fn license(&self) -> Option<&str>
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn license_file(&self) -> Option<&str>
pub fn license_file(&self) -> Option<&str>
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn publish(&self) -> &Publish
pub fn publish(&self) -> &Publish
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn readme(&self) -> &OptionalFile
pub fn readme(&self) -> &OptionalFile
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn repository(&self) -> Option<&str>
pub fn repository(&self) -> Option<&str>
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
pub fn set_repository(&mut self, repository: Option<String>)
sourcepub fn rust_version(&self) -> Option<&str>
pub fn rust_version(&self) -> Option<&str>
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)
sourcepub fn version(&self) -> &str
pub fn version(&self) -> &str
Panics if the field is not available (inherited from a workspace that hasn’t been loaded)