Struct cargo_toml::Manifest[][src]

pub struct Manifest<Metadata = Value> {
Show fields pub package: Option<Package<Metadata>>, pub workspace: Option<Workspace>, pub dependencies: DepsSet, pub dev_dependencies: DepsSet, pub build_dependencies: DepsSet, pub target: TargetDepsSet, pub features: FeatureSet, pub patch: PatchSet, pub lib: Option<Product>, pub profile: Profiles, pub badges: Badges, pub bin: Vec<Product>, pub bench: Vec<Product>, pub test: Vec<Product>, pub example: Vec<Product>,
}

The top-level Cargo.toml structure

The Metadata is a type for [package.metadata] table. You can replace it with your own struct type if you use the metadata and don’t want to use the catch-all Value type.

Fields

package: Option<Package<Metadata>>workspace: Option<Workspace>dependencies: DepsSetdev_dependencies: DepsSetbuild_dependencies: DepsSettarget: TargetDepsSetfeatures: FeatureSetpatch: PatchSetlib: Option<Product>

Note that due to autolibs feature this is not the complete list unless you run complete_from_path

profile: Profilesbadges: Badgesbin: Vec<Product>

Note that due to autobins feature this is not the complete list unless you run complete_from_path

bench: Vec<Product>test: Vec<Product>example: Vec<Product>

Implementations

impl Manifest<Value>[src]

pub fn from_slice(cargo_toml_content: &[u8]) -> Result<Self, Error>[src]

Parse contents of a Cargo.toml file already loaded as a byte slice.

It does not call complete_from_path, so may be missing implicit data.

pub fn from_path(cargo_toml_path: impl AsRef<Path>) -> Result<Self, Error>[src]

Parse contents from a Cargo.toml file on disk.

Calls complete_from_path.

pub fn from_str(cargo_toml_content: &str) -> Result<Self, Error>[src]

Parse contents of a Cargo.toml file loaded as a string

Note: this is not a file name, but file’s content. See from_path.

It does not call complete_from_path, so may be missing implicit data.

impl<Metadata: for<'a> Deserialize<'a>> Manifest<Metadata>[src]

pub fn from_slice_with_metadata(
    cargo_toml_content: &[u8]
) -> Result<Self, Error>
[src]

Parse Cargo.toml, and parse its [package.metadata] into a custom Serde-compatible type.package

It does not call complete_from_path, so may be missing implicit data.

pub fn from_path_with_metadata(
    cargo_toml_path: impl AsRef<Path>
) -> Result<Self, Error>
[src]

Parse contents from Cargo.toml file on disk, with custom Serde-compatible metadata type.

Calls complete_from_path

pub fn complete_from_path(&mut self, path: &Path) -> Result<(), Error>[src]

Cargo.toml doesn’t contain explicit information about [lib] and [[bin]], which are inferred based on files on disk.

This scans the disk to make the data in the manifest as complete as possible.

pub fn complete_from_abstract_filesystem(
    &mut self,
    fs: impl AbstractFilesystem
) -> Result<(), Error>
[src]

Cargo.toml doesn’t contain explicit information about [lib] and [[bin]], which are inferred based on files on disk.

You can provide any implementation of directory scan, which doesn’t have to be reading straight from disk (might scan a tarball or a git repo, for example).

Trait Implementations

impl<Metadata: Clone> Clone for Manifest<Metadata>[src]

fn clone(&self) -> Manifest<Metadata>[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<Metadata: Debug> Debug for Manifest<Metadata>[src]

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

Formats the value using the given formatter. Read more

impl<'de, Metadata> Deserialize<'de> for Manifest<Metadata> where
    Metadata: Deserialize<'de>, 
[src]

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

Deserialize this value from the given Serde deserializer. Read more

impl<Metadata: PartialEq> PartialEq<Manifest<Metadata>> for Manifest<Metadata>[src]

fn eq(&self, other: &Manifest<Metadata>) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &Manifest<Metadata>) -> bool[src]

This method tests for !=.

impl<Metadata> Serialize for Manifest<Metadata> where
    Metadata: Serialize
[src]

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

Serialize this value into the given Serde serializer. Read more

impl<Metadata> StructuralPartialEq for Manifest<Metadata>[src]

Auto Trait Implementations

impl<Metadata> RefUnwindSafe for Manifest<Metadata> where
    Metadata: RefUnwindSafe

impl<Metadata> Send for Manifest<Metadata> where
    Metadata: Send

impl<Metadata> Sync for Manifest<Metadata> where
    Metadata: Sync

impl<Metadata> Unpin for Manifest<Metadata> where
    Metadata: Unpin

impl<Metadata> UnwindSafe for Manifest<Metadata> where
    Metadata: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

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

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]