diff --git a/bch_bindgen/src/bcachefs.rs b/bch_bindgen/src/bcachefs.rs index 8f6d41a4..8c510544 100644 --- a/bch_bindgen/src/bcachefs.rs +++ b/bch_bindgen/src/bcachefs.rs @@ -1,3 +1,8 @@ +#![allow(clippy::missing_safety_doc)] +#![allow(clippy::too_many_arguments)] +#![allow(clippy::transmute_int_to_bool)] +#![allow(clippy::unnecessary_cast)] +#![allow(clippy::useless_transmute)] #![allow(non_upper_case_globals)] #![allow(non_camel_case_types)] #![allow(non_snake_case)] diff --git a/bch_bindgen/src/bkey.rs b/bch_bindgen/src/bkey.rs index 2a012508..a7fdad2e 100644 --- a/bch_bindgen/src/bkey.rs +++ b/bch_bindgen/src/bkey.rs @@ -65,6 +65,7 @@ impl<'a, 'b> BkeySC<'a> { BkeySCToText { k: self, fs } } + #[allow(clippy::missing_transmute_annotations)] pub fn v(&'a self) -> BkeyValC<'a> { unsafe { let ty: c::bch_bkey_type = transmute(self.k.type_ as u32); @@ -129,7 +130,7 @@ pub struct BkeySCToText<'a, 'b> { fs: &'b Fs, } -impl<'a, 'b> fmt::Display for BkeySCToText<'a, 'b> { +impl fmt::Display for BkeySCToText<'_, '_> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { unsafe { printbuf_to_formatter(f, |buf| { diff --git a/bch_bindgen/src/btree.rs b/bch_bindgen/src/btree.rs index 1aaf3018..81699429 100644 --- a/bch_bindgen/src/btree.rs +++ b/bch_bindgen/src/btree.rs @@ -25,7 +25,7 @@ impl<'f> BtreeTrans<'f> { } } -impl<'f> Drop for BtreeTrans<'f> { +impl Drop for BtreeTrans<'_> { fn drop(&mut self) { unsafe { c::bch2_trans_put(&mut *self.raw) } } @@ -81,7 +81,7 @@ impl<'t> BtreeIter<'t> { } } - pub fn peek_max<'i>(&'i mut self, end: c::bpos) -> Result<Option<BkeySC<'i>>, bch_errcode> { + pub fn peek_max(&mut self, end: c::bpos) -> Result<Option<BkeySC<'_>>, bch_errcode> { unsafe { let k = c::bch2_btree_iter_peek_max(&mut self.raw, end); errptr_to_result_c(k.k).map(|_| { @@ -127,7 +127,7 @@ impl<'t> BtreeIter<'t> { } } -impl<'t> Drop for BtreeIter<'t> { +impl Drop for BtreeIter<'_> { fn drop(&mut self) { unsafe { c::bch2_trans_iter_exit(self.raw.trans, &mut self.raw) } } @@ -166,27 +166,28 @@ impl<'t> BtreeNodeIter<'t> { } } - pub fn peek<'i>(&'i mut self) -> Result<Option<&'i c::btree>, bch_errcode> { + pub fn peek(&mut self) -> Result<Option<&c::btree>, bch_errcode> { unsafe { let b = c::bch2_btree_iter_peek_node(&mut self.raw); errptr_to_result_c(b).map(|b| if !b.is_null() { Some(&*b) } else { None }) } } - pub fn peek_and_restart<'i>(&'i mut self) -> Result<Option<&'i c::btree>, bch_errcode> { + pub fn peek_and_restart(&mut self) -> Result<Option<&c::btree>, bch_errcode> { unsafe { let b = c::bch2_btree_iter_peek_node_and_restart(&mut self.raw); errptr_to_result_c(b).map(|b| if !b.is_null() { Some(&*b) } else { None }) } } - pub fn advance<'i>(&'i mut self) { + pub fn advance(&mut self) { unsafe { c::bch2_btree_iter_next_node(&mut self.raw); } } - pub fn next<'i>(&'i mut self) -> Result<Option<&'i c::btree>, bch_errcode> { + #[allow(clippy::should_implement_trait)] + pub fn next(&mut self) -> Result<Option<&c::btree>, bch_errcode> { unsafe { let b = c::bch2_btree_iter_next_node(&mut self.raw); errptr_to_result_c(b).map(|b| if !b.is_null() { Some(&*b) } else { None }) @@ -194,7 +195,7 @@ impl<'t> BtreeNodeIter<'t> { } } -impl<'t> Drop for BtreeNodeIter<'t> { +impl Drop for BtreeNodeIter<'_> { fn drop(&mut self) { unsafe { c::bch2_trans_iter_exit(self.raw.trans, &mut self.raw) } } @@ -202,11 +203,11 @@ impl<'t> Drop for BtreeNodeIter<'t> { impl<'b, 'f> c::btree { pub fn to_text(&'b self, fs: &'f Fs) -> BtreeNodeToText<'b, 'f> { - BtreeNodeToText { b: &self, fs } + BtreeNodeToText { b: self, fs } } pub fn ondisk_to_text(&'b self, fs: &'f Fs) -> BtreeNodeOndiskToText<'b, 'f> { - BtreeNodeOndiskToText { b: &self, fs } + BtreeNodeOndiskToText { b: self, fs } } } @@ -215,7 +216,7 @@ pub struct BtreeNodeToText<'b, 'f> { fs: &'f Fs, } -impl<'b, 'f> fmt::Display for BtreeNodeToText<'b, 'f> { +impl fmt::Display for BtreeNodeToText<'_, '_> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { printbuf_to_formatter(f, |buf| unsafe { c::bch2_btree_node_to_text(buf, self.fs.raw, self.b) @@ -228,7 +229,7 @@ pub struct BtreeNodeOndiskToText<'b, 'f> { fs: &'f Fs, } -impl<'b, 'f> fmt::Display for BtreeNodeOndiskToText<'b, 'f> { +impl fmt::Display for BtreeNodeOndiskToText<'_, '_> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { printbuf_to_formatter(f, |buf| unsafe { c::bch2_btree_node_ondisk_to_text(buf, self.fs.raw, self.b) diff --git a/bch_bindgen/src/fs.rs b/bch_bindgen/src/fs.rs index e44fca25..2997ed8f 100644 --- a/bch_bindgen/src/fs.rs +++ b/bch_bindgen/src/fs.rs @@ -9,7 +9,7 @@ pub struct Fs { } impl Fs { - pub fn open(devs: &Vec<PathBuf>, opts: c::bch_opts) -> Result<Fs, bch_errcode> { + pub fn open(devs: &[PathBuf], opts: c::bch_opts) -> Result<Fs, bch_errcode> { let devs: Vec<_> = devs .iter() .map(|i| CString::new(i.as_os_str().as_bytes()).unwrap().into_raw()) diff --git a/bch_bindgen/src/lib.rs b/bch_bindgen/src/lib.rs index b68f2d9b..67eb14e7 100644 --- a/bch_bindgen/src/lib.rs +++ b/bch_bindgen/src/lib.rs @@ -109,15 +109,10 @@ impl FromStr for c::btree_id { let s = CString::new(s).unwrap(); let p = s.as_ptr(); - let v = unsafe { - c::match_string( - c::__bch2_btree_ids[..].as_ptr(), - (-(1 as isize)) as usize, - p, - ) - }; + let v = + unsafe { c::match_string(c::__bch2_btree_ids[..].as_ptr(), (-1_isize) as usize, p) }; if v >= 0 { - Ok(unsafe { std::mem::transmute(v) }) + Ok(unsafe { std::mem::transmute::<i32, bcachefs::btree_id>(v) }) } else { Err(BchToolsErr::InvalidBtreeId) } @@ -131,11 +126,9 @@ impl FromStr for c::bch_bkey_type { let s = CString::new(s).unwrap(); let p = s.as_ptr(); - let v = unsafe { - c::match_string(c::bch2_bkey_types[..].as_ptr(), (-(1 as isize)) as usize, p) - }; + let v = unsafe { c::match_string(c::bch2_bkey_types[..].as_ptr(), (-1_isize) as usize, p) }; if v >= 0 { - Ok(unsafe { std::mem::transmute(v) }) + Ok(unsafe { std::mem::transmute::<i32, bcachefs::bch_bkey_type>(v) }) } else { Err(BchToolsErr::InvalidBkeyType) } @@ -192,7 +185,7 @@ impl FromStr for c::bpos { let ino: u64 = ino_str.parse().map_err(|_| BchToolsErr::InvalidBpos)?; let off: u64 = off_str.parse().map_err(|_| BchToolsErr::InvalidBpos)?; - let snp: u32 = snp_str.map(|s| s.parse().ok()).flatten().unwrap_or(0); + let snp: u32 = snp_str.and_then(|s| s.parse().ok()).unwrap_or(0); Ok(c::bpos { inode: ino,