|0.1.2||Nov 28, 2020|
|0.1.0||Oct 3, 2020|
#32 in #generics
3,817 downloads per month
Used in 57 crates (2 directly)
Serde string helpers
Rust crate containing helpers for using serde with strings.
Currently there is only a helper for deserializing stringly values more efficiently by avoiding allocation (and copying) in certain cases. New helpers may appear in the future.
This crate is
no_std but does require
A helper for deserializing using
TryFrom more efficiently.
#[serde(try_from = "String"] when deserializing a value that
doesn't need to hold the string (e.g. an integer value)
allocate the string even if it doesn't have to. (Such as in the case of
non-escaped Json string.)
A naive idea is to use
std::borrow::Cow to solve it. Sadly, the
implementation of Deserialize for Cow<'de, str> doesn't borrow the string,
so it still allocates needlessly. This helper solves the issue.
Our DeserBorrowStr is written such that it borrows the
str when possible,
avoiding the allocation. It may still need to allocate, for example if
string decoding (unescaping) has to be performed.
The official MSRV is 1.41.1 for now and may be lowered later.