summaryrefslogtreecommitdiff
path: root/src/tools/clippy/tests/ui/ptr_cast_constness.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/clippy/tests/ui/ptr_cast_constness.rs')
-rw-r--r--src/tools/clippy/tests/ui/ptr_cast_constness.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/ptr_cast_constness.rs b/src/tools/clippy/tests/ui/ptr_cast_constness.rs
index 5ce590b2b7e..43ab5f5ba7c 100644
--- a/src/tools/clippy/tests/ui/ptr_cast_constness.rs
+++ b/src/tools/clippy/tests/ui/ptr_cast_constness.rs
@@ -68,3 +68,20 @@ fn _msrv_1_65() {
let _ = ptr as *mut u32;
let _ = mut_ptr as *const u32;
}
+
+#[inline_macros]
+fn null_pointers() {
+ use std::ptr;
+ let _ = ptr::null::<String>() as *mut String;
+ let _ = ptr::null_mut::<u32>() as *const u32;
+ let _ = ptr::null::<u32>().cast_mut();
+ let _ = ptr::null_mut::<u32>().cast_const();
+
+ // Make sure the lint is triggered inside a macro
+ let _ = inline!(ptr::null::<u32>() as *mut u32);
+ let _ = inline!(ptr::null::<u32>().cast_mut());
+
+ // Do not lint inside macros from external crates
+ let _ = external!(ptr::null::<u32>() as *mut u32);
+ let _ = external!(ptr::null::<u32>().cast_mut());
+}