# Struct cargo::core::manifest::Manifest

source ·

    pub struct Manifest {Show 25 fields
        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>,
        profiles: Option<TomlProfiles>,
        publish: Option<Vec<String>>,
        replace: Vec<(PackageIdSpec, Dependency)>,
        patch: HashMap<Url, Vec<Dependency>>,
        workspace: WorkspaceConfig,
        original: Rc<TomlManifest>,
        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§

§`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>`§`profiles: Option<TomlProfiles>`§`publish: Option<Vec<String>>`§`replace: Vec<(PackageIdSpec, Dependency)>`§`patch: HashMap<Url, Vec<Dependency>>`§`workspace: WorkspaceConfig`§`original: Rc<TomlManifest>`§`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( 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>, profiles: Option<TomlProfiles>, 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>, original: Rc<TomlManifest>, metabuild: Option<Vec<String>>, resolve_behavior: Option<ResolveBehavior>, lint_rustflags: Vec<String>, embedded: bool ) -> Manifest

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 summary(&self) -> &Summary

source

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

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 original(&self) -> &TomlManifest

source

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

source

#### pub fn links(&self) -> Option<&str>

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, config: &Config)

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§

§

### 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> Any for Twhere T: 'static + ?Sized,

source§

#### fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more
source§

### impl<T> Borrow<T> for Twhere T: ?Sized,

source§

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

### impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

### impl<T> From<T> for T

source§

#### fn from(t: T) -> T

Returns the argument unchanged.

source§

### impl<T> Instrument for T

source§

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

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

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

source§

### impl<T> Same<T> for T

§

#### type Output = T

Should always be `Self`
source§

### impl<T> ToOwned for Twhere T: Clone,

§

#### 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 Twhere U: Into<T>,

§

#### 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 Twhere U: TryFrom<T>,

§

#### 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 Twhere V: MultiLane<T>,

§

#### fn vzip(self) -> V

source§

### impl<T> WithSubscriber for T

source§

#### 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
source§

#### 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: 1568 bytes