//! | |
//! Implementation's internal macros | |
macro_rules! debug_fmt_fields { | |
($tyname:ident, $($($field:tt/*TODO ideally we would accept ident or tuple element here*/).+),*) => { | |
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { | |
f.debug_struct(stringify!($tyname)) | |
$( | |
.field(stringify!($($field).+), &self.$($field).+) | |
)* | |
.finish() | |
} | |
} | |
} | |
macro_rules! clone_fields { | |
($($field:ident),*) => { | |
fn clone(&self) -> Self { | |
Self { | |
$($field: self.$field.clone(),)* | |
} | |
} | |
} | |
} | |
macro_rules! ignore_ident{ | |
($id:ident, $($t:tt)*) => {$($t)*}; | |
} |