]>
git.proxmox.com Git - rustc.git/blob - src/tools/clippy/tests/ui/as_ptr_cast_mut.rs
2 #![warn(clippy::as_ptr_cast_mut)]
3 #![allow(clippy::wrong_self_convention, clippy::unnecessary_cast)]
5 struct MutPtrWrapper(Vec
<u8>);
7 fn as_ptr(&mut self) -> *const u8 {
8 self.0.as_mut_ptr() as *const u8
12 struct Covariant
<T
>(*const T
);
13 impl<T
> Covariant
<T
> {
14 fn as_ptr(self) -> *const T
{
20 let mut string
= String
::new();
21 let _
= string
.as_ptr() as *mut u8;
22 let _
: *mut i8 = string
.as_ptr() as *mut _
;
23 let _
= string
.as_ptr() as *const i8;
24 let _
= string
.as_mut_ptr();
25 let _
= string
.as_mut_ptr() as *mut u8;
26 let _
= string
.as_mut_ptr() as *const u8;
28 let nn
= std
::ptr
::NonNull
::new(4 as *mut u8).unwrap();
29 let _
= nn
.as_ptr() as *mut u8;
31 let mut wrap
= MutPtrWrapper(Vec
::new());
32 let _
= wrap
.as_ptr() as *mut u8;
35 let ref_with_write_perm
= Covariant(std
::ptr
::addr_of_mut
!(local
) as *const _
);
36 let _
= ref_with_write_perm
.as_ptr() as *mut u8;