Travis (.com) Crates.io docs.rs license

lazy_format

A [no_std] library for lazily formatting things. Because allocating temporary strings just to write them to a buffered stream is bad for your health.

```rust use std::io;

use lazyformat::lazyformat; use joinery::JoinableIterator;

fn main() { let result = (0..10) .map(|value| lazyformat!("\t'{}'", value)) .joinwith(",\n") .to_string();

assert_eq!(result,

" '0' '1' '2' '3' '4' '5' '6' '7' '8' '9'") } ```

The above example is the key motivating example: when building up some kind of object you wish to write or format, there's no reason to allocate intermediary strings (which is what format! does). Instead, lazy_format! captures its arguments and returns an opaque struct with a Display implementation, so that the actual formatting can happen directly into its final destination buffer (such as a file or string).