Crate imstr

source ·
Expand description

Immutable Strings

Inspired by the bytes crate, which offers zero-copy byte slices, this crate does the same but for strings. It is backed by standard library string that is stored by an Arc, and every instance contains a range into that String. This allows for cloning and creating slices very cheaply. This is especially useful for parsing operations, where a large string needs to be sliced into a lot of substrings.

This crate is heavily inspired by the standard library’s String type and the bytes crate’s Bytes type.


  • Trait for common operations on shared data.
  • Error types
  • ImString type and associated data store types.

Type Definitions