diff --git a/crates/blastoff/src/context.rs b/crates/blastoff/src/context.rs index 2a517be0..83c53aa5 100644 --- a/crates/blastoff/src/context.rs +++ b/crates/blastoff/src/context.rs @@ -340,7 +340,7 @@ impl CublasContext { impl Drop for CublasContext { fn drop(&mut self) { unsafe { - cublas_sys::cublasDestroy(self.raw); + let _ = cublas_sys::cublasDestroy(self.raw); } } } diff --git a/crates/cust/src/context/legacy.rs b/crates/cust/src/context/legacy.rs index 53f2b501..07583741 100644 --- a/crates/cust/src/context/legacy.rs +++ b/crates/cust/src/context/legacy.rs @@ -372,7 +372,7 @@ impl Drop for Context { unsafe { let inner = mem::replace(&mut self.inner, ptr::null_mut()); - driver_sys::cuCtxDestroy(inner); + let _ = driver_sys::cuCtxDestroy(inner); } } } diff --git a/crates/cust/src/context/mod.rs b/crates/cust/src/context/mod.rs index eb67e28a..e52104f2 100644 --- a/crates/cust/src/context/mod.rs +++ b/crates/cust/src/context/mod.rs @@ -197,7 +197,7 @@ impl Context { driver_sys::cuDevicePrimaryCtxRetain(inner.as_mut_ptr(), device.as_raw()) .to_result()?; let inner = inner.assume_init(); - driver_sys::cuCtxSetCurrent(inner); + driver_sys::cuCtxSetCurrent(inner).to_result()?; Ok(Self { inner, device: device.as_raw(), @@ -316,7 +316,7 @@ impl Drop for Context { unsafe { self.inner = ptr::null_mut(); - driver_sys::cuDevicePrimaryCtxRelease(self.device); + let _ = driver_sys::cuDevicePrimaryCtxRelease(self.device); } } } diff --git a/crates/cust/src/event.rs b/crates/cust/src/event.rs index 18c36059..efa8130c 100644 --- a/crates/cust/src/event.rs +++ b/crates/cust/src/event.rs @@ -347,7 +347,9 @@ impl Event { impl Drop for Event { fn drop(&mut self) { - unsafe { cuEventDestroy(self.0) }; + unsafe { + let _ = cuEventDestroy(self.0); + }; } } diff --git a/crates/cust/src/link.rs b/crates/cust/src/link.rs index d57aaf97..f4d248a4 100644 --- a/crates/cust/src/link.rs +++ b/crates/cust/src/link.rs @@ -137,6 +137,8 @@ impl Linker { impl Drop for Linker { fn drop(&mut self) { - unsafe { driver_sys::cuLinkDestroy(self.raw) }; + unsafe { + let _ = driver_sys::cuLinkDestroy(self.raw); + }; } } diff --git a/crates/cust/src/memory/array.rs b/crates/cust/src/memory/array.rs index 01008633..27daa49b 100644 --- a/crates/cust/src/memory/array.rs +++ b/crates/cust/src/memory/array.rs @@ -867,7 +867,9 @@ impl std::fmt::Debug for ArrayObject { impl Drop for ArrayObject { fn drop(&mut self) { - unsafe { driver_sys::cuArrayDestroy(self.handle) }; + unsafe { + let _ = driver_sys::cuArrayDestroy(self.handle); + }; } } diff --git a/crates/cust/src/module.rs b/crates/cust/src/module.rs index 062a912b..217e0dc2 100644 --- a/crates/cust/src/module.rs +++ b/crates/cust/src/module.rs @@ -491,7 +491,7 @@ impl Drop for Module { unsafe { // No choice but to panic if this fails... let module = mem::replace(&mut self.inner, ptr::null_mut()); - driver_sys::cuModuleUnload(module); + let _ = driver_sys::cuModuleUnload(module); } } } diff --git a/crates/cust/src/stream.rs b/crates/cust/src/stream.rs index 41404da6..284baa98 100644 --- a/crates/cust/src/stream.rs +++ b/crates/cust/src/stream.rs @@ -344,7 +344,7 @@ impl Drop for Stream { unsafe { let inner = mem::replace(&mut self.inner, ptr::null_mut()); - driver_sys::cuStreamDestroy(inner); + let _ = driver_sys::cuStreamDestroy(inner); } } } diff --git a/crates/cust/src/surface.rs b/crates/cust/src/surface.rs index 593b91a5..181b9411 100644 --- a/crates/cust/src/surface.rs +++ b/crates/cust/src/surface.rs @@ -30,7 +30,7 @@ impl Drop for Surface { } } - cuSurfObjectDestroy(self.handle); + let _ = cuSurfObjectDestroy(self.handle); } } } diff --git a/crates/cust/src/texture.rs b/crates/cust/src/texture.rs index d7b0ea6a..f8019b26 100644 --- a/crates/cust/src/texture.rs +++ b/crates/cust/src/texture.rs @@ -415,7 +415,7 @@ impl Drop for Texture { } } - cuTexObjectDestroy(self.handle); + let _ = cuTexObjectDestroy(self.handle); } } } diff --git a/crates/cust_raw/build/main.rs b/crates/cust_raw/build/main.rs index 61eddfda..53280391 100644 --- a/crates/cust_raw/build/main.rs +++ b/crates/cust_raw/build/main.rs @@ -111,6 +111,7 @@ fn create_cuda_driver_bindings(sdk: &cuda_sdk::CudaSdk, outdir: &path::Path) { .derive_ord(true) .size_t_is_usize(true) .layout_tests(true) + .must_use_type("CUresult") .generate() .expect("Unable to generate CUDA driver bindings."); bindings @@ -152,6 +153,7 @@ fn create_cuda_runtime_bindings(sdk: &cuda_sdk::CudaSdk, outdir: &path::Path) { .derive_ord(true) .size_t_is_usize(true) .layout_tests(true) + .must_use_type("cudaError_t") .generate() .expect("Unable to generate CUDA runtime bindings."); bindings @@ -198,6 +200,7 @@ fn create_cublas_bindings(sdk: &cuda_sdk::CudaSdk, outdir: &path::Path) { .derive_ord(true) .size_t_is_usize(true) .layout_tests(true) + .must_use_type("cublasStatus_t") .generate() .unwrap_or_else(|_| panic!("Unable to generate {pkg} bindings.")); bindings @@ -231,6 +234,7 @@ fn create_nptx_compiler_bindings(sdk: &cuda_sdk::CudaSdk, outdir: &path::Path) { .derive_ord(true) .size_t_is_usize(true) .layout_tests(true) + .must_use_type("nvPTXCompileResult") .generate() .expect("Unable to generate nvptx-compiler bindings."); bindings @@ -261,6 +265,7 @@ fn create_nvvm_bindings(sdk: &cuda_sdk::CudaSdk, outdir: &path::Path) { .derive_ord(true) .size_t_is_usize(true) .layout_tests(true) + .must_use_type("nvvmResult") .generate() .expect("Unable to generate libNVVM bindings."); bindings diff --git a/crates/nvvm/src/lib.rs b/crates/nvvm/src/lib.rs index 2b3962f4..ef7b3314 100644 --- a/crates/nvvm/src/lib.rs +++ b/crates/nvvm/src/lib.rs @@ -18,7 +18,7 @@ pub fn ir_version() -> (i32, i32) { let mut major_dbg = MaybeUninit::uninit(); let mut minor_dbg = MaybeUninit::uninit(); // according to the docs this cant fail - nvvm_sys::nvvmIRVersion( + let _ = nvvm_sys::nvvmIRVersion( major_ir.as_mut_ptr(), minor_ir.as_mut_ptr(), major_dbg.as_mut_ptr(), @@ -36,7 +36,7 @@ pub fn dbg_version() -> (i32, i32) { let mut major_dbg = MaybeUninit::uninit(); let mut minor_dbg = MaybeUninit::uninit(); // according to the docs this cant fail - nvvm_sys::nvvmIRVersion( + let _ = nvvm_sys::nvvmIRVersion( major_ir.as_mut_ptr(), minor_ir.as_mut_ptr(), major_dbg.as_mut_ptr(), @@ -52,7 +52,7 @@ pub fn nvvm_version() -> (i32, i32) { let mut major = MaybeUninit::uninit(); let mut minor = MaybeUninit::uninit(); // according to the docs this cant fail - nvvm_sys::nvvmVersion(major.as_mut_ptr(), minor.as_mut_ptr()); + let _ = nvvm_sys::nvvmVersion(major.as_mut_ptr(), minor.as_mut_ptr()); (major.assume_init(), minor.assume_init()) } }