Struct smol_str::SmolStr [−][src]
pub struct SmolStr(_);
Expand description
A SmolStr
is a string type that has the following properties:
size_of::<SmolStr>() == size_of::<String>()
Clone
isO(1)
- Strings are stack-allocated if they are:
- Up to 22 bytes long
- Longer than 22 bytes, but substrings of
WS
(see below). Such strings consist solely of consecutive newlines, followed by consecutive spaces
- If a string does not satisfy the aforementioned conditions, it is heap-allocated
Unlike 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.
Implementations
Use new_inline
instead
Constructs inline variant of SmolStr
.
Panics if text.len() > 22
.
Trait Implementations
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Auto Trait Implementations
impl RefUnwindSafe for SmolStr
impl UnwindSafe for SmolStr
Blanket Implementations
Mutably borrows from an owned value. Read more