| commit | 8f4deabcc05787951f47c5c620fbcd7941f9626e | [log] [tgz] |
|---|---|---|
| author | Alex Butler <alexheretic@gmail.com> | Mon Sep 15 21:30:34 2025 +0100 |
| committer | Alex Butler <alexheretic@gmail.com> | Wed Oct 22 14:29:46 2025 +0100 |
| tree | d7c481d920ac6e31981ffdaf4f144df5b3ce7de3 | |
| parent | 97ef5f3f2d8b9e580d9a192f140354173857a4e1 [diff] |
Update changelog
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.
Run criterion benches with
cargo bench --bench \* -- --quick
Minimal Supported Rust Version: latest stable.
Bumping MSRV is not considered a semver-breaking change.