#cargo #toml #serde #manifest

archived build cargo-toml2

Cargo.toml and .cargo/config parsing stuff

4 stable releases

1.3.2 Aug 26, 2019
1.3.1 Dec 25, 2018

#6 in #cargo-toml

Download history 56/week @ 2022-10-12 64/week @ 2022-10-19 98/week @ 2022-10-26 100/week @ 2022-11-02 88/week @ 2022-11-09 106/week @ 2022-11-16 92/week @ 2022-11-23 85/week @ 2022-11-30 122/week @ 2022-12-07 39/week @ 2022-12-14 49/week @ 2022-12-21 50/week @ 2022-12-28 83/week @ 2023-01-04 49/week @ 2023-01-11 50/week @ 2023-01-18 56/week @ 2023-01-25

248 downloads per month
Used in 7 crates (5 directly)


323 lines


Crates.io maintenance-as-is

Stuff for parsing Cargo.toml and .cargo/config files.

Should be fully accurate as per the Manifest Reference and .cargo/config Reference.

In the event the reference and the implementation diverge, I will make no attempt to fix anything until the references are properly updated.

Keeping track of undocumented changes is never a fun thing and I don't plan to do it. And it benefits no one to have a bunch of undocumented behaviour for Cargo.toml/.cargo/config.


No validation or other work is performed on (De)Serialization. It is up to you to:

  • Ensure inputs are valid if you intend to Serialize.
  • Set Default values for missing fields, if you want them.

Note that this is a pretty direct wrapper around the Cargo Manifest, and you should see the Manifest Reference if you want to know what things mean.


Due to current limitations in toml-rs, the Dependencies table may fail to write out with a ValueAfterTable error.

As a workaround, if possible remove or convert the Dependency::Simple variants to Dependency::Full ones. The relevant issue is #256


  • Q: What about cargo-toml?
  • A: 🤷. It didn't work for my needs, so I wrote my own.

  • Q: Why call it cargo-toml2?
  • A: Cargo-toml was taken, and I'm unimaginative. It's a simple obvious name that clearly states its purpose, what else could I make it? Sorry. Bit late to change after it's published.


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


~23K SLoC