From 20abdc956efe5a87c02d3ea1ee8bbc5aba6d4def Mon Sep 17 00:00:00 2001 From: James Wilson Date: Thu, 1 Sep 2022 13:13:45 +0100 Subject: [PATCH 1/4] Allow deserializing from newtype structs too --- primitive-types/impls/serde/src/serialize.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/primitive-types/impls/serde/src/serialize.rs b/primitive-types/impls/serde/src/serialize.rs index 1426d3ddf..cde2347cd 100644 --- a/primitive-types/impls/serde/src/serialize.rs +++ b/primitive-types/impls/serde/src/serialize.rs @@ -231,6 +231,10 @@ where } Ok(bytes) } + + fn visit_newtype_struct>(self, deserializer: D) -> Result { + deserializer.deserialize_bytes(self) + } } deserializer.deserialize_str(Visitor) @@ -309,6 +313,10 @@ where } self.visit_byte_buf(v) } + + fn visit_newtype_struct>(self, deserializer: D) -> Result { + deserializer.deserialize_bytes(self) + } } deserializer.deserialize_str(Visitor { len }) @@ -493,4 +501,5 @@ mod tests { assert_eq!(n, 3); assert_eq!(output, vec![1, 2, 3, 0, 0]); } + } From 7a053ae9acf5423bc66ea392b8ea6d92cb3d6926 Mon Sep 17 00:00:00 2001 From: James Wilson Date: Thu, 1 Sep 2022 13:15:01 +0100 Subject: [PATCH 2/4] update changelog --- primitive-types/impls/serde/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/primitive-types/impls/serde/CHANGELOG.md b/primitive-types/impls/serde/CHANGELOG.md index 43c06ddf5..d01549f65 100644 --- a/primitive-types/impls/serde/CHANGELOG.md +++ b/primitive-types/impls/serde/CHANGELOG.md @@ -6,6 +6,7 @@ The format is based on [Keep a Changelog]. ## [0.4.0] - 2022-08-31 - Support deserializing H256 et al from bytes or sequences of bytes, too. [#668](https://github.com/paritytech/parity-common/pull/668) +- Support deserializing H256 et al from newtype structs containing anything compatible, too. [#672](https://github.com/paritytech/parity-common/pull/672) - Migrated to 2021 edition, enforcing MSRV of `1.56.1`. [#601](https://github.com/paritytech/parity-common/pull/601) ## [0.3.2] - 2021-11-10 From f78fa847a4d2bbac29923051160f0741632f19e7 Mon Sep 17 00:00:00 2001 From: James Wilson Date: Thu, 1 Sep 2022 13:15:19 +0100 Subject: [PATCH 3/4] cargo fmt --- primitive-types/impls/serde/src/serialize.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/primitive-types/impls/serde/src/serialize.rs b/primitive-types/impls/serde/src/serialize.rs index cde2347cd..3017170e6 100644 --- a/primitive-types/impls/serde/src/serialize.rs +++ b/primitive-types/impls/serde/src/serialize.rs @@ -501,5 +501,4 @@ mod tests { assert_eq!(n, 3); assert_eq!(output, vec![1, 2, 3, 0, 0]); } - } From 9485c722558a44079127e7e7cc6bfe44617ff6a8 Mon Sep 17 00:00:00 2001 From: James Wilson Date: Fri, 2 Sep 2022 10:16:41 +0100 Subject: [PATCH 4/4] Update changelog date Co-authored-by: Andronik --- primitive-types/impls/serde/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/primitive-types/impls/serde/CHANGELOG.md b/primitive-types/impls/serde/CHANGELOG.md index d01549f65..0757363ea 100644 --- a/primitive-types/impls/serde/CHANGELOG.md +++ b/primitive-types/impls/serde/CHANGELOG.md @@ -4,7 +4,7 @@ The format is based on [Keep a Changelog]. [Keep a Changelog]: http://keepachangelog.com/en/1.0.0/ -## [0.4.0] - 2022-08-31 +## [0.4.0] - 2022-09-02 - Support deserializing H256 et al from bytes or sequences of bytes, too. [#668](https://github.com/paritytech/parity-common/pull/668) - Support deserializing H256 et al from newtype structs containing anything compatible, too. [#672](https://github.com/paritytech/parity-common/pull/672) - Migrated to 2021 edition, enforcing MSRV of `1.56.1`. [#601](https://github.com/paritytech/parity-common/pull/601)