This crate allows you to Display::fmt
strings that include replacements, without actually doing any replacement until format-time and totally avoiding allocation.
This is useful when you do .replace
and then immediately pass the result to format!
- it will prevent the intermediate allocation from happening. You can even use the result in another .lazy_replace
call and it will still avoid allocation, although it may do the inner replacement multiple times. The work of memoizing the result of Display::fmt
to avoid duplicating work can be done in a generic way by an external crate and requires allocation, so is out of the scope of this crate.