From 0b3ada9f97ec06d897451b95d6cfaef9ee07f41e Mon Sep 17 00:00:00 2001 From: Folkert de Vries Date: Mon, 9 Dec 2024 12:34:35 +0100 Subject: [PATCH] fix clippy warnings --- .github/workflows/main.yml | 9 +++++++++ src/bufread.rs | 4 ++-- src/mem.rs | 16 +++++++++------- src/read.rs | 15 ++++++--------- src/write.rs | 15 +++++++-------- 5 files changed, 33 insertions(+), 26 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index dec3e801..b9180047 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -60,3 +60,12 @@ jobs: - name: Install Rust run: rustup update stable && rustup default stable && rustup component add rustfmt - run: cargo fmt -- --check + + clippy: + name: Clippy + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - name: Install Rust + run: rustup update stable && rustup default stable && rustup component add clippy + - run: cargo clippy -- -D warnings diff --git a/src/bufread.rs b/src/bufread.rs index d5635e90..04be4a46 100644 --- a/src/bufread.rs +++ b/src/bufread.rs @@ -103,7 +103,7 @@ impl Read for BzEncoder { // If we haven't ready any data and we haven't hit EOF yet, then we // need to keep asking for more data because if we return that 0 // bytes of data have been read then it will be interpreted as EOF. - if read == 0 && !eof && buf.len() > 0 { + if read == 0 && !eof && !buf.is_empty() { continue; } if ret == Status::StreamEnd { @@ -214,7 +214,7 @@ impl Read for BzDecoder { )); } - if read > 0 || buf.len() == 0 { + if read > 0 || buf.is_empty() { return Ok(read); } } diff --git a/src/mem.rs b/src/mem.rs index 1d1c69fe..cf88d3b0 100644 --- a/src/mem.rs +++ b/src/mem.rs @@ -126,7 +126,7 @@ impl Compress { ); Compress { inner: Stream { - raw: raw, + raw, _marker: marker::PhantomData, }, } @@ -146,7 +146,7 @@ impl Compress { // apparently 0-length compression requests which don't actually make // any progress are returned as BZ_PARAM_ERROR, which we don't want, to // just translate to a success here. - if input.len() == 0 && action == Action::Run { + if input.is_empty() && action == Action::Run { return Ok(Status::RunOk); } self.inner.raw.next_in = input.as_ptr() as *mut _; @@ -182,12 +182,13 @@ impl Compress { unsafe { let before = self.total_out(); let ret = { - let ptr = output.as_mut_ptr().offset(len as isize); + let ptr = output.as_mut_ptr().add(len); let out = slice::from_raw_parts_mut(ptr, cap - len); self.compress(input, out, action) }; output.set_len((self.total_out() - before) as usize + len); - return ret; + + ret } } @@ -215,7 +216,7 @@ impl Decompress { assert_eq!(ffi::BZ2_bzDecompressInit(&mut *raw, 0, small as c_int), 0); Decompress { inner: Stream { - raw: raw, + raw, _marker: marker::PhantomData, }, } @@ -254,12 +255,13 @@ impl Decompress { unsafe { let before = self.total_out(); let ret = { - let ptr = output.as_mut_ptr().offset(len as isize); + let ptr = output.as_mut_ptr().add(len); let out = slice::from_raw_parts_mut(ptr, cap - len); self.decompress(input, out) }; output.set_len((self.total_out() - before) as usize + len); - return ret; + + ret } } diff --git a/src/read.rs b/src/read.rs index d0af4a1f..b2956f69 100644 --- a/src/read.rs +++ b/src/read.rs @@ -225,7 +225,7 @@ mod tests { let mut d = BzDecoder::new(c); let mut data = vec![]; d.read_to_end(&mut data).unwrap(); - assert!(data == &m[..]); + assert!(data == m[..]); } #[test] @@ -239,18 +239,15 @@ mod tests { let v = thread_rng() .sample_iter(&Standard) .take(1024) - .collect::>(); + .collect::>(); for _ in 0..200 { - result.extend(v.iter().map(|x: &u8| *x)); + result.extend(v.iter().copied()); } let mut d = BzDecoder::new(&result[..]); - let mut data = Vec::with_capacity(m.len()); - unsafe { - data.set_len(m.len()); - } + let mut data = vec![0; m.len()]; assert!(d.read(&mut data).unwrap() == m.len()); - assert!(data == &m[..]); + assert!(data == m[..]); } #[test] @@ -304,7 +301,7 @@ mod tests { let mut r = BzDecoder::new(r); let mut v2 = Vec::new(); r.read_to_end(&mut v2).unwrap(); - assert!(v2.len() == 0); + assert!(v2.is_empty()); } #[test] diff --git a/src/write.rs b/src/write.rs index 2854d3ef..7ae89409 100644 --- a/src/write.rs +++ b/src/write.rs @@ -36,7 +36,7 @@ impl BzEncoder { } fn dump(&mut self) -> io::Result<()> { - while self.buf.len() > 0 { + while !self.buf.is_empty() { let n = match self.obj.as_mut().unwrap().write(&self.buf) { Ok(n) => n, Err(ref err) if err.kind() == io::ErrorKind::Interrupted => continue, @@ -124,7 +124,7 @@ impl Write for BzEncoder { .unwrap(); let written = (self.total_in() - total_in) as usize; - if written > 0 || data.len() == 0 { + if written > 0 || data.is_empty() { return Ok(written); } } @@ -172,7 +172,7 @@ impl BzDecoder { } fn dump(&mut self) -> io::Result<()> { - while self.buf.len() > 0 { + while !self.buf.is_empty() { let n = match self.obj.as_mut().unwrap().write(&self.buf) { Ok(n) => n, Err(ref err) if err.kind() == io::ErrorKind::Interrupted => continue, @@ -195,7 +195,7 @@ impl BzDecoder { /// function is called. pub fn try_finish(&mut self) -> io::Result<()> { while !self.done { - self.write(&[])?; + let _ = self.write(&[])?; } self.dump() } @@ -245,7 +245,7 @@ impl Write for BzDecoder { if res == Status::StreamEnd { self.done = true; } - if written > 0 || data.len() == 0 || self.done { + if written > 0 || data.is_empty() || self.done { return Ok(written); } } @@ -272,14 +272,13 @@ mod tests { use partial_io::quickcheck_types::{GenInterrupted, PartialWithErrors}; use partial_io::PartialWrite; use std::io::prelude::*; - use std::iter::repeat; #[test] fn smoke() { let d = BzDecoder::new(Vec::new()); let mut c = BzEncoder::new(d, Compression::default()); c.write_all(b"12834").unwrap(); - let s = repeat("12345").take(100000).collect::(); + let s = "12345".repeat(100000); c.write_all(s.as_bytes()).unwrap(); let data = c.finish().unwrap().finish().unwrap(); assert_eq!(&data[0..5], b"12834"); @@ -291,7 +290,7 @@ mod tests { fn write_empty() { let d = BzDecoder::new(Vec::new()); let mut c = BzEncoder::new(d, Compression::default()); - c.write(b"").unwrap(); + let _ = c.write(b"").unwrap(); let data = c.finish().unwrap().finish().unwrap(); assert_eq!(&data[..], b""); }