From ac11d30f1e4f3554950cf5f92bbfcc472798b44e Mon Sep 17 00:00:00 2001 From: Ralf Biedert Date: Sun, 12 Jan 2025 21:53:13 +0100 Subject: [PATCH] Fix clippy warnings. --- Cargo.toml | 9 +++ crates/core/Cargo.toml | 1 + crates/core/src/lang/rust.rs | 102 ++++++++++++++--------------- crates/core/src/patterns/slice.rs | 22 +++---- crates/core/src/patterns/string.rs | 4 +- crates/proc_macros/Cargo.toml | 1 + 6 files changed, 75 insertions(+), 64 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 90de88de..429a1a22 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,3 +20,12 @@ derive_builder = "0.20.2" heck = "0.5.0" log = "0.4.14" serde = "1.0.203" + +[workspace.lints.clippy] +correctness = { level = "deny", priority = -1 } +suspicious = { level = "deny", priority = -1 } +complexity = { level = "deny", priority = -1 } +perf = { level = "deny", priority = -1 } +style = { level = "deny", priority = -1 } +pedantic = { level = "deny", priority = -1 } +nursery = { level = "deny", priority = -1 } # We might want to disable this if it causes issues. diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index fe9f376a..f8f26350 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -6,6 +6,7 @@ keywords = ["ffi", "code-generation", "bindings"] categories = ["api-bindings", "development-tools::ffi"] version = "0.14.27" edition = "2021" +rust-version = "1.83" license = "MIT" documentation = "https://docs.rs/interoptopus/" repository = "https://github.com/ralfbiedert/interoptopus" diff --git a/crates/core/src/lang/rust.rs b/crates/core/src/lang/rust.rs index dd353972..7dc3789b 100644 --- a/crates/core/src/lang/rust.rs +++ b/crates/core/src/lang/rust.rs @@ -128,7 +128,7 @@ where } } -unsafe impl<'a, T> CTypeInfo for &'a T +unsafe impl CTypeInfo for &'_ T where T: CTypeInfo + Sized + 'static, { @@ -137,7 +137,7 @@ where } } -unsafe impl<'a, T> CTypeInfo for &'a mut T +unsafe impl CTypeInfo for &'_ mut T where T: CTypeInfo + Sized + 'static, { @@ -164,7 +164,7 @@ where } } -unsafe impl<'a, T> CTypeInfo for Option<&'a T> +unsafe impl CTypeInfo for Option<&'_ T> where T: CTypeInfo + Sized + 'static, { @@ -173,7 +173,7 @@ where } } -unsafe impl<'a, T> CTypeInfo for Option<&'a mut T> +unsafe impl CTypeInfo for Option<&'_ mut T> where T: CTypeInfo + Sized + 'static, { @@ -213,10 +213,10 @@ where } } -unsafe impl<'a, T1, R> CTypeInfo for Option R> +unsafe impl CTypeInfo for Option R> where - T1: CTypeInfo + 'a, - R: CTypeInfo + 'a, + T1: CTypeInfo, + R: CTypeInfo, { fn type_info() -> CType { let sig = FunctionSignature::new(vec![Parameter::new("x0".to_string(), T1::type_info())], R::type_info()); @@ -224,11 +224,11 @@ where } } -unsafe impl<'a, T1, T2, R> CTypeInfo for extern "C" fn(T1, T2) -> R +unsafe impl CTypeInfo for extern "C" fn(T1, T2) -> R where - T1: CTypeInfo + 'a, - T2: CTypeInfo + 'a, - R: CTypeInfo + 'a, + T1: CTypeInfo, + T2: CTypeInfo, + R: CTypeInfo, { fn type_info() -> CType { let sig = FunctionSignature::new( @@ -239,11 +239,11 @@ where } } -unsafe impl<'a, T1, T2, R> CTypeInfo for Option R> +unsafe impl CTypeInfo for Option R> where - T1: CTypeInfo + 'a, - T2: CTypeInfo + 'a, - R: CTypeInfo + 'a, + T1: CTypeInfo, + T2: CTypeInfo, + R: CTypeInfo, { fn type_info() -> CType { let sig = FunctionSignature::new( @@ -254,12 +254,12 @@ where } } -unsafe impl<'a, T1, T2, T3, R> CTypeInfo for extern "C" fn(T1, T2, T3) -> R +unsafe impl CTypeInfo for extern "C" fn(T1, T2, T3) -> R where - T1: CTypeInfo + 'a, - T2: CTypeInfo + 'a, - T3: CTypeInfo + 'a, - R: CTypeInfo + 'a, + T1: CTypeInfo, + T2: CTypeInfo, + T3: CTypeInfo, + R: CTypeInfo, { fn type_info() -> CType { let sig = FunctionSignature::new( @@ -274,12 +274,12 @@ where } } -unsafe impl<'a, T1, T2, T3, R> CTypeInfo for Option R> +unsafe impl CTypeInfo for Option R> where - T1: CTypeInfo + 'a, - T2: CTypeInfo + 'a, - T3: CTypeInfo + 'a, - R: CTypeInfo + 'a, + T1: CTypeInfo, + T2: CTypeInfo, + T3: CTypeInfo, + R: CTypeInfo, { fn type_info() -> CType { let sig = FunctionSignature::new( @@ -294,13 +294,13 @@ where } } -unsafe impl<'a, T1, T2, T3, T4, R> CTypeInfo for extern "C" fn(T1, T2, T3, T4) -> R +unsafe impl CTypeInfo for extern "C" fn(T1, T2, T3, T4) -> R where - T1: CTypeInfo + 'a, - T2: CTypeInfo + 'a, - T3: CTypeInfo + 'a, - T4: CTypeInfo + 'a, - R: CTypeInfo + 'a, + T1: CTypeInfo, + T2: CTypeInfo, + T3: CTypeInfo, + T4: CTypeInfo, + R: CTypeInfo, { fn type_info() -> CType { let sig = FunctionSignature::new( @@ -316,13 +316,13 @@ where } } -unsafe impl<'a, T1, T2, T3, T4, R> CTypeInfo for Option R> +unsafe impl CTypeInfo for Option R> where - T1: CTypeInfo + 'a, - T2: CTypeInfo + 'a, - T3: CTypeInfo + 'a, - T4: CTypeInfo + 'a, - R: CTypeInfo + 'a, + T1: CTypeInfo, + T2: CTypeInfo, + T3: CTypeInfo, + T4: CTypeInfo, + R: CTypeInfo, { fn type_info() -> CType { let sig = FunctionSignature::new( @@ -338,14 +338,14 @@ where } } -unsafe impl<'a, T1, T2, T3, T4, T5, R> CTypeInfo for extern "C" fn(T1, T2, T3, T4, T5) -> R +unsafe impl CTypeInfo for extern "C" fn(T1, T2, T3, T4, T5) -> R where - T1: CTypeInfo + 'a, - T2: CTypeInfo + 'a, - T3: CTypeInfo + 'a, - T4: CTypeInfo + 'a, - T5: CTypeInfo + 'a, - R: CTypeInfo + 'a, + T1: CTypeInfo, + T2: CTypeInfo, + T3: CTypeInfo, + T4: CTypeInfo, + T5: CTypeInfo, + R: CTypeInfo, { fn type_info() -> CType { let sig = FunctionSignature::new( @@ -362,14 +362,14 @@ where } } -unsafe impl<'a, T1, T2, T3, T4, T5, R> CTypeInfo for Option R> +unsafe impl CTypeInfo for Option R> where - T1: CTypeInfo + 'a, - T2: CTypeInfo + 'a, - T3: CTypeInfo + 'a, - T4: CTypeInfo + 'a, - T5: CTypeInfo + 'a, - R: CTypeInfo + 'a, + T1: CTypeInfo, + T2: CTypeInfo, + T3: CTypeInfo, + T4: CTypeInfo, + T5: CTypeInfo, + R: CTypeInfo, { fn type_info() -> CType { let sig = FunctionSignature::new( diff --git a/crates/core/src/patterns/slice.rs b/crates/core/src/patterns/slice.rs index 2d94583e..d9efcc4a 100644 --- a/crates/core/src/patterns/slice.rs +++ b/crates/core/src/patterns/slice.rs @@ -54,15 +54,15 @@ pub struct FFISlice<'a, T> { _phantom: PhantomData<&'a T>, } -impl<'a, T> Copy for FFISlice<'a, T> {} +impl Copy for FFISlice<'_, T> {} -impl<'a, T> Clone for FFISlice<'a, T> { +impl Clone for FFISlice<'_, T> { fn clone(&self) -> Self { *self } } -impl<'a, T> Default for FFISlice<'a, T> { +impl Default for FFISlice<'_, T> { fn default() -> Self { Self { data: null(), @@ -102,7 +102,7 @@ impl<'a, T> From<&'a [T]> for FFISlice<'a, T> { } } -impl<'a, T> FFISlice<'a, T> +impl FFISlice<'_, T> where T: 'static, { @@ -113,7 +113,7 @@ where } } -impl<'a, T> Deref for FFISlice<'a, T> { +impl Deref for FFISlice<'_, T> { type Target = [T]; fn deref(&self) -> &Self::Target { @@ -121,7 +121,7 @@ impl<'a, T> Deref for FFISlice<'a, T> { } } -unsafe impl<'a, T> CTypeInfo for FFISlice<'a, T> +unsafe impl CTypeInfo for FFISlice<'_, T> where T: CTypeInfo, { @@ -152,7 +152,7 @@ pub struct FFISliceMut<'a, T> { _phantom: PhantomData<&'a mut T>, } -impl<'a, T> Default for FFISliceMut<'a, T> { +impl Default for FFISliceMut<'_, T> { fn default() -> Self { Self { data: null_mut(), @@ -199,7 +199,7 @@ impl<'a, T> FFISliceMut<'a, T> { } } -impl<'a, T> FFISliceMut<'a, T> +impl FFISliceMut<'_, T> where T: 'static, { @@ -216,7 +216,7 @@ impl<'a, T> From<&'a mut [T]> for FFISliceMut<'a, T> { } } -impl<'a, T> Deref for FFISliceMut<'a, T> { +impl Deref for FFISliceMut<'_, T> { type Target = [T]; fn deref(&self) -> &Self::Target { @@ -224,13 +224,13 @@ impl<'a, T> Deref for FFISliceMut<'a, T> { } } -impl<'a, T> DerefMut for FFISliceMut<'a, T> { +impl DerefMut for FFISliceMut<'_, T> { fn deref_mut(&mut self) -> &mut Self::Target { self.as_slice_mut() } } -unsafe impl<'a, T> CTypeInfo for FFISliceMut<'a, T> +unsafe impl CTypeInfo for FFISliceMut<'_, T> where T: CTypeInfo, { diff --git a/crates/core/src/patterns/string.rs b/crates/core/src/patterns/string.rs index 0c4b4e33..94598d02 100644 --- a/crates/core/src/patterns/string.rs +++ b/crates/core/src/patterns/string.rs @@ -55,7 +55,7 @@ pub struct CStrPointer<'a> { _phantom: PhantomData<&'a ()>, } -impl<'a> Default for CStrPointer<'a> { +impl Default for CStrPointer<'_> { fn default() -> Self { Self { ptr: null(), @@ -120,7 +120,7 @@ impl<'a> CStrPointer<'a> { } } -unsafe impl<'a> CTypeInfo for CStrPointer<'a> { +unsafe impl CTypeInfo for CStrPointer<'_> { fn type_info() -> CType { CType::Pattern(TypePattern::CStrPointer) } diff --git a/crates/proc_macros/Cargo.toml b/crates/proc_macros/Cargo.toml index 03af23be..53d49bda 100644 --- a/crates/proc_macros/Cargo.toml +++ b/crates/proc_macros/Cargo.toml @@ -4,6 +4,7 @@ description = "Macros to produce Interoptopus item info." authors = ["Ralf Biedert "] version = "0.14.23" edition = "2021" +rust-version = "1.83" license = "MIT" keywords = ["ffi"] categories = ["api-bindings", "development-tools::ffi"]