diff options
Diffstat (limited to 'src/tools/clippy/tests/ui/ptr_cast_constness.rs')
-rw-r--r-- | src/tools/clippy/tests/ui/ptr_cast_constness.rs | 17 |
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()); +} |