Warn on no_start, crate_id attribute use
These attributes are now deprecated; they don't have any use anymore.
This commit is contained in:
parent
457666860c
commit
a0e48b6d25
@ -669,6 +669,22 @@ pub fn new() -> DeprecatedAttr {
|
||||
}
|
||||
}
|
||||
|
||||
fn lint_deprecated_attr(
|
||||
cx: &EarlyContext<'_>,
|
||||
attr: &ast::Attribute,
|
||||
msg: &str,
|
||||
suggestion: Option<&str>,
|
||||
) {
|
||||
cx.struct_span_lint(DEPRECATED, attr.span, &msg)
|
||||
.span_suggestion_short(
|
||||
attr.span,
|
||||
suggestion.unwrap_or("remove this attribute"),
|
||||
String::new(),
|
||||
Applicability::MachineApplicable
|
||||
)
|
||||
.emit();
|
||||
}
|
||||
|
||||
impl EarlyLintPass for DeprecatedAttr {
|
||||
fn check_attribute(&mut self, cx: &EarlyContext<'_>, attr: &ast::Attribute) {
|
||||
for &&(n, _, _, ref g) in &self.depr_attrs {
|
||||
@ -679,18 +695,15 @@ fn check_attribute(&mut self, cx: &EarlyContext<'_>, attr: &ast::Attribute) {
|
||||
_) = g {
|
||||
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,
|
||||
suggestion.unwrap_or("remove this attribute"),
|
||||
String::new(),
|
||||
Applicability::MachineApplicable
|
||||
);
|
||||
err.emit();
|
||||
lint_deprecated_attr(cx, attr, &msg, suggestion);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
if attr.check_name(sym::no_start) || attr.check_name(sym::crate_id) {
|
||||
let msg = format!("use of deprecated attribute `{}`: no longer used.", attr.path);
|
||||
lint_deprecated_attr(cx, attr, &msg, None);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -11,8 +11,6 @@
|
||||
#![rustc_dummy]
|
||||
#![rustc_dummy(attr5)]
|
||||
|
||||
#![crate_id="foobar#0.1"]
|
||||
|
||||
// These are attributes of the following mod
|
||||
#[rustc_dummy = "val"]
|
||||
#[rustc_dummy = "val"]
|
||||
|
@ -84,12 +84,12 @@
|
||||
#![crate_name = "0900"]
|
||||
#![crate_type = "bin"] // cannot pass "0800" here
|
||||
|
||||
// For #![crate_id], see issue #43142. (I cannot bear to enshrine current behavior in a test)
|
||||
#![crate_id = "10"] //~ WARN use of deprecated attribute
|
||||
|
||||
// FIXME(#44232) we should warn that this isn't used.
|
||||
#![feature(rust1)]
|
||||
|
||||
// For #![no_start], see issue #43144. (I cannot bear to enshrine current behavior in a test)
|
||||
#![no_start] //~ WARN use of deprecated attribute
|
||||
|
||||
// (cannot easily gating state of crate-level #[no_main]; but non crate-level is below at "0400")
|
||||
#![no_builtins]
|
||||
|
@ -186,6 +186,20 @@ LL | mod inner { #![macro_escape] }
|
||||
|
|
||||
= help: consider an outer attribute, `#[macro_use]` mod ...
|
||||
|
||||
warning: use of deprecated attribute `crate_id`: no longer used.
|
||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:87:1
|
||||
|
|
||||
LL | #![crate_id = "10"]
|
||||
| ^^^^^^^^^^^^^^^^^^^ help: remove this attribute
|
||||
|
|
||||
= note: `#[warn(deprecated)]` on by default
|
||||
|
||||
warning: use of deprecated attribute `no_start`: no longer used.
|
||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:92:1
|
||||
|
|
||||
LL | #![no_start]
|
||||
| ^^^^^^^^^^^^ help: remove this attribute
|
||||
|
||||
warning: the feature `rust1` has been stable since 1.0.0 and no longer requires an attribute to enable
|
||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:90:12
|
||||
|
|
||||
|
@ -6,8 +6,6 @@
|
||||
|
||||
#![feature(rustc_private)]
|
||||
|
||||
#![crate_id="rust_get_test_int"]
|
||||
|
||||
mod rustrt {
|
||||
extern crate libc;
|
||||
|
||||
|
@ -4,7 +4,6 @@
|
||||
|
||||
// pretty-expanded FIXME #23616
|
||||
|
||||
#![crate_id="issue-6919"]
|
||||
extern crate issue6919_3;
|
||||
|
||||
pub fn main() {
|
||||
|
Loading…
Reference in New Issue
Block a user