Skip to main content

with_display

Macro with_display 

Source
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"]);
    }
);