Skip to content

Commit

Permalink
Rollup merge of #94377 - cynecx:fix-used-with-args, r=nikic
Browse files Browse the repository at this point in the history
`check_used` should only look at actual `used` attributes

cc? #94348
r? ``@nikic``
  • Loading branch information
matthiaskrgr committed Feb 25, 2022
2 parents 0c9d5e3 + 45a441b commit 04f7780
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
4 changes: 2 additions & 2 deletions compiler/rustc_passes/src/check_attr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1740,8 +1740,8 @@ impl CheckAttrVisitor<'_> {
fn check_used(&self, attrs: &[Attribute], target: Target) {
let mut used_linker_span = None;
let mut used_compiler_span = None;
for attr in attrs {
if attr.has_name(sym::used) && target != Target::Static {
for attr in attrs.iter().filter(|attr| attr.has_name(sym::used)) {
if target != Target::Static {
self.tcx
.sess
.span_err(attr.span, "attribute must be applied to a `static` variable");
Expand Down
9 changes: 9 additions & 0 deletions src/test/ui/attributes/used_with_arg_no_mangle.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// check-pass

#![feature(used_with_arg)]

#[used(linker)]
#[no_mangle] // accidentally detected as `used(compiler)`
pub static GLOB: usize = 0;

fn main() {}

0 comments on commit 04f7780

Please sign in to comment.