Rename serde_kdl to serde_kdl2 in tests
property.rs still referenced serde_kdl after the crate rename.
Also removed unused test_custom_seq_deser macro left over from
conflict resolution.

Assisted-by: Claude Opus 4.6 via pi
change xmwqrotkxlllzvtnsoulpwywwqrqsknw
commit 5bc50f7a80b06fa30bab7824e099d1fe53ff2fe0
author Alpha Chen <alpha@kejadlen.dev>
date
parent pklmxqtk
diff --git a/Cargo.toml b/Cargo.toml
index e6415bb..df3d106 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,5 +1,5 @@
 [package]
-name = "serde-kdl"
+name = "serde-kdl2"
 version = "0.1.0"
 edition = "2024"
 description = "Serde integration for KDL (KDL Document Language)"
diff --git a/README.md b/README.md
index 83577c2..e70da98 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# serde-kdl
+# serde-kdl2
 
 [Serde](https://serde.rs) integration for [KDL](https://kdl.dev) (KDL Document Language).
 
@@ -23,13 +23,13 @@ enabled #true
 "#;
 
 // Deserialize
-let config: Config = serde_kdl::from_str(kdl_input).unwrap();
+let config: Config = serde_kdl2::from_str(kdl_input).unwrap();
 
 // Serialize
-let output = serde_kdl::to_string(&config).unwrap();
+let output = serde_kdl2::to_string(&config).unwrap();
 
 // Roundtrip
-let roundtrip: Config = serde_kdl::from_str(&output).unwrap();
+let roundtrip: Config = serde_kdl2::from_str(&output).unwrap();
 assert_eq!(config, roundtrip);
 ```
 
@@ -146,19 +146,19 @@ settings {
 
 ```rust
 // Deserialize from string
-let config: Config = serde_kdl::from_str(kdl_str)?;
+let config: Config = serde_kdl2::from_str(kdl_str)?;
 
 // Deserialize from KdlDocument
-let config: Config = serde_kdl::from_doc(&doc)?;
+let config: Config = serde_kdl2::from_doc(&doc)?;
 
 // Serialize to string
-let s: String = serde_kdl::to_string(&config)?;
+let s: String = serde_kdl2::to_string(&config)?;
 
 // Serialize to string (auto-formatted)
-let s: String = serde_kdl::to_string_pretty(&config)?;
+let s: String = serde_kdl2::to_string_pretty(&config)?;
 
 // Serialize to KdlDocument
-let doc: kdl::KdlDocument = serde_kdl::to_doc(&config)?;
+let doc: kdl::KdlDocument = serde_kdl2::to_doc(&config)?;
 ```
 
 ## License
diff --git a/src/error.rs b/src/error.rs
index ff4006c..a49f346 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -1,6 +1,6 @@
 use std::fmt;
 
-/// Error type for serde-kdl serialization and deserialization.
+/// Error type for serde-kdl2 serialization and deserialization.
 #[derive(Debug, thiserror::Error)]
 pub enum Error {
     /// A KDL parsing error.
diff --git a/src/lib.rs b/src/lib.rs
index b8d56dd..f44afca 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,4 +1,4 @@
-//! # serde-kdl
+//! # serde-kdl2
 //!
 //! [Serde](https://serde.rs) integration for [KDL](https://kdl.dev), the
 //! KDL Document Language.
@@ -25,14 +25,14 @@
 //! "#;
 //!
 //! // Deserialize
-//! let config: Config = serde_kdl::from_str(kdl_input).unwrap();
+//! let config: Config = serde_kdl2::from_str(kdl_input).unwrap();
 //! assert_eq!(config.title, "My App");
 //! assert_eq!(config.count, 42);
 //! assert_eq!(config.enabled, true);
 //!
 //! // Serialize
-//! let output = serde_kdl::to_string(&config).unwrap();
-//! let roundtrip: Config = serde_kdl::from_str(&output).unwrap();
+//! let output = serde_kdl2::to_string(&config).unwrap();
+//! let roundtrip: Config = serde_kdl2::from_str(&output).unwrap();
 //! assert_eq!(config, roundtrip);
 //! ```
 //!
diff --git a/tests/integration.rs b/tests/integration.rs
index 511169a..02f5017 100644
--- a/tests/integration.rs
+++ b/tests/integration.rs
@@ -10,7 +10,7 @@ macro_rules! deser_ok {
     ($name:ident, $ty:ty, $input:expr, $expected:expr) => {
         #[test]
         fn $name() {
-            let val: $ty = serde_kdl::from_str($input).unwrap();
+            let val: $ty = serde_kdl2::from_str($input).unwrap();
             assert_eq!(val, $expected);
         }
     };
@@ -21,7 +21,7 @@ macro_rules! deser_err {
     ($name:ident, $ty:ty, $input:expr) => {
         #[test]
         fn $name() {
-            assert!(serde_kdl::from_str::<$ty>($input).is_err());
+            assert!(serde_kdl2::from_str::<$ty>($input).is_err());
         }
     };
 }
@@ -32,8 +32,8 @@ macro_rules! roundtrip {
         #[test]
         fn $name() {
             let val: $ty = $val;
-            let output = serde_kdl::to_string(&val).unwrap();
-            let rt: $ty = serde_kdl::from_str(&output).unwrap();
+            let output = serde_kdl2::to_string(&val).unwrap();
+            let rt: $ty = serde_kdl2::from_str(&output).unwrap();
             assert_eq!(val, rt);
         }
     };
@@ -44,7 +44,7 @@ macro_rules! ser_err {
     ($name:ident, $val:expr) => {
         #[test]
         fn $name() {
-            assert!(serde_kdl::to_string(&$val).is_err());
+            assert!(serde_kdl2::to_string(&$val).is_err());
         }
     };
 }
@@ -59,7 +59,7 @@ macro_rules! deser_repeated_vec {
             struct W {
                 $field: Vec<$ty>,
             }
-            let val: W = serde_kdl::from_str($input).unwrap();
+            let val: W = serde_kdl2::from_str($input).unwrap();
             assert_eq!(val.$field, $expected);
         }
     };
@@ -74,7 +74,7 @@ macro_rules! deser_repeated_vec_err {
             struct W {
                 $field: Vec<$ty>,
             }
-            assert!(serde_kdl::from_str::<W>($input).is_err());
+            assert!(serde_kdl2::from_str::<W>($input).is_err());
         }
     };
 }
@@ -88,7 +88,7 @@ macro_rules! deser_field {
             struct W {
                 $field: $ty,
             }
-            let val: W = serde_kdl::from_str($input).unwrap();
+            let val: W = serde_kdl2::from_str($input).unwrap();
             assert_eq!(val.$field, $expected);
         }
     };
@@ -104,7 +104,7 @@ macro_rules! deser_field_err {
                 #[allow(dead_code)]
                 $field: $ty,
             }
-            assert!(serde_kdl::from_str::<W>($input).is_err());
+            assert!(serde_kdl2::from_str::<W>($input).is_err());
         }
     };
 }
@@ -329,18 +329,18 @@ fn serialize_option() {
         required: String::from("hello"),
         optional: Some(String::from("world")),
     };
-    let output = serde_kdl::to_string(&with).unwrap();
+    let output = serde_kdl2::to_string(&with).unwrap();
     assert!(output.contains("optional"));
-    let rt: OptionalFields = serde_kdl::from_str(&output).unwrap();
+    let rt: OptionalFields = serde_kdl2::from_str(&output).unwrap();
     assert_eq!(with, rt);
 
     let without = OptionalFields {
         required: String::from("hello"),
         optional: None,
     };
-    let output = serde_kdl::to_string(&without).unwrap();
+    let output = serde_kdl2::to_string(&without).unwrap();
     assert!(!output.contains("optional"));
-    let rt: OptionalFields = serde_kdl::from_str(&output).unwrap();
+    let rt: OptionalFields = serde_kdl2::from_str(&output).unwrap();
     assert_eq!(without, rt);
 }
 
@@ -435,7 +435,7 @@ struct WithMap {
 #[test]
 fn deserialize_hashmap() {
     let val: WithMap =
-        serde_kdl::from_str("settings {\n    key1 \"value1\"\n    key2 \"value2\"\n}\n").unwrap();
+        serde_kdl2::from_str("settings {\n    key1 \"value1\"\n    key2 \"value2\"\n}\n").unwrap();
     assert_eq!(val.settings.get("key1"), Some(&"value1".into()));
     assert_eq!(val.settings.get("key2"), Some(&"value2".into()));
 }
@@ -445,8 +445,8 @@ fn serialize_hashmap() {
     let mut settings = HashMap::new();
     settings.insert("key1".into(), "value1".into());
     let val = WithMap { settings };
-    let output = serde_kdl::to_string(&val).unwrap();
-    let rt: WithMap = serde_kdl::from_str(&output).unwrap();
+    let output = serde_kdl2::to_string(&val).unwrap();
+    let rt: WithMap = serde_kdl2::from_str(&output).unwrap();
     assert_eq!(val, rt);
 }
 
@@ -492,8 +492,8 @@ fn roundtrip_tuple() {
     let val = W {
         point: (1.0, 2.0, 3.0),
     };
-    let output = serde_kdl::to_string(&val).unwrap();
-    let rt: W = serde_kdl::from_str(&output).unwrap();
+    let output = serde_kdl2::to_string(&val).unwrap();
+    let rt: W = serde_kdl2::from_str(&output).unwrap();
     assert_eq!(val, rt);
 }
 
@@ -515,10 +515,10 @@ struct Level1 {
 #[test]
 fn deeply_nested() {
     let input = "middle {\n    inner {\n        value \"deep\"\n    }\n}\n";
-    let val: Level1 = serde_kdl::from_str(input).unwrap();
+    let val: Level1 = serde_kdl2::from_str(input).unwrap();
     assert_eq!(val.middle.inner.value, "deep");
-    let output = serde_kdl::to_string(&val).unwrap();
-    let rt: Level1 = serde_kdl::from_str(&output).unwrap();
+    let output = serde_kdl2::to_string(&val).unwrap();
+    let rt: Level1 = serde_kdl2::from_str(&output).unwrap();
     assert_eq!(val, rt);
 }
 
@@ -557,8 +557,8 @@ fn serialize_empty_vec() {
         items: Vec<String>,
     }
     let val = W { items: vec![] };
-    let output = serde_kdl::to_string(&val).unwrap();
-    let rt: W = serde_kdl::from_str(&output).unwrap();
+    let output = serde_kdl2::to_string(&val).unwrap();
+    let rt: W = serde_kdl2::from_str(&output).unwrap();
     assert_eq!(rt.items, Vec::<String>::new());
 }
 
@@ -573,8 +573,8 @@ fn pretty_print() {
             port: 8080,
         },
     };
-    let pretty = serde_kdl::to_string_pretty(&config).unwrap();
-    let rt: AppConfig = serde_kdl::from_str(&pretty).unwrap();
+    let pretty = serde_kdl2::to_string_pretty(&config).unwrap();
+    let rt: AppConfig = serde_kdl2::from_str(&pretty).unwrap();
     assert_eq!(config, rt);
 }
 
@@ -588,9 +588,9 @@ fn doc_api() {
         enabled: false,
         ratio: 0.5,
     };
-    let doc = serde_kdl::to_doc(&config).unwrap();
+    let doc = serde_kdl2::to_doc(&config).unwrap();
     assert!(doc.get("title").is_some());
-    let rt: SimpleConfig = serde_kdl::from_doc(&doc).unwrap();
+    let rt: SimpleConfig = serde_kdl2::from_doc(&doc).unwrap();
     assert_eq!(config, rt);
 }
 
@@ -710,8 +710,8 @@ ser_err!(serialize_top_level_bool_err, true);
 
 #[test]
 fn serialize_top_level_not_struct_error_type() {
-    let err = serde_kdl::to_string(&42i32).unwrap_err();
-    assert!(matches!(err, serde_kdl::Error::TopLevelNotStruct));
+    let err = serde_kdl2::to_string(&42i32).unwrap_err();
+    assert!(matches!(err, serde_kdl2::Error::TopLevelNotStruct));
 }
 
 #[test]
@@ -734,8 +734,8 @@ fn serialize_bytes() {
     let val = W {
         data: vec![1, 2, 3],
     };
-    let output = serde_kdl::to_string(&val).unwrap();
-    let rt: W = serde_kdl::from_str(&output).unwrap();
+    let output = serde_kdl2::to_string(&val).unwrap();
+    let rt: W = serde_kdl2::from_str(&output).unwrap();
     assert_eq!(val, rt);
 }
 
@@ -747,7 +747,7 @@ fn serialize_unit_value() {
         #[allow(dead_code)]
         marker: (),
     }
-    let output = serde_kdl::to_string(&S {
+    let output = serde_kdl2::to_string(&S {
         label: String::from("test"),
         marker: (),
     })
@@ -761,13 +761,13 @@ fn serialize_explicit_null_value() {
     struct S {
         marker: UnitStruct,
     }
-    let output = serde_kdl::to_string(&S { marker: UnitStruct }).unwrap();
+    let output = serde_kdl2::to_string(&S { marker: UnitStruct }).unwrap();
     assert!(!output.contains("marker"));
 }
 
 #[test]
 fn serialize_f32_field() {
-    let output = serde_kdl::to_string(&WF32 { value: 2.5 }).unwrap();
+    let output = serde_kdl2::to_string(&WF32 { value: 2.5 }).unwrap();
     assert!(output.contains("2.5"));
 }
 
@@ -779,7 +779,7 @@ fn serialize_map_integer_keys() {
     }
     let mut lookup = HashMap::new();
     lookup.insert(1, "one".into());
-    let output = serde_kdl::to_string(&S { lookup }).unwrap();
+    let output = serde_kdl2::to_string(&S { lookup }).unwrap();
     assert!(output.contains("1"));
 }
 
@@ -791,7 +791,7 @@ fn serialize_map_bool_keys() {
     }
     let mut flags = HashMap::new();
     flags.insert(true, "yes".into());
-    let output = serde_kdl::to_string(&S { flags }).unwrap();
+    let output = serde_kdl2::to_string(&S { flags }).unwrap();
     assert!(output.contains("true"));
 }
 
@@ -807,7 +807,7 @@ fn serialize_mixed_sequence() {
     struct S {
         items: Vec<V>,
     }
-    let output = serde_kdl::to_string(&S {
+    let output = serde_kdl2::to_string(&S {
         items: vec![V::Num(1), V::Num(2)],
     })
     .unwrap();
@@ -826,7 +826,7 @@ fn serialize_mixed_primitive_sequence() {
     struct S {
         items: Vec<Mixed>,
     }
-    let output = serde_kdl::to_string(&S {
+    let output = serde_kdl2::to_string(&S {
         items: vec![Mixed::Int(1), Mixed::Str("two".into()), Mixed::Int(3)],
     })
     .unwrap();
@@ -839,7 +839,7 @@ fn serialize_nested_sequence() {
     struct S {
         matrix: Vec<Vec<i32>>,
     }
-    let output = serde_kdl::to_string(&S {
+    let output = serde_kdl2::to_string(&S {
         matrix: vec![vec![1, 2], vec![3, 4]],
     })
     .unwrap();
@@ -855,8 +855,8 @@ fn serialize_vec_bools() {
     let val = S {
         flags: vec![true, false, true],
     };
-    let output = serde_kdl::to_string(&val).unwrap();
-    let rt: S = serde_kdl::from_str(&output).unwrap();
+    let output = serde_kdl2::to_string(&val).unwrap();
+    let rt: S = serde_kdl2::from_str(&output).unwrap();
     assert_eq!(val, rt);
 }
 
@@ -866,7 +866,7 @@ fn serialize_vec_option_with_nulls() {
     struct S {
         vals: Vec<Option<i32>>,
     }
-    let output = serde_kdl::to_string(&S {
+    let output = serde_kdl2::to_string(&S {
         vals: vec![Some(1), None, Some(3)],
     })
     .unwrap();
@@ -879,7 +879,7 @@ fn serialize_mixed_seq_with_null() {
     struct S {
         items: Vec<Option<Vec<i32>>>,
     }
-    let output = serde_kdl::to_string(&S {
+    let output = serde_kdl2::to_string(&S {
         items: vec![Some(vec![1, 2]), None, Some(vec![3])],
     })
     .unwrap();
@@ -895,14 +895,14 @@ fn serialize_option_some_null_nested() {
     let mut items = HashMap::new();
     items.insert("present".into(), Some("value".into()));
     items.insert("absent".into(), None);
-    let output = serde_kdl::to_string(&S { items }).unwrap();
+    let output = serde_kdl2::to_string(&S { items }).unwrap();
     assert!(!output.contains("absent"));
     assert!(output.contains("present"));
 }
 
 #[test]
 fn serialize_unsupported_map_key() {
-    let err = serde_kdl::Error::Unsupported("map key must be a string, got Null".into());
+    let err = serde_kdl2::Error::Unsupported("map key must be a string, got Null".into());
     assert!(err.to_string().contains("map key"));
 }
 
@@ -913,15 +913,15 @@ fn serialize_unsupported_map_key() {
 #[test]
 fn error_display_variants() {
     assert_eq!(
-        serde_kdl::Error::TopLevelNotStruct.to_string(),
+        serde_kdl2::Error::TopLevelNotStruct.to_string(),
         "top-level type must be a struct or map"
     );
     assert_eq!(
-        serde_kdl::Error::Message("custom error".into()).to_string(),
+        serde_kdl2::Error::Message("custom error".into()).to_string(),
         "custom error"
     );
     assert!(
-        serde_kdl::Error::TypeMismatch {
+        serde_kdl2::Error::TypeMismatch {
             expected: "string",
             got: "integer".into()
         }
@@ -929,22 +929,22 @@ fn error_display_variants() {
         .contains("expected string")
     );
     assert!(
-        serde_kdl::Error::MissingField("name".into())
+        serde_kdl2::Error::MissingField("name".into())
             .to_string()
             .contains("name")
     );
     assert!(
-        serde_kdl::Error::IntegerOutOfRange(999999)
+        serde_kdl2::Error::IntegerOutOfRange(999999)
             .to_string()
             .contains("999999")
     );
     assert!(
-        serde_kdl::Error::UnknownVariant("Foo".into())
+        serde_kdl2::Error::UnknownVariant("Foo".into())
             .to_string()
             .contains("Foo")
     );
     assert!(
-        serde_kdl::Error::Unsupported("nope".into())
+        serde_kdl2::Error::Unsupported("nope".into())
             .to_string()
             .contains("nope")
     );
@@ -953,11 +953,11 @@ fn error_display_variants() {
 #[test]
 fn serde_error_custom_impls() {
     assert_eq!(
-        <serde_kdl::Error as serde::de::Error>::custom("deser fail").to_string(),
+        <serde_kdl2::Error as serde::de::Error>::custom("deser fail").to_string(),
         "deser fail"
     );
     assert_eq!(
-        <serde_kdl::Error as serde::ser::Error>::custom("ser fail").to_string(),
+        <serde_kdl2::Error as serde::ser::Error>::custom("ser fail").to_string(),
         "ser fail"
     );
 }
@@ -988,7 +988,7 @@ fn field_deserialize_enum_multi_children_error() {
         #[allow(dead_code)]
         shape: Shape,
     }
-    assert!(serde_kdl::from_str::<S>("shape {\n    Circle {\n        radius 5.0\n    }\n    Rectangle {\n        width 10.0\n    }\n}\n").is_err());
+    assert!(serde_kdl2::from_str::<S>("shape {\n    Circle {\n        radius 5.0\n    }\n    Rectangle {\n        width 10.0\n    }\n}\n").is_err());
 }
 
 // ════════════════════════════════════════════════════════════════════════
@@ -1009,7 +1009,7 @@ fn value_deserializer_any_float() {
     struct S {
         val: f64,
     }
-    let val: S = serde_kdl::from_str("val 3.14").unwrap();
+    let val: S = serde_kdl2::from_str("val 3.14").unwrap();
     assert!((val.val - 3.14).abs() < 0.001);
 }
 
@@ -1021,7 +1021,7 @@ fn value_deserializer_unit_null() {
         marker: (),
         name: String,
     }
-    let val: S = serde_kdl::from_str("marker #null\nname \"test\"\n").unwrap();
+    let val: S = serde_kdl2::from_str("marker #null\nname \"test\"\n").unwrap();
     assert_eq!(val.name, "test");
 }
 
@@ -1031,7 +1031,7 @@ fn value_deserializer_unit_mismatch() {
     struct S {
         marker: (),
     }
-    let val: S = serde_kdl::from_str("marker 42").unwrap();
+    let val: S = serde_kdl2::from_str("marker 42").unwrap();
     assert_eq!(val.marker, ());
 }
 
@@ -1046,7 +1046,7 @@ fn value_deserializer_newtype_struct_named() {
     struct S {
         val: W,
     }
-    let val: S = serde_kdl::from_str("val 42").unwrap();
+    let val: S = serde_kdl2::from_str("val 42").unwrap();
     assert_eq!(val.val, W(42));
 }
 
@@ -1060,7 +1060,7 @@ fn deserialize_any_with_properties() {
     struct S {
         item: HashMap<String, String>,
     }
-    let val: S = serde_kdl::from_str(r#"item key="value""#).unwrap();
+    let val: S = serde_kdl2::from_str(r#"item key="value""#).unwrap();
     assert_eq!(val.item.get("key"), Some(&"value".into()));
 }
 
@@ -1074,7 +1074,7 @@ fn deserialize_any_unit_node() {
         marker: (),
         name: String,
     }
-    let val: S = serde_kdl::from_str("marker\nname \"test\"\n").unwrap();
+    let val: S = serde_kdl2::from_str("marker\nname \"test\"\n").unwrap();
     assert_eq!(val.name, "test");
 }
 
@@ -1093,7 +1093,7 @@ macro_rules! test_untagged_any {
             struct S {
                 data: DynVal,
             }
-            let val: S = serde_kdl::from_str($input).unwrap();
+            let val: S = serde_kdl2::from_str($input).unwrap();
             let DynVal::V(inner) = val.data;
             let check: $variant_ty = $check;
             assert_eq!(inner, check);
@@ -1127,7 +1127,7 @@ fn field_deserialize_any_no_args() {
     struct S {
         data: DynVal,
     }
-    let val: S = serde_kdl::from_str("data").unwrap();
+    let val: S = serde_kdl2::from_str("data").unwrap();
     assert_eq!(val.data, DynVal::Unit);
 }
 
@@ -1142,7 +1142,7 @@ fn field_deserialize_any_float() {
     struct S {
         data: DynVal,
     }
-    let val: S = serde_kdl::from_str("data 3.14").unwrap();
+    let val: S = serde_kdl2::from_str("data 3.14").unwrap();
     let DynVal::Float(f) = val.data;
     assert!((f - 3.14).abs() < 0.001);
 }
@@ -1158,7 +1158,7 @@ fn field_deserialize_any_bool() {
     struct S {
         data: DynVal,
     }
-    let val: S = serde_kdl::from_str("data #true").unwrap();
+    let val: S = serde_kdl2::from_str("data #true").unwrap();
     let DynVal::Bool(b) = val.data;
     assert!(b);
 }
@@ -1175,7 +1175,7 @@ fn field_deserialize_any_null() {
     struct S {
         data: Option<DynVal>,
     }
-    let val: S = serde_kdl::from_str("data #null").unwrap();
+    let val: S = serde_kdl2::from_str("data #null").unwrap();
     assert_eq!(val.data, None);
 }
 
@@ -1192,7 +1192,7 @@ fn field_deserialize_any_integer_limitation() {
         #[allow(dead_code)]
         data: DynVal,
     }
-    assert!(serde_kdl::from_str::<S>("data 42").is_err());
+    assert!(serde_kdl2::from_str::<S>("data 42").is_err());
 }
 
 // ════════════════════════════════════════════════════════════════════════
@@ -1206,7 +1206,7 @@ fn document_deserialize_any_as_map() {
     enum TopLevel {
         Config { name: String, label: String },
     }
-    let val: TopLevel = serde_kdl::from_str("name \"test\"\nlabel \"hello\"\n").unwrap();
+    let val: TopLevel = serde_kdl2::from_str("name \"test\"\nlabel \"hello\"\n").unwrap();
     assert_eq!(
         val,
         TopLevel::Config {
@@ -1218,14 +1218,14 @@ fn document_deserialize_any_as_map() {
 
 #[test]
 fn document_deserialize_unit() {
-    let _: () = serde_kdl::from_str("").unwrap();
+    let _: () = serde_kdl2::from_str("").unwrap();
 }
 
 #[test]
 fn document_deserialize_unit_struct() {
     #[derive(Deserialize, Debug, PartialEq)]
     struct Empty;
-    let _: Empty = serde_kdl::from_str("").unwrap();
+    let _: Empty = serde_kdl2::from_str("").unwrap();
 }
 
 #[test]
@@ -1236,7 +1236,7 @@ fn document_deserialize_newtype_struct() {
     }
     #[derive(Deserialize, Debug, PartialEq)]
     struct Outer(Inner);
-    let val: Outer = serde_kdl::from_str("name \"test\"").unwrap();
+    let val: Outer = serde_kdl2::from_str("name \"test\"").unwrap();
     assert_eq!(val.0.name, "test");
 }
 
@@ -1261,7 +1261,7 @@ fn deserialize_struct_from_properties() {
     struct S {
         point: Point,
     }
-    let val: S = serde_kdl::from_str(r#"point x=1.0 y=2.0"#).unwrap();
+    let val: S = serde_kdl2::from_str(r#"point x=1.0 y=2.0"#).unwrap();
     assert_eq!(val.point, Point { x: 1.0, y: 2.0 });
 }
 
@@ -1271,7 +1271,7 @@ fn deserialize_map_from_properties() {
     struct S {
         meta: HashMap<String, String>,
     }
-    let val: S = serde_kdl::from_str(r#"meta author="Alice" version="1.0""#).unwrap();
+    let val: S = serde_kdl2::from_str(r#"meta author="Alice" version="1.0""#).unwrap();
     assert_eq!(val.meta.get("author"), Some(&String::from("Alice")));
     assert_eq!(val.meta.get("version"), Some(&"1.0".into()));
 }
@@ -1294,7 +1294,7 @@ fn field_deserialize_unit_struct() {
     struct S {
         tag: Marker,
     }
-    let val: S = serde_kdl::from_str("tag").unwrap();
+    let val: S = serde_kdl2::from_str("tag").unwrap();
     assert_eq!(val.tag, Marker);
 }
 
@@ -1310,7 +1310,7 @@ fn field_deserialize_newtype_struct() {
     struct S {
         data: W,
     }
-    let val: S = serde_kdl::from_str("data {\n    x 42\n}\n").unwrap();
+    let val: S = serde_kdl2::from_str("data {\n    x 42\n}\n").unwrap();
     assert_eq!(val.data, W(Inner { x: 42 }));
 }
 
@@ -1325,7 +1325,7 @@ fn field_deserialize_struct_from_properties() {
     struct S {
         pos: Point,
     }
-    let val: S = serde_kdl::from_str("pos x=1.0 y=2.0").unwrap();
+    let val: S = serde_kdl2::from_str("pos x=1.0 y=2.0").unwrap();
     assert_eq!(val.pos, Point { x: 1.0, y: 2.0 });
 }
 
@@ -1339,7 +1339,7 @@ fn field_deserialize_struct_single_arg() {
     struct S {
         item: W,
     }
-    let val: S = serde_kdl::from_str("item 42").unwrap();
+    let val: S = serde_kdl2::from_str("item 42").unwrap();
     assert_eq!(val.item, W { value: 42 });
 }
 
@@ -1356,7 +1356,7 @@ fn field_deserialize_struct_empty() {
     struct S {
         data: Empty,
     }
-    let val: S = serde_kdl::from_str("data").unwrap();
+    let val: S = serde_kdl2::from_str("data").unwrap();
     assert_eq!(val.data, Empty { a: None, b: None });
 }
 
@@ -1387,7 +1387,7 @@ fn enum_newtype_variant_via_arg() {
     struct S {
         value: Val,
     }
-    let val: S = serde_kdl::from_str(r#"value "Number" 42"#).unwrap();
+    let val: S = serde_kdl2::from_str(r#"value "Number" 42"#).unwrap();
     assert_eq!(val.value, Val::Number(42));
 }
 
@@ -1401,7 +1401,7 @@ fn enum_tuple_variant_via_args() {
     struct S {
         value: Val,
     }
-    let val: S = serde_kdl::from_str(r#"value "Point" 1.0 2.0"#).unwrap();
+    let val: S = serde_kdl2::from_str(r#"value "Point" 1.0 2.0"#).unwrap();
     assert_eq!(val.value, Val::Point(1.0, 2.0));
 }
 
@@ -1415,7 +1415,7 @@ fn enum_struct_variant_via_props() {
     struct S {
         value: Val,
     }
-    let val: S = serde_kdl::from_str(r#"value "Circle" radius=5.0"#).unwrap();
+    let val: S = serde_kdl2::from_str(r#"value "Circle" radius=5.0"#).unwrap();
     assert_eq!(val.value, Val::Circle { radius: 5.0 });
 }
 
@@ -1430,7 +1430,7 @@ fn enum_complex_unit_variant() {
     struct S {
         status: Status,
     }
-    let val: S = serde_kdl::from_str("status {\n    Active\n}\n").unwrap();
+    let val: S = serde_kdl2::from_str("status {\n    Active\n}\n").unwrap();
     assert_eq!(val.status, Status::Active);
 }
 
@@ -1444,7 +1444,7 @@ fn enum_complex_tuple_variant() {
     struct S {
         data: Val,
     }
-    let val: S = serde_kdl::from_str("data {\n    Point 1.0 2.0 3.0\n}\n").unwrap();
+    let val: S = serde_kdl2::from_str("data {\n    Point 1.0 2.0 3.0\n}\n").unwrap();
     assert_eq!(val.data, Val::Point(1.0, 2.0, 3.0));
 }
 
@@ -1458,7 +1458,7 @@ fn enum_complex_struct_variant_from_props() {
     struct S {
         shape: Val,
     }
-    let val: S = serde_kdl::from_str("shape {\n    Circle radius=5.0\n}\n").unwrap();
+    let val: S = serde_kdl2::from_str("shape {\n    Circle radius=5.0\n}\n").unwrap();
     assert_eq!(val.shape, Val::Circle { radius: 5.0 });
 }
 
@@ -1546,7 +1546,7 @@ fn node_content_newtype_in_seq() {
     struct S {
         dist: Vec<Meters>,
     }
-    let val: S = serde_kdl::from_str("dist 1.0\ndist 2.0\n").unwrap();
+    let val: S = serde_kdl2::from_str("dist 1.0\ndist 2.0\n").unwrap();
     assert_eq!(val.dist, vec![Meters(1.0), Meters(2.0)]);
 }
 
@@ -1558,7 +1558,7 @@ fn node_content_tuple_struct_in_seq() {
     struct S {
         pair: Vec<Pair>,
     }
-    let val: S = serde_kdl::from_str("pair 1.0 2.0\npair 3.0 4.0\n").unwrap();
+    let val: S = serde_kdl2::from_str("pair 1.0 2.0\npair 3.0 4.0\n").unwrap();
     assert_eq!(val.pair, vec![Pair(1.0, 2.0), Pair(3.0, 4.0)]);
 }
 
@@ -1570,7 +1570,7 @@ fn node_content_unit_struct_in_seq() {
     struct S {
         tag: Vec<Marker>,
     }
-    let val: S = serde_kdl::from_str("tag\ntag\n").unwrap();
+    let val: S = serde_kdl2::from_str("tag\ntag\n").unwrap();
     assert_eq!(val.tag, vec![Marker, Marker]);
 }
 
@@ -1587,7 +1587,7 @@ fn node_content_struct_from_properties_in_seq() {
     struct S {
         point: Vec<Point>,
     }
-    let val: S = serde_kdl::from_str("point x=1.0 y=2.0\npoint x=3.0 y=4.0\n").unwrap();
+    let val: S = serde_kdl2::from_str("point x=1.0 y=2.0\npoint x=3.0 y=4.0\n").unwrap();
     assert_eq!(
         val.point,
         vec![Point { x: 1.0, y: 2.0 }, Point { x: 3.0, y: 4.0 }]
@@ -1604,7 +1604,7 @@ fn node_content_single_arg_struct_in_seq() {
     struct S {
         item: Vec<W>,
     }
-    let val: S = serde_kdl::from_str("item 10\nitem 20\n").unwrap();
+    let val: S = serde_kdl2::from_str("item 10\nitem 20\n").unwrap();
     assert_eq!(val.item, vec![W { value: 10 }, W { value: 20 }]);
 }
 
@@ -1621,7 +1621,7 @@ fn node_content_struct_empty_node_in_seq() {
     struct S {
         item: Vec<Item>,
     }
-    let val: S = serde_kdl::from_str("item\nitem\n").unwrap();
+    let val: S = serde_kdl2::from_str("item\nitem\n").unwrap();
     assert_eq!(
         val.item,
         vec![Item { a: None, b: None }, Item { a: None, b: None }]
@@ -1636,7 +1636,7 @@ fn node_content_map_from_properties_in_seq() {
     struct S {
         entry: Vec<HashMap<String, String>>,
     }
-    let val: S = serde_kdl::from_str("entry a=\"1\" b=\"2\"\nentry c=\"3\"\n").unwrap();
+    let val: S = serde_kdl2::from_str("entry a=\"1\" b=\"2\"\nentry c=\"3\"\n").unwrap();
     assert_eq!(val.entry.len(), 2);
     assert_eq!(val.entry[0].get("a"), Some(&"1".into()));
 }
@@ -1648,7 +1648,7 @@ fn node_content_map_from_children() {
         entry: Vec<HashMap<String, String>>,
     }
     let val: S =
-        serde_kdl::from_str("entry {\n    a \"1\"\n    b \"2\"\n}\nentry {\n    c \"3\"\n}\n")
+        serde_kdl2::from_str("entry {\n    a \"1\"\n    b \"2\"\n}\nentry {\n    c \"3\"\n}\n")
             .unwrap();
     assert_eq!(val.entry[0].get("a"), Some(&"1".into()));
     assert_eq!(val.entry[1].get("c"), Some(&"3".into()));
@@ -1660,7 +1660,7 @@ fn node_content_map_from_props_no_children() {
     struct S {
         entry: Vec<HashMap<String, String>>,
     }
-    let val: S = serde_kdl::from_str("entry a=\"1\" b=\"2\"\nentry c=\"3\"\n").unwrap();
+    let val: S = serde_kdl2::from_str("entry a=\"1\" b=\"2\"\nentry c=\"3\"\n").unwrap();
     assert_eq!(val.entry[0].get("a"), Some(&"1".into()));
     assert_eq!(val.entry[1].get("c"), Some(&"3".into()));
 }
@@ -1673,7 +1673,7 @@ fn node_content_complex_enum_in_seq() {
     struct S {
         shape: Vec<Shape>,
     }
-    let val: S = serde_kdl::from_str(
+    let val: S = serde_kdl2::from_str(
         "shape {\n    Circle {\n        radius 5.0\n    }\n}\nshape {\n    Rectangle {\n        width 10.0\n        height 20.0\n    }\n}\n"
     ).unwrap();
     assert_eq!(val.shape[0], Shape::Circle { radius: 5.0 });
@@ -1698,7 +1698,7 @@ fn node_content_ignored_any() {
     struct S {
         item: Vec<Item>,
     }
-    let val: S = serde_kdl::from_str("item {\n    name \"test\"\n    extra \"ignored\"\n}\nitem {\n    name \"test2\"\n    bonus 99\n}\n").unwrap();
+    let val: S = serde_kdl2::from_str("item {\n    name \"test\"\n    extra \"ignored\"\n}\nitem {\n    name \"test2\"\n    bonus 99\n}\n").unwrap();
     assert_eq!(val.item.len(), 2);
     assert_eq!(val.item[0].name, "test");
 }
@@ -1711,7 +1711,7 @@ fn node_content_with_children() {
     struct S {
         server: Vec<Server>,
     }
-    let val: S = serde_kdl::from_str(
+    let val: S = serde_kdl2::from_str(
         "server {\n    host \"a\"\n    port 1\n}\nserver {\n    host \"b\"\n    port 2\n}\n",
     )
     .unwrap();
@@ -1758,7 +1758,7 @@ fn args_seq_newtype_values() {
     struct S {
         dists: Vec<Meters>,
     }
-    let val: S = serde_kdl::from_str("dists 1.0 2.0 3.0").unwrap();
+    let val: S = serde_kdl2::from_str("dists 1.0 2.0 3.0").unwrap();
     assert_eq!(val.dists, vec![Meters(1.0), Meters(2.0), Meters(3.0)]);
 }
 
@@ -1770,7 +1770,7 @@ fn value_deserializer_unit_struct_in_args() {
     struct S {
         vals: Vec<Marker>,
     }
-    let val: S = serde_kdl::from_str("vals #null #null").unwrap();
+    let val: S = serde_kdl2::from_str("vals #null #null").unwrap();
     assert_eq!(val.vals, vec![Marker, Marker]);
 }
 
@@ -1809,7 +1809,7 @@ macro_rules! test_custom_str_deser {
             struct S {
                 $field: $field_ty,
             }
-            let val: S = serde_kdl::from_str($input).unwrap();
+            let val: S = serde_kdl2::from_str($input).unwrap();
             assert_eq!(val.$field, $expected);
         }
     };
@@ -1842,7 +1842,7 @@ macro_rules! test_custom_bytes_deser {
             struct S {
                 $field: $field_ty,
             }
-            let val: S = serde_kdl::from_str($input).unwrap();
+            let val: S = serde_kdl2::from_str($input).unwrap();
             assert_eq!(val.$field, $expected);
         }
     };
@@ -1882,7 +1882,7 @@ macro_rules! test_custom_seq_bytes_deser {
             struct S {
                 $field: $field_ty,
             }
-            let val: S = serde_kdl::from_str($input).unwrap();
+            let val: S = serde_kdl2::from_str($input).unwrap();
             assert_eq!(val.$field, $expected);
         }
     };
@@ -1969,7 +1969,7 @@ fn value_deserializer_bytes_type_mismatch_via_seq() {
         #[allow(dead_code)]
         data: Vec<Custom>,
     }
-    assert!(serde_kdl::from_str::<S>("data 42").is_err());
+    assert!(serde_kdl2::from_str::<S>("data 42").is_err());
 }
 
 // -- FieldDeserializer error: deserialize_bytes on non-seq --
@@ -1998,7 +1998,7 @@ fn value_deserializer_bytes_type_mismatch() {
         #[allow(dead_code)]
         data: ByteString,
     }
-    assert!(serde_kdl::from_str::<S>("data 42").is_err());
+    assert!(serde_kdl2::from_str::<S>("data 42").is_err());
 }
 
 // ════════════════════════════════════════════════════════════════════════
@@ -2007,7 +2007,7 @@ fn value_deserializer_bytes_type_mismatch() {
 
 #[test]
 fn value_deserializer_seq_error() {
-    let err = serde_kdl::Error::TypeMismatch {
+    let err = serde_kdl2::Error::TypeMismatch {
         expected: "sequence",
         got: "scalar value".into(),
     };
diff --git a/tests/property.rs b/tests/property.rs
index e5f3803..212f6cc 100644
--- a/tests/property.rs
+++ b/tests/property.rs
@@ -39,8 +39,8 @@ fn flat_struct_strategy() -> impl Strategy<Value = FlatStruct> {
 proptest! {
     #[test]
     fn flat_struct_roundtrip(val in flat_struct_strategy()) {
-        let serialized = serde_kdl::to_string(&val).unwrap();
-        let deserialized: FlatStruct = serde_kdl::from_str(&serialized).unwrap();
+        let serialized = serde_kdl2::to_string(&val).unwrap();
+        let deserialized: FlatStruct = serde_kdl2::from_str(&serialized).unwrap();
         prop_assert_eq!(val, deserialized);
     }
 }
@@ -69,8 +69,8 @@ fn outer_strategy() -> impl Strategy<Value = Outer> {
 proptest! {
     #[test]
     fn nested_struct_roundtrip(val in outer_strategy()) {
-        let serialized = serde_kdl::to_string(&val).unwrap();
-        let deserialized: Outer = serde_kdl::from_str(&serialized).unwrap();
+        let serialized = serde_kdl2::to_string(&val).unwrap();
+        let deserialized: Outer = serde_kdl2::from_str(&serialized).unwrap();
         prop_assert_eq!(val, deserialized);
     }
 }
@@ -94,8 +94,8 @@ fn with_vec_strings_strategy() -> impl Strategy<Value = WithVecStrings> {
 proptest! {
     #[test]
     fn vec_strings_roundtrip(val in with_vec_strings_strategy()) {
-        let serialized = serde_kdl::to_string(&val).unwrap();
-        let deserialized: WithVecStrings = serde_kdl::from_str(&serialized).unwrap();
+        let serialized = serde_kdl2::to_string(&val).unwrap();
+        let deserialized: WithVecStrings = serde_kdl2::from_str(&serialized).unwrap();
         prop_assert_eq!(val, deserialized);
     }
 }
@@ -117,8 +117,8 @@ fn with_vec_ints_strategy() -> impl Strategy<Value = WithVecInts> {
 proptest! {
     #[test]
     fn vec_ints_roundtrip(val in with_vec_ints_strategy()) {
-        let serialized = serde_kdl::to_string(&val).unwrap();
-        let deserialized: WithVecInts = serde_kdl::from_str(&serialized).unwrap();
+        let serialized = serde_kdl2::to_string(&val).unwrap();
+        let deserialized: WithVecInts = serde_kdl2::from_str(&serialized).unwrap();
         prop_assert_eq!(val, deserialized);
     }
 }
@@ -151,8 +151,8 @@ fn with_items_strategy() -> impl Strategy<Value = WithItems> {
 proptest! {
     #[test]
     fn vec_structs_roundtrip(val in with_items_strategy()) {
-        let serialized = serde_kdl::to_string(&val).unwrap();
-        let deserialized: WithItems = serde_kdl::from_str(&serialized).unwrap();
+        let serialized = serde_kdl2::to_string(&val).unwrap();
+        let deserialized: WithItems = serde_kdl2::from_str(&serialized).unwrap();
         prop_assert_eq!(val, deserialized);
     }
 }
@@ -188,8 +188,8 @@ fn with_options_strategy() -> impl Strategy<Value = WithOptions> {
 proptest! {
     #[test]
     fn option_fields_roundtrip(val in with_options_strategy()) {
-        let serialized = serde_kdl::to_string(&val).unwrap();
-        let deserialized: WithOptions = serde_kdl::from_str(&serialized).unwrap();
+        let serialized = serde_kdl2::to_string(&val).unwrap();
+        let deserialized: WithOptions = serde_kdl2::from_str(&serialized).unwrap();
         prop_assert_eq!(val, deserialized);
     }
 }
@@ -220,8 +220,8 @@ fn with_enum_strategy() -> impl Strategy<Value = WithEnum> {
 proptest! {
     #[test]
     fn unit_enum_roundtrip(val in with_enum_strategy()) {
-        let serialized = serde_kdl::to_string(&val).unwrap();
-        let deserialized: WithEnum = serde_kdl::from_str(&serialized).unwrap();
+        let serialized = serde_kdl2::to_string(&val).unwrap();
+        let deserialized: WithEnum = serde_kdl2::from_str(&serialized).unwrap();
         prop_assert_eq!(val, deserialized);
     }
 }
@@ -256,8 +256,8 @@ fn with_shape_strategy() -> impl Strategy<Value = WithShape> {
 proptest! {
     #[test]
     fn complex_enum_roundtrip(val in with_shape_strategy()) {
-        let serialized = serde_kdl::to_string(&val).unwrap();
-        let deserialized: WithShape = serde_kdl::from_str(&serialized).unwrap();
+        let serialized = serde_kdl2::to_string(&val).unwrap();
+        let deserialized: WithShape = serde_kdl2::from_str(&serialized).unwrap();
         prop_assert_eq!(val, deserialized);
     }
 }
@@ -286,8 +286,8 @@ fn with_map_strategy() -> impl Strategy<Value = WithMap> {
 proptest! {
     #[test]
     fn btreemap_roundtrip(val in with_map_strategy()) {
-        let serialized = serde_kdl::to_string(&val).unwrap();
-        let deserialized: WithMap = serde_kdl::from_str(&serialized).unwrap();
+        let serialized = serde_kdl2::to_string(&val).unwrap();
+        let deserialized: WithMap = serde_kdl2::from_str(&serialized).unwrap();
         prop_assert_eq!(val, deserialized);
     }
 }
@@ -319,8 +319,8 @@ proptest! {
         h in any::<u64>(),
     ) {
         let val = IntegerTypes { a, b, c, d, e, f, g, h };
-        let serialized = serde_kdl::to_string(&val).unwrap();
-        let deserialized: IntegerTypes = serde_kdl::from_str(&serialized).unwrap();
+        let serialized = serde_kdl2::to_string(&val).unwrap();
+        let deserialized: IntegerTypes = serde_kdl2::from_str(&serialized).unwrap();
         prop_assert_eq!(val, deserialized);
     }
 }
@@ -338,8 +338,8 @@ proptest! {
     #[test]
     fn bool_roundtrip(a in any::<bool>(), b in any::<bool>(), c in any::<bool>()) {
         let val = Flags { a, b, c };
-        let serialized = serde_kdl::to_string(&val).unwrap();
-        let deserialized: Flags = serde_kdl::from_str(&serialized).unwrap();
+        let serialized = serde_kdl2::to_string(&val).unwrap();
+        let deserialized: Flags = serde_kdl2::from_str(&serialized).unwrap();
         prop_assert_eq!(val, deserialized);
     }
 }
@@ -356,8 +356,8 @@ proptest! {
     #[test]
     fn tuple_roundtrip(label in kdl_safe_string(), a in any::<i32>(), b in any::<i32>()) {
         let val = WithTuple { label, pair: (a, b) };
-        let serialized = serde_kdl::to_string(&val).unwrap();
-        let deserialized: WithTuple = serde_kdl::from_str(&serialized).unwrap();
+        let serialized = serde_kdl2::to_string(&val).unwrap();
+        let deserialized: WithTuple = serde_kdl2::from_str(&serialized).unwrap();
         prop_assert_eq!(val, deserialized);
     }
 }
@@ -395,8 +395,8 @@ proptest! {
                 level3: Level3 { value },
             },
         };
-        let serialized = serde_kdl::to_string(&val).unwrap();
-        let deserialized: Level1 = serde_kdl::from_str(&serialized).unwrap();
+        let serialized = serde_kdl2::to_string(&val).unwrap();
+        let deserialized: Level1 = serde_kdl2::from_str(&serialized).unwrap();
         prop_assert_eq!(val, deserialized);
     }
 }
@@ -437,8 +437,8 @@ fn kitchen_sink_strategy() -> impl Strategy<Value = KitchenSink> {
 proptest! {
     #[test]
     fn kitchen_sink_roundtrip(val in kitchen_sink_strategy()) {
-        let serialized = serde_kdl::to_string(&val).unwrap();
-        let deserialized: KitchenSink = serde_kdl::from_str(&serialized).unwrap();
+        let serialized = serde_kdl2::to_string(&val).unwrap();
+        let deserialized: KitchenSink = serde_kdl2::from_str(&serialized).unwrap();
         prop_assert_eq!(val, deserialized);
     }
 }
@@ -448,8 +448,8 @@ proptest! {
 proptest! {
     #[test]
     fn pretty_print_roundtrip(val in flat_struct_strategy()) {
-        let serialized = serde_kdl::to_string_pretty(&val).unwrap();
-        let deserialized: FlatStruct = serde_kdl::from_str(&serialized).unwrap();
+        let serialized = serde_kdl2::to_string_pretty(&val).unwrap();
+        let deserialized: FlatStruct = serde_kdl2::from_str(&serialized).unwrap();
         prop_assert_eq!(val, deserialized);
     }
 }
@@ -479,8 +479,8 @@ proptest! {
     #[test]
     fn newtype_enum_roundtrip(label in kdl_safe_string(), wrapped in wrapper_strategy()) {
         let val = WithNewtype { label, wrapped };
-        let serialized = serde_kdl::to_string(&val).unwrap();
-        let deserialized: WithNewtype = serde_kdl::from_str(&serialized).unwrap();
+        let serialized = serde_kdl2::to_string(&val).unwrap();
+        let deserialized: WithNewtype = serde_kdl2::from_str(&serialized).unwrap();
         prop_assert_eq!(val, deserialized);
     }
 }