summaryrefslogtreecommitdiffstats
path: root/tests/ui/attributes/duplicated-attributes.rs
blob: 84a5abcf8b4bcec6f732edd8266a166269046a91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Test that, if an item is annotated with a builtin attribute more than once, a warning is
// emitted.
// Tests https://github.com/rust-lang/rust/issues/90979

// check-pass
// compile-flags: --test

#![feature(test)]
#![feature(cfg_eval)]

#[test]
#[test]
//~^ WARNING duplicated attribute
fn f() {}

// The following shouldn't trigger an error. The attribute is not duplicated.
#[test]
fn f2() {}

// The following shouldn't trigger an error either. The second attribute is not #[test].
#[test]
#[inline]
fn f3() {}

extern crate test;
use test::Bencher;

#[bench]
#[bench]
//~^ WARNING duplicated attribute
fn f4(_: &mut Bencher) {}

#[cfg_eval]
#[cfg_eval]
//~^ WARNING duplicated attribute
struct S;

#[cfg_eval]
struct S2;

fn main() {}