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).