[INFO] crate mozjpeg 0.8.9 is already in cache [INFO] extracting crate mozjpeg 0.8.9 into work/ex/clippy-test-run/sources/stable/reg/mozjpeg/0.8.9 [INFO] extracting crate mozjpeg 0.8.9 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/mozjpeg/0.8.9 [INFO] validating manifest of mozjpeg-0.8.9 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of mozjpeg-0.8.9 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing mozjpeg-0.8.9 [INFO] finished frobbing mozjpeg-0.8.9 [INFO] frobbed toml for mozjpeg-0.8.9 written to work/ex/clippy-test-run/sources/stable/reg/mozjpeg/0.8.9/Cargo.toml [INFO] started frobbing mozjpeg-0.8.9 [INFO] finished frobbing mozjpeg-0.8.9 [INFO] frobbed toml for mozjpeg-0.8.9 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/mozjpeg/0.8.9/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting mozjpeg-0.8.9 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/mozjpeg/0.8.9:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 6d59efab65f6a680fed19c6cf836e7c6817dcd0bc85b16b377c2809f533bce9c [INFO] running `"docker" "start" "-a" "6d59efab65f6a680fed19c6cf836e7c6817dcd0bc85b16b377c2809f533bce9c"` [INFO] [stderr] Compiling arrayvec v0.4.10 [INFO] [stderr] Compiling dunce v0.1.1 [INFO] [stderr] Checking rgb v0.8.12 [INFO] [stderr] Compiling crossbeam-epoch v0.3.1 [INFO] [stderr] Compiling crossbeam-deque v0.2.0 [INFO] [stderr] Compiling rayon-core v1.4.1 [INFO] [stderr] Compiling rayon v1.0.3 [INFO] [stderr] Compiling cc v1.0.28 [INFO] [stderr] Compiling nasm-rs v0.1.4 [INFO] [stderr] Compiling mozjpeg-sys v0.5.14 [INFO] [stderr] Checking mozjpeg v0.8.9 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/qtable.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | / return if quality < 50. { [INFO] [stderr] 78 | | 50. / quality [INFO] [stderr] 79 | | } else { [INFO] [stderr] 80 | | (100. - quality) / 50. [INFO] [stderr] 81 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 77 | if quality < 50. { [INFO] [stderr] 78 | 50. / quality [INFO] [stderr] 79 | } else { [INFO] [stderr] 80 | (100. - quality) / 50. [INFO] [stderr] 81 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/decompress.rs:38:24 [INFO] [stderr] | [INFO] [stderr] 38 | pub const NO_MARKERS: &'static [Marker] = &[]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[Marker]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/decompress.rs:45:25 [INFO] [stderr] | [INFO] [stderr] 45 | pub const ALL_MARKERS: &'static [Marker] = &[ [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[Marker]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decompress.rs:254:13 [INFO] [stderr] | [INFO] [stderr] 254 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decompress.rs:256:13 [INFO] [stderr] | [INFO] [stderr] 256 | return Err(io::Error::new(io::ErrorKind::Other, format!("JPEG err {}", res))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(io::Error::new(io::ErrorKind::Other, format!("JPEG err {}", res)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decompress.rs:305:9 [INFO] [stderr] | [INFO] [stderr] 305 | return DecompressStarted::start_decompress(self); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `DecompressStarted::start_decompress(self)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decompress.rs:311:9 [INFO] [stderr] | [INFO] [stderr] 311 | return DecompressStarted::start_decompress(self); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `DecompressStarted::start_decompress(self)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decompress.rs:342:9 [INFO] [stderr] | [INFO] [stderr] 342 | return DecompressStarted::start_decompress(self); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `DecompressStarted::start_decompress(self)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decompress.rs:475:9 [INFO] [stderr] | [INFO] [stderr] 475 | return Some(image_dst); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(image_dst)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/compress.rs:129:9 [INFO] [stderr] | [INFO] [stderr] 129 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/compress.rs:187:9 [INFO] [stderr] | [INFO] [stderr] 187 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/compress.rs:309:13 [INFO] [stderr] | [INFO] [stderr] 309 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/qtable.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | / return if quality < 50. { [INFO] [stderr] 78 | | 50. / quality [INFO] [stderr] 79 | | } else { [INFO] [stderr] 80 | | (100. - quality) / 50. [INFO] [stderr] 81 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 77 | if quality < 50. { [INFO] [stderr] 78 | 50. / quality [INFO] [stderr] 79 | } else { [INFO] [stderr] 80 | (100. - quality) / 50. [INFO] [stderr] 81 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/decompress.rs:38:24 [INFO] [stderr] | [INFO] [stderr] 38 | pub const NO_MARKERS: &'static [Marker] = &[]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[Marker]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/decompress.rs:45:25 [INFO] [stderr] | [INFO] [stderr] 45 | pub const ALL_MARKERS: &'static [Marker] = &[ [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[Marker]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decompress.rs:254:13 [INFO] [stderr] | [INFO] [stderr] 254 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decompress.rs:256:13 [INFO] [stderr] | [INFO] [stderr] 256 | return Err(io::Error::new(io::ErrorKind::Other, format!("JPEG err {}", res))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(io::Error::new(io::ErrorKind::Other, format!("JPEG err {}", res)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decompress.rs:305:9 [INFO] [stderr] | [INFO] [stderr] 305 | return DecompressStarted::start_decompress(self); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `DecompressStarted::start_decompress(self)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decompress.rs:311:9 [INFO] [stderr] | [INFO] [stderr] 311 | return DecompressStarted::start_decompress(self); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `DecompressStarted::start_decompress(self)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decompress.rs:342:9 [INFO] [stderr] | [INFO] [stderr] 342 | return DecompressStarted::start_decompress(self); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `DecompressStarted::start_decompress(self)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decompress.rs:475:9 [INFO] [stderr] | [INFO] [stderr] 475 | return Some(image_dst); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(image_dst)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/compress.rs:129:9 [INFO] [stderr] | [INFO] [stderr] 129 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/compress.rs:187:9 [INFO] [stderr] | [INFO] [stderr] 187 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/compress.rs:309:13 [INFO] [stderr] | [INFO] [stderr] 309 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | return cinfo.data_to_vec().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `cinfo.data_to_vec().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/marker.rs:28:31 [INFO] [stderr] | [INFO] [stderr] 28 | Marker::APP(n) => n as c_int + self::ffi::jpeg_marker::APP0 as c_int, [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(n)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `decompress::DecompressConfig<'markers>` [INFO] [stderr] --> src/decompress.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | / pub fn new() -> Self { [INFO] [stderr] 72 | | DecompressConfig { [INFO] [stderr] 73 | | err: None, [INFO] [stderr] 74 | | save_markers: NO_MARKERS, [INFO] [stderr] 75 | | } [INFO] [stderr] 76 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 64 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/decompress.rs:80:65 [INFO] [stderr] | [INFO] [stderr] 80 | let mut d = Decompress::new_err(self.err.unwrap_or_else(|| ::new())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `::new` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/decompress.rs:101:38 [INFO] [stderr] | [INFO] [stderr] 101 | pub fn from_path>(self, path: P) -> io::Result> { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/decompress.rs:107:22 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn from_file(self, file: File) -> io::Result> { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/decompress.rs:115:27 [INFO] [stderr] | [INFO] [stderr] 115 | pub fn from_mem<'src>(self, mem: &'src [u8]) -> io::Result> { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/decompress.rs:157:17 [INFO] [stderr] | [INFO] [stderr] 157 | let ref last = *self.marker_list; [INFO] [stderr] | ----^^^^^^^^--------------------- help: try: `let last = &(*self.marker_list);` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/component.rs:27:24 [INFO] [stderr] | [INFO] [stderr] 27 | *out = *q as u32; [INFO] [stderr] | ^^^^^^^^^ help: try: `u32::from(*q)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/marker.rs:28:31 [INFO] [stderr] | [INFO] [stderr] 28 | Marker::APP(n) => n as c_int + self::ffi::jpeg_marker::APP0 as c_int, [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(n)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `decompress::DecompressConfig<'markers>` [INFO] [stderr] --> src/decompress.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | / pub fn new() -> Self { [INFO] [stderr] 72 | | DecompressConfig { [INFO] [stderr] 73 | | err: None, [INFO] [stderr] 74 | | save_markers: NO_MARKERS, [INFO] [stderr] 75 | | } [INFO] [stderr] 76 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 64 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/decompress.rs:80:65 [INFO] [stderr] | [INFO] [stderr] 80 | let mut d = Decompress::new_err(self.err.unwrap_or_else(|| ::new())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `::new` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/decompress.rs:101:38 [INFO] [stderr] | [INFO] [stderr] 101 | pub fn from_path>(self, path: P) -> io::Result> { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/decompress.rs:107:22 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn from_file(self, file: File) -> io::Result> { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/decompress.rs:115:27 [INFO] [stderr] | [INFO] [stderr] 115 | pub fn from_mem<'src>(self, mem: &'src [u8]) -> io::Result> { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/decompress.rs:157:17 [INFO] [stderr] | [INFO] [stderr] 157 | let ref last = *self.marker_list; [INFO] [stderr] | ----^^^^^^^^--------------------- help: try: `let last = &(*self.marker_list);` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/decompress.rs:516:5 [INFO] [stderr] | [INFO] [stderr] 516 | assert_eq!(1.0, dinfo.gamma()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/decompress.rs:516:5 [INFO] [stderr] | [INFO] [stderr] 516 | assert_eq!(1.0, dinfo.gamma()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/compress.rs:349:40 [INFO] [stderr] | [INFO] [stderr] 349 | cinfo.write_marker(Marker::APP(2), "Hello World".as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"Hello World"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/component.rs:27:24 [INFO] [stderr] | [INFO] [stderr] 27 | *out = *q as u32; [INFO] [stderr] | ^^^^^^^^^ help: try: `u32::from(*q)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | assert_eq!(1.0, dinfo.gamma()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | assert_eq!(1.0, dinfo.gamma()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/lib.rs:68:62 [INFO] [stderr] | [INFO] [stderr] 68 | fn write_jpeg(bitmaps: &[&mut Vec; 3], samp_factors: &Vec, scale: (f32, f32)) -> Vec { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i32]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `mozjpeg`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "6d59efab65f6a680fed19c6cf836e7c6817dcd0bc85b16b377c2809f533bce9c"` [INFO] running `"docker" "rm" "-f" "6d59efab65f6a680fed19c6cf836e7c6817dcd0bc85b16b377c2809f533bce9c"` [INFO] [stdout] 6d59efab65f6a680fed19c6cf836e7c6817dcd0bc85b16b377c2809f533bce9c