about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-02-27 23:04:51 +0000
committerbors <bors@rust-lang.org>2020-02-27 23:04:51 +0000
commitfbc46b7d71d0fe93066d7c026eccd01c16185cd4 (patch)
tree998aac7af361eef2cdcdbdf0ace46aa4cd764d0b /src
parent6d69caba110c0c2fb90180df1cbc8be5033b91d4 (diff)
parent34f83942f9d2c7a20312b9863f6226f33be6353b (diff)
downloadrust-fbc46b7d71d0fe93066d7c026eccd01c16185cd4.tar.gz
rust-fbc46b7d71d0fe93066d7c026eccd01c16185cd4.zip
Auto merge of #69513 - tmiasko:revert-checked-unused, r=petrochenkov
Revert "Mark attributes consumed by `check_mod_attrs` as normal"

This reverts commit d78b22f35ec367368643fe7d6f7e87d01762692b.

Those changes were incompatible with incremental compilation since the
effect `check_mod_attrs` has with respect to marking the attributes as
used is neither persisted nor recomputed.
Diffstat (limited to 'src')
-rw-r--r--src/librustc_feature/builtin_attrs.rs12
-rw-r--r--src/test/ui/unused/unused-attr-crate.rs13
-rw-r--r--src/test/ui/unused/unused-attr-crate.stderr44
3 files changed, 6 insertions, 63 deletions
diff --git a/src/librustc_feature/builtin_attrs.rs b/src/librustc_feature/builtin_attrs.rs
index 91658db1a7a..e2e061c185c 100644
--- a/src/librustc_feature/builtin_attrs.rs
+++ b/src/librustc_feature/builtin_attrs.rs
@@ -234,7 +234,7 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
     ungated!(export_name, Whitelisted, template!(NameValueStr: "name")),
     ungated!(link_section, Whitelisted, template!(NameValueStr: "name")),
     ungated!(no_mangle, Whitelisted, template!(Word)),
-    ungated!(used, Normal, template!(Word)),
+    ungated!(used, Whitelisted, template!(Word)),
 
     // Limits:
     ungated!(recursion_limit, CrateLevel, template!(NameValueStr: "N")),
@@ -250,17 +250,17 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
     ungated!(path, Normal, template!(NameValueStr: "file")),
     ungated!(no_std, CrateLevel, template!(Word)),
     ungated!(no_implicit_prelude, Normal, template!(Word)),
-    ungated!(non_exhaustive, Normal, template!(Word)),
+    ungated!(non_exhaustive, Whitelisted, template!(Word)),
 
     // Runtime
     ungated!(windows_subsystem, Whitelisted, template!(NameValueStr: "windows|console")),
     ungated!(panic_handler, Normal, template!(Word)), // RFC 2070
 
     // Code generation:
-    ungated!(inline, Normal, template!(Word, List: "always|never")),
+    ungated!(inline, Whitelisted, template!(Word, List: "always|never")),
     ungated!(cold, Whitelisted, template!(Word)),
     ungated!(no_builtins, Whitelisted, template!(Word)),
-    ungated!(target_feature, Normal, template!(List: r#"enable = "name""#)),
+    ungated!(target_feature, Whitelisted, template!(List: r#"enable = "name""#)),
     gated!(
         no_sanitize, Whitelisted,
         template!(List: "address, memory, thread"),
@@ -275,7 +275,7 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
     // ==========================================================================
 
     // Linking:
-    gated!(naked, Normal, template!(Word), naked_functions, experimental!(naked)),
+    gated!(naked, Whitelisted, template!(Word), naked_functions, experimental!(naked)),
     gated!(
         link_args, Normal, template!(NameValueStr: "args"),
         "the `link_args` attribute is experimental and not portable across platforms, \
@@ -332,7 +332,7 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
     ),
 
     gated!(ffi_returns_twice, Whitelisted, template!(Word), experimental!(ffi_returns_twice)),
-    gated!(track_caller, Normal, template!(Word), experimental!(track_caller)),
+    gated!(track_caller, Whitelisted, template!(Word), experimental!(track_caller)),
     gated!(
         register_attr, CrateLevel, template!(List: "attr1, attr2, ..."),
         experimental!(register_attr),
diff --git a/src/test/ui/unused/unused-attr-crate.rs b/src/test/ui/unused/unused-attr-crate.rs
deleted file mode 100644
index adb939e9b40..00000000000
--- a/src/test/ui/unused/unused-attr-crate.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-#![deny(unused_attributes)]
-
-#![feature(naked_functions)]
-#![feature(track_caller)]
-
-#![used] //~ ERROR unused attribute
-#![non_exhaustive] //~ ERROR unused attribute
-#![inline] //~ ERROR unused attribute
-#![target_feature(enable = "")] //~ ERROR unused attribute
-#![naked] //~ ERROR unused attribute
-#![track_caller] //~ ERROR unused attribute
-
-fn main() {}
diff --git a/src/test/ui/unused/unused-attr-crate.stderr b/src/test/ui/unused/unused-attr-crate.stderr
deleted file mode 100644
index 620a3ea5315..00000000000
--- a/src/test/ui/unused/unused-attr-crate.stderr
+++ /dev/null
@@ -1,44 +0,0 @@
-error: unused attribute
-  --> $DIR/unused-attr-crate.rs:6:1
-   |
-LL | #![used]
-   | ^^^^^^^^
-   |
-note: the lint level is defined here
-  --> $DIR/unused-attr-crate.rs:1:9
-   |
-LL | #![deny(unused_attributes)]
-   |         ^^^^^^^^^^^^^^^^^
-
-error: unused attribute
-  --> $DIR/unused-attr-crate.rs:7:1
-   |
-LL | #![non_exhaustive]
-   | ^^^^^^^^^^^^^^^^^^
-
-error: unused attribute
-  --> $DIR/unused-attr-crate.rs:8:1
-   |
-LL | #![inline]
-   | ^^^^^^^^^^
-
-error: unused attribute
-  --> $DIR/unused-attr-crate.rs:9:1
-   |
-LL | #![target_feature(enable = "")]
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: unused attribute
-  --> $DIR/unused-attr-crate.rs:10:1
-   |
-LL | #![naked]
-   | ^^^^^^^^^
-
-error: unused attribute
-  --> $DIR/unused-attr-crate.rs:11:1
-   |
-LL | #![track_caller]
-   | ^^^^^^^^^^^^^^^^
-
-error: aborting due to 6 previous errors
-