From e9daaffc5e2416c4b59affe25bb02c0d2d60db6e Mon Sep 17 00:00:00 2001 From: Ed Page Date: Thu, 18 Dec 2025 07:38:37 -0600 Subject: [PATCH] feat(toml): TOML 1.1 parse support --- Cargo.lock | 24 ++++++++++++------------ Cargo.toml | 4 ++-- tests/testsuite/bad_config.rs | 10 ++++------ 3 files changed, 18 insertions(+), 20 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1a924cc08..32c82c708 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4178,9 +4178,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392" +checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" dependencies = [ "serde_core", ] @@ -4650,9 +4650,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.9.8" +version = "0.9.10+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8" +checksum = "0825052159284a1a8b4d6c0c86cbc801f2da5afd2b225fa548c72f2e74002f48" dependencies = [ "indexmap", "serde_core", @@ -4665,18 +4665,18 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.7.3" +version = "0.7.5+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" dependencies = [ "serde_core", ] [[package]] name = "toml_edit" -version = "0.23.7" +version = "0.24.0+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" +checksum = "8c740b185920170a6d9191122cafef7010bd6270a3824594bff6784c04d7f09e" dependencies = [ "indexmap", "serde_core", @@ -4689,18 +4689,18 @@ dependencies = [ [[package]] name = "toml_parser" -version = "1.0.4" +version = "1.0.6+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" +checksum = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" dependencies = [ "winnow", ] [[package]] name = "toml_writer" -version = "1.0.4" +version = "1.0.6+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2" +checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" [[package]] name = "tower" diff --git a/Cargo.toml b/Cargo.toml index d9d214b5f..19965acb9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -108,8 +108,8 @@ tar = { version = "0.4.44", default-features = false } tempfile = "3.23.0" thiserror = "2.0.17" time = { version = "0.3.44", features = ["parsing", "formatting", "serde"] } -toml = { version = "0.9.8", default-features = false } -toml_edit = { version = "0.23.7", features = ["serde"] } +toml = { version = "0.9.10", default-features = false } +toml_edit = { version = "0.24.0", features = ["serde"] } tracing = { version = "0.1.43", default-features = false, features = ["std"] } # be compatible with rustc_log: https://github.com/rust-lang/rust/blob/e51e98dde6a/compiler/rustc_log/Cargo.toml#L9 tracing-chrome = "0.7.2" tracing-subscriber = { version = "0.3.22", features = ["env-filter"] } diff --git a/tests/testsuite/bad_config.rs b/tests/testsuite/bad_config.rs index a19395f63..81d731287 100644 --- a/tests/testsuite/bad_config.rs +++ b/tests/testsuite/bad_config.rs @@ -544,13 +544,11 @@ fn malformed_override() { p.cargo("check") .with_status(101) .with_stderr_data(str![[r#" -[ERROR] newlines are unsupported in inline tables, expected nothing - --> Cargo.toml:9:27 +[ERROR] missing assignment between key-value pairs, expected `=` + --> Cargo.toml:10:24 | - 9 | native = { - | ___________________________^ -10 | | foo: "bar" - | |_^ +10 | foo: "bar" + | ^ "#]]) .run();