about summary refs log tree commit diff
path: root/tests/ui/rust-2024/safe-outside-extern.rs
blob: 674b78dc571eafc7a2af21ed1fb8136a043f5854 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
safe fn foo() {}
//~^ ERROR: items outside of `unsafe extern { }` cannot be declared with `safe` safety qualifier

safe static FOO: i32 = 1;
//~^ ERROR: items outside of `unsafe extern { }` cannot be declared with `safe` safety qualifier

trait Foo {
    safe fn foo();
    //~^ ERROR: items outside of `unsafe extern { }` cannot be declared with `safe` safety qualifier
}

impl Foo for () {
    safe fn foo() {}
    //~^ ERROR: items outside of `unsafe extern { }` cannot be declared with `safe` safety qualifier
}

type FnPtr = safe fn(i32, i32) -> i32;
//~^ ERROR: function pointers cannot be declared with `safe` safety qualifier

unsafe static LOL: u8 = 0;
//~^ ERROR: static items cannot be declared with `unsafe` safety qualifier outside of `extern` block

fn main() {}