about summary refs log tree commit diff
path: root/compiler/rustc_attr
diff options
context:
space:
mode:
authorJacob Pratt <jacob@jhpratt.dev>2022-03-04 21:59:18 -0500
committerJacob Pratt <jacob@jhpratt.dev>2022-03-09 16:32:47 -0500
commit38478ea0cda8c7e2a4e8e841f97910bcb6d08ef3 (patch)
treee47063526a6844f7be37f6986be543636b4c2c54 /compiler/rustc_attr
parent5636655d0f0afb0d509cd86ad479773f5854630e (diff)
downloadrust-38478ea0cda8c7e2a4e8e841f97910bcb6d08ef3.tar.gz
rust-38478ea0cda8c7e2a4e8e841f97910bcb6d08ef3.zip
Permit `#[deprecated]` in stdlib
Diffstat (limited to 'compiler/rustc_attr')
-rw-r--r--compiler/rustc_attr/src/builtin.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/compiler/rustc_attr/src/builtin.rs b/compiler/rustc_attr/src/builtin.rs
index 9a750d9f40f..dd5642c212e 100644
--- a/compiler/rustc_attr/src/builtin.rs
+++ b/compiler/rustc_attr/src/builtin.rs
@@ -665,6 +665,7 @@ where
 {
     let mut depr: Option<(Deprecation, Span)> = None;
     let diagnostic = &sess.parse_sess.span_diagnostic;
+    let is_rustc = sess.features_untracked().staged_api;
 
     'outer: for attr in attrs_iter {
         if !(attr.has_name(sym::deprecated) || attr.has_name(sym::rustc_deprecated)) {
@@ -790,7 +791,7 @@ where
             }
         }
 
-        if attr.has_name(sym::rustc_deprecated) {
+        if is_rustc {
             if since.is_none() {
                 handle_errors(&sess.parse_sess, attr.span, AttrError::MissingSince);
                 continue;
@@ -802,8 +803,10 @@ where
             }
         }
 
-        let is_since_rustc_version = attr.has_name(sym::rustc_deprecated);
-        depr = Some((Deprecation { since, note, suggestion, is_since_rustc_version }, attr.span));
+        depr = Some((
+            Deprecation { since, note, suggestion, is_since_rustc_version: is_rustc },
+            attr.span,
+        ));
     }
 
     depr