Skip to content

Commit

Permalink
Don't chain method call
Browse files Browse the repository at this point in the history
  • Loading branch information
mcarton committed Oct 2, 2016
1 parent ac8e2a2 commit 3c844e1
Show file tree
Hide file tree
Showing 2 changed files with 519 additions and 5 deletions.
17 changes: 12 additions & 5 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,16 @@ fn derive_debug(input: &syn::MacroInput) -> quote::Tokens {
field_pats.append(&format!("{}: ref __arg_{},", name, n));

if !ignored_traits(&f.attrs).contains(&"Debug") {
field_prints.append(&format!(".field(\"{}\", &__arg_{})", name, n));
field_prints.append(&format!("let _ = builder.field(\"{}\", &__arg_{});", name, n));
}
}

quote!(
#variant_name { #field_pats } => f.debug_struct(#variant_name_as_str) #field_prints .finish()
#variant_name { #field_pats } => {
let mut builder = f.debug_struct(#variant_name_as_str);
#field_prints
builder.finish()
}
)
}
syn::VariantData::Tuple(ref fields) => {
Expand All @@ -86,13 +90,16 @@ fn derive_debug(input: &syn::MacroInput) -> quote::Tokens {
field_pats.append(&format!("ref __arg_{},", n));

if !ignored_traits(&f.attrs).contains(&"Debug") {
field_prints.append(&format!(".field(&__arg_{})", n));
field_prints.append(&format!("let _ = builder.field(&__arg_{});", n));
}
}

quote!(
#variant_name( #field_pats ) =>
f.debug_tuple(#variant_name_as_str) #field_prints .finish()
#variant_name( #field_pats ) => {
let mut builder = f.debug_tuple(#variant_name_as_str);
#field_prints
builder.finish()
}
)
}
syn::VariantData::Unit => {
Expand Down
Loading

0 comments on commit 3c844e1

Please sign in to comment.