1 //!
2 //! Implementation's internal macros
3 
4 macro_rules! debug_fmt_fields {
5     ($tyname:ident, $($($field:ident).+),*) => {
6         fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7             f.debug_struct(stringify!($tyname))
8                 $(
9               .field(stringify!($($field).+), &self.$($field).+)
10               )*
11               .finish()
12         }
13     }
14 }
15 
16 macro_rules! clone_fields {
17     ($($field:ident),*) => {
18         fn clone(&self) -> Self {
19             Self {
20                 $($field: self.$field.clone(),)*
21             }
22         }
23     }
24 }
25 
26 macro_rules! ignore_ident{
27     ($id:ident, $($t:tt)*) => {$($t)*};
28 }
29