• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

toml-rs / toml / 15617360202
81%

Build:
DEFAULT BRANCH: main
Ran 12 Jun 2025 05:39PM UTC
Jobs 1
Files 126
Run time 210min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

12 Jun 2025 05:37PM UTC coverage: 69.416% (-0.9%) from 70.27%
15617360202

push

github

web-flow
feat(toml)!: Replace `toml_edit` with `toml_parse` (#945)

This adds `toml::de::DeTable`, `toml::de::DeValue`,
`toml::de::DeString`, and `toml::de::DeArray` which are borrowed,
spanned data structures for parsing into that we then support
deserializing from. Due to the nature of TOML (a `Map`s keys are
intermixed with descendant and parent `Map` keys through dotted keys,
standard table ordering, error reporting requirements), we can't
directly deserialize from the parsed result.

This also adds `IntoDeserializer` for `Deserializer` /
`ValueDeserializer`.

BREAKING CHANGE: `ValueDeserializer::new` was replaced with
`ValueDeserializer::parse` and can return an error.

BREAKING CHANGE: `Deserialize::new` was replaced with
`Deserializer::parse` and can return an error.

For the porting of `toml_edit` to `toml_parse`, see #922 

For the introduction of `toml_parse`, see #891

## Benchmarks

Notes:
- A big difference between v0.8.23 and `main` is #922
- `preserve_order` only affected `toml::Table`, so the older "document"
benchmarks for `toml` will parse into an `IndexMap` (from `toml_edit`)
and then deserialize into either a `BTreeMap` or an `IndexMap` while
`de` will parse and deserialize into either a `BTreeMap` or an
`IndexMap`
- `manifest` deserializes into a `struct`, avoiding at least a top-level
`*Map` creation and avoid allocations of some keys.

**0_cargo::toml::document::2-features**

| parser  | features               |  time |
|------------|-------------------------|---------|
| v0.5      |                                | 1032us |
| v0.5      | `preserve_order` | 924us |
| v0.8.23 |                                |  745us |
| `main`   |                                | 697us |
| `main`   | `preserve_order` | 589us |
| `de`       |                                | 702us |
| `de`       | `preserve_order` | 464us |
| `de`       | `unsafe`                | 706us |
| `de`       | `simd`                    | 702us |
| `de`       | all               ... (continued)

734 of 1190 new or added lines in 22 files covered. (61.68%)

7 existing lines in 4 files now uncovered.

6185 of 8910 relevant lines covered (69.42%)

6.87 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
62.18
0.55% crates/toml/src/value.rs
4
66.67
crates/toml/src/de/datetime.rs
4
81.82
crates/toml/src/de/parser/mod.rs
7
63.16
crates/toml/src/de/array.rs
7
74.07
crates/toml/src/de/spanned.rs
8
92.23
-7.77% crates/toml/src/de/error.rs
9
0.0
crates/toml/src/de/parser/debug.rs
11
38.89
crates/toml/src/de/detable.rs
12
83.56
43.56% crates/toml/src/de/value.rs
17
48.48
crates/toml/src/de/key.rs
18
47.06
crates/toml/src/de/dearray.rs
20
59.18
crates/toml/src/de/table_enum.rs
21
71.62
crates/toml/src/de/table.rs
22
61.9
3.57% crates/toml/src/de/mod.rs
25
54.55
crates/toml/src/de/parser/array.rs
25
59.02
crates/toml/src/de/parser/key.rs
30
60.0
crates/toml/src/de/parser/value.rs
40
65.52
crates/toml/src/de/parser/inline_table.rs
78
19.59
crates/toml/src/de/devalue.rs
96
61.45
crates/toml/src/de/parser/document.rs

Uncovered Existing Lines

Lines Coverage ∆ File
1
91.0
-1.0% crates/toml_edit/src/error.rs
1
62.18
0.55% crates/toml/src/value.rs
2
78.95
-2.11% crates/toml_edit/src/de/value.rs
3
76.19
-14.29% crates/toml_edit/src/de/error.rs
Jobs
ID Job ID Ran Files Coverage
1 15617360202.1 12 Jun 2025 05:39PM UTC 126
69.42
GitHub Action Run
Source Files on build 15617360202
  • Tree
  • List 126
  • Changed 13
  • Source Changed 0
  • Coverage Changed 13
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 8f7824fb on github
  • Prev Build on main (#15616989066)
  • Next Build on main (#15617485289)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc