Skip to content

Commit 7c0b3d1

Browse files
authored
clippy: fix ptr_as_ptr lint (#730)
1 parent 6468920 commit 7c0b3d1

12 files changed

Lines changed: 47 additions & 46 deletions

File tree

crates/edit/src/base64.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ pub fn encode<'a>(arena: &'a Arena, dst: &mut BString<'a>, src: &[u8]) {
3636
// SAFETY: Thanks to `remaining > 3`, reading 4 bytes at once is safe.
3737
// This improves performance massively over a byte-by-byte approach,
3838
// because it allows us to byte-swap the read and use simple bit-shifts below.
39-
let val = u32::from_be((inp as *const u32).read_unaligned());
39+
let val = u32::from_be(inp.cast::<u32>().read_unaligned());
4040
inp = inp.add(3);
4141
remaining -= 3;
4242

crates/edit/src/hash.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,11 @@ unsafe fn wyr3(p: *const u8, k: usize) -> u64 {
9191
}
9292

9393
unsafe fn wyr4(p: *const u8) -> u64 {
94-
unsafe { (p as *const u32).read_unaligned() as u64 }
94+
unsafe { p.cast::<u32>().read_unaligned() as u64 }
9595
}
9696

9797
unsafe fn wyr8(p: *const u8) -> u64 {
98-
unsafe { (p as *const u64).read_unaligned() }
98+
unsafe { p.cast::<u64>().read_unaligned() }
9999
}
100100

101101
// This is a weak mix function on its own. It may be worth considering

crates/edit/src/helpers.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ impl Rect {
149149
/// [`Read`] but with [`MaybeUninit<u8>`] buffers.
150150
pub fn file_read_uninit<T: Read>(file: &mut T, buf: &mut [MaybeUninit<u8>]) -> io::Result<usize> {
151151
unsafe {
152-
let buf_slice = slice::from_raw_parts_mut(buf.as_mut_ptr() as *mut u8, buf.len());
152+
let buf_slice = slice::from_raw_parts_mut(buf.as_mut_ptr().cast::<u8>(), buf.len());
153153
let n = file.read(buf_slice)?;
154154
Ok(n)
155155
}

crates/edit/src/icu.rs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ pub fn get_available_encodings() -> &'static Encodings {
103103
let mut status = icu_ffi::U_ZERO_ERROR;
104104
let mime = (f.ucnv_getStandardName)(
105105
name.as_ptr(),
106-
c"MIME".as_ptr() as *const _,
106+
c"MIME".as_ptr().cast(),
107107
&mut status,
108108
);
109109
if !mime.is_null() && status.is_success() {
@@ -182,7 +182,7 @@ impl<'pivot> Converter<'pivot> {
182182
return Err(status.as_error());
183183
}
184184

185-
let pivot_source = pivot_buffer.as_mut_ptr() as *mut u16;
185+
let pivot_source = pivot_buffer.as_mut_ptr().cast::<u16>();
186186
let pivot_target = unsafe { pivot_source.add(pivot_buffer.len()) };
187187

188188
Ok(Self { source, target, pivot_buffer, pivot_source, pivot_target, reset: true })
@@ -217,11 +217,11 @@ impl<'pivot> Converter<'pivot> {
217217
let input_end = unsafe { input_beg.add(input.len()) };
218218
let mut input_ptr = input_beg;
219219

220-
let output_beg = output.as_mut_ptr() as *mut u8;
220+
let output_beg = output.as_mut_ptr().cast::<u8>();
221221
let output_end = unsafe { output_beg.add(output.len()) };
222222
let mut output_ptr = output_beg;
223223

224-
let pivot_beg = self.pivot_buffer.as_mut_ptr() as *mut u16;
224+
let pivot_beg = self.pivot_buffer.as_mut_ptr().cast::<u16>();
225225
let pivot_end = unsafe { pivot_beg.add(self.pivot_buffer.len()) };
226226

227227
let flush = input.is_empty();
@@ -359,7 +359,7 @@ fn text_buffer_from_utext<'a>(ut: &icu_ffi::UText) -> &'a TextBuffer {
359359
}
360360

361361
fn double_cache_from_utext<'a>(ut: &icu_ffi::UText) -> &'a mut DoubleCache {
362-
unsafe { &mut *(ut.p_extra as *mut DoubleCache) }
362+
unsafe { &mut *ut.p_extra.cast() }
363363
}
364364

365365
extern "C" fn utext_clone(
@@ -874,9 +874,9 @@ pub fn fold_case<'a>(arena: &'a Arena, input: &str) -> BString<'a> {
874874
output_len = unsafe {
875875
(f.ucasemap_utf8FoldCase)(
876876
casemap,
877-
output.as_mut_ptr() as *mut _,
877+
output.as_mut_ptr().cast(),
878878
output.len() as i32,
879-
input.as_ptr() as *const _,
879+
input.as_ptr().cast(),
880880
input.len() as i32,
881881
&mut status,
882882
)
@@ -890,9 +890,9 @@ pub fn fold_case<'a>(arena: &'a Arena, input: &str) -> BString<'a> {
890890
output_len = unsafe {
891891
(f.ucasemap_utf8FoldCase)(
892892
casemap,
893-
output.as_mut_ptr() as *mut _,
893+
output.as_mut_ptr().cast(),
894894
output.len() as i32,
895-
input.as_ptr() as *const _,
895+
input.as_ptr().cast(),
896896
input.len() as i32,
897897
&mut status,
898898
)
@@ -958,7 +958,8 @@ struct LibraryFunctions {
958958
macro_rules! proc_name {
959959
($s:literal) => {
960960
concat!(env!("EDIT_CFG_ICU_EXPORT_PREFIX"), $s, env!("EDIT_CFG_ICU_EXPORT_SUFFIX"), "\0")
961-
.as_ptr() as *const c_char
961+
.as_ptr()
962+
.cast()
962963
};
963964
}
964965

@@ -1034,7 +1035,7 @@ fn init_if_needed() -> Result<&'static LibraryFunctions> {
10341035
);
10351036

10361037
let mut funcs = MaybeUninit::<LibraryFunctions>::uninit();
1037-
let mut ptr = funcs.as_mut_ptr() as *mut TransparentFunction;
1038+
let mut ptr = funcs.as_mut_ptr().cast::<TransparentFunction>();
10381039

10391040
#[cfg(edit_icu_renaming_auto_detect)]
10401041
let scratch_outer = scratch_arena(None);

crates/edit/src/simd/memchr2.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ unsafe fn memchr2_neon(needle1: u8, needle2: u8, mut beg: *const u8, end: *const
195195
let n2 = vdupq_n_u8(needle2);
196196

197197
loop {
198-
let v = vld1q_u8(beg as *const _);
198+
let v = vld1q_u8(beg.cast());
199199
let a = vceqq_u8(v, n1);
200200
let b = vceqq_u8(v, n2);
201201
let c = vorrq_u8(a, b);

crates/edit/src/sys/unix.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ pub fn read_stdin(arena: &Arena, mut timeout: time::Duration) -> Option<BString<
225225

226226
// Read from stdin.
227227
let spare = buf.spare_capacity_mut();
228-
let ret = libc::read(STATE.stdin, spare.as_mut_ptr() as *mut _, spare.len());
228+
let ret = libc::read(STATE.stdin, spare.as_mut_ptr().cast(), spare.len());
229229
if ret > 0 {
230230
buf.set_len(buf.len() + ret as usize);
231231
break;
@@ -305,7 +305,7 @@ pub fn write_stdout(text: &str) {
305305
while written < buf.len() {
306306
let w = &buf[written..];
307307
let w = &buf[..w.len().min(GIBI)];
308-
let n = unsafe { libc::write(STATE.stdout, w.as_ptr() as *const _, w.len()) };
308+
let n = unsafe { libc::write(STATE.stdout, w.as_ptr().cast(), w.len()) };
309309

310310
if n >= 0 {
311311
written += n as usize;
@@ -417,11 +417,11 @@ pub fn load_icu() -> io::Result<LibIcu> {
417417
const LIBICUI18N: &str = concat!(env!("EDIT_CFG_ICUI18N_SONAME"), "\0");
418418

419419
if const { const_str_eq(LIBICUUC, LIBICUI18N) } {
420-
let icu = unsafe { load_library(LIBICUUC.as_ptr() as *const _)? };
420+
let icu = unsafe { load_library(LIBICUUC.as_ptr().cast())? };
421421
Ok(LibIcu { libicuuc: icu, libicui18n: icu })
422422
} else {
423-
let libicuuc = unsafe { load_library(LIBICUUC.as_ptr() as *const _)? };
424-
let libicui18n = unsafe { load_library(LIBICUI18N.as_ptr() as *const _)? };
423+
let libicuuc = unsafe { load_library(LIBICUUC.as_ptr().cast())? };
424+
let libicui18n = unsafe { load_library(LIBICUI18N.as_ptr().cast())? };
425425
Ok(LibIcu { libicuuc, libicui18n })
426426
}
427427
}

crates/stdext/src/arena/fs.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ pub fn read_to_string<P: AsRef<Path>>(arena: &Arena, path: P) -> io::Result<BStr
5252

5353
fn file_read_uninit<T: Read>(file: &mut T, buf: &mut [MaybeUninit<u8>]) -> io::Result<usize> {
5454
unsafe {
55-
let buf_slice = from_raw_parts_mut(buf.as_mut_ptr() as *mut u8, buf.len());
55+
let buf_slice = from_raw_parts_mut(buf.as_mut_ptr().cast(), buf.len());
5656
let n = file.read(buf_slice)?;
5757
Ok(n)
5858
}

crates/stdext/src/arena/release.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ impl Allocator for Arena {
228228
// Otherwise, we have to allocate a new area and copy it over.
229229
unsafe {
230230
let new_ptr = self.alloc_raw(new_size, align);
231-
ptr::copy_nonoverlapping(old_ptr.as_ptr(), new_ptr.as_ptr() as *mut _, old_size);
231+
ptr::copy_nonoverlapping(old_ptr.as_ptr(), new_ptr.as_ptr().cast(), old_size);
232232
new_ptr
233233
}
234234
} else {

crates/stdext/src/collections/vec.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ impl<'a, T> BVec<'a, T> {
149149

150150
#[inline]
151151
fn spare_mut_ptr(&mut self) -> *mut MaybeUninit<T> {
152-
unsafe { (self.ptr.as_ptr() as *mut MaybeUninit<T>).add(self.len) }
152+
unsafe { self.ptr.as_ptr().cast::<MaybeUninit<T>>().add(self.len) }
153153
}
154154

155155
/// View as a shared slice.
@@ -342,7 +342,7 @@ impl<'a, T: Copy> BVec<'a, T> {
342342
unsafe {
343343
let dst = self.spare_mut_ptr();
344344
self.len += add;
345-
ptr::copy_nonoverlapping(other.as_ptr() as *const _, dst, add);
345+
ptr::copy_nonoverlapping(other.as_ptr().cast(), dst, add);
346346
}
347347
}
348348

crates/stdext/src/helpers.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,13 +142,13 @@ fn vec_replace_impl<T: Copy>(dst: &mut Vec<T>, range: Range<usize>, src: &[T]) {
142142
/// Turns a [`&[u8]`] into a [`&[MaybeUninit<T>]`].
143143
#[inline(always)]
144144
pub const fn slice_as_uninit_ref<T>(slice: &[T]) -> &[MaybeUninit<T>] {
145-
unsafe { slice::from_raw_parts(slice.as_ptr() as *const MaybeUninit<T>, slice.len()) }
145+
unsafe { slice::from_raw_parts(slice.as_ptr().cast(), slice.len()) }
146146
}
147147

148148
/// Turns a [`&mut [T]`] into a [`&mut [MaybeUninit<T>]`].
149149
#[inline(always)]
150150
pub const fn slice_as_uninit_mut<T>(slice: &mut [T]) -> &mut [MaybeUninit<T>] {
151-
unsafe { slice::from_raw_parts_mut(slice.as_mut_ptr() as *mut MaybeUninit<T>, slice.len()) }
151+
unsafe { slice::from_raw_parts_mut(slice.as_mut_ptr().cast(), slice.len()) }
152152
}
153153

154154
/// A stable clone of [`String::from_utf8_lossy_owned`] (`string_from_utf8_lossy_owned`).

0 commit comments

Comments
 (0)