summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/multiple_unsafe_ops_per_block.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/clippy/tests/ui/multiple_unsafe_ops_per_block.rs')
-rw-r--r--src/tools/clippy/tests/ui/multiple_unsafe_ops_per_block.rs39
1 files changed, 35 insertions, 4 deletions
diff --git a/src/tools/clippy/tests/ui/multiple_unsafe_ops_per_block.rs b/src/tools/clippy/tests/ui/multiple_unsafe_ops_per_block.rs
index 4511bc99c..9082f1675 100644
--- a/src/tools/clippy/tests/ui/multiple_unsafe_ops_per_block.rs
+++ b/src/tools/clippy/tests/ui/multiple_unsafe_ops_per_block.rs
@@ -1,12 +1,12 @@
-// aux-build:macro_rules.rs
+// aux-build:proc_macros.rs
#![allow(unused)]
#![allow(deref_nullptr)]
#![allow(clippy::unnecessary_operation)]
#![allow(clippy::drop_copy)]
#![warn(clippy::multiple_unsafe_ops_per_block)]
-#[macro_use]
-extern crate macro_rules;
+extern crate proc_macros;
+use proc_macros::external;
use core::arch::asm;
@@ -113,7 +113,38 @@ unsafe fn read_char_good(ptr: *const u8) -> char {
// no lint
fn issue10259() {
- unsafe_macro!();
+ external!(unsafe {
+ *core::ptr::null::<()>();
+ *core::ptr::null::<()>();
+ });
+}
+
+fn _fn_ptr(x: unsafe fn()) {
+ unsafe {
+ x();
+ x();
+ }
+}
+
+fn _assoc_const() {
+ trait X {
+ const X: unsafe fn();
+ }
+ fn _f<T: X>() {
+ unsafe {
+ T::X();
+ T::X();
+ }
+ }
+}
+
+fn _field_fn_ptr(x: unsafe fn()) {
+ struct X(unsafe fn());
+ let x = X(x);
+ unsafe {
+ x.0();
+ x.0();
+ }
}
fn main() {}