diff --git a/components/deny_public_fields/lib.rs b/components/deny_public_fields/lib.rs index a43db51e4af..e9b8b7938a2 100644 --- a/components/deny_public_fields/lib.rs +++ b/components/deny_public_fields/lib.rs @@ -17,7 +17,8 @@ fn expand_string(input: &str) -> String { let style = synstructure::BindStyle::Ref.into(); synstructure::each_field(&type_, &style, |binding| { if binding.field.vis != syn::Visibility::Inherited { - panic!("Field {} should not be public", binding.ident); + panic!("Field `{}` should not be public", + binding.field.ident.as_ref().unwrap_or(&binding.ident)); } "".to_owned() }); diff --git a/tests/compiletest/plugin/compile-fail/privatize.rs b/tests/compiletest/plugin/compile-fail/privatize.rs index c907a7fa4b3..622b2c20fe1 100644 --- a/tests/compiletest/plugin/compile-fail/privatize.rs +++ b/tests/compiletest/plugin/compile-fail/privatize.rs @@ -9,6 +9,7 @@ extern crate deny_public_fields; #[derive(DenyPublicFields)] //~^ ERROR proc-macro derive panicked +//~| HELP Field `v1` should not be public struct Foo { pub v1: i32, v2: i32