diff --git a/Cargo.lock b/Cargo.lock index f216265905..2d4dc26626 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2465,7 +2465,7 @@ dependencies = [ "pep508_rs", "serde", "thiserror 2.0.12", - "toml", + "toml 0.8.23", ] [[package]] @@ -2763,7 +2763,7 @@ dependencies = [ "test-case", "thiserror 2.0.12", "tikv-jemallocator", - "toml", + "toml 0.9.2", "tracing", "walkdir", "wild", @@ -2779,7 +2779,7 @@ dependencies = [ "ruff_annotate_snippets", "serde", "snapbox", - "toml", + "toml 0.9.2", "tryfn", "unicode-width 0.2.1", ] @@ -2895,7 +2895,7 @@ dependencies = [ "similar", "strum", "tempfile", - "toml", + "toml 0.9.2", "tracing", "tracing-indicatif", "tracing-subscriber", @@ -3016,7 +3016,7 @@ dependencies = [ "tempfile", "test-case", "thiserror 2.0.12", - "toml", + "toml 0.9.2", "typed-arena", "unicode-normalization", "unicode-width 0.2.1", @@ -3266,7 +3266,7 @@ dependencies = [ "serde_json", "shellexpand", "thiserror 2.0.12", - "toml", + "toml 0.9.2", "tracing", "tracing-log", "tracing-subscriber", @@ -3356,7 +3356,7 @@ dependencies = [ "shellexpand", "strum", "tempfile", - "toml", + "toml 0.9.2", ] [[package]] @@ -3576,6 +3576,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" +dependencies = [ + "serde", +] + [[package]] name = "serde_test" version = "1.0.177" @@ -3981,11 +3990,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", - "serde_spanned", - "toml_datetime", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", "toml_edit", ] +[[package]] +name = "toml" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed0aee96c12fa71097902e0bb061a5e1ebd766a6636bb605ba401c45c1650eac" +dependencies = [ + "indexmap", + "serde", + "serde_spanned 1.0.0", + "toml_datetime 0.7.0", + "toml_parser", + "toml_writer", + "winnow", +] + [[package]] name = "toml_datetime" version = "0.6.11" @@ -3995,6 +4019,15 @@ dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" +dependencies = [ + "serde", +] + [[package]] name = "toml_edit" version = "0.22.27" @@ -4003,17 +4036,25 @@ checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ "indexmap", "serde", - "serde_spanned", - "toml_datetime", - "toml_write", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", "winnow", ] [[package]] -name = "toml_write" -version = "0.1.2" +name = "toml_parser" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" +checksum = "97200572db069e74c512a14117b296ba0a80a30123fbbb5aa1f4a348f639ca30" +dependencies = [ + "winnow", +] + +[[package]] +name = "toml_writer" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64" [[package]] name = "tracing" @@ -4136,7 +4177,7 @@ dependencies = [ "ruff_python_trivia", "salsa", "tempfile", - "toml", + "toml 0.9.2", "tracing", "tracing-flame", "tracing-subscriber", @@ -4197,7 +4238,7 @@ dependencies = [ "schemars", "serde", "thiserror 2.0.12", - "toml", + "toml 0.9.2", "tracing", "ty_ide", "ty_python_semantic", @@ -4314,7 +4355,7 @@ dependencies = [ "smallvec", "tempfile", "thiserror 2.0.12", - "toml", + "toml 0.9.2", "tracing", "ty_python_semantic", "ty_static", diff --git a/Cargo.toml b/Cargo.toml index 4be307b42a..8ca8a0d2d2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -165,7 +165,7 @@ tempfile = { version = "3.9.0" } test-case = { version = "3.3.1" } thiserror = { version = "2.0.0" } tikv-jemallocator = { version = "0.6.0" } -toml = { version = "0.8.11" } +toml = { version = "0.9.0" } tracing = { version = "0.1.40" } tracing-flame = { version = "0.2.0" } tracing-indicatif = { version = "0.3.11" } diff --git a/crates/ruff/tests/format.rs b/crates/ruff/tests/format.rs index 31991f9b28..35443daa23 100644 --- a/crates/ruff/tests/format.rs +++ b/crates/ruff/tests/format.rs @@ -120,7 +120,7 @@ fn nonexistent_config_file() { #[test] fn config_override_rejected_if_invalid_toml() { assert_cmd_snapshot!(Command::new(get_cargo_bin(BIN_NAME)) - .args(["format", "--config", "foo = bar", "."]), @r#" + .args(["format", "--config", "foo = bar", "."]), @r" success: false exit_code: 2 ----- stdout ----- @@ -137,12 +137,11 @@ fn config_override_rejected_if_invalid_toml() { TOML parse error at line 1, column 7 | 1 | foo = bar - | ^ - invalid string - expected `"`, `'` + | ^^^ + string values must be quoted, expected literal string For more information, try '--help'. - "#); + "); } #[test] diff --git a/crates/ruff/tests/integration_test.rs b/crates/ruff/tests/integration_test.rs index 2041040b95..d692e41f1b 100644 --- a/crates/ruff/tests/integration_test.rs +++ b/crates/ruff/tests/integration_test.rs @@ -2246,8 +2246,7 @@ fn pyproject_toml_stdin_syntax_error() { success: false exit_code: 1 ----- stdout ----- - pyproject.toml:1:9: RUF200 Failed to parse pyproject.toml: invalid table header - expected `.`, `]` + pyproject.toml:1:9: RUF200 Failed to parse pyproject.toml: unclosed table, expected `]` | 1 | [project | ^ RUF200 diff --git a/crates/ruff/tests/lint.rs b/crates/ruff/tests/lint.rs index 8b795520ce..69a392456f 100644 --- a/crates/ruff/tests/lint.rs +++ b/crates/ruff/tests/lint.rs @@ -534,7 +534,7 @@ fn nonexistent_config_file() { fn config_override_rejected_if_invalid_toml() { assert_cmd_snapshot!(Command::new(get_cargo_bin(BIN_NAME)) .args(STDIN_BASE_OPTIONS) - .args(["--config", "foo = bar", "."]), @r#" + .args(["--config", "foo = bar", "."]), @r" success: false exit_code: 2 ----- stdout ----- @@ -551,12 +551,11 @@ fn config_override_rejected_if_invalid_toml() { TOML parse error at line 1, column 7 | 1 | foo = bar - | ^ - invalid string - expected `"`, `'` + | ^^^ + string values must be quoted, expected literal string For more information, try '--help'. - "#); + "); } #[test] @@ -733,9 +732,8 @@ select = [E501] Cause: TOML parse error at line 3, column 11 | 3 | select = [E501] - | ^ - invalid array - expected `]` + | ^^^^ + string values must be quoted, expected literal string "); }); @@ -876,7 +874,7 @@ fn each_toml_option_requires_a_new_flag_1() { | 1 | extend-select=['F841'], line-length=90 | ^ - expected newline, `#` + unexpected key or value, expected newline, `#` For more information, try '--help'. "); @@ -907,7 +905,7 @@ fn each_toml_option_requires_a_new_flag_2() { | 1 | extend-select=['F841'] line-length=90 | ^ - expected newline, `#` + unexpected key or value, expected newline, `#` For more information, try '--help'. "); diff --git a/crates/ruff/tests/version.rs b/crates/ruff/tests/version.rs index 6dbf7ba97d..2881b55f7f 100644 --- a/crates/ruff/tests/version.rs +++ b/crates/ruff/tests/version.rs @@ -60,7 +60,7 @@ fn config_option_ignored_but_validated() { assert_cmd_snapshot!( Command::new(get_cargo_bin(BIN_NAME)) .arg("version") - .args(["--config", "foo = bar"]), @r#" + .args(["--config", "foo = bar"]), @r" success: false exit_code: 2 ----- stdout ----- @@ -77,12 +77,11 @@ fn config_option_ignored_but_validated() { TOML parse error at line 1, column 7 | 1 | foo = bar - | ^ - invalid string - expected `"`, `'` + | ^^^ + string values must be quoted, expected literal string For more information, try '--help'. - "# + " ); }); } diff --git a/crates/ty/tests/cli/rule_selection.rs b/crates/ty/tests/cli/rule_selection.rs index 7600a0d698..08560ac6c2 100644 --- a/crates/ty/tests/cli/rule_selection.rs +++ b/crates/ty/tests/cli/rule_selection.rs @@ -803,12 +803,12 @@ fn overrides_no_actual_overrides() -> anyhow::Result<()> { warning[useless-overrides-section]: Useless `overrides` section --> pyproject.toml:5:1 | - 3 | division-by-zero = "error" + 3 | division-by-zero = "error" 4 | - 5 | / [[tool.ty.overrides]] - 6 | | include = ["*.py"] # Has patterns but no rule overrides - | |__________________^ This overrides section configures no rules - 7 | # Missing [tool.ty.overrides.rules] section entirely + 5 | [[tool.ty.overrides]] + | ^^^^^^^^^^^^^^^^^^^^^ This overrides section configures no rules + 6 | include = ["*.py"] # Has patterns but no rule overrides + 7 | # Missing [tool.ty.overrides.rules] section entirely | info: It has no `rules` table info: Add a `[overrides.rules]` table... diff --git a/crates/ty_project/src/metadata.rs b/crates/ty_project/src/metadata.rs index fe99c6df00..f97cd44318 100644 --- a/crates/ty_project/src/metadata.rs +++ b/crates/ty_project/src/metadata.rs @@ -455,8 +455,7 @@ mod tests { | 5 | [tool.ty | ^ -invalid table header -expected `.`, `]` +unclosed table, expected `]` "#, );