[INFO] crate flate2 1.0.6 is already in cache [INFO] extracting crate flate2 1.0.6 into work/ex/clippy-test-run/sources/stable/reg/flate2/1.0.6 [INFO] extracting crate flate2 1.0.6 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/flate2/1.0.6 [INFO] validating manifest of flate2-1.0.6 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 flate2-1.0.6 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 flate2-1.0.6 [INFO] finished frobbing flate2-1.0.6 [INFO] frobbed toml for flate2-1.0.6 written to work/ex/clippy-test-run/sources/stable/reg/flate2/1.0.6/Cargo.toml [INFO] started frobbing flate2-1.0.6 [INFO] finished frobbing flate2-1.0.6 [INFO] frobbed toml for flate2-1.0.6 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/flate2/1.0.6/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 flate2-1.0.6 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/flate2/1.0.6:/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] 4904fa83cdaae23db070b66acfc1dd25d53d9006f82aaa3c7b9e3c30922d48e6 [INFO] running `"docker" "start" "-a" "4904fa83cdaae23db070b66acfc1dd25d53d9006f82aaa3c7b9e3c30922d48e6"` [INFO] [stderr] Checking flate2 v1.0.6 (/opt/crater/workdir) [INFO] [stderr] error: redundant field names in struct initialization [INFO] [stderr] --> src/bufreader.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | inner: inner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:80:24 [INFO] [stderr] | [INFO] [stderr] 80 | #![cfg_attr(test, deny(warnings))] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::redundant_field_names)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] error: redundant field names in struct initialization [INFO] [stderr] --> src/gz/bufread.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | extra: extra, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `extra` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] error: redundant field names in struct initialization [INFO] [stderr] --> src/gz/bufread.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | filename: filename, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `filename` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] error: redundant field names in struct initialization [INFO] [stderr] --> src/gz/bufread.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | comment: comment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `comment` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] error: redundant field names in struct initialization [INFO] [stderr] --> src/gz/bufread.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | mtime: mtime, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mtime` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] error: redundant field names in struct initialization [INFO] [stderr] --> src/gz/bufread.rs:157:9 [INFO] [stderr] | [INFO] [stderr] 157 | header: header, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `header` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] error: redundant field names in struct initialization [INFO] [stderr] --> src/gz/bufread.rs:452:13 [INFO] [stderr] | [INFO] [stderr] 452 | header: header, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `header` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] error: redundant field names in struct initialization [INFO] [stderr] --> src/gz/read.rs:41:17 [INFO] [stderr] | [INFO] [stderr] 41 | GzEncoder { inner: inner } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] error: redundant field names in struct initialization [INFO] [stderr] --> src/gz/write.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | header: header, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `header` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/bufreader.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | inner: inner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gz/bufread.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | extra: extra, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `extra` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gz/bufread.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | filename: filename, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `filename` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gz/bufread.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | comment: comment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `comment` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gz/bufread.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | mtime: mtime, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mtime` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gz/bufread.rs:157:9 [INFO] [stderr] | [INFO] [stderr] 157 | header: header, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `header` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gz/bufread.rs:452:13 [INFO] [stderr] | [INFO] [stderr] 452 | header: header, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `header` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gz/read.rs:41:17 [INFO] [stderr] | [INFO] [stderr] 41 | GzEncoder { inner: inner } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gz/write.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | header: header, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `header` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/gz/bufread.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | return min; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `min` [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] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/gz/write.rs:371:13 [INFO] [stderr] | [INFO] [stderr] 371 | / if status == Status::StreamEnd { [INFO] [stderr] 372 | | if n < buf.len() && self.crc_bytes.len() < 8 { [INFO] [stderr] 373 | | let remaining = buf.len() - n; [INFO] [stderr] 374 | | let crc_bytes = cmp::min(remaining, CRC_BYTES_LEN - self.crc_bytes.len()); [INFO] [stderr] ... | [INFO] [stderr] 377 | | } [INFO] [stderr] 378 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 371 | if status == Status::StreamEnd && n < buf.len() && self.crc_bytes.len() < 8 { [INFO] [stderr] 372 | let remaining = buf.len() - n; [INFO] [stderr] 373 | let crc_bytes = cmp::min(remaining, CRC_BYTES_LEN - self.crc_bytes.len()); [INFO] [stderr] 374 | self.crc_bytes.extend(&buf[n..n + crc_bytes]); [INFO] [stderr] 375 | return Ok(n + crc_bytes); [INFO] [stderr] 376 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/gz/mod.rs:251:9 [INFO] [stderr] | [INFO] [stderr] 251 | return header; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `header` [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/mem.rs:350:13 [INFO] [stderr] | [INFO] [stderr] 350 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/mem.rs:479:13 [INFO] [stderr] | [INFO] [stderr] 479 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: you should consider deriving a `Default` implementation for `crc::Crc` [INFO] [stderr] --> src/crc.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | / pub fn new() -> Crc { [INFO] [stderr] 29 | | Crc { amt: 0, hasher: Hasher::new() } [INFO] [stderr] 30 | | } [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] 12 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:35:8 [INFO] [stderr] | [INFO] [stderr] 35 | Ok((b[0] as u16) | ((b[1] as u16) << 8)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[0])` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:35:25 [INFO] [stderr] | [INFO] [stderr] 35 | Ok((b[0] as u16) | ((b[1] as u16) << 8)) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[1])` [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: the operation is ineffective. Consider reducing it to `(header[4] as u32)` [INFO] [stderr] --> src/gz/bufread.rs:54:17 [INFO] [stderr] | [INFO] [stderr] 54 | let mtime = ((header[4] as u32) << 0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:54:18 [INFO] [stderr] | [INFO] [stderr] 54 | let mtime = ((header[4] as u32) << 0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(header[4])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:55:12 [INFO] [stderr] | [INFO] [stderr] 55 | | ((header[5] as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(header[5])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:56:12 [INFO] [stderr] | [INFO] [stderr] 56 | | ((header[6] as u32) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(header[6])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:57:12 [INFO] [stderr] | [INFO] [stderr] 57 | | ((header[7] as u32) << 24); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(header[7])` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/gz/bufread.rs:180:13 [INFO] [stderr] | [INFO] [stderr] 180 | let ref arr = [ [INFO] [stderr] | ^^^^^^^ [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] help: try [INFO] [stderr] | [INFO] [stderr] 180 | let arr = &[ [INFO] [stderr] 181 | (crc.sum() >> 0) as u8, [INFO] [stderr] 182 | (crc.sum() >> 8) as u8, [INFO] [stderr] 183 | (crc.sum() >> 16) as u8, [INFO] [stderr] 184 | (crc.sum() >> 24) as u8, [INFO] [stderr] 185 | (crc.amount() >> 0) as u8, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `crc.sum()` [INFO] [stderr] --> src/gz/bufread.rs:181:13 [INFO] [stderr] | [INFO] [stderr] 181 | (crc.sum() >> 0) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `crc.amount()` [INFO] [stderr] --> src/gz/bufread.rs:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | (crc.amount() >> 0) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/gz/bufread.rs:306:13 [INFO] [stderr] | [INFO] [stderr] 306 | let ref mut buf = [0u8; 8]; [INFO] [stderr] | ----^^^^^^^^^^^------------ help: try: `let buf = &mut [0u8; 8];` [INFO] [stderr] | [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: the operation is ineffective. Consider reducing it to `(buf[0] as u32)` [INFO] [stderr] --> src/gz/bufread.rs:318:19 [INFO] [stderr] | [INFO] [stderr] 318 | let crc = ((buf[0] as u32) << 0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:318:20 [INFO] [stderr] | [INFO] [stderr] 318 | let crc = ((buf[0] as u32) << 0) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(buf[0])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:319:16 [INFO] [stderr] | [INFO] [stderr] 319 | | ((buf[1] as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(buf[1])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:320:16 [INFO] [stderr] | [INFO] [stderr] 320 | | ((buf[2] as u32) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(buf[2])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:321:16 [INFO] [stderr] | [INFO] [stderr] 321 | | ((buf[3] as u32) << 24); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(buf[3])` [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: the operation is ineffective. Consider reducing it to `(buf[4] as u32)` [INFO] [stderr] --> src/gz/bufread.rs:322:19 [INFO] [stderr] | [INFO] [stderr] 322 | let amt = ((buf[4] as u32) << 0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:322:20 [INFO] [stderr] | [INFO] [stderr] 322 | let amt = ((buf[4] as u32) << 0) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(buf[4])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:323:16 [INFO] [stderr] | [INFO] [stderr] 323 | | ((buf[5] as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(buf[5])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:324:16 [INFO] [stderr] | [INFO] [stderr] 324 | | ((buf[6] as u32) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(buf[6])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:325:16 [INFO] [stderr] | [INFO] [stderr] 325 | | ((buf[7] as u32) << 24); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(buf[7])` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/gz/bufread.rs:461:13 [INFO] [stderr] | [INFO] [stderr] 461 | let ref mut buf = [0u8; 8]; [INFO] [stderr] | ----^^^^^^^^^^^------------ help: try: `let buf = &mut [0u8; 8];` [INFO] [stderr] | [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: the operation is ineffective. Consider reducing it to `(buf[0] as u32)` [INFO] [stderr] --> src/gz/bufread.rs:473:19 [INFO] [stderr] | [INFO] [stderr] 473 | let crc = ((buf[0] as u32) << 0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:473:20 [INFO] [stderr] | [INFO] [stderr] 473 | let crc = ((buf[0] as u32) << 0) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(buf[0])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:474:16 [INFO] [stderr] | [INFO] [stderr] 474 | | ((buf[1] as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(buf[1])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:475:16 [INFO] [stderr] | [INFO] [stderr] 475 | | ((buf[2] as u32) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(buf[2])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:476:16 [INFO] [stderr] | [INFO] [stderr] 476 | | ((buf[3] as u32) << 24); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(buf[3])` [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: the operation is ineffective. Consider reducing it to `(buf[4] as u32)` [INFO] [stderr] --> src/gz/bufread.rs:477:19 [INFO] [stderr] | [INFO] [stderr] 477 | let amt = ((buf[4] as u32) << 0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:477:20 [INFO] [stderr] | [INFO] [stderr] 477 | let amt = ((buf[4] as u32) << 0) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(buf[4])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:478:16 [INFO] [stderr] | [INFO] [stderr] 478 | | ((buf[5] as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(buf[5])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:479:16 [INFO] [stderr] | [INFO] [stderr] 479 | | ((buf[6] as u32) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(buf[6])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/bufread.rs:480:16 [INFO] [stderr] | [INFO] [stderr] 480 | | ((buf[7] as u32) << 24); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(buf[7])` [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: the operation is ineffective. Consider reducing it to `sum` [INFO] [stderr] --> src/gz/write.rs:102:17 [INFO] [stderr] | [INFO] [stderr] 102 | (sum >> 0) as u8, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `amt` [INFO] [stderr] --> src/gz/write.rs:106:17 [INFO] [stderr] | [INFO] [stderr] 106 | (amt >> 0) as u8, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/gz/write.rs:137:15 [INFO] [stderr] | [INFO] [stderr] 137 | while self.header.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.header.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(self.crc_bytes[0] as u32)` [INFO] [stderr] --> src/gz/write.rs:307:19 [INFO] [stderr] | [INFO] [stderr] 307 | let crc = ((self.crc_bytes[0] as u32) << 0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/write.rs:307:20 [INFO] [stderr] | [INFO] [stderr] 307 | let crc = ((self.crc_bytes[0] as u32) << 0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.crc_bytes[0])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/write.rs:308:16 [INFO] [stderr] | [INFO] [stderr] 308 | | ((self.crc_bytes[1] as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.crc_bytes[1])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/write.rs:309:16 [INFO] [stderr] | [INFO] [stderr] 309 | | ((self.crc_bytes[2] as u32) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.crc_bytes[2])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/write.rs:310:16 [INFO] [stderr] | [INFO] [stderr] 310 | | ((self.crc_bytes[3] as u32) << 24); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.crc_bytes[3])` [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: the operation is ineffective. Consider reducing it to `(self.crc_bytes[4] as u32)` [INFO] [stderr] --> src/gz/write.rs:311:19 [INFO] [stderr] | [INFO] [stderr] 311 | let amt = ((self.crc_bytes[4] as u32) << 0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/write.rs:311:20 [INFO] [stderr] | [INFO] [stderr] 311 | let amt = ((self.crc_bytes[4] as u32) << 0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.crc_bytes[4])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/write.rs:312:16 [INFO] [stderr] | [INFO] [stderr] 312 | | ((self.crc_bytes[5] as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.crc_bytes[5])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/write.rs:313:16 [INFO] [stderr] | [INFO] [stderr] 313 | | ((self.crc_bytes[6] as u32) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.crc_bytes[6])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/gz/write.rs:314:16 [INFO] [stderr] | [INFO] [stderr] 314 | | ((self.crc_bytes[7] as u32) << 24); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.crc_bytes[7])` [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: you should consider deriving a `Default` implementation for `gz::GzBuilder` [INFO] [stderr] --> src/gz/mod.rs:122:5 [INFO] [stderr] | [INFO] [stderr] 122 | / pub fn new() -> GzBuilder { [INFO] [stderr] 123 | | GzBuilder { [INFO] [stderr] 124 | | extra: None, [INFO] [stderr] 125 | | filename: None, [INFO] [stderr] ... | [INFO] [stderr] 129 | | } [INFO] [stderr] 130 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 112 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/gz/mod.rs:207:9 [INFO] [stderr] | [INFO] [stderr] 207 | / match extra { [INFO] [stderr] 208 | | Some(v) => { [INFO] [stderr] 209 | | flg |= FEXTRA; [INFO] [stderr] 210 | | header.push((v.len() >> 0) as u8); [INFO] [stderr] ... | [INFO] [stderr] 214 | | None => {} [INFO] [stderr] 215 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 207 | if let Some(v) = extra { [INFO] [stderr] 208 | flg |= FEXTRA; [INFO] [stderr] 209 | header.push((v.len() >> 0) as u8); [INFO] [stderr] 210 | header.push((v.len() >> 8) as u8); [INFO] [stderr] 211 | header.extend(v); [INFO] [stderr] 212 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `v.len()` [INFO] [stderr] --> src/gz/mod.rs:210:29 [INFO] [stderr] | [INFO] [stderr] 210 | header.push((v.len() >> 0) as u8); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/gz/mod.rs:216:9 [INFO] [stderr] | [INFO] [stderr] 216 | / match filename { [INFO] [stderr] 217 | | Some(filename) => { [INFO] [stderr] 218 | | flg |= FNAME; [INFO] [stderr] 219 | | header.extend(filename.as_bytes_with_nul().iter().map(|x| *x)); [INFO] [stderr] 220 | | } [INFO] [stderr] 221 | | None => {} [INFO] [stderr] 222 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 216 | if let Some(filename) = filename { [INFO] [stderr] 217 | flg |= FNAME; [INFO] [stderr] 218 | header.extend(filename.as_bytes_with_nul().iter().map(|x| *x)); [INFO] [stderr] 219 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/gz/mod.rs:219:31 [INFO] [stderr] | [INFO] [stderr] 219 | header.extend(filename.as_bytes_with_nul().iter().map(|x| *x)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `filename.as_bytes_with_nul().iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/gz/mod.rs:223:9 [INFO] [stderr] | [INFO] [stderr] 223 | / match comment { [INFO] [stderr] 224 | | Some(comment) => { [INFO] [stderr] 225 | | flg |= FCOMMENT; [INFO] [stderr] 226 | | header.extend(comment.as_bytes_with_nul().iter().map(|x| *x)); [INFO] [stderr] 227 | | } [INFO] [stderr] 228 | | None => {} [INFO] [stderr] 229 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 223 | if let Some(comment) = comment { [INFO] [stderr] 224 | flg |= FCOMMENT; [INFO] [stderr] 225 | header.extend(comment.as_bytes_with_nul().iter().map(|x| *x)); [INFO] [stderr] 226 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/gz/mod.rs:226:31 [INFO] [stderr] | [INFO] [stderr] 226 | header.extend(comment.as_bytes_with_nul().iter().map(|x| *x)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `comment.as_bytes_with_nul().iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `mtime` [INFO] [stderr] --> src/gz/mod.rs:234:21 [INFO] [stderr] | [INFO] [stderr] 234 | header[4] = (mtime >> 0) as u8; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/zio.rs:146:75 [INFO] [stderr] | [INFO] [stderr] 146 | Ok(Status::Ok) | Ok(Status::BufError) if read == 0 && !eof && dst.len() > 0 => continue, [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!dst.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/zio.rs:225:16 [INFO] [stderr] | [INFO] [stderr] 225 | if buf.len() > 0 && written == 0 && ret.is_ok() && !is_stream_end { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buf.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/zio.rs:243:15 [INFO] [stderr] | [INFO] [stderr] 243 | while self.buf.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.buf.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/mem.rs:345:27 [INFO] [stderr] | [INFO] [stderr] 345 | let ptr = output.as_mut_ptr().offset(len as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `output.as_mut_ptr().add(len)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_offset_with_cast)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/mem.rs:474:27 [INFO] [stderr] | [INFO] [stderr] 474 | let ptr = output.as_mut_ptr().offset(len as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `output.as_mut_ptr().add(len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] error: unneeded return statement [INFO] [stderr] --> src/gz/bufread.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | return min; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `min` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:80:24 [INFO] [stderr] | [INFO] [stderr] 80 | #![cfg_attr(test, deny(warnings))] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::needless_return)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] error: this if statement can be collapsed [INFO] [stderr] --> src/gz/write.rs:371:13 [INFO] [stderr] | [INFO] [stderr] 371 | / if status == Status::StreamEnd { [INFO] [stderr] 372 | | if n < buf.len() && self.crc_bytes.len() < 8 { [INFO] [stderr] 373 | | let remaining = buf.len() - n; [INFO] [stderr] 374 | | let crc_bytes = cmp::min(remaining, CRC_BYTES_LEN - self.crc_bytes.len()); [INFO] [stderr] ... | [INFO] [stderr] 377 | | } [INFO] [stderr] 378 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:80:24 [INFO] [stderr] | [INFO] [stderr] 80 | #![cfg_attr(test, deny(warnings))] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::collapsible_if)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 371 | if status == Status::StreamEnd && n < buf.len() && self.crc_bytes.len() < 8 { [INFO] [stderr] 372 | let remaining = buf.len() - n; [INFO] [stderr] 373 | let crc_bytes = cmp::min(remaining, CRC_BYTES_LEN - self.crc_bytes.len()); [INFO] [stderr] 374 | self.crc_bytes.extend(&buf[n..n + crc_bytes]); [INFO] [stderr] 375 | return Ok(n + crc_bytes); [INFO] [stderr] 376 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/gz/write.rs:409:17 [INFO] [stderr] | [INFO] [stderr] 409 | const STR: &'static str = "Hello World Hello World Hello World Hello World Hello World \ [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:80:24 [INFO] [stderr] | [INFO] [stderr] 80 | #![cfg_attr(test, deny(warnings))] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::const_static_lifetime)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] error: unneeded return statement [INFO] [stderr] --> src/gz/mod.rs:251:9 [INFO] [stderr] | [INFO] [stderr] 251 | return header; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `header` [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] error: unneeded return statement [INFO] [stderr] --> src/mem.rs:350:13 [INFO] [stderr] | [INFO] [stderr] 350 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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] error: unneeded return statement [INFO] [stderr] --> src/mem.rs:479:13 [INFO] [stderr] | [INFO] [stderr] 479 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:218:18 [INFO] [stderr] | [INFO] [stderr] 218 | pub fn level(&self) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] error: aborting due to 15 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `flate2`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "4904fa83cdaae23db070b66acfc1dd25d53d9006f82aaa3c7b9e3c30922d48e6"` [INFO] running `"docker" "rm" "-f" "4904fa83cdaae23db070b66acfc1dd25d53d9006f82aaa3c7b9e3c30922d48e6"` [INFO] [stdout] 4904fa83cdaae23db070b66acfc1dd25d53d9006f82aaa3c7b9e3c30922d48e6