macro_rules! context {
($($tts:tt)*) => { ... };
}Expand description
Creates a context for use with this crate’s format() and write()
functions.
It takes a comma seperated list of idents, followed by optional format specifiers and an optional value.
a=> key ="a", value =a, traits =[Display]a:?=> key ="a", value =a, traits =[Debug]a: :?=> key ="a", value =a, traits =[Debug, Display]a = 5=> key ="a", value =5, traits =[Display]a:?:x = 5=> key ="a", value =5, traits =[Debug, LowerHex]
use interpolator::context;
let a = "hello";
let context = context! {
a,
a:?, // This does not override the display implementation, only debug
a: :?, // This overrides both display and debug
a = 5, // Only overrides display
a:?:x = 5, // Sets debug and lower hex implementation
};Due to borrow rules you might need to create let bindings for the values, i.e.
let test = String::from("test");
let context = context!(test);instead of
ⓘ
let context = context!(test = String::from("test"));