4 releases (2 breaking)

0.3.1 Oct 6, 2023
0.3.0 Jun 13, 2022
0.2.0 Apr 27, 2022
0.1.1 Apr 27, 2022
0.1.0 Mar 5, 2022

#900 in Rust patterns

MIT license

24KB
517 lines

astr

array string

A const length stack str

Unsized Const Length Dynamic
[T] (slice) [T; LEN] (array) Vec<T>
str AStr<LEN> String

Example

use astr::{AStr, astr};
// use the macro to infer the length of the string
let s = astr!("Hello World!");
assert_eq!(s, "Hello World!");

// also works in const context
const S1: &'static AStr<12> = astr!("Hello World!");
// the type is also copy and sized so you can derefernce it
const S2: AStr<12> = *astr!("Hello World!");
assert_eq!(S1, S2);

// use try_from to convert a String
let source_string = String::from("Hello World!");
let s2 = AStr::<12>::try_from(source_string).unwrap();
assert_eq!(s2, "Hello World!");

Dependencies

~185KB