cargo::core::manifest

Struct Manifest

Source
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

Source

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

Source

pub fn contents(&self) -> &str

The raw contents of the original TOML

Source

pub fn to_normalized_contents(&self) -> CargoResult<String>

See Manifest::normalized_toml for what “normalized” means

Source

pub fn document(&self) -> &ImDocument<String>

Collection of spans for the original TOML

Source

pub fn original_toml(&self) -> &TomlManifest

The TomlManifest as parsed from Manifest::document

Source

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
Source

pub fn summary(&self) -> &Summary

Source

pub fn summary_mut(&mut self) -> &mut Summary

Source

pub fn dependencies(&self) -> &[Dependency]

Source

pub fn default_kind(&self) -> Option<CompileKind>

Source

pub fn forced_kind(&self) -> Option<CompileKind>

Source

pub fn exclude(&self) -> &[String]

Source

pub fn include(&self) -> &[String]

Source

pub fn metadata(&self) -> &ManifestMetadata

Source

pub fn name(&self) -> InternedString

Source

pub fn package_id(&self) -> PackageId

Source

pub fn targets(&self) -> &[Target]

Source

pub fn targets_mut(&mut self) -> &mut [Target]

Source

pub fn version(&self) -> &Version

Source

pub fn warnings_mut(&mut self) -> &mut Warnings

Source

pub fn warnings(&self) -> &Warnings

Source

pub fn profiles(&self) -> Option<&TomlProfiles>

Source

pub fn publish(&self) -> &Option<Vec<String>>

Source

pub fn replace(&self) -> &[(PackageIdSpec, Dependency)]

Source

pub fn patch(&self) -> &HashMap<Url, Vec<Dependency>>

Source

pub fn is_embedded(&self) -> bool

Source

pub fn workspace_config(&self) -> &WorkspaceConfig

Source

pub fn unstable_features(&self) -> &Features

Unstable, nightly features that are enabled in this manifest.

Source

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.

Source

pub fn lint_rustflags(&self) -> &[String]

RUSTFLAGS from the [lints] table

Source

pub fn map_source( self, to_replace: SourceId, replace_with: SourceId, ) -> Manifest

Source

pub fn feature_gate(&self) -> CargoResult<()>

Source

pub fn print_teapot(&self, gctx: &GlobalContext)

Source

pub fn edition(&self) -> Edition

Source

pub fn rust_version(&self) -> Option<&RustVersion>

Source

pub fn custom_metadata(&self) -> Option<&Value>

Source

pub fn default_run(&self) -> Option<&str>

Source

pub fn metabuild(&self) -> Option<&Vec<String>>

Source

pub fn metabuild_path(&self, target_dir: Filesystem) -> PathBuf

Trait Implementations§

Source§

impl Clone for Manifest

Source§

fn clone(&self) -> Manifest

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Manifest

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more

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