diff options
| author | carbotaniuman <41451839+carbotaniuman@users.noreply.github.com> | 2024-06-08 18:39:09 -0500 |
|---|---|---|
| committer | carbotaniuman <41451839+carbotaniuman@users.noreply.github.com> | 2024-06-23 19:02:14 -0500 |
| commit | a23917cfd07b309f32603c6acb81b63aad8504e7 (patch) | |
| tree | 7ead8d9df7c78555088b9e034441f202ab30d94e /tests/ui/rust-2024/unsafe-attributes/unsafe-attributes-fix.fixed | |
| parent | 33422e72c8a66bdb5ee21246a948a1a02ca91674 (diff) | |
| download | rust-a23917cfd07b309f32603c6acb81b63aad8504e7.tar.gz rust-a23917cfd07b309f32603c6acb81b63aad8504e7.zip | |
Add hard error and migration lint for unsafe attrs
Diffstat (limited to 'tests/ui/rust-2024/unsafe-attributes/unsafe-attributes-fix.fixed')
| -rw-r--r-- | tests/ui/rust-2024/unsafe-attributes/unsafe-attributes-fix.fixed | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/ui/rust-2024/unsafe-attributes/unsafe-attributes-fix.fixed b/tests/ui/rust-2024/unsafe-attributes/unsafe-attributes-fix.fixed new file mode 100644 index 00000000000..6ebdff0334c --- /dev/null +++ b/tests/ui/rust-2024/unsafe-attributes/unsafe-attributes-fix.fixed @@ -0,0 +1,61 @@ +//@ run-rustfix +#![feature(unsafe_attributes)] +#![deny(unsafe_attr_outside_unsafe)] + +macro_rules! tt { + ($e:tt) => { + #$e + extern fn foo() {} + } +} + +macro_rules! ident { + ($e:ident) => { + #[unsafe($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) => { + #[unsafe($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!([unsafe(no_mangle)]); +//~^ ERROR: unsafe attribute used without unsafe +//~| WARN this is accepted in the current edition +ident!(no_mangle); +meta!(unsafe(no_mangle)); +//~^ ERROR: unsafe attribute used without unsafe +//~| WARN this is accepted in the current edition +meta2!(unsafe(export_name = "baw")); +//~^ ERROR: unsafe attribute used without unsafe +//~| WARN this is accepted in the current edition +ident2!(export_name, "bars"); + +#[unsafe(no_mangle)] +//~^ ERROR: unsafe attribute used without unsafe +//~| WARN this is accepted in the current edition +extern "C" fn one() {} + +fn main() {} |
