3 releases
0.1.2 | Dec 10, 2023 |
---|---|
0.1.1 | Dec 10, 2023 |
0.1.0 | Dec 9, 2023 |
#2064 in Encoding
9,825 downloads per month
Used in 15 crates
(2 directly)
28KB
727 lines
serde-bytes-ng
Integrate serde_bytes
and generic byte array support.
The goal is the contribute to upstream serde_bytes
, but because lack of response from its author,
create a separate crate with generic byte array support plus latest serde_bytes
codes so that can
be released as one crate.
Example
use serde::{Deserialize, Serialize};
#[derive(Deserialize, Serialize)]
struct Efficient<'a> {
#[serde(with = "serde_bytes_ng")]
bytes: &'a [u8],
#[serde(with = "serde_bytes_ng")]
byte_buf: Vec<u8>,
#[serde(with = "serde_bytes_ng")]
byte_array: [u8; 188],
#[serde(with = "serde_bytes_ng", borrow)]
byte_array_ref: &'a [u8; 188],
}
lib.rs
:
Wrapper types to enable optimized handling of [u8; N]
, &[u8]
and Vec<u8>
.
This crate is a fork of serde_bytes
that adds
support for [u8; N]
and &[u8; N]
.
#[derive(Deserialize, Serialize)]
struct Efficient<'a> {
#[serde(with = "serde_bytes_ng")]
bytes: &'a [u8],
#[serde(with = "serde_bytes_ng")]
byte_buf: Vec<u8>,
#[serde(with = "serde_bytes_ng")]
byte_array: [u8; 188],
#[serde(with = "serde_bytes_ng", borrow)]
byte_array_ref: &'a [u8; 188],
}
Dependencies
~100–335KB