lazy-string-replace 0.1.3

A lazy version of `String::replace`, so that it can be formatted or recursively replaced without intermediate allocations
Documentation

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.