refact: Resolve some clippy warnings

(cherry picked from commit dc4bfaa993eb2d712d53f70551db9ac34b0cda08)
This commit is contained in:
Robert Hensing 2024-11-27 10:26:39 +01:00
parent 12d3d62108
commit 1e3cce7742
5 changed files with 15 additions and 14 deletions

View file

@ -1,4 +1,3 @@
use bindgen;
use std::env;
use std::path::PathBuf;

View file

@ -52,8 +52,8 @@ impl EvalStateWeak {
pub fn upgrade(&self) -> Option<EvalState> {
self.inner.upgrade().and_then(|eval_state| {
self.store.upgrade().map(|store| EvalState {
eval_state: eval_state,
store: store,
eval_state,
store,
context: Context::new(),
})
})

View file

@ -55,10 +55,7 @@ impl PrimOp {
// TODO: Use the GC with finalizer, if possible.
let user_data = ManuallyDrop::new(Box::new(PrimOpContext {
arity: N,
function: Box::new(move |eval_state, args| {
let r = f(eval_state, args.try_into().unwrap());
r
}),
function: Box::new(move |eval_state, args| f(eval_state, args.try_into().unwrap())),
eval_state: eval_state.weak_ref(),
}));
user_data.as_ref() as *const PrimOpContext as *mut c_void

View file

@ -18,10 +18,9 @@ impl Context {
// We're almost certainly going to crash anyways.
panic!("nix_c_context_create returned a null pointer");
}
let ctx = Context {
Context {
inner: NonNull::new(ctx).unwrap(),
};
ctx
}
}
/// Access the C context pointer.
@ -36,7 +35,7 @@ impl Context {
/// We recommend to use `check_call!` if possible.
pub fn check_err(&self) -> Result<()> {
let err = unsafe { raw::err_code(self.inner.as_ptr()) };
if err != raw::err_NIX_OK.try_into().unwrap() {
if err != raw::err_NIX_OK {
// msgp is a borrowed pointer (pointing into the context), so we don't need to free it
let msgp = unsafe { raw::err_msg(null_mut(), self.inner.as_ptr(), null_mut()) };
// Turn the i8 pointer into a Rust string by copying
@ -50,7 +49,7 @@ impl Context {
unsafe {
raw::set_err_msg(
self.inner.as_ptr(),
raw::err_NIX_OK.try_into().unwrap(),
raw::err_NIX_OK,
b"\0".as_ptr() as *const i8,
);
}

View file

@ -5,6 +5,12 @@ use anyhow::Result;
/// This function is used by the other nix_* crates, and you should never need to call it yourself.
///
/// Some functions in the nix library "return" strings without giving you ownership over them, by letting you pass a callback function that gets to look at that string. This callback simply turns that string pointer into an owned rust String.
///
/// # Safety
///
/// _Manual memory management_
///
/// Only for passing to the nix C API. Do not call this function directly.
pub unsafe extern "C" fn callback_get_result_string(
start: *const ::std::os::raw::c_char,
n: std::os::raw::c_uint,
@ -12,7 +18,7 @@ pub unsafe extern "C" fn callback_get_result_string(
) {
let ret = user_data as *mut Result<String>;
if start == std::ptr::null() {
if start.is_null() {
if n != 0 {
panic!("callback_get_result_string: start is null but n is not zero");
}
@ -22,7 +28,7 @@ pub unsafe extern "C" fn callback_get_result_string(
let slice = std::slice::from_raw_parts(start as *const u8, n as usize);
if !(*ret).is_err() {
if (*ret).is_ok() {
panic!(
"callback_get_result_string: Result must be initialized to Err. Did Nix call us twice?"
);