# Struct cargo::util::toml::TomlManifest

source ·

    pub struct TomlManifest {Show 21 fields
        cargo_features: Option<Vec<String>>,
        package: Option<Box<TomlPackage>>,
        project: Option<Box<TomlPackage>>,
        profile: Option<TomlProfiles>,
        lib: Option<TomlTarget>,
        bin: Option<Vec<TomlTarget>>,
        example: Option<Vec<TomlTarget>>,
        test: Option<Vec<TomlTarget>>,
        bench: Option<Vec<TomlTarget>>,
        dependencies: Option<BTreeMap<String, MaybeWorkspace<TomlDependency, TomlWorkspaceDependency>>>,
        dev_dependencies: Option<BTreeMap<String, MaybeWorkspace<TomlDependency, TomlWorkspaceDependency>>>,
        dev_dependencies2: Option<BTreeMap<String, MaybeWorkspace<TomlDependency, TomlWorkspaceDependency>>>,
        build_dependencies: Option<BTreeMap<String, MaybeWorkspace<TomlDependency, TomlWorkspaceDependency>>>,
        build_dependencies2: Option<BTreeMap<String, MaybeWorkspace<TomlDependency, TomlWorkspaceDependency>>>,
        features: Option<BTreeMap<InternedString, Vec<InternedString>>>,
        target: Option<BTreeMap<String, TomlPlatform>>,
        replace: Option<BTreeMap<String, TomlDependency>>,
        patch: Option<BTreeMap<String, BTreeMap<String, TomlDependency>>>,
        workspace: Option<TomlWorkspace>,
        badges: Option<MaybeWorkspace<BTreeMap<String, BTreeMap<String, String>>, TomlWorkspaceField>>,
        lints: Option<Value>,
    }

Expand description

This type is used to deserialize `Cargo.toml` files.

## Fields§

§`cargo_features: Option<Vec<String>>`§`package: Option<Box<TomlPackage>>`§`project: Option<Box<TomlPackage>>`§`profile: Option<TomlProfiles>`§`lib: Option<TomlTarget>`§`bin: Option<Vec<TomlTarget>>`§`example: Option<Vec<TomlTarget>>`§`test: Option<Vec<TomlTarget>>`§`bench: Option<Vec<TomlTarget>>`§`dependencies: Option<BTreeMap<String, MaybeWorkspace<TomlDependency, TomlWorkspaceDependency>>>`§`dev_dependencies: Option<BTreeMap<String, MaybeWorkspace<TomlDependency, TomlWorkspaceDependency>>>`§`dev_dependencies2: Option<BTreeMap<String, MaybeWorkspace<TomlDependency, TomlWorkspaceDependency>>>`§`build_dependencies: Option<BTreeMap<String, MaybeWorkspace<TomlDependency, TomlWorkspaceDependency>>>`§`build_dependencies2: Option<BTreeMap<String, MaybeWorkspace<TomlDependency, TomlWorkspaceDependency>>>`§`features: Option<BTreeMap<InternedString, Vec<InternedString>>>`§`target: Option<BTreeMap<String, TomlPlatform>>`§`replace: Option<BTreeMap<String, TomlDependency>>`§`patch: Option<BTreeMap<String, BTreeMap<String, TomlDependency>>>`§`workspace: Option<TomlWorkspace>`§`badges: Option<MaybeWorkspace<BTreeMap<String, BTreeMap<String, String>>, TomlWorkspaceField>>`§`lints: Option<Value>`

## Implementations§

source§

### impl TomlManifest

source

#### pub fn prepare_for_publish( &self, ws: &Workspace<'_>, package_root: &Path ) -> CargoResult<TomlManifest>

Prepares the manifest for publishing.

source

#### pub fn to_real_manifest( me: &Rc<TomlManifest>, source_id: SourceId, package_root: &Path, config: &Config ) -> CargoResult<(Manifest, Vec<PathBuf>)>

source

#### fn to_virtual_manifest( me: &Rc<TomlManifest>, source_id: SourceId, root: &Path, config: &Config ) -> CargoResult<(VirtualManifest, Vec<PathBuf>)>

source

#### fn replace( &self, cx: &mut Context<'_, '_> ) -> CargoResult<Vec<(PackageIdSpec, Dependency)>>

source

#### fn patch( &self, cx: &mut Context<'_, '_> ) -> CargoResult<HashMap<Url, Vec<Dependency>>>

source

#### fn maybe_custom_build( &self, build: &Option<StringOrBool>, package_root: &Path ) -> Option<PathBuf>

Returns the path to the build script if one exists for this crate.

source

#### pub fn has_profiles(&self) -> bool

source

#### pub fn features(&self) -> Option<&BTreeMap<InternedString, Vec<InternedString>>>

## Trait Implementations§

source§

### impl Debug for TomlManifest

source§

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

Formats the value using the given formatter. Read more
source§

### impl<'de> Deserialize<'de> for TomlManifest

source§

#### fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

### impl Serialize for TomlManifest

source§

#### fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

## Auto Trait Implementations§

§

### impl RefUnwindSafe for TomlManifest

§

### impl Send for TomlManifest

§

### impl Sync for TomlManifest

§

### impl Unpin for TomlManifest

§

### impl UnwindSafe for TomlManifest

## 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, 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, 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> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,

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