From 40f4a8fdc851c0ad017784d8b2a86e31e294497d Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Sun, 7 Apr 2019 16:29:37 -0700 Subject: [PATCH] Support serializing dynamically sized field --- src/lib.rs | 2 +- tests/test_derive.rs | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index d8309bb..fbb9de9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -76,7 +76,7 @@ pub use crate::bytebuf::ByteBuf; /// ``` pub fn serialize(bytes: &T, serializer: S) -> Result where - T: Serialize, + T: ?Sized + Serialize, S: Serializer, { Serialize::serialize(bytes, serializer) diff --git a/tests/test_derive.rs b/tests/test_derive.rs index d02727b..af0bbd8 100644 --- a/tests/test_derive.rs +++ b/tests/test_derive.rs @@ -28,3 +28,9 @@ struct Test<'a> { #[serde(with = "serde_bytes")] boxed_bytes: Box, } + +#[derive(Serialize)] +struct Dst { + #[serde(with = "serde_bytes")] + bytes: [u8], +}