pub struct Manifest {Show 27 fields
contents: Rc<String>,
document: Rc<ImDocument<String>>,
original_toml: Rc<TomlManifest>,
normalized_toml: Rc<TomlManifest>,
summary: Summary,
targets: Vec<Target>,
default_kind: Option<CompileKind>,
forced_kind: Option<CompileKind>,
links: Option<String>,
warnings: Warnings,
exclude: Vec<String>,
include: Vec<String>,
metadata: ManifestMetadata,
custom_metadata: Option<Value>,
publish: Option<Vec<String>>,
replace: Vec<(PackageIdSpec, Dependency)>,
patch: HashMap<Url, Vec<Dependency>>,
workspace: WorkspaceConfig,
unstable_features: Features,
edition: Edition,
rust_version: Option<RustVersion>,
im_a_teapot: Option<bool>,
default_run: Option<String>,
metabuild: Option<Vec<String>>,
resolve_behavior: Option<ResolveBehavior>,
lint_rustflags: Vec<String>,
embedded: bool,
}
Expand description
Contains all the information about a package, as loaded from a Cargo.toml
.
This is deserialized using the TomlManifest
type.
Fields§
§contents: Rc<String>
§document: Rc<ImDocument<String>>
§original_toml: Rc<TomlManifest>
§normalized_toml: Rc<TomlManifest>
§summary: Summary
§targets: Vec<Target>
§default_kind: Option<CompileKind>
§forced_kind: Option<CompileKind>
§links: Option<String>
§warnings: Warnings
§exclude: Vec<String>
§include: Vec<String>
§metadata: ManifestMetadata
§custom_metadata: Option<Value>
§publish: Option<Vec<String>>
§replace: Vec<(PackageIdSpec, Dependency)>
§patch: HashMap<Url, Vec<Dependency>>
§workspace: WorkspaceConfig
§unstable_features: Features
§edition: Edition
§rust_version: Option<RustVersion>
§im_a_teapot: Option<bool>
§default_run: Option<String>
§metabuild: Option<Vec<String>>
§resolve_behavior: Option<ResolveBehavior>
§lint_rustflags: Vec<String>
§embedded: bool
Implementations§
Source§impl Manifest
impl Manifest
pub fn new( contents: Rc<String>, document: Rc<ImDocument<String>>, original_toml: Rc<TomlManifest>, normalized_toml: Rc<TomlManifest>, summary: Summary, default_kind: Option<CompileKind>, forced_kind: Option<CompileKind>, targets: Vec<Target>, exclude: Vec<String>, include: Vec<String>, links: Option<String>, metadata: ManifestMetadata, custom_metadata: Option<Value>, publish: Option<Vec<String>>, replace: Vec<(PackageIdSpec, Dependency)>, patch: HashMap<Url, Vec<Dependency>>, workspace: WorkspaceConfig, unstable_features: Features, edition: Edition, rust_version: Option<RustVersion>, im_a_teapot: Option<bool>, default_run: Option<String>, metabuild: Option<Vec<String>>, resolve_behavior: Option<ResolveBehavior>, lint_rustflags: Vec<String>, embedded: bool, ) -> Manifest
Sourcepub fn to_normalized_contents(&self) -> CargoResult<String>
pub fn to_normalized_contents(&self) -> CargoResult<String>
See Manifest::normalized_toml
for what “normalized” means
Sourcepub fn original_toml(&self) -> &TomlManifest
pub fn original_toml(&self) -> &TomlManifest
The TomlManifest
as parsed from Manifest::document
Sourcepub fn normalized_toml(&self) -> &TomlManifest
pub fn normalized_toml(&self) -> &TomlManifest
The TomlManifest
with all fields expanded
This is the intersection of what fields need resolving for cargo-publish that also are useful for the operation of cargo, including
- workspace inheritance
- target discovery
pub fn summary(&self) -> &Summary
pub fn summary_mut(&mut self) -> &mut Summary
pub fn dependencies(&self) -> &[Dependency]
pub fn default_kind(&self) -> Option<CompileKind>
pub fn forced_kind(&self) -> Option<CompileKind>
pub fn exclude(&self) -> &[String]
pub fn include(&self) -> &[String]
pub fn metadata(&self) -> &ManifestMetadata
pub fn name(&self) -> InternedString
pub fn package_id(&self) -> PackageId
pub fn targets(&self) -> &[Target]
pub fn targets_mut(&mut self) -> &mut [Target]
pub fn version(&self) -> &Version
pub fn warnings_mut(&mut self) -> &mut Warnings
pub fn warnings(&self) -> &Warnings
pub fn profiles(&self) -> Option<&TomlProfiles>
pub fn publish(&self) -> &Option<Vec<String>>
pub fn replace(&self) -> &[(PackageIdSpec, Dependency)]
pub fn patch(&self) -> &HashMap<Url, Vec<Dependency>>
pub fn links(&self) -> Option<&str>
pub fn is_embedded(&self) -> bool
pub fn workspace_config(&self) -> &WorkspaceConfig
Sourcepub fn unstable_features(&self) -> &Features
pub fn unstable_features(&self) -> &Features
Unstable, nightly features that are enabled in this manifest.
Sourcepub fn resolve_behavior(&self) -> Option<ResolveBehavior>
pub fn resolve_behavior(&self) -> Option<ResolveBehavior>
The style of resolver behavior to use, declared with the resolver
field.
Returns None
if it is not specified.
Sourcepub fn lint_rustflags(&self) -> &[String]
pub fn lint_rustflags(&self) -> &[String]
RUSTFLAGS
from the [lints]
table
pub fn map_source( self, to_replace: SourceId, replace_with: SourceId, ) -> Manifest
pub fn feature_gate(&self) -> CargoResult<()>
pub fn print_teapot(&self, gctx: &GlobalContext)
pub fn edition(&self) -> Edition
pub fn rust_version(&self) -> Option<&RustVersion>
pub fn custom_metadata(&self) -> Option<&Value>
pub fn default_run(&self) -> Option<&str>
pub fn metabuild(&self) -> Option<&Vec<String>>
pub fn metabuild_path(&self, target_dir: Filesystem) -> PathBuf
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Manifest
impl RefUnwindSafe for Manifest
impl !Send for Manifest
impl !Sync for Manifest
impl Unpin for Manifest
impl UnwindSafe for Manifest
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§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>
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 1552 bytes