summary refs log tree commit diff
path: root/tests/ui/attributes/unsafe/extraneous-unsafe-attributes.rs
blob: 273b127bf9cb423d79aaa1f00a84c6ea4f44a285 (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
//@ edition: 2024
//@ compile-flags: -Zunstable-options

#[unsafe(cfg(any()))] //~ ERROR: is not an unsafe attribute
fn a() {}

#[unsafe(cfg_attr(any(), allow(dead_code)))] //~ ERROR: is not an unsafe attribute
fn b() {}

#[unsafe(test)] //~ ERROR: is not an unsafe attribute
fn aa() {}

#[unsafe(ignore = "test")] //~ ERROR: is not an unsafe attribute
fn bb() {}

#[unsafe(should_panic(expected = "test"))] //~ ERROR: is not an unsafe attribute
fn cc() {}

#[unsafe(macro_use)] //~ ERROR: is not an unsafe attribute
mod inner {
    #[unsafe(macro_export)] //~ ERROR: is not an unsafe attribute
    macro_rules! m {
        () => {};
    }
}

#[unsafe(used)] //~ ERROR: is not an unsafe attribute
static FOO: usize = 0;

fn main() {
    let _a = cfg!(unsafe(foo));
    //~^ ERROR: expected identifier, found keyword `unsafe`
    //~^^ ERROR: invalid predicate `r#unsafe`
}