#formatting #array #array-string #no-alloc #string-formatting #no-std

no-std aformat

A no-std and no-alloc version of format! using ToArrayString

9 releases

0.1.8 Oct 6, 2024
0.1.7 Sep 7, 2024
0.1.4 Jul 15, 2024
0.1.3 Jun 15, 2024

#116 in Value formatting

Download history 95/week @ 2024-10-26 229/week @ 2024-11-02 546/week @ 2024-11-09 622/week @ 2024-11-16 508/week @ 2024-11-23 257/week @ 2024-11-30 374/week @ 2024-12-07 139/week @ 2024-12-14 54/week @ 2024-12-21 137/week @ 2024-12-28 171/week @ 2025-01-04 292/week @ 2025-01-11 264/week @ 2025-01-18 228/week @ 2025-01-25 290/week @ 2025-02-01 460/week @ 2025-02-08

1,305 downloads per month

MIT license

8KB
92 lines

aformat

A no-std and no-alloc version of format! using ToArrayString.

Read the documentation via cargo doc --open --no-deps or on docs.rs.

Minimum Supported Rust Version

This is currently 1.79, and is considered a breaking change to increase.

Credits

  • @danielhenrymantilla, aka yandros, for providing much of the tricks needed to implement this on stable.
  • Everyone who has contributed to typenum, again for stable compatiblity.
  • The rustc developers, who unknowingly stablized enough features for this to work.

lib.rs:

A no-std and no-alloc version of format! using ToArrayString.

Example

use aformat::{astr, aformat, CapStr};

pub fn say_hello(name: &str, age: u8) {
    let name = CapStr::<256>(name);

    let formatted = aformat!("Hello {name}, you are {age} years old!");
    println!("{}", formatted.as_str());
}

say_hello("Walter White", 50);

Minimum Supported Rust Version

This is currently 1.79, and is considered a breaking change to increase.

Dependencies

~0.6–1.2MB
~26K SLoC