tinyvec based string types.
tinyvec_string provides two string types:
ArrayString, a string backed by a fixed-size array on the stack, usingArrayVecTinyString, a string backed by either a fixed-size array on the stack or aVecon the heap
Like tinyvec, tinyvec_string is no_std by default.
ArrayString has no dependencies (other than tinyvec and core).
TinyString requires the the alloc cargo feature to be enabled because
it has a dependency on alloc:
[dependencies]
tinyvec_string = { version = "0.3.2", features = ["alloc"] }Error types implement std::error::Error when the std feature is
enabled.
The rustc_1_40 feature enables tinyvec's rustc_1_40 feature, which enables
some optimizations for Rust versions >= 1.40.
The rustc_1_55 feature enables usage of const generics to allow usage of
backing arrays of any size.
The rustc_1_57 feature enables TinyString::try_reserve and
TinyString::try_reserve_exact.
This crate strives to be as safe as possible. Almost all internal unsafe
code is copied verbatim from std's String implementation for maximum
reliability and performance.
Like tinyvec, tinyvec_string (without rustc version features) supports
Rust 1.34+. The alloc feature requires Rust 1.36+.
Feel free to open an issue if you have a problem, or open a pull request if you have a solution. Also feel free to reach me on the Rust Community Discord Server @ThatsNoMoon#0175.
tinyvec_string is dual-licensed under Apache-2.0 and MIT. Large sections of
code, documentation, and tests were copied verbatim or copied and modified from
rust-lang/rust; copyright for such content
belongs to the original author.