diff --git a/tests/test.rs b/tests/test.rs index edb5653..3f257d7 100644 --- a/tests/test.rs +++ b/tests/test.rs @@ -1658,6 +1658,20 @@ fn test_deny_float_key() { assert!(serde_json::to_value(&map).is_err()); } +#[test] +fn test_borrowed_key() { + let map: BTreeMap<&str, ()> = from_str("{\"borrowed\":null}").unwrap(); + let expected = treemap! { "borrowed" => () }; + assert_eq!(map, expected); + + #[derive(Deserialize, Debug, Ord, PartialOrd, Eq, PartialEq)] + struct NewtypeStr<'a>(&'a str); + + let map: BTreeMap = from_str("{\"borrowed\":null}").unwrap(); + let expected = treemap! { NewtypeStr("borrowed") => () }; + assert_eq!(map, expected); +} + #[test] fn test_effectively_string_keys() { #[derive(Eq, PartialEq, Ord, PartialOrd, Debug, Clone, Serialize, Deserialize)]