diff options
| author | bors <bors@rust-lang.org> | 2021-08-24 03:58:22 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-08-24 03:58:22 +0000 |
| commit | f66e825f73d2bd7f8a763b723983850f891985b0 (patch) | |
| tree | 59bf6e3167d9ff7218870e25e80477dc8d4a1f8c /compiler/rustc_privacy/src | |
| parent | 5ca596f486707ac1362edad717ad0e9f5b71d0a3 (diff) | |
| parent | 62aea8c9134bcd66fe319010af2f9b9f39c3c887 (diff) | |
| download | rust-f66e825f73d2bd7f8a763b723983850f891985b0.tar.gz rust-f66e825f73d2bd7f8a763b723983850f891985b0.zip | |
Auto merge of #87739 - Aaron1011:remove-used-attrs, r=wesleywiser
Remove `Session.used_attrs` and move logic to `CheckAttrVisitor` Instead of updating global state to mark attributes as used, we now explicitly emit a warning when an attribute is used in an unsupported position. As a side effect, we are to emit more detailed warning messages (instead of just a generic "unused" message). `Session.check_name` is removed, since its only purpose was to mark the attribute as used. All of the callers are modified to use `Attribute.has_name` Additionally, `AttributeType::AssumedUsed` is removed - an 'assumed used' attribute is implemented by simply not performing any checks in `CheckAttrVisitor` for a particular attribute. We no longer emit unused attribute warnings for the `#[rustc_dummy]` attribute - it's an internal attribute used for tests, so it doesn't mark sense to treat it as 'unused'. With this commit, a large source of global untracked state is removed.
Diffstat (limited to 'compiler/rustc_privacy/src')
| -rw-r--r-- | compiler/rustc_privacy/src/lib.rs | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/compiler/rustc_privacy/src/lib.rs b/compiler/rustc_privacy/src/lib.rs index 281995c3755..d84175724cc 100644 --- a/compiler/rustc_privacy/src/lib.rs +++ b/compiler/rustc_privacy/src/lib.rs @@ -885,9 +885,7 @@ impl Visitor<'tcx> for EmbargoVisitor<'tcx> { fn visit_macro_def(&mut self, md: &'tcx hir::MacroDef<'tcx>) { // Non-opaque macros cannot make other items more accessible than they already are. let attrs = self.tcx.hir().attrs(md.hir_id()); - if attr::find_transparency(&self.tcx.sess, &attrs, md.ast.macro_rules).0 - != Transparency::Opaque - { + if attr::find_transparency(&attrs, md.ast.macro_rules).0 != Transparency::Opaque { // `#[macro_export]`-ed `macro_rules!` are `Public` since they // ignore their containing path to always appear at the crate root. if md.ast.macro_rules { |
