macro_rules! with_display {
($items:expr, $display_fn:expr, $body:expr) => { ... };
}Expand description
Wraps items in WithContext<T, DisplayContext<T>> with
a custom display function, runs a callback, and provides the wrapped slice.
ยงExamples
use context_trait::{with_display, WithContext, DisplayContext};
let items = vec![1i32, 2, 3];
with_display!(
items,
|v: &i32, f: &mut std::fmt::Formatter| write!(f, "#{v}"),
|wrapped: &[WithContext<i32, DisplayContext<i32>>]| {
let strs: Vec<String> = wrapped.iter().map(|w| format!("{w}")).collect();
assert_eq!(strs, vec!["#1", "#2", "#3"]);
}
);