| commit | 5ee10574e81a0f0d5622c6ed6cf6bd3b834530b4 | [log] [tgz] |
|---|---|---|
| author | Corvin Paul <corvin.paul@outlook.com> | Wed Apr 17 12:28:14 2024 +0100 |
| committer | Lukas Wirth <lukastw97@gmail.com> | Tue Sep 03 09:19:17 2024 +0200 |
| tree | 0ca40be0082d2be6b04075dfbff853ba9c3368ed | |
| parent | de2af0d34c3752e2b9192d7da28fe0c138bcf4d3 [diff] |
Add support for borsh
A SmolStr is a string type that has the following properties:
size_of::<SmolStr>() == 24 (therefore == size_of::<String>() on 64 bit platforms)Clone is O(1)WS (see src/lib.rs). Such strings consist solely of consecutive newlines, followed by consecutive spacesSmolStr can be explicitly created from a &'static str without allocationUnlike String, however, SmolStr is immutable. The primary use case for SmolStr is a good enough default storage for tokens of typical programming languages. Strings consisting of a series of newlines, followed by a series of whitespace are a typical pattern in computer programs because of indentation. Note that a specialized interner might be a better solution for some use cases.
Minimal Supported Rust Version: latest stable.
Bumping MSRV is not considered a semver-breaking change.