Repository: toml-rs/toml
Pull request #866 (2025-04-22 20:58:56)

chore(deps): Update toml-test
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [toml-test-data](https://redirect.github.com/epage/toml-test-rs) | dev-dependencies | minor | `2.1.0` -> `2.2.0` |
| [toml-test-harness](https://redirect.github.com/epage/toml-test-rs) | dev-dependencies | minor | `1.1.1` -> `1.2.0` |

---

### Release Notes

<details>
<summary>epage/toml-test-rs (toml-test-data)</summary>

### [`v2.2.0`](https://redirect.github.com/epage/toml-test-rs/compare/toml-test-data-v2.1.0...toml-test-data-v2.2.0)

[Compare Source](https://redirect.github.com/epage/toml-test-rs/compare/toml-test-data-v2.1.0...toml-test-data-v2.2.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Every minute ( * * * * * ) (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toml-rs/toml).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDguNCIsInVwZGF0ZWRJblZlciI6IjM5LjI0OC40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->


coveralls: ## Pull Request Test Coverage Report for [Build 14619892874](https://coveralls.io/builds/73349782)


### Details

* **0** of **0**   changed or added relevant lines in **0** files are covered.
* No unchanged relevant lines lost coverage.
* Overall coverage remained the same at **67.517%**

---



|  Totals | [![Coverage Status](https://coveralls.io/builds/73349782/badge)](https://coveralls.io/builds/73349782) |
| :-- | --: |
| Change from base [Build 14604493061](https://coveralls.io/builds/73337590): |  0.0% |
| Covered Lines: | 3862 |
| Relevant Lines: | 5720 |

---
##### 💛  - [Coveralls](https://coveralls.io)


Patch:
diff --git a/Cargo.lock b/Cargo.lock
index 165431a7..6af7e60f 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -905,18 +905,18 @@ dependencies = [
 
 [[package]]
 name = "toml-test-data"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "584ee493f925132f3b5a695367f4b493e344721b0616edf81757fa234bceb86c"
+checksum = "5b7390632915a1e444780466acd08f03cf82e567e4f2aeadb4fd19701175ff57"
 dependencies = [
  "include_dir",
 ]
 
 [[package]]
 name = "toml-test-harness"
-version = "1.1.1"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3602a25e4c65ea389ec1508093fc90b2aa7d7681d4d670f9a916053d06f17587"
+checksum = "d45cce58182406b959e70c7d4120ba322954817c2c60f1655fd51b90a88050ec"
 dependencies = [
  "ignore",
  "libtest-mimic",


Test patch:
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/double-comma-01.stderr b/crates/toml_edit/tests/snapshots/invalid/array/double-comma-01.stderr
new file mode 100644
index 00000000..6cb810d2
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/array/double-comma-01.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 21
+  |
+1 | double-comma-1 = [1,,2]
+  |                     ^
+invalid array
+expected `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/double-comma-02.stderr b/crates/toml_edit/tests/snapshots/invalid/array/double-comma-02.stderr
new file mode 100644
index 00000000..60ab5b56
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/array/double-comma-02.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 23
+  |
+1 | double-comma-2 = [1,2,,]
+  |                       ^
+invalid array
+expected `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/missing-separator-1.stderr b/crates/toml_edit/tests/snapshots/invalid/array/missing-separator-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/array/missing-separator-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/array/missing-separator-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/missing-separator-2.stderr b/crates/toml_edit/tests/snapshots/invalid/array/missing-separator-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/array/missing-separator-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/array/missing-separator-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/no-close-01.stderr b/crates/toml_edit/tests/snapshots/invalid/array/no-close-01.stderr
new file mode 100644
index 00000000..6f0a3e8d
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/array/no-close-01.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 24
+  |
+1 | no-close-1 = [ 1, 2, 3
+  |                        ^
+invalid array
+expected `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/no-close-02.stderr b/crates/toml_edit/tests/snapshots/invalid/array/no-close-02.stderr
new file mode 100644
index 00000000..96c4d648
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/array/no-close-02.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 18
+  |
+1 | no-close-2 = [1,
+  |                  ^
+invalid array
+expected `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/no-close-03.stderr b/crates/toml_edit/tests/snapshots/invalid/array/no-close-03.stderr
new file mode 100644
index 00000000..b84e3b9b
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/array/no-close-03.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 21
+  |
+1 | no-close-3 = [42 #]
+  |                     ^
+invalid array
+expected `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/no-close-04.stderr b/crates/toml_edit/tests/snapshots/invalid/array/no-close-04.stderr
new file mode 100644
index 00000000..ecf42240
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/array/no-close-04.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 25
+  |
+1 | no-close-4 = [{ key = 42
+  |                         ^
+invalid inline table
+expected `}`
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/no-close-05.stderr b/crates/toml_edit/tests/snapshots/invalid/array/no-close-05.stderr
new file mode 100644
index 00000000..c5e9674c
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/array/no-close-05.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 27
+  |
+1 | no-close-5 = [{ key = 42}
+  |                           ^
+invalid array
+expected `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/no-close-06.stderr b/crates/toml_edit/tests/snapshots/invalid/array/no-close-06.stderr
new file mode 100644
index 00000000..2512a435
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/array/no-close-06.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 26
+  |
+1 | no-close-6 = [{ key = 42 #}]
+  |                          ^
+invalid inline table
+expected `}`
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/no-close-07.stderr b/crates/toml_edit/tests/snapshots/invalid/array/no-close-07.stderr
new file mode 100644
index 00000000..a49e9881
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/array/no-close-07.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 30
+  |
+1 | no-close-7 = [{ key = 42} #]
+  |                              ^
+invalid array
+expected `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/no-close-08.stderr b/crates/toml_edit/tests/snapshots/invalid/array/no-close-08.stderr
new file mode 100644
index 00000000..0e25a0bd
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/array/no-close-08.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 16
+  |
+1 | no-close-8 = [
+  |                ^
+invalid array
+expected `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/no-close-table-1.stderr b/crates/toml_edit/tests/snapshots/invalid/array/no-close-table-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/array/no-close-table-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/array/no-close-table-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/no-close-table-2.stderr b/crates/toml_edit/tests/snapshots/invalid/array/no-close-table-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/array/no-close-table-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/array/no-close-table-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/no-comma-01.stderr b/crates/toml_edit/tests/snapshots/invalid/array/no-comma-01.stderr
new file mode 100644
index 00000000..e50fb69d
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/array/no-comma-01.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 20
+  |
+1 | no-comma-1 = [true false]
+  |                    ^
+invalid array
+expected `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/no-comma-02.stderr b/crates/toml_edit/tests/snapshots/invalid/array/no-comma-02.stderr
new file mode 100644
index 00000000..b34d709c
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/array/no-comma-02.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 18
+  |
+1 | no-comma-2 = [ 1 2 3 ]
+  |                  ^
+invalid array
+expected `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/no-comma-03.stderr b/crates/toml_edit/tests/snapshots/invalid/array/no-comma-03.stderr
new file mode 100644
index 00000000..c7cbec4e
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/array/no-comma-03.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 22
+  |
+1 | no-comma-3 = [ 1 #,]
+  |                      ^
+invalid array
+expected `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/only-comma-01.stderr b/crates/toml_edit/tests/snapshots/invalid/array/only-comma-01.stderr
new file mode 100644
index 00000000..3616ca9f
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/array/only-comma-01.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 17
+  |
+1 | only-comma-1 = [,]
+  |                 ^
+invalid array
+expected `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/only-comma-02.stderr b/crates/toml_edit/tests/snapshots/invalid/array/only-comma-02.stderr
new file mode 100644
index 00000000..8284be5d
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/array/only-comma-02.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 17
+  |
+1 | only-comma-2 = [,,]
+  |                 ^
+invalid array
+expected `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/tables-1.stderr b/crates/toml_edit/tests/snapshots/invalid/array/tables-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/array/tables-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/array/tables-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/array/tables-2.stderr b/crates/toml_edit/tests/snapshots/invalid/array/tables-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/array/tables-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/array/tables-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/datetime/day-zero.stderr b/crates/toml_edit/tests/snapshots/invalid/datetime/day-zero.stderr
new file mode 100644
index 00000000..b79d7f54
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/datetime/day-zero.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 15
+  |
+1 | foo = 1997-09-00T09:09:09.09Z
+  |               ^
+invalid date-time
+value is out of range
diff --git a/crates/toml_edit/tests/snapshots/invalid/datetime/no-date-time-sep.stderr b/crates/toml_edit/tests/snapshots/invalid/datetime/no-date-time-sep.stderr
new file mode 100644
index 00000000..3cd9fb10
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/datetime/no-date-time-sep.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 17
+  |
+1 | foo = 1997-09-0909:09:09
+  |                 ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/datetime/no-year-month-sep.stderr b/crates/toml_edit/tests/snapshots/invalid/datetime/no-year-month-sep.stderr
new file mode 100644
index 00000000..b003ff9d
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/datetime/no-year-month-sep.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 13
+  |
+1 | foo = 199709-09
+  |             ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/datetime/offset-minus-minute-1digit.stderr b/crates/toml_edit/tests/snapshots/invalid/datetime/offset-minus-minute-1digit.stderr
new file mode 100644
index 00000000..a8458841
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/datetime/offset-minus-minute-1digit.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 33
+  |
+1 | foo = 1997-09-09T09:09:09.09+09:9
+  |                                 ^
+invalid time offset
diff --git a/crates/toml_edit/tests/snapshots/invalid/datetime/offset-minus-no-hour-minute-sep.stderr b/crates/toml_edit/tests/snapshots/invalid/datetime/offset-minus-no-hour-minute-sep.stderr
new file mode 100644
index 00000000..6825d950
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/datetime/offset-minus-no-hour-minute-sep.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 32
+  |
+1 | foo = 1997-09-09T09:09:09.09+0909
+  |                                ^
+invalid time offset
diff --git a/crates/toml_edit/tests/snapshots/invalid/datetime/offset-minus-no-hour-minute.stderr b/crates/toml_edit/tests/snapshots/invalid/datetime/offset-minus-no-hour-minute.stderr
new file mode 100644
index 00000000..38a715d6
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/datetime/offset-minus-no-hour-minute.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 30
+  |
+1 | foo = 1997-09-09T09:09:09.09+
+  |                              ^
+invalid time offset
diff --git a/crates/toml_edit/tests/snapshots/invalid/datetime/offset-minus-no-minute.stderr b/crates/toml_edit/tests/snapshots/invalid/datetime/offset-minus-no-minute.stderr
new file mode 100644
index 00000000..a32eae1f
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/datetime/offset-minus-no-minute.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 32
+  |
+1 | foo = 1997-09-09T09:09:09.09+09
+  |                                ^
+invalid time offset
diff --git a/crates/toml_edit/tests/snapshots/invalid/datetime/offset-plus-minute-1digit.stderr b/crates/toml_edit/tests/snapshots/invalid/datetime/offset-plus-minute-1digit.stderr
new file mode 100644
index 00000000..a8458841
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/datetime/offset-plus-minute-1digit.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 33
+  |
+1 | foo = 1997-09-09T09:09:09.09+09:9
+  |                                 ^
+invalid time offset
diff --git a/crates/toml_edit/tests/snapshots/invalid/datetime/offset-plus-no-hour-minute-sep.stderr b/crates/toml_edit/tests/snapshots/invalid/datetime/offset-plus-no-hour-minute-sep.stderr
new file mode 100644
index 00000000..6825d950
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/datetime/offset-plus-no-hour-minute-sep.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 32
+  |
+1 | foo = 1997-09-09T09:09:09.09+0909
+  |                                ^
+invalid time offset
diff --git a/crates/toml_edit/tests/snapshots/invalid/datetime/offset-plus-no-hour-minute.stderr b/crates/toml_edit/tests/snapshots/invalid/datetime/offset-plus-no-hour-minute.stderr
new file mode 100644
index 00000000..38a715d6
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/datetime/offset-plus-no-hour-minute.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 30
+  |
+1 | foo = 1997-09-09T09:09:09.09+
+  |                              ^
+invalid time offset
diff --git a/crates/toml_edit/tests/snapshots/invalid/datetime/offset-plus-no-minute.stderr b/crates/toml_edit/tests/snapshots/invalid/datetime/offset-plus-no-minute.stderr
new file mode 100644
index 00000000..a32eae1f
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/datetime/offset-plus-no-minute.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 32
+  |
+1 | foo = 1997-09-09T09:09:09.09+09
+  |                                ^
+invalid time offset
diff --git a/crates/toml_edit/tests/snapshots/invalid/datetime/only-T.stderr b/crates/toml_edit/tests/snapshots/invalid/datetime/only-T.stderr
new file mode 100644
index 00000000..1bdce7fa
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/datetime/only-T.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 7
+  |
+1 | foo = T
+  |       ^
+invalid string
+expected `"`, `'`
diff --git a/crates/toml_edit/tests/snapshots/invalid/datetime/only-TZ.stderr b/crates/toml_edit/tests/snapshots/invalid/datetime/only-TZ.stderr
new file mode 100644
index 00000000..434e82f1
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/datetime/only-TZ.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 7
+  |
+1 | foo = TZ
+  |       ^
+invalid string
+expected `"`, `'`
diff --git a/crates/toml_edit/tests/snapshots/invalid/datetime/only-Tdot.stderr b/crates/toml_edit/tests/snapshots/invalid/datetime/only-Tdot.stderr
new file mode 100644
index 00000000..68abfb16
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/datetime/only-Tdot.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 7
+  |
+1 | foo = T.
+  |       ^
+invalid string
+expected `"`, `'`
diff --git a/crates/toml_edit/tests/snapshots/invalid/datetime/second-trailing-dot.stderr b/crates/toml_edit/tests/snapshots/invalid/datetime/second-trailing-dot.stderr
new file mode 100644
index 00000000..556b93fe
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/datetime/second-trailing-dot.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 26
+  |
+1 | foo = 1997-09-09T09:09:09.
+  |                          ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/datetime/second-trailing-dotz.stderr b/crates/toml_edit/tests/snapshots/invalid/datetime/second-trailing-dotz.stderr
new file mode 100644
index 00000000..11b227a3
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/datetime/second-trailing-dotz.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 26
+  |
+1 | foo = 2016-09-09T09:09:09.Z
+  |                          ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/encoding/bom-not-at-start-1.stderr b/crates/toml_edit/tests/snapshots/invalid/encoding/bom-not-at-start-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/encoding/bom-not-at-start-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/encoding/bom-not-at-start-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/encoding/bom-not-at-start-2.stderr b/crates/toml_edit/tests/snapshots/invalid/encoding/bom-not-at-start-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/encoding/bom-not-at-start-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/encoding/bom-not-at-start-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/double-dot-01.stderr b/crates/toml_edit/tests/snapshots/invalid/float/double-dot-01.stderr
new file mode 100644
index 00000000..390520f7
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/double-dot-01.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 20
+  |
+1 | double-point-1 = 0..1
+  |                    ^
+invalid floating-point number
+expected digit
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/double-dot-02.stderr b/crates/toml_edit/tests/snapshots/invalid/float/double-dot-02.stderr
new file mode 100644
index 00000000..a020a484
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/double-dot-02.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 21
+  |
+1 | double-point-2 = 0.1.2
+  |                     ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/exp-dot-01.stderr b/crates/toml_edit/tests/snapshots/invalid/float/exp-dot-01.stderr
new file mode 100644
index 00000000..87f0a0b2
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/exp-dot-01.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 18
+  |
+1 | exp-point-1 = 1e2.3
+  |                  ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/exp-dot-02.stderr b/crates/toml_edit/tests/snapshots/invalid/float/exp-dot-02.stderr
new file mode 100644
index 00000000..80890506
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/exp-dot-02.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 17
+  |
+1 | exp-point-2 = 1.e2
+  |                 ^
+invalid floating-point number
+expected digit
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/exp-dot-03.stderr b/crates/toml_edit/tests/snapshots/invalid/float/exp-dot-03.stderr
new file mode 100644
index 00000000..873791ca
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/exp-dot-03.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 17
+  |
+1 | exp-point-3 = 3.e+20
+  |                 ^
+invalid floating-point number
+expected digit
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/exp-double-e-01.stderr b/crates/toml_edit/tests/snapshots/invalid/float/exp-double-e-01.stderr
new file mode 100644
index 00000000..54118395
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/exp-double-e-01.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 20
+  |
+1 | exp-double-e-1 = 1ee2
+  |                    ^
+invalid floating-point number
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/exp-double-e-02.stderr b/crates/toml_edit/tests/snapshots/invalid/float/exp-double-e-02.stderr
new file mode 100644
index 00000000..1b99d374
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/exp-double-e-02.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 21
+  |
+1 | exp-double-e-2 = 1e2e3
+  |                     ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/exp-trailing-us-01.stderr b/crates/toml_edit/tests/snapshots/invalid/float/exp-trailing-us-01.stderr
new file mode 100644
index 00000000..254bdf20
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/exp-trailing-us-01.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 23
+  |
+1 | exp-trailing-us-1 = 1_e2
+  |                       ^
+invalid integer
+expected digit
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/exp-trailing-us-02.stderr b/crates/toml_edit/tests/snapshots/invalid/float/exp-trailing-us-02.stderr
new file mode 100644
index 00000000..b2986ad6
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/exp-trailing-us-02.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 25
+  |
+1 | exp-trailing-us-2 = 1.2_e2
+  |                         ^
+invalid floating-point number
+expected digit, digit
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/inf-incomplete-01.stderr b/crates/toml_edit/tests/snapshots/invalid/float/inf-incomplete-01.stderr
new file mode 100644
index 00000000..99fe59b3
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/inf-incomplete-01.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 20
+  |
+1 | inf-incomplete-1 = in
+  |                    ^
+invalid string
+expected `"`, `'`
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/inf-incomplete-02.stderr b/crates/toml_edit/tests/snapshots/invalid/float/inf-incomplete-02.stderr
new file mode 100644
index 00000000..38ef4cf4
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/inf-incomplete-02.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 21
+  |
+1 | inf-incomplete-2 = +in
+  |                     ^
+invalid integer
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/inf-incomplete-03.stderr b/crates/toml_edit/tests/snapshots/invalid/float/inf-incomplete-03.stderr
new file mode 100644
index 00000000..af66478e
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/inf-incomplete-03.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 21
+  |
+1 | inf-incomplete-3 = -in
+  |                     ^
+invalid integer
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/leading-dot-neg.stderr b/crates/toml_edit/tests/snapshots/invalid/float/leading-dot-neg.stderr
new file mode 100644
index 00000000..c46efe10
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/leading-dot-neg.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 22
+  |
+1 | leading-point-neg = -.12345
+  |                      ^
+invalid integer
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/leading-dot-plus.stderr b/crates/toml_edit/tests/snapshots/invalid/float/leading-dot-plus.stderr
new file mode 100644
index 00000000..a643a7ee
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/leading-dot-plus.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 23
+  |
+1 | leading-point-plus = +.12345
+  |                       ^
+invalid integer
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/leading-dot.stderr b/crates/toml_edit/tests/snapshots/invalid/float/leading-dot.stderr
new file mode 100644
index 00000000..65e66b0c
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/leading-dot.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 17
+  |
+1 | leading-point = .12345
+  |                 ^
+invalid floating-point number
+expected leading digit
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/nan-incomplete-01.stderr b/crates/toml_edit/tests/snapshots/invalid/float/nan-incomplete-01.stderr
new file mode 100644
index 00000000..36faeb0b
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/nan-incomplete-01.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 20
+  |
+1 | nan-incomplete-1 = na
+  |                    ^
+invalid string
+expected `"`, `'`
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/nan-incomplete-02.stderr b/crates/toml_edit/tests/snapshots/invalid/float/nan-incomplete-02.stderr
new file mode 100644
index 00000000..38e01516
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/nan-incomplete-02.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 21
+  |
+1 | nan-incomplete-2 = +na
+  |                     ^
+invalid integer
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/nan-incomplete-03.stderr b/crates/toml_edit/tests/snapshots/invalid/float/nan-incomplete-03.stderr
new file mode 100644
index 00000000..e03ff4b9
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/nan-incomplete-03.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 21
+  |
+1 | nan-incomplete-3 = -na
+  |                     ^
+invalid integer
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/trailing-dot-01.stderr b/crates/toml_edit/tests/snapshots/invalid/float/trailing-dot-01.stderr
new file mode 100644
index 00000000..bd345d25
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/trailing-dot-01.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 20
+  |
+1 | trailing-point = 1.
+  |                    ^
+invalid floating-point number
+expected digit
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/trailing-point-two.stderr b/crates/toml_edit/tests/snapshots/invalid/float/trailing-dot-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/float/trailing-point-two.stderr
rename to crates/toml_edit/tests/snapshots/invalid/float/trailing-dot-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/trailing-dot-min.stderr b/crates/toml_edit/tests/snapshots/invalid/float/trailing-dot-min.stderr
new file mode 100644
index 00000000..41f4ad9c
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/trailing-dot-min.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 25
+  |
+1 | trailing-point-min = -1.
+  |                         ^
+invalid floating-point number
+expected digit
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/trailing-dot-plus.stderr b/crates/toml_edit/tests/snapshots/invalid/float/trailing-dot-plus.stderr
new file mode 100644
index 00000000..9927935d
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/trailing-dot-plus.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 26
+  |
+1 | trailing-point-plus = +1.
+  |                          ^
+invalid floating-point number
+expected digit
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/trailing-exp-minus.stderr b/crates/toml_edit/tests/snapshots/invalid/float/trailing-exp-minus.stderr
new file mode 100644
index 00000000..1d14cc25
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/trailing-exp-minus.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 27
+  |
+1 | trailing-exp-minus = 0.0e-
+  |                           ^
+invalid floating-point number
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/trailing-exp-plus.stderr b/crates/toml_edit/tests/snapshots/invalid/float/trailing-exp-plus.stderr
new file mode 100644
index 00000000..5b0c39e9
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/trailing-exp-plus.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 26
+  |
+1 | trailing-exp-plus = 0.0e+
+  |                          ^
+invalid floating-point number
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/trailing-exp-point.stderr b/crates/toml_edit/tests/snapshots/invalid/float/trailing-exp-point.stderr
new file mode 100644
index 00000000..2600e249
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/trailing-exp-point.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 25
+  |
+1 | trailing-exp-point =  0.e
+  |                         ^
+invalid floating-point number
+expected digit
diff --git a/crates/toml_edit/tests/snapshots/invalid/integer/invalid-hex.stderr b/crates/toml_edit/tests/snapshots/invalid/float/trailing-exp.stderr
similarity index 55%
rename from crates/toml_edit/tests/snapshots/invalid/integer/invalid-hex.stderr
rename to crates/toml_edit/tests/snapshots/invalid/float/trailing-exp.stderr
index 29b112b2..f8179aca 100644
--- a/crates/toml_edit/tests/snapshots/invalid/integer/invalid-hex.stderr
+++ b/crates/toml_edit/tests/snapshots/invalid/float/trailing-exp.stderr
@@ -1,5 +1,5 @@
 TOML parse error at line 1, column 20
   |
-1 | invalid-hex = 0xaafz
+1 | trailing-exp = 0.0E
   |                    ^
-expected newline, `#`
+invalid floating-point number
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/trailing-us-exp-1.stderr b/crates/toml_edit/tests/snapshots/invalid/float/trailing-us-exp-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/float/trailing-us-exp-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/float/trailing-us-exp-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/trailing-us-exp-2.stderr b/crates/toml_edit/tests/snapshots/invalid/float/trailing-us-exp-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/float/trailing-us-exp-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/float/trailing-us-exp-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/us-after-dot.stderr b/crates/toml_edit/tests/snapshots/invalid/float/us-after-dot.stderr
new file mode 100644
index 00000000..d93821dc
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/us-after-dot.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 20
+  |
+1 | us-after-point = 1._2
+  |                    ^
+invalid floating-point number
+expected digit
diff --git a/crates/toml_edit/tests/snapshots/invalid/float/us-before-dot.stderr b/crates/toml_edit/tests/snapshots/invalid/float/us-before-dot.stderr
new file mode 100644
index 00000000..109d8f71
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/float/us-before-dot.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 21
+  |
+1 | us-before-point = 1_.2
+  |                     ^
+invalid integer
+expected digit
diff --git a/crates/toml_edit/tests/snapshots/invalid/inline-table/duplicate-key-1.stderr b/crates/toml_edit/tests/snapshots/invalid/inline-table/duplicate-key-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/inline-table/duplicate-key-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/inline-table/duplicate-key-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/inline-table/duplicate-key-2.stderr b/crates/toml_edit/tests/snapshots/invalid/inline-table/duplicate-key-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/inline-table/duplicate-key-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/inline-table/duplicate-key-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/inline-table/duplicate-key-3.stderr b/crates/toml_edit/tests/snapshots/invalid/inline-table/duplicate-key-03.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/inline-table/duplicate-key-3.stderr
rename to crates/toml_edit/tests/snapshots/invalid/inline-table/duplicate-key-03.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/inline-table/duplicate-key-4.stderr b/crates/toml_edit/tests/snapshots/invalid/inline-table/duplicate-key-04.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/inline-table/duplicate-key-4.stderr
rename to crates/toml_edit/tests/snapshots/invalid/inline-table/duplicate-key-04.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/inline-table/empty-1.stderr b/crates/toml_edit/tests/snapshots/invalid/inline-table/empty-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/inline-table/empty-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/inline-table/empty-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/inline-table/empty-2.stderr b/crates/toml_edit/tests/snapshots/invalid/inline-table/empty-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/inline-table/empty-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/inline-table/empty-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/inline-table/empty-3.stderr b/crates/toml_edit/tests/snapshots/invalid/inline-table/empty-03.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/inline-table/empty-3.stderr
rename to crates/toml_edit/tests/snapshots/invalid/inline-table/empty-03.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/inline-table/linebreak-1.stderr b/crates/toml_edit/tests/snapshots/invalid/inline-table/linebreak-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/inline-table/linebreak-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/inline-table/linebreak-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/inline-table/linebreak-2.stderr b/crates/toml_edit/tests/snapshots/invalid/inline-table/linebreak-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/inline-table/linebreak-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/inline-table/linebreak-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/inline-table/linebreak-3.stderr b/crates/toml_edit/tests/snapshots/invalid/inline-table/linebreak-03.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/inline-table/linebreak-3.stderr
rename to crates/toml_edit/tests/snapshots/invalid/inline-table/linebreak-03.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/inline-table/linebreak-4.stderr b/crates/toml_edit/tests/snapshots/invalid/inline-table/linebreak-04.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/inline-table/linebreak-4.stderr
rename to crates/toml_edit/tests/snapshots/invalid/inline-table/linebreak-04.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/inline-table/no-close-1.stderr b/crates/toml_edit/tests/snapshots/invalid/inline-table/no-close-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/inline-table/no-close-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/inline-table/no-close-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/inline-table/no-close-2.stderr b/crates/toml_edit/tests/snapshots/invalid/inline-table/no-close-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/inline-table/no-close-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/inline-table/no-close-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/inline-table/no-comma-1.stderr b/crates/toml_edit/tests/snapshots/invalid/inline-table/no-comma-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/inline-table/no-comma-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/inline-table/no-comma-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/inline-table/no-comma-2.stderr b/crates/toml_edit/tests/snapshots/invalid/inline-table/no-comma-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/inline-table/no-comma-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/inline-table/no-comma-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/integer/invalid-hex-01.stderr b/crates/toml_edit/tests/snapshots/invalid/integer/invalid-hex-01.stderr
new file mode 100644
index 00000000..b899e6aa
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/integer/invalid-hex-01.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 22
+  |
+1 | invalid-hex-1 = 0xaafz
+  |                      ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/integer/invalid-hex-02.stderr b/crates/toml_edit/tests/snapshots/invalid/integer/invalid-hex-02.stderr
new file mode 100644
index 00000000..4df3e2fb
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/integer/invalid-hex-02.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 19
+  |
+1 | invalid-hex-2 = 0xgabba00f1
+  |                   ^
+invalid hexadecimal integer
diff --git a/crates/toml_edit/tests/snapshots/invalid/integer/invalid-hex-03.stderr b/crates/toml_edit/tests/snapshots/invalid/integer/invalid-hex-03.stderr
new file mode 100644
index 00000000..9a644c8f
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/integer/invalid-hex-03.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 7
+  |
+1 | a = 0x-1
+  |       ^
+invalid hexadecimal integer
diff --git a/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-01.stderr b/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-01.stderr
new file mode 100644
index 00000000..f058a2d9
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-01.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 19
+  |
+1 | leading-zero-1 = 01
+  |                   ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-02.stderr b/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-02.stderr
new file mode 100644
index 00000000..08238146
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-02.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 19
+  |
+1 | leading-zero-2 = 00
+  |                   ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-03.stderr b/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-03.stderr
new file mode 100644
index 00000000..7b0e481d
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-03.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 19
+  |
+1 | leading-zero-3 = 0_0
+  |                   ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-sign-01.stderr b/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-sign-01.stderr
new file mode 100644
index 00000000..384c9d40
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-sign-01.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 25
+  |
+1 | leading-zero-sign-1 = -01
+  |                         ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-sign-02.stderr b/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-sign-02.stderr
new file mode 100644
index 00000000..795c3297
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-sign-02.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 25
+  |
+1 | leading-zero-sign-2 = +01
+  |                         ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-sign-03.stderr b/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-sign-03.stderr
new file mode 100644
index 00000000..639aef5f
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/integer/leading-zero-sign-03.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 25
+  |
+1 | leading-zero-sign-3 = +0_1
+  |                         ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/bare-invalid-character-01.stderr b/crates/toml_edit/tests/snapshots/invalid/key/bare-invalid-character-01.stderr
new file mode 100644
index 00000000..bb943f88
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/key/bare-invalid-character-01.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 1
+  |
+1 | ! = 123
+  | ^
+invalid key
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/bare-invalid-character.stderr b/crates/toml_edit/tests/snapshots/invalid/key/bare-invalid-character-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/bare-invalid-character.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/bare-invalid-character-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/dot.stderr b/crates/toml_edit/tests/snapshots/invalid/key/dot.stderr
new file mode 100644
index 00000000..a23f91fa
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/key/dot.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 1
+  |
+1 | . = 1
+  | ^
+invalid key
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/dotdot.stderr b/crates/toml_edit/tests/snapshots/invalid/key/dotdot.stderr
new file mode 100644
index 00000000..422179b3
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/key/dotdot.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 1
+  |
+1 | .. = 1
+  | ^
+invalid key
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/dotted-redefine-table-1.stderr b/crates/toml_edit/tests/snapshots/invalid/key/dotted-redefine-table-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/dotted-redefine-table-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/dotted-redefine-table-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/dotted-redefine-table-2.stderr b/crates/toml_edit/tests/snapshots/invalid/key/dotted-redefine-table-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/dotted-redefine-table-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/dotted-redefine-table-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-1.stderr b/crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-2.stderr b/crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-3.stderr b/crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-03.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-3.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-03.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-4.stderr b/crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-04.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-4.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-04.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-5.stderr b/crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-05.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-5.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-05.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-6.stderr b/crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-06.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-6.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-06.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-7.stderr b/crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-07.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-7.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/duplicate-keys-07.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/multiline-key-01.stderr b/crates/toml_edit/tests/snapshots/invalid/key/multiline-key-01.stderr
new file mode 100644
index 00000000..ed02cd3d
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/key/multiline-key-01.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 3
+  |
+1 | """key""" = 1
+  |   ^
+expected `.`, `=`
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/multiline-key-02.stderr b/crates/toml_edit/tests/snapshots/invalid/key/multiline-key-02.stderr
new file mode 100644
index 00000000..ae5115dd
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/key/multiline-key-02.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 3
+  |
+1 | '''key''' = 1
+  |   ^
+expected `.`, `=`
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/multiline-key-03.stderr b/crates/toml_edit/tests/snapshots/invalid/key/multiline-key-03.stderr
new file mode 100644
index 00000000..2f010bb9
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/key/multiline-key-03.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 3
+  |
+1 | """key""" = """v"""
+  |   ^
+expected `.`, `=`
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/multiline-key-04.stderr b/crates/toml_edit/tests/snapshots/invalid/key/multiline-key-04.stderr
new file mode 100644
index 00000000..26a50caf
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/key/multiline-key-04.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 3
+  |
+1 | '''key''' = '''v'''
+  |   ^
+expected `.`, `=`
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/newline-1.stderr b/crates/toml_edit/tests/snapshots/invalid/key/newline-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/newline-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/newline-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/newline-2.stderr b/crates/toml_edit/tests/snapshots/invalid/key/newline-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/newline-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/newline-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/newline-3.stderr b/crates/toml_edit/tests/snapshots/invalid/key/newline-03.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/newline-3.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/newline-03.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/newline-4.stderr b/crates/toml_edit/tests/snapshots/invalid/key/newline-04.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/newline-4.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/newline-04.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/newline-5.stderr b/crates/toml_edit/tests/snapshots/invalid/key/newline-05.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/newline-5.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/newline-05.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/newline-06.stderr b/crates/toml_edit/tests/snapshots/invalid/key/newline-06.stderr
new file mode 100644
index 00000000..ca077138
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/key/newline-06.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 6
+  |
+1 | key =
+  |      ^
+invalid string
+expected `"`, `'`
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/no-eol.stderr b/crates/toml_edit/tests/snapshots/invalid/key/no-eol-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/no-eol.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/no-eol-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/no-eol-02.stderr b/crates/toml_edit/tests/snapshots/invalid/key/no-eol-02.stderr
new file mode 100644
index 00000000..2392a481
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/key/no-eol-02.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 4
+  |
+1 | 0=0r=false
+  |    ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/no-eol-03.stderr b/crates/toml_edit/tests/snapshots/invalid/key/no-eol-03.stderr
new file mode 100644
index 00000000..039eb1ff
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/key/no-eol-03.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 5
+  |
+1 | 0=""o=""m=""r=""00="0"q="""0"""e="""0"""
+  |     ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/no-eol-04.stderr b/crates/toml_edit/tests/snapshots/invalid/key/no-eol-04.stderr
new file mode 100644
index 00000000..eff82e76
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/key/no-eol-04.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 2, column 6
+  |
+2 | 0="0"[[0000l0]]
+  |      ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/no-eol-05.stderr b/crates/toml_edit/tests/snapshots/invalid/key/no-eol-05.stderr
new file mode 100644
index 00000000..815c7172
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/key/no-eol-05.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 6
+  |
+1 | 0=[0]00=[0,0,0]t=["0","0","0"]s=[1000-00-00T00:00:00Z,2000-00-00T00:00:00Z]
+  |      ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/no-eol-06.stderr b/crates/toml_edit/tests/snapshots/invalid/key/no-eol-06.stderr
new file mode 100644
index 00000000..9d3f47a0
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/key/no-eol-06.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 4
+  |
+1 | 0=0r0=0r=false
+  |    ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/no-eol-07.stderr b/crates/toml_edit/tests/snapshots/invalid/key/no-eol-07.stderr
new file mode 100644
index 00000000..385ccafe
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/key/no-eol-07.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 4
+  |
+1 | 0=0r0=0r=falsefal=false
+  |    ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/only-float.stderr b/crates/toml_edit/tests/snapshots/invalid/key/only-float.stderr
new file mode 100644
index 00000000..a1891519
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/key/only-float.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 4
+  |
+1 | 1.1
+  |    ^
+expected `.`, `=`
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/only-int.stderr b/crates/toml_edit/tests/snapshots/invalid/key/only-int.stderr
new file mode 100644
index 00000000..37574ba4
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/key/only-int.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 2
+  |
+1 | 1
+  |  ^
+expected `.`, `=`
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/only-str.stderr b/crates/toml_edit/tests/snapshots/invalid/key/only-str.stderr
new file mode 100644
index 00000000..618baf30
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/key/only-str.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 3
+  |
+1 | ""
+  |   ^
+expected `.`, `=`
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/quoted-unclosed-1.stderr b/crates/toml_edit/tests/snapshots/invalid/key/quoted-unclosed-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/quoted-unclosed-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/quoted-unclosed-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/quoted-unclosed-2.stderr b/crates/toml_edit/tests/snapshots/invalid/key/quoted-unclosed-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/quoted-unclosed-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/quoted-unclosed-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/two-equals-1.stderr b/crates/toml_edit/tests/snapshots/invalid/key/two-equals-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/two-equals-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/two-equals-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/two-equals-2.stderr b/crates/toml_edit/tests/snapshots/invalid/key/two-equals-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/two-equals-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/two-equals-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/two-equals-3.stderr b/crates/toml_edit/tests/snapshots/invalid/key/two-equals-03.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/two-equals-3.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/two-equals-03.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/without-value-1.stderr b/crates/toml_edit/tests/snapshots/invalid/key/without-value-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/without-value-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/without-value-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/without-value-2.stderr b/crates/toml_edit/tests/snapshots/invalid/key/without-value-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/without-value-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/without-value-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/without-value-3.stderr b/crates/toml_edit/tests/snapshots/invalid/key/without-value-03.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/without-value-3.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/without-value-03.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/without-value-4.stderr b/crates/toml_edit/tests/snapshots/invalid/key/without-value-04.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/without-value-4.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/without-value-04.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/without-value-5.stderr b/crates/toml_edit/tests/snapshots/invalid/key/without-value-05.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/without-value-5.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/without-value-05.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/without-value-6.stderr b/crates/toml_edit/tests/snapshots/invalid/key/without-value-06.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/without-value-6.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/without-value-06.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/key/without-value-7.stderr b/crates/toml_edit/tests/snapshots/invalid/key/without-value-07.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/key/without-value-7.stderr
rename to crates/toml_edit/tests/snapshots/invalid/key/without-value-07.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/local-date/day-1digit.stderr b/crates/toml_edit/tests/snapshots/invalid/local-date/day-1digit.stderr
new file mode 100644
index 00000000..968a1b24
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/local-date/day-1digit.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 15
+  |
+1 | foo = 1997-09-9
+  |               ^
+invalid date-time
diff --git a/crates/toml_edit/tests/snapshots/invalid/local-date/year-3digits.stderr b/crates/toml_edit/tests/snapshots/invalid/local-date/year-3digits.stderr
new file mode 100644
index 00000000..08686b16
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/local-date/year-3digits.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 10
+  |
+1 | foo = 199-09-09
+  |          ^
+expected newline, `#`
diff --git a/crates/toml_edit/tests/snapshots/invalid/local-time/time-no-leads.stderr b/crates/toml_edit/tests/snapshots/invalid/local-time/time-no-leads-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/local-time/time-no-leads.stderr
rename to crates/toml_edit/tests/snapshots/invalid/local-time/time-no-leads-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/local-time/time-no-leads-2.stderr b/crates/toml_edit/tests/snapshots/invalid/local-time/time-no-leads-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/local-time/time-no-leads-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/local-time/time-no-leads-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/bad-escape-1.stderr b/crates/toml_edit/tests/snapshots/invalid/string/bad-escape-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/bad-escape-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/bad-escape-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/bad-escape-2.stderr b/crates/toml_edit/tests/snapshots/invalid/string/bad-escape-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/bad-escape-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/bad-escape-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/bad-escape-3.stderr b/crates/toml_edit/tests/snapshots/invalid/string/bad-escape-03.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/bad-escape-3.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/bad-escape-03.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/bad-escape-4.stderr b/crates/toml_edit/tests/snapshots/invalid/string/bad-escape-04.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/bad-escape-4.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/bad-escape-04.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/bad-escape-5.stderr b/crates/toml_edit/tests/snapshots/invalid/string/bad-escape-05.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/bad-escape-5.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/bad-escape-05.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/bad-hex-esc-01.stderr b/crates/toml_edit/tests/snapshots/invalid/string/bad-hex-esc-01.stderr
new file mode 100644
index 00000000..5d5577fa
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/string/bad-hex-esc-01.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 20
+  |
+1 | bad-hex-esc-1 = "\x0g"
+  |                    ^
+invalid escape sequence
+expected `b`, `f`, `n`, `r`, `t`, `u`, `U`, `\`, `"`
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/bad-hex-esc-02.stderr b/crates/toml_edit/tests/snapshots/invalid/string/bad-hex-esc-02.stderr
new file mode 100644
index 00000000..5a40ad44
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/string/bad-hex-esc-02.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 20
+  |
+1 | bad-hex-esc-2 = "\xG0"
+  |                    ^
+invalid escape sequence
+expected `b`, `f`, `n`, `r`, `t`, `u`, `U`, `\`, `"`
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/bad-hex-esc-03.stderr b/crates/toml_edit/tests/snapshots/invalid/string/bad-hex-esc-03.stderr
new file mode 100644
index 00000000..70e1183f
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/string/bad-hex-esc-03.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 20
+  |
+1 | bad-hex-esc-3 = "\x"
+  |                    ^
+invalid escape sequence
+expected `b`, `f`, `n`, `r`, `t`, `u`, `U`, `\`, `"`
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/bad-hex-esc-04.stderr b/crates/toml_edit/tests/snapshots/invalid/string/bad-hex-esc-04.stderr
new file mode 100644
index 00000000..df028ee8
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/string/bad-hex-esc-04.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 20
+  |
+1 | bad-hex-esc-4 = "\x 50"
+  |                    ^
+invalid escape sequence
+expected `b`, `f`, `n`, `r`, `t`, `u`, `U`, `\`, `"`
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/bad-hex-esc-5.stderr b/crates/toml_edit/tests/snapshots/invalid/string/bad-hex-esc-05.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/bad-hex-esc-5.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/bad-hex-esc-05.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-01.stderr b/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-01.stderr
new file mode 100644
index 00000000..71d8ed3b
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-01.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 23
+  |
+1 | bad-uni-esc-1 = "val\ue"
+  |                       ^
+invalid unicode 4-digit hex code
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-02.stderr b/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-02.stderr
new file mode 100644
index 00000000..06138c1d
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-02.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 23
+  |
+1 | bad-uni-esc-2 = "val\Ux"
+  |                       ^
+invalid unicode 8-digit hex code
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-03.stderr b/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-03.stderr
new file mode 100644
index 00000000..c82355cb
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-03.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 23
+  |
+1 | bad-uni-esc-3 = "val\U0000000"
+  |                       ^
+invalid unicode 8-digit hex code
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-04.stderr b/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-04.stderr
new file mode 100644
index 00000000..71fb48c9
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-04.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 23
+  |
+1 | bad-uni-esc-4 = "val\U0000"
+  |                       ^
+invalid unicode 8-digit hex code
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-05.stderr b/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-05.stderr
new file mode 100644
index 00000000..d79798fc
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-05.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 23
+  |
+1 | bad-uni-esc-5 = "val\Ugggggggg"
+  |                       ^
+invalid unicode 8-digit hex code
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-06.stderr b/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-06.stderr
new file mode 100644
index 00000000..7eb5ff05
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-06.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 72
+  |
+1 | bad-uni-esc-6 = "This string contains a non scalar unicode codepoint \uD801"
+  |                                                                        ^
+invalid unicode 4-digit hex code
+value is out of range
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-07.stderr b/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-07.stderr
new file mode 100644
index 00000000..c53ef125
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/string/bad-uni-esc-07.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 20
+  |
+1 | bad-uni-esc-7 = "\uabag"
+  |                    ^
+invalid unicode 4-digit hex code
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/basic-multiline-out-of-range-unicode-escape-1.stderr b/crates/toml_edit/tests/snapshots/invalid/string/basic-multiline-out-of-range-unicode-escape-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/basic-multiline-out-of-range-unicode-escape-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/basic-multiline-out-of-range-unicode-escape-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/basic-multiline-out-of-range-unicode-escape-2.stderr b/crates/toml_edit/tests/snapshots/invalid/string/basic-multiline-out-of-range-unicode-escape-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/basic-multiline-out-of-range-unicode-escape-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/basic-multiline-out-of-range-unicode-escape-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/basic-out-of-range-unicode-escape-1.stderr b/crates/toml_edit/tests/snapshots/invalid/string/basic-out-of-range-unicode-escape-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/basic-out-of-range-unicode-escape-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/basic-out-of-range-unicode-escape-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/basic-out-of-range-unicode-escape-2.stderr b/crates/toml_edit/tests/snapshots/invalid/string/basic-out-of-range-unicode-escape-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/basic-out-of-range-unicode-escape-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/basic-out-of-range-unicode-escape-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/literal-multiline-quotes-1.stderr b/crates/toml_edit/tests/snapshots/invalid/string/literal-multiline-quotes-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/literal-multiline-quotes-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/literal-multiline-quotes-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/literal-multiline-quotes-2.stderr b/crates/toml_edit/tests/snapshots/invalid/string/literal-multiline-quotes-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/literal-multiline-quotes-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/literal-multiline-quotes-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/missing-quotes-array.stderr b/crates/toml_edit/tests/snapshots/invalid/string/missing-quotes-array.stderr
new file mode 100644
index 00000000..bc9aa2fa
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/string/missing-quotes-array.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 9
+  |
+1 | name = [value]
+  |         ^
+invalid array
+expected `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/missing-quotes-inline-table.stderr b/crates/toml_edit/tests/snapshots/invalid/string/missing-quotes-inline-table.stderr
new file mode 100644
index 00000000..6d1a7fa1
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/string/missing-quotes-inline-table.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 16
+  |
+1 | name = { key = value }
+  |                ^
+invalid string
+expected `"`, `'`
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/multiline-bad-escape-1.stderr b/crates/toml_edit/tests/snapshots/invalid/string/multiline-bad-escape-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/multiline-bad-escape-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/multiline-bad-escape-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/multiline-bad-escape-2.stderr b/crates/toml_edit/tests/snapshots/invalid/string/multiline-bad-escape-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/multiline-bad-escape-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/multiline-bad-escape-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/multiline-bad-escape-3.stderr b/crates/toml_edit/tests/snapshots/invalid/string/multiline-bad-escape-03.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/multiline-bad-escape-3.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/multiline-bad-escape-03.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/multiline-bad-escape-4.stderr b/crates/toml_edit/tests/snapshots/invalid/string/multiline-bad-escape-04.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/multiline-bad-escape-4.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/multiline-bad-escape-04.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/multiline-escape-space-1.stderr b/crates/toml_edit/tests/snapshots/invalid/string/multiline-escape-space-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/multiline-escape-space-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/multiline-escape-space-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/multiline-escape-space-2.stderr b/crates/toml_edit/tests/snapshots/invalid/string/multiline-escape-space-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/multiline-escape-space-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/multiline-escape-space-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/multiline-lit-no-close-1.stderr b/crates/toml_edit/tests/snapshots/invalid/string/multiline-lit-no-close-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/multiline-lit-no-close-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/multiline-lit-no-close-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/multiline-lit-no-close-2.stderr b/crates/toml_edit/tests/snapshots/invalid/string/multiline-lit-no-close-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/multiline-lit-no-close-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/multiline-lit-no-close-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/multiline-lit-no-close-3.stderr b/crates/toml_edit/tests/snapshots/invalid/string/multiline-lit-no-close-03.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/multiline-lit-no-close-3.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/multiline-lit-no-close-03.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/multiline-lit-no-close-4.stderr b/crates/toml_edit/tests/snapshots/invalid/string/multiline-lit-no-close-04.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/multiline-lit-no-close-4.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/multiline-lit-no-close-04.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-1.stderr b/crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-2.stderr b/crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-3.stderr b/crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-03.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-3.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-03.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-4.stderr b/crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-04.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-4.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-04.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-5.stderr b/crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-05.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-5.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/multiline-no-close-05.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/multiline-quotes-1.stderr b/crates/toml_edit/tests/snapshots/invalid/string/multiline-quotes-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/string/multiline-quotes-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/string/multiline-quotes-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/no-close-09.stderr b/crates/toml_edit/tests/snapshots/invalid/string/no-close-09.stderr
new file mode 100644
index 00000000..192e1cd3
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/string/no-close-09.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 2, column 6
+  |
+2 | a = "
+  |      ^
+invalid basic string
diff --git a/crates/toml_edit/tests/snapshots/invalid/string/no-close-10.stderr b/crates/toml_edit/tests/snapshots/invalid/string/no-close-10.stderr
new file mode 100644
index 00000000..20c4a19f
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/string/no-close-10.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 2, column 6
+  |
+2 | a = '
+  |      ^
+invalid literal string
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-1.stderr b/crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-2.stderr b/crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/append-to-array-with-dotted-keys.stderr b/crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-03.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/append-to-array-with-dotted-keys.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-03.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-04.stderr b/crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-04.stderr
new file mode 100644
index 00000000..e8f7af5a
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-04.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 7, column 1
+  |
+7 | [dependencies]
+  | ^
+invalid table header
+duplicate key `dependencies` in document root
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-05.stderr b/crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-05.stderr
new file mode 100644
index 00000000..a86281e9
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-05.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 2, column 1
+  |
+2 | a.b = 2
+  | ^
+duplicate key `b` in document root
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-06.stderr b/crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-06.stderr
new file mode 100644
index 00000000..373f6787
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-06.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 2, column 1
+  |
+2 | a.b = 2
+  | ^
+dotted key `a` attempted to extend non-table type (integer)
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-07.stderr b/crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-07.stderr
new file mode 100644
index 00000000..312acb1d
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/append-with-dotted-keys-07.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 6
+  |
+1 | a = {k1 = 1, k1.name = "joe"}
+  |      ^
+dotted key `k1` attempted to extend non-table type (integer)
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/array-no-close-1.stderr b/crates/toml_edit/tests/snapshots/invalid/table/array-no-close-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/array-no-close-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/array-no-close-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/array-no-close-2.stderr b/crates/toml_edit/tests/snapshots/invalid/table/array-no-close-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/array-no-close-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/array-no-close-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/array-no-close-3.stderr b/crates/toml_edit/tests/snapshots/invalid/table/array-no-close-03.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/array-no-close-3.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/array-no-close-03.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/array-no-close-4.stderr b/crates/toml_edit/tests/snapshots/invalid/table/array-no-close-04.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/array-no-close-4.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/array-no-close-04.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/bare-invalid-character-01.stderr b/crates/toml_edit/tests/snapshots/invalid/table/bare-invalid-character-01.stderr
new file mode 100644
index 00000000..c28b436b
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/bare-invalid-character-01.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 2
+  |
+1 | [!]
+  |  ^
+invalid key
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/bare-invalid-character-02.stderr b/crates/toml_edit/tests/snapshots/invalid/table/bare-invalid-character-02.stderr
new file mode 100644
index 00000000..2ed883a4
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/bare-invalid-character-02.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 6
+  |
+1 | [bare!key]
+  |      ^
+invalid table header
+expected `.`, `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/dot.stderr b/crates/toml_edit/tests/snapshots/invalid/table/dot.stderr
new file mode 100644
index 00000000..57a5546c
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/dot.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 2
+  |
+1 | [.]
+  |  ^
+invalid key
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/dotdot.stderr b/crates/toml_edit/tests/snapshots/invalid/table/dotdot.stderr
new file mode 100644
index 00000000..b9e8505f
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/dotdot.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 2
+  |
+1 | [..]
+  |  ^
+invalid key
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/duplicate.stderr b/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/duplicate.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-table.stderr b/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-table.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-dotted-array.stderr b/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-03.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-dotted-array.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-03.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-dotted-table.stderr b/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-04.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-dotted-table.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-04.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-dotted-table2.stderr b/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-05.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-dotted-table2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-05.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/duplicate-table-array.stderr b/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-06.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/duplicate-table-array.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-06.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/duplicate-table-array2.stderr b/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-07.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/duplicate-table-array2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-07.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-08.stderr b/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-08.stderr
new file mode 100644
index 00000000..c56a130a
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-08.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 3, column 1
+  |
+3 | [a.b]
+  | ^
+invalid table header
+duplicate key `b` in table `a`
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-09.stderr b/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-09.stderr
new file mode 100644
index 00000000..8a58939a
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-09.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 5, column 1
+  |
+5 | [a]
+  | ^
+invalid table header
+duplicate key `a` in document root
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-10.stderr b/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-10.stderr
new file mode 100644
index 00000000..8c818fc1
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/duplicate-key-10.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 2, column 1
+  |
+2 | [[a.b]]
+  | ^
+invalid table header
+dotted key `a` attempted to extend non-table type (array)
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/multiline-key-01.stderr b/crates/toml_edit/tests/snapshots/invalid/table/multiline-key-01.stderr
new file mode 100644
index 00000000..08b7a1f8
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/multiline-key-01.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 4
+  |
+1 | ["""tbl"""]
+  |    ^
+invalid table header
+expected `.`, `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/multiline-key-02.stderr b/crates/toml_edit/tests/snapshots/invalid/table/multiline-key-02.stderr
new file mode 100644
index 00000000..aa3cd531
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/multiline-key-02.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 4
+  |
+1 | ['''tbl''']
+  |    ^
+invalid table header
+expected `.`, `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/newline-01.stderr b/crates/toml_edit/tests/snapshots/invalid/table/newline-01.stderr
new file mode 100644
index 00000000..8ec85d2c
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/newline-01.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 5
+  |
+1 | [tbl
+  |     ^
+invalid table header
+expected `.`, `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/newline-02.stderr b/crates/toml_edit/tests/snapshots/invalid/table/newline-02.stderr
new file mode 100644
index 00000000..93646aa8
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/newline-02.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 6
+  |
+1 | ["tbl
+  |      ^
+invalid basic string
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/newline-03.stderr b/crates/toml_edit/tests/snapshots/invalid/table/newline-03.stderr
new file mode 100644
index 00000000..e1e2b112
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/newline-03.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 7
+  |
+1 | ["tbl"
+  |       ^
+invalid table header
+expected `.`, `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/newline-04.stderr b/crates/toml_edit/tests/snapshots/invalid/table/newline-04.stderr
new file mode 100644
index 00000000..2a437f1c
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/newline-04.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 5
+  |
+1 | [tbl.
+  |     ^
+invalid table header
+expected `.`, `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/newline-05.stderr b/crates/toml_edit/tests/snapshots/invalid/table/newline-05.stderr
new file mode 100644
index 00000000..8ec85d2c
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/newline-05.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 5
+  |
+1 | [tbl
+  |     ^
+invalid table header
+expected `.`, `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/no-close-1.stderr b/crates/toml_edit/tests/snapshots/invalid/table/no-close-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/no-close-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/no-close-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/no-close-2.stderr b/crates/toml_edit/tests/snapshots/invalid/table/no-close-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/no-close-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/no-close-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/no-close-3.stderr b/crates/toml_edit/tests/snapshots/invalid/table/no-close-03.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/no-close-3.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/no-close-03.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/no-close-4.stderr b/crates/toml_edit/tests/snapshots/invalid/table/no-close-04.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/no-close-4.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/no-close-04.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/no-close-5.stderr b/crates/toml_edit/tests/snapshots/invalid/table/no-close-05.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/no-close-5.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/no-close-05.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/no-close-6.stderr b/crates/toml_edit/tests/snapshots/invalid/table/no-close-06.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/no-close-6.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/no-close-06.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/no-close-07.stderr b/crates/toml_edit/tests/snapshots/invalid/table/no-close-07.stderr
new file mode 100644
index 00000000..96bfcfc3
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/no-close-07.stderr
@@ -0,0 +1,5 @@
+TOML parse error at line 1, column 4
+  |
+1 | [']
+  |    ^
+invalid literal string
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/no-close-08.stderr b/crates/toml_edit/tests/snapshots/invalid/table/no-close-08.stderr
new file mode 100644
index 00000000..87542133
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/no-close-08.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 4
+  |
+1 | [''']
+  |    ^
+invalid table header
+expected `.`, `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/no-close-09.stderr b/crates/toml_edit/tests/snapshots/invalid/table/no-close-09.stderr
new file mode 100644
index 00000000..be1b333b
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/no-close-09.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 21
+  |
+1 | ["where will it end""]
+  |                     ^
+invalid table header
+expected `.`, `]`
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/redefine-1.stderr b/crates/toml_edit/tests/snapshots/invalid/table/redefine-01.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/redefine-1.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/redefine-01.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/redefine-2.stderr b/crates/toml_edit/tests/snapshots/invalid/table/redefine-02.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/redefine-2.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/redefine-02.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/redefine-3.stderr b/crates/toml_edit/tests/snapshots/invalid/table/redefine-03.stderr
similarity index 100%
rename from crates/toml_edit/tests/snapshots/invalid/table/redefine-3.stderr
rename to crates/toml_edit/tests/snapshots/invalid/table/redefine-03.stderr
diff --git a/crates/toml_edit/tests/snapshots/invalid/table/trailing-dot.stderr b/crates/toml_edit/tests/snapshots/invalid/table/trailing-dot.stderr
new file mode 100644
index 00000000..5eb59703
--- /dev/null
+++ b/crates/toml_edit/tests/snapshots/invalid/table/trailing-dot.stderr
@@ -0,0 +1,6 @@
+TOML parse error at line 1, column 3
+  |
+1 | [a.]
+  |   ^
+invalid table header
+expected `.`, `]`