From 2aa4a82499d4becd2284cdb482213d541b8804dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 16:29:10 +0200 Subject: Adding upstream version 86.0.1. Signed-off-by: Daniel Baumann --- third_party/rust/serde_bytes/README.md | 54 ++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 third_party/rust/serde_bytes/README.md (limited to 'third_party/rust/serde_bytes/README.md') diff --git a/third_party/rust/serde_bytes/README.md b/third_party/rust/serde_bytes/README.md new file mode 100644 index 0000000000..8546e58525 --- /dev/null +++ b/third_party/rust/serde_bytes/README.md @@ -0,0 +1,54 @@ +# serde\_bytes [![Build Status](https://api.travis-ci.org/serde-rs/bytes.svg?branch=master)](https://travis-ci.org/serde-rs/bytes) [![Latest Version](https://img.shields.io/crates/v/serde_bytes.svg)](https://crates.io/crates/serde_bytes) + +Wrapper types to enable optimized handling of `&[u8]` and `Vec`. + +```toml +[dependencies] +serde_bytes = "0.11" +``` + +## Explanation + +Without specialization, Rust forces Serde to treat `&[u8]` just like any +other slice and `Vec` just like any other vector. In reality this +particular slice and vector can often be serialized and deserialized in a +more efficient, compact representation in many formats. + +When working with such a format, you can opt into specialized handling of +`&[u8]` by wrapping it in `serde_bytes::Bytes` and `Vec` by wrapping it +in `serde_bytes::ByteBuf`. + +Additionally this crate supports the Serde `with` attribute to enable efficient +handling of `&[u8]` and `Vec` in structs without needing a wrapper type. + +## Example + +```rust +use serde::{Deserialize, Serialize}; + +#[derive(Deserialize, Serialize)] +struct Efficient<'a> { + #[serde(with = "serde_bytes")] + bytes: &'a [u8], + + #[serde(with = "serde_bytes")] + byte_buf: Vec, +} +``` + +
+ +#### License + + +Licensed under either of Apache License, Version +2.0 or MIT license at your option. + + +
+ + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in this crate by you, as defined in the Apache-2.0 license, shall +be dual licensed as above, without any additional terms or conditions. + -- cgit v1.2.3