From 0e3c0b922dc19a4f8cc6b15c15f1338ba57c7f09 Mon Sep 17 00:00:00 2001 From: Josh Holmer Date: Sun, 19 Jan 2020 05:22:14 -0500 Subject: [PATCH] Enable more clippy lints and fix some clippy issues --- src/atomicmin.rs | 1 + src/lib.rs | 19 ++++++++++++++++--- src/main.rs | 13 ++++++++++++- src/png/scan_lines.rs | 2 +- src/reduction/alpha.rs | 4 ++-- 5 files changed, 32 insertions(+), 7 deletions(-) diff --git a/src/atomicmin.rs b/src/atomicmin.rs index 78a2030d..0d867fc3 100644 --- a/src/atomicmin.rs +++ b/src/atomicmin.rs @@ -1,6 +1,7 @@ use std::sync::atomic::AtomicUsize; use std::sync::atomic::Ordering::{Relaxed, SeqCst}; +#[derive(Debug)] pub struct AtomicMin { val: AtomicUsize, } diff --git a/src/lib.rs b/src/lib.rs index 0813c04e..4abe773f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,3 +1,17 @@ +#![warn(trivial_casts, trivial_numeric_casts, unused_import_braces)] +#![deny(missing_debug_implementations, missing_copy_implementations)] +#![warn(clippy::expl_impl_clone_on_copy)] +#![warn(clippy::float_cmp_const)] +#![warn(clippy::linkedlist)] +#![warn(clippy::map_flatten)] +#![warn(clippy::match_same_arms)] +#![warn(clippy::mem_forget)] +#![warn(clippy::mut_mut)] +#![warn(clippy::mutex_integer)] +#![warn(clippy::needless_continue)] +#![warn(clippy::path_buf_push_overwrite)] +#![warn(clippy::range_plus_one)] + use num_cpus; #[cfg(feature = "parallel")] extern crate rayon; @@ -427,7 +441,7 @@ pub fn optimize_from_memory(data: &[u8], opts: &Options) -> PngResult> { let deadline = Arc::new(Deadline::new(opts.timeout, opts.verbosity.is_some())); - let original_size = data.len() as usize; + let original_size = data.len(); let mut png = PngData::from_slice(data, opts.fix_errors)?; // Run the optimizer on the decoded PNG. @@ -882,11 +896,10 @@ fn perform_strip(png: &mut PngData, opts: &Options) { } let may_replace_iccp = match opts.strip { - Headers::None => false, Headers::Keep(ref hdrs) => hdrs.contains("sRGB"), Headers::Strip(ref hdrs) => !hdrs.iter().any(|v| v == "sRGB"), Headers::Safe => true, - Headers::All => false, + Headers::None | Headers::All => false, }; if may_replace_iccp { diff --git a/src/main.rs b/src/main.rs index e7f37171..c23c7706 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,16 @@ #![warn(trivial_casts, trivial_numeric_casts, unused_import_braces)] #![deny(missing_debug_implementations, missing_copy_implementations)] +#![warn(clippy::expl_impl_clone_on_copy)] +#![warn(clippy::float_cmp_const)] +#![warn(clippy::linkedlist)] +#![warn(clippy::map_flatten)] +#![warn(clippy::match_same_arms)] +#![warn(clippy::mem_forget)] +#![warn(clippy::mut_mut)] +#![warn(clippy::mutex_integer)] +#![warn(clippy::needless_continue)] +#![warn(clippy::path_buf_push_overwrite)] +#![warn(clippy::range_plus_one)] use clap::{App, AppSettings, Arg, ArgMatches}; use oxipng::AlphaOptim; @@ -264,7 +275,7 @@ fn collect_files( let files = input .read_dir() .unwrap() - .map(|x| x.unwrap().path().to_owned()) + .map(|x| x.unwrap().path()) .collect(); in_out_pairs.extend(collect_files(files, out_dir, out_file, recursive, false)); } else { diff --git a/src/png/scan_lines.rs b/src/png/scan_lines.rs index 8cd7e1b9..dc923cca 100644 --- a/src/png/scan_lines.rs +++ b/src/png/scan_lines.rs @@ -129,7 +129,7 @@ impl Iterator for ScanLineRanges { 7 => (1, 2), _ => unreachable!(), }; - let mut pixels_per_line = self.width / pixels_factor as u32; + let mut pixels_per_line = self.width / pixels_factor; // Determine whether to add pixels if there is a final, incomplete 8x8 block let gap = self.width % pixels_factor; match pass.0 { diff --git a/src/reduction/alpha.rs b/src/reduction/alpha.rs index a13a9056..95b03744 100644 --- a/src/reduction/alpha.rs +++ b/src/reduction/alpha.rs @@ -215,9 +215,9 @@ pub fn reduced_alpha_channel(png: &PngImage) -> Option { for (i, &byte) in line.data.iter().enumerate() { if i as u8 & bpp_mask >= colored_bytes { continue; - } else { - raw_data.push(byte); } + + raw_data.push(byte); } }