clean unsafe op in unsafe fn · model-checking/verify-rust-std@9fd9c61 (original) (raw)
`@@ -11,37 +11,37 @@ unsafe impl GlobalAlloc for System {
`
11
11
`// Also see https://github.com/rust-lang/rust/issues/45955 and
`
12
12
`// https://github.com/rust-lang/rust/issues/62251#issuecomment-507580914.
`
13
13
`if layout.align() <= MIN_ALIGN && layout.align() <= layout.size() {
`
14
``
`-
libc::malloc(layout.size()) as *mut u8
`
``
14
`+
unsafe { libc::malloc(layout.size()) as *mut u8 }
`
15
15
`} else {
`
16
``
`-
aligned_malloc(&layout)
`
``
16
`+
unsafe { aligned_malloc(&layout) }
`
17
17
`}
`
18
18
`}
`
19
19
``
20
20
`#[inline]
`
21
21
`unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8 {
`
22
22
`` // See the comment above in alloc
for why this check looks the way it does.
``
23
23
`if layout.align() <= MIN_ALIGN && layout.align() <= layout.size() {
`
24
``
`-
libc::calloc(layout.size(), 1) as *mut u8
`
``
24
`+
unsafe { libc::calloc(layout.size(), 1) as *mut u8 }
`
25
25
`} else {
`
26
``
`-
let ptr = self.alloc(layout);
`
``
26
`+
let ptr = unsafe { self.alloc(layout) };
`
27
27
`if !ptr.is_null() {
`
28
``
`-
ptr::write_bytes(ptr, 0, layout.size());
`
``
28
`+
unsafe { ptr::write_bytes(ptr, 0, layout.size()) };
`
29
29
`}
`
30
30
` ptr
`
31
31
`}
`
32
32
`}
`
33
33
``
34
34
`#[inline]
`
35
35
`unsafe fn dealloc(&self, ptr: *mut u8, _layout: Layout) {
`
36
``
`-
libc::free(ptr as *mut libc::c_void)
`
``
36
`+
unsafe { libc::free(ptr as *mut libc::c_void) }
`
37
37
`}
`
38
38
``
39
39
`#[inline]
`
40
40
`unsafe fn realloc(&self, ptr: *mut u8, layout: Layout, new_size: usize) -> *mut u8 {
`
41
41
`if layout.align() <= MIN_ALIGN && layout.align() <= new_size {
`
42
``
`-
libc::realloc(ptr as *mut libc::c_void, new_size) as *mut u8
`
``
42
`+
unsafe { libc::realloc(ptr as *mut libc::c_void, new_size) as *mut u8 }
`
43
43
`} else {
`
44
``
`-
realloc_fallback(self, ptr, layout, new_size)
`
``
44
`+
unsafe { realloc_fallback(self, ptr, layout, new_size) }
`
45
45
`}
`
46
46
`}
`
47
47
`}
`
`@@ -52,6 +52,6 @@ unsafe fn aligned_malloc(layout: &Layout) -> *mut u8 {
`
52
52
`` // posix_memalign requires that the alignment be a multiple of sizeof(void*)
.
``
53
53
`// Since these are all powers of 2, we can just use max.
`
54
54
`let align = layout.align().max(crate::mem::size_of::());
`
55
``
`-
let ret = libc::posix_memalign(&mut out, align, layout.size());
`
``
55
`+
let ret = unsafe { libc::posix_memalign(&mut out, align, layout.size()) };
`
56
56
`if ret != 0 { ptr::null_mut() } else { out as *mut u8 }
`
57
57
`}
`