StringStorage

Trait StringStorage 

Source
pub trait StringStorage: StringStorageSealed { }
Expand description

Trait defining how data for a String is stored.

There’s two implementations available:

  • OwnedStorage: stores the data in an array whose size is known at compile time.
  • ViewStorage: stores the data in an unsized slice

This allows String to be generic over either sized or unsized storage. The string module contains a StringInner struct that’s generic on StringStorage, and two type aliases for convenience:

String can be unsized into StrinsgView, either by unsizing coercions such as &mut String -> &mut StringView or Box<String> -> Box<StringView>, or explicitly with .as_view() or .as_mut_view().

This trait is sealed, so you cannot implement it for your own types. You can only use the implementations provided by this crate.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§