diff options
Diffstat (limited to 'src/codegen/impl_debug.rs')
-rw-r--r-- | src/codegen/impl_debug.rs | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/codegen/impl_debug.rs b/src/codegen/impl_debug.rs index 7ef108da..e0204f4d 100644 --- a/src/codegen/impl_debug.rs +++ b/src/codegen/impl_debug.rs @@ -28,7 +28,6 @@ pub fn gen_debug_impl( &Field::Bitfields(ref bu) => bu.impl_debug(ctx, ()), }); - for (i, (fstring, toks)) in processed_fields.enumerate() { if i > 0 { format_string.push_str(", "); @@ -91,15 +90,19 @@ impl<'a> ImplDebug<'a> for BitfieldUnit { ) -> Option<(String, Vec<quote::Tokens>)> { let mut format_string = String::new(); let mut tokens = vec![]; - for (i, bu) in self.bitfields().iter().enumerate() { + for (i, bitfield) in self.bitfields().iter().enumerate() { if i > 0 { format_string.push_str(", "); } - format_string.push_str(&format!("{} : {{:?}}", bu.name())); - let name_ident = ctx.rust_ident_raw(bu.name()); - tokens.push(quote! { - self.#name_ident () - }); + + if let Some(bitfield_name) = bitfield.name() { + format_string.push_str(&format!("{} : {{:?}}", bitfield_name)); + let getter_name = bitfield.getter_name(); + let name_ident = ctx.rust_ident_raw(getter_name); + tokens.push(quote! { + self.#name_ident () + }); + } } Some((format_string, tokens)) |