Crates.io | smol_str |
lib.rs | smol_str |
version | 0.3.2 |
source | src |
created_at | 2018-08-16 20:33:17.419277 |
updated_at | 2024-10-23 20:56:36.024822 |
description | small-string optimized string type with O(1) clone |
homepage | |
repository | https://github.com/rust-analyzer/smol_str |
max_upload_size | |
id | 79831 |
size | 63,501 |
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.