use serde_bytes::{ByteBuf, Bytes}; use serde_derive::{Deserialize, Serialize}; use std::borrow::Cow; #[derive(Serialize, Deserialize, PartialEq, Debug)] struct Test<'a> { #[serde(with = "serde_bytes")] slice: &'a [u8], #[serde(with = "serde_bytes")] vec: Vec, #[serde(with = "serde_bytes")] bytes: &'a Bytes, #[serde(with = "serde_bytes")] byte_buf: ByteBuf, #[serde(with = "serde_bytes")] cow_slice: Cow<'a, [u8]>, #[serde(with = "serde_bytes")] cow_bytes: Cow<'a, Bytes>, #[serde(with = "serde_bytes")] boxed_slice: Box<[u8]>, #[serde(with = "serde_bytes")] boxed_bytes: Box, } #[derive(Serialize)] struct Dst { #[serde(with = "serde_bytes")] bytes: [u8], }