From 433eb0dce7740c7017e248757efaf358c6899940 Mon Sep 17 00:00:00 2001 From: auronandace Date: Fri, 10 Jul 2026 07:22:32 +0100 Subject: [PATCH 1/2] tackle clippy lints in redox-ioctl --- redox-ioctl/Cargo.toml | 3 +++ redox-ioctl/src/ioctl_data.rs | 9 +++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/redox-ioctl/Cargo.toml b/redox-ioctl/Cargo.toml index c07bc043ab..69360f953b 100644 --- a/redox-ioctl/Cargo.toml +++ b/redox-ioctl/Cargo.toml @@ -11,3 +11,6 @@ drm-sys = "0.8.0" redox_syscall = "0.9.0" [features] + +[lints] +workspace = true diff --git a/redox-ioctl/src/ioctl_data.rs b/redox-ioctl/src/ioctl_data.rs index f9673f6d7d..f8d8cc126c 100644 --- a/redox-ioctl/src/ioctl_data.rs +++ b/redox-ioctl/src/ioctl_data.rs @@ -108,7 +108,7 @@ macro_rules! define_ioctl_data { assert!(buf.is_empty()); - let noncounted_fields = unsafe { &*(noncounted_fields as *const _ as *const ${concat(__, $mem_ty, Noncounted)}) }; + let noncounted_fields = unsafe { &*core::ptr::from_ref(noncounted_fields).cast::<${concat(__, $mem_ty, Noncounted)}>() }; $(self.$noncounted_field = noncounted_fields.$noncounted_field;)* } } @@ -120,13 +120,13 @@ macro_rules! define_ioctl_data { ) -> syscall::Result { let noncounted_fields = buf.split_off_mut(..size_of::<${concat(__, $mem_ty, Noncounted)}>()) .ok_or(syscall::Error::new(syscall::EINVAL))?; - let noncounted_fields = unsafe { &mut *(noncounted_fields as *mut _ as *mut ${concat(__, $mem_ty, Noncounted)}) }; + let noncounted_fields = unsafe { &mut *core::ptr::from_mut(noncounted_fields).cast::<${concat(__, $mem_ty, Noncounted)}>() }; $( let $counted_field = buf.split_off_mut(..noncounted_fields.$counted_by as usize * size_of::<$el>()) .ok_or(syscall::Error::new(syscall::EINVAL))?; let $counted_field = unsafe { - slice::from_raw_parts_mut($counted_field as *mut _ as *mut $el, noncounted_fields.$counted_by as usize) + slice::from_raw_parts_mut(core::ptr::from_mut($counted_field).cast::<$el>(), noncounted_fields.$counted_by as usize) }; )* @@ -135,7 +135,8 @@ macro_rules! define_ioctl_data { } - + #[expect(clippy::needless_question_mark)] + // TODO unsure if safe to remove wrapping Ok( f($mem_ty { noncounted_fields, $($counted_field,)* From 6f75b90451f5a250c43016fb57a97191b0eddada Mon Sep 17 00:00:00 2001 From: auronandace Date: Fri, 10 Jul 2026 19:06:40 +0100 Subject: [PATCH 2/2] remove expect and wrapping --- redox-ioctl/src/ioctl_data.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/redox-ioctl/src/ioctl_data.rs b/redox-ioctl/src/ioctl_data.rs index f8d8cc126c..32ae5cf883 100644 --- a/redox-ioctl/src/ioctl_data.rs +++ b/redox-ioctl/src/ioctl_data.rs @@ -135,12 +135,10 @@ macro_rules! define_ioctl_data { } - #[expect(clippy::needless_question_mark)] - // TODO unsure if safe to remove wrapping - Ok( f($mem_ty { + f($mem_ty { noncounted_fields, $($counted_field,)* - })?) + }) } $(