macro_rules! fmt_field { ($f: expr, $self:ident.$field:ident) => { ... }; ($f: expr, $self:ident.$field:ident, $value:expr) => { ... }; }
Expand description
Adds a $field
to the std::fmt::DebugStruct
, $f
from $self
.
ยงExamples
use std::fmt::{self, Debug};
use kvarn_utils::{fmt_field, ident_str};
struct Foo {
bar: u128,
foobar: String,
}
impl Debug for Foo {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let mut s = f.debug_struct(ident_str!(Foo));
fmt_field!(s, self.bar, &self.bar.to_le_bytes());
fmt_field!(s, self.foobar);
s.finish()
}
}