mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-01 12:37:37 +00:00
61 lines
1.3 KiB
Rust
61 lines
1.3 KiB
Rust
![]() |
//@ run-rustfix
|
||
|
#![deny(unsafe_attr_outside_unsafe)]
|
||
|
|
||
|
macro_rules! tt {
|
||
|
($e:tt) => {
|
||
|
#$e
|
||
|
extern fn foo() {}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
macro_rules! ident {
|
||
|
($e:ident) => {
|
||
|
#[$e]
|
||
|
//~^ ERROR: unsafe attribute used without unsafe
|
||
|
//~| WARN this is accepted in the current edition
|
||
|
extern fn bar() {}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
macro_rules! ident2 {
|
||
|
($e:ident, $l:literal) => {
|
||
|
#[$e = $l]
|
||
|
//~^ ERROR: unsafe attribute used without unsafe
|
||
|
//~| WARN this is accepted in the current edition
|
||
|
extern fn bars() {}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
macro_rules! meta {
|
||
|
($m:meta) => {
|
||
|
#[$m]
|
||
|
extern fn baz() {}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
macro_rules! meta2 {
|
||
|
($m:meta) => {
|
||
|
#[$m]
|
||
|
extern fn baw() {}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
tt!([no_mangle]);
|
||
|
//~^ ERROR: unsafe attribute used without unsafe
|
||
|
//~| WARN this is accepted in the current edition
|
||
|
ident!(no_mangle);
|
||
|
meta!(no_mangle);
|
||
|
//~^ ERROR: unsafe attribute used without unsafe
|
||
|
//~| WARN this is accepted in the current edition
|
||
|
meta2!(export_name = "baw");
|
||
|
//~^ ERROR: unsafe attribute used without unsafe
|
||
|
//~| WARN this is accepted in the current edition
|
||
|
ident2!(export_name, "bars");
|
||
|
|
||
|
#[no_mangle]
|
||
|
//~^ ERROR: unsafe attribute used without unsafe
|
||
|
//~| WARN this is accepted in the current edition
|
||
|
extern "C" fn one() {}
|
||
|
|
||
|
fn main() {}
|