code suggestion for deprecated-attribute lint

Also, fix the deprecation message for the late no-debug feature.
This commit is contained in:
Zack M. Davis 2017-09-29 23:44:41 -07:00
parent d663003e03
commit f2c5acd611
3 changed files with 8 additions and 6 deletions

View file

@ -650,10 +650,11 @@ impl EarlyLintPass for DeprecatedAttr {
ref name,
ref reason,
_) = g {
cx.span_lint(DEPRECATED,
attr.span,
&format!("use of deprecated attribute `{}`: {}. See {}",
name, reason, link));
let msg = format!("use of deprecated attribute `{}`: {}. See {}",
name, reason, link);
let mut err = cx.struct_span_lint(DEPRECATED, attr.span, &msg);
err.span_suggestion_short(attr.span, "remove this attribute", "".to_owned());
err.emit();
}
return;
}

View file

@ -824,7 +824,8 @@ pub const BUILTIN_ATTRIBUTES: &'static [(&'static str, AttributeType, AttributeG
("no_debug", Whitelisted, Gated(
Stability::Deprecated("https://github.com/rust-lang/rust/issues/29721"),
"no_debug",
"the `#[no_debug]` attribute is an experimental feature",
"the `#[no_debug]` attribute was an experimental feature that has been \
deprecated due to lack of demand",
cfg_fn!(no_debug))),
("omit_gdb_pretty_printer_section", Whitelisted, Gated(Stability::Unstable,
"omit_gdb_pretty_printer_section",

View file

@ -10,5 +10,5 @@
#![allow(deprecated)]
#[no_debug] //~ ERROR the `#[no_debug]` attribute is
#[no_debug] //~ ERROR the `#[no_debug]` attribute was
fn main() {}