[INFO] crate inflate 0.4.3 is already in cache [INFO] extracting crate inflate 0.4.3 into work/ex/clippy-test-run/sources/stable/reg/inflate/0.4.3 [INFO] extracting crate inflate 0.4.3 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/inflate/0.4.3 [INFO] validating manifest of inflate-0.4.3 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 inflate-0.4.3 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 inflate-0.4.3 [INFO] finished frobbing inflate-0.4.3 [INFO] frobbed toml for inflate-0.4.3 written to work/ex/clippy-test-run/sources/stable/reg/inflate/0.4.3/Cargo.toml [INFO] started frobbing inflate-0.4.3 [INFO] finished frobbing inflate-0.4.3 [INFO] frobbed toml for inflate-0.4.3 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/inflate/0.4.3/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 inflate-0.4.3 against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/inflate/0.4.3:/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 -Dclippy::into_iter_on_array" "-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] 294813256d8ec26536f3ab9f43226238cc58e6f198510b0596596577d720d979 [INFO] running `"docker" "start" "-a" "294813256d8ec26536f3ab9f43226238cc58e6f198510b0596596577d720d979"` [INFO] [stderr] Checking inflate v0.4.3 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/checksum.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | checksum_type: checksum_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `checksum_type` [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/reader.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/reader.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/reader.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/lib.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/lib.rs:340:13 [INFO] [stderr] | [INFO] [stderr] 340 | patterns: patterns, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `patterns` [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/lib.rs:341:13 [INFO] [stderr] | [INFO] [stderr] 341 | clens: clens, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `clens` [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/lib.rs:343:13 [INFO] [stderr] | [INFO] [stderr] 343 | num_lit: num_lit, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `num_lit` [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/lib.rs:344:13 [INFO] [stderr] | [INFO] [stderr] 344 | num_dist: num_dist, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `num_dist` [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/lib.rs:479:13 [INFO] [stderr] | [INFO] [stderr] 479 | patterns: patterns, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `patterns` [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/lib.rs:480:13 [INFO] [stderr] | [INFO] [stderr] 480 | rest: rest, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rest` [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/lib.rs:598:13 [INFO] [stderr] | [INFO] [stderr] 598 | buffer: buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `buffer` [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/lib.rs:602:13 [INFO] [stderr] | [INFO] [stderr] 602 | checksum: checksum, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `checksum` [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/checksum.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | checksum_type: checksum_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `checksum_type` [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/reader.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/reader.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/reader.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/lib.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/lib.rs:340:13 [INFO] [stderr] | [INFO] [stderr] 340 | patterns: patterns, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `patterns` [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/lib.rs:341:13 [INFO] [stderr] | [INFO] [stderr] 341 | clens: clens, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `clens` [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/lib.rs:343:13 [INFO] [stderr] | [INFO] [stderr] 343 | num_lit: num_lit, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `num_lit` [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/lib.rs:344:13 [INFO] [stderr] | [INFO] [stderr] 344 | num_dist: num_dist, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `num_dist` [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/lib.rs:479:13 [INFO] [stderr] | [INFO] [stderr] 479 | patterns: patterns, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `patterns` [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/lib.rs:480:13 [INFO] [stderr] | [INFO] [stderr] 480 | rest: rest, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rest` [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/lib.rs:598:13 [INFO] [stderr] | [INFO] [stderr] 598 | buffer: buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `buffer` [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/lib.rs:602:13 [INFO] [stderr] | [INFO] [stderr] 602 | checksum: checksum, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `checksum` [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/writer.rs:45:19 [INFO] [stderr] | [INFO] [stderr] 45 | Err(m) => return Err(Error::new(ErrorKind::Other, m)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(Error::new(ErrorKind::Other, m))` [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: All variants have the same prefix: `Block` [INFO] [stderr] --> src/lib.rs:539:1 [INFO] [stderr] | [INFO] [stderr] 539 | / enum BitsNext { [INFO] [stderr] 540 | | BlockHeader, [INFO] [stderr] 541 | | BlockUncompressed, [INFO] [stderr] 542 | | BlockDynHlit, [INFO] [stderr] ... | [INFO] [stderr] 547 | | BlockDyn(/* lit/len */ DynHuffman16, /* dist */ DynHuffman16, /* prev_len */ u16) [INFO] [stderr] 548 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::enum_variant_names)] on by default [INFO] [stderr] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/writer.rs:45:19 [INFO] [stderr] | [INFO] [stderr] 45 | Err(m) => return Err(Error::new(ErrorKind::Other, m)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(Error::new(ErrorKind::Other, m))` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/reader.rs:336:29 [INFO] [stderr] | [INFO] [stderr] 336 | const TEST_STRING: &'static str = "Hello, world"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [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/reader.rs:348:29 [INFO] [stderr] | [INFO] [stderr] 348 | const TEST_STRING: &'static str = "Hello, zlib!"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [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: All variants have the same prefix: `Block` [INFO] [stderr] --> src/lib.rs:539:1 [INFO] [stderr] | [INFO] [stderr] 539 | / enum BitsNext { [INFO] [stderr] 540 | | BlockHeader, [INFO] [stderr] 541 | | BlockUncompressed, [INFO] [stderr] 542 | | BlockDynHlit, [INFO] [stderr] ... | [INFO] [stderr] 547 | | BlockDyn(/* lit/len */ DynHuffman16, /* dist */ DynHuffman16, /* prev_len */ u16) [INFO] [stderr] 548 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::enum_variant_names)] on by default [INFO] [stderr] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/checksum.rs:3:34 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn adler32_from_bytes(bytes: &[u8; 4]) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `[u8; 4]` [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] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/checksum.rs:4:20 [INFO] [stderr] | [INFO] [stderr] 4 | let val: u32 = (bytes[0] as u32) | ((bytes[1] as u32) << 8) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[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 u32 may become silently lossy if types change [INFO] [stderr] --> src/checksum.rs:4:41 [INFO] [stderr] | [INFO] [stderr] 4 | let val: u32 = (bytes[0] as u32) | ((bytes[1] as u32) << 8) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(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/checksum.rs:5:9 [INFO] [stderr] | [INFO] [stderr] 5 | ((bytes[2] as u32) << 16) | ((bytes[3] as u32) << 24); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(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/checksum.rs:5:37 [INFO] [stderr] | [INFO] [stderr] 5 | ((bytes[2] as u32) << 16) | ((bytes[3] as u32) << 24); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/writer.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | try!(self.writer.write(result)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/writer.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | try!(self.writer.write(result)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [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: length comparison to zero [INFO] [stderr] --> src/utils.rs:21:12 [INFO] [stderr] | [INFO] [stderr] 21 | if bytes.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `bytes.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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/utils.rs:25:24 [INFO] [stderr] | [INFO] [stderr] 25 | decoded.extend(bytes.iter().map(|v| *v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `bytes.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: length comparison to zero [INFO] [stderr] --> src/reader.rs:181:16 [INFO] [stderr] | [INFO] [stderr] 181 | if input.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:200:33 [INFO] [stderr] | [INFO] [stderr] 200 | self.state.v |= (b as u32) << self.state.n; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(b)` [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: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:288:17 [INFO] [stderr] | [INFO] [stderr] 288 | for bits in 1..$max_bits + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use: `1..=7` [INFO] [stderr] ... [INFO] [stderr] 327 | / with_codes!(clens, 7 => u8, |i: u8, code: u8, bits| -> _ { [INFO] [stderr] 328 | | /*let base = match BIT_REV_U8.get((code << (8 - bits)) as usize) { [INFO] [stderr] 329 | | Some(&base) => base, [INFO] [stderr] 330 | | None => return Err("invalid length code".to_owned()) [INFO] [stderr] ... | [INFO] [stderr] 336 | | Ok(()) [INFO] [stderr] 337 | | }); [INFO] [stderr] | |___________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:288:17 [INFO] [stderr] | [INFO] [stderr] 288 | for bits in 1..$max_bits + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use: `1..=15` [INFO] [stderr] ... [INFO] [stderr] 419 | / with_codes!(clens, 15 => u16, |i: u16, code: u16, bits: u8| -> _ { [INFO] [stderr] 420 | | let entry = i | ((bits as u16) << 12); [INFO] [stderr] 421 | | if bits <= 8 { [INFO] [stderr] 422 | | let base = match BIT_REV_U8.get((code << (8 - bits)) as usize) { [INFO] [stderr] ... | [INFO] [stderr] 471 | | Ok(()) [INFO] [stderr] 472 | | }); [INFO] [stderr] | |___________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:420:30 [INFO] [stderr] | [INFO] [stderr] 420 | let entry = i | ((bits as u16) << 12); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(bits)` [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:450:57 [INFO] [stderr] | [INFO] [stderr] 450 | patterns[low as usize] = idx | 0x800 | ((min_bits as u16) << 12); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(min_bits)` [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 adding a `Default` implementation for `InflateStream` [INFO] [stderr] --> src/lib.rs:564:5 [INFO] [stderr] | [INFO] [stderr] 564 | / pub fn new() -> InflateStream { [INFO] [stderr] 565 | | let state = Bits(BlockHeader, BitState { n: 0, v: 0 }); [INFO] [stderr] 566 | | let buffer = Vec::with_capacity(32 * 1024); [INFO] [stderr] 567 | | InflateStream::with_state_and_buffer(state, buffer, Checksum::none()) [INFO] [stderr] 568 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 561 | impl Default for InflateStream { [INFO] [stderr] 562 | fn default() -> Self { [INFO] [stderr] 563 | Self::new() [INFO] [stderr] 564 | } [INFO] [stderr] 565 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 63 [INFO] [stderr] --> src/lib.rs:668:5 [INFO] [stderr] | [INFO] [stderr] 668 | / fn next_state(&mut self, data: &[u8]) -> Result { [INFO] [stderr] 669 | | macro_rules! ok_bytes (($n:expr, $state:expr) => ({ [INFO] [stderr] 670 | | self.state = Some($state); [INFO] [stderr] 671 | | Ok($n) [INFO] [stderr] ... | [INFO] [stderr] 984 | | } [INFO] [stderr] 985 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:731:22 [INFO] [stderr] | [INFO] [stderr] 731 | if (((cmf as u16) << 8) | b as u16) % 31 != 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(cmf)` [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:731:43 [INFO] [stderr] | [INFO] [stderr] 731 | if (((cmf as u16) << 8) | b as u16) % 31 != 0 { [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(b)` [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:851:87 [INFO] [stderr] | [INFO] [stderr] 851 | ok!(BlockDynCodeLengths(try!(CodeLengthReader::new(clens, hlit as u16 + 256, hdist)))) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(hlit)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/checksum.rs:3:34 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn adler32_from_bytes(bytes: &[u8; 4]) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `[u8; 4]` [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] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/checksum.rs:4:20 [INFO] [stderr] | [INFO] [stderr] 4 | let val: u32 = (bytes[0] as u32) | ((bytes[1] as u32) << 8) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[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 u32 may become silently lossy if types change [INFO] [stderr] --> src/checksum.rs:4:41 [INFO] [stderr] | [INFO] [stderr] 4 | let val: u32 = (bytes[0] as u32) | ((bytes[1] as u32) << 8) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(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/checksum.rs:5:9 [INFO] [stderr] | [INFO] [stderr] 5 | ((bytes[2] as u32) << 16) | ((bytes[3] as u32) << 24); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(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/checksum.rs:5:37 [INFO] [stderr] | [INFO] [stderr] 5 | ((bytes[2] as u32) << 16) | ((bytes[3] as u32) << 24); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(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: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 879 | push_or!(code, ok!({stream = save; next!(0)})); [INFO] [stderr] | ------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::eval_order_dependence)] on by default [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:879:61 [INFO] [stderr] | [INFO] [stderr] 879 | push_or!(code, ok!({stream = save; next!(0)})); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:892:41 [INFO] [stderr] | [INFO] [stderr] 892 | $code as u16 [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(code)` [INFO] [stderr] ... [INFO] [stderr] 906 | 1...8 => len!(code, 0), [INFO] [stderr] | ------------- in this macro invocation [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:895:56 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 906 | 1...8 => len!(code, 0), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + u16::from(match stream.take($n) { [INFO] [stderr] 896 | Some(v) => v, [INFO] [stderr] 897 | None => return ok!($next) [INFO] [stderr] 898 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 906 | 1...8 => len!(code, 0), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:895:72 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 906 | 1...8 => len!(code, 0), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:892:41 [INFO] [stderr] | [INFO] [stderr] 892 | $code as u16 [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(code)` [INFO] [stderr] ... [INFO] [stderr] 907 | 9...12 => len!(code, 1), [INFO] [stderr] | ------------- in this macro invocation [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:895:56 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 907 | 9...12 => len!(code, 1), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + u16::from(match stream.take($n) { [INFO] [stderr] 896 | Some(v) => v, [INFO] [stderr] 897 | None => return ok!($next) [INFO] [stderr] 898 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 907 | 9...12 => len!(code, 1), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:895:72 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 907 | 9...12 => len!(code, 1), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:892:41 [INFO] [stderr] | [INFO] [stderr] 892 | $code as u16 [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(code)` [INFO] [stderr] ... [INFO] [stderr] 908 | 13...16 => len!(code, 2), [INFO] [stderr] | ------------- in this macro invocation [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:895:56 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 908 | 13...16 => len!(code, 2), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + u16::from(match stream.take($n) { [INFO] [stderr] 896 | Some(v) => v, [INFO] [stderr] 897 | None => return ok!($next) [INFO] [stderr] 898 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 908 | 13...16 => len!(code, 2), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:895:72 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 908 | 13...16 => len!(code, 2), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:892:41 [INFO] [stderr] | [INFO] [stderr] 892 | $code as u16 [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(code)` [INFO] [stderr] ... [INFO] [stderr] 909 | 17...20 => len!(code, 3), [INFO] [stderr] | ------------- in this macro invocation [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:895:56 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 909 | 17...20 => len!(code, 3), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + u16::from(match stream.take($n) { [INFO] [stderr] 896 | Some(v) => v, [INFO] [stderr] 897 | None => return ok!($next) [INFO] [stderr] 898 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 909 | 17...20 => len!(code, 3), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:895:72 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 909 | 17...20 => len!(code, 3), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:892:41 [INFO] [stderr] | [INFO] [stderr] 892 | $code as u16 [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(code)` [INFO] [stderr] ... [INFO] [stderr] 910 | 21...24 => len!(code, 4), [INFO] [stderr] | ------------- in this macro invocation [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:895:56 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 910 | 21...24 => len!(code, 4), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + u16::from(match stream.take($n) { [INFO] [stderr] 896 | Some(v) => v, [INFO] [stderr] 897 | None => return ok!($next) [INFO] [stderr] 898 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 910 | 21...24 => len!(code, 4), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:895:72 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 910 | 21...24 => len!(code, 4), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:892:41 [INFO] [stderr] | [INFO] [stderr] 892 | $code as u16 [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(code)` [INFO] [stderr] ... [INFO] [stderr] 911 | 25...28 => len!(code, 5), [INFO] [stderr] | ------------- in this macro invocation [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:895:56 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 911 | 25...28 => len!(code, 5), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + u16::from(match stream.take($n) { [INFO] [stderr] 896 | Some(v) => v, [INFO] [stderr] 897 | None => return ok!($next) [INFO] [stderr] 898 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 911 | 25...28 => len!(code, 5), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:895:72 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 911 | 25...28 => len!(code, 5), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:895:56 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 912 | 29 => len!(29, 0), [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + u16::from(match stream.take($n) { [INFO] [stderr] 896 | Some(v) => v, [INFO] [stderr] 897 | None => return ok!($next) [INFO] [stderr] 898 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 912 | 29 => len!(29, 0), [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:895:72 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 912 | 29 => len!(29, 0), [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:913:88 [INFO] [stderr] | [INFO] [stderr] 913 | _ => return Err(format!("bad DEFLATE len code {}", code as u16 + 256)), [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(code)` [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: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 926 | 0...3 => len_dist_case!(0), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 926 | 0...3 => len_dist_case!(0), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 927 | 4...5 => len_dist_case!(1), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 927 | 4...5 => len_dist_case!(1), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 928 | 6...7 => len_dist_case!(2), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 928 | 6...7 => len_dist_case!(2), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 929 | 8...9 => len_dist_case!(3), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 929 | 8...9 => len_dist_case!(3), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 930 | 10...11 => len_dist_case!(4), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 930 | 10...11 => len_dist_case!(4), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 931 | 12...13 => len_dist_case!(5), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 931 | 12...13 => len_dist_case!(5), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/writer.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | try!(self.writer.write(result)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [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: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 932 | 14...15 => len_dist_case!(6), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 932 | 14...15 => len_dist_case!(6), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/writer.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | try!(self.writer.write(result)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [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: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 933 | 16...17 => len_dist_case!(7), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 933 | 16...17 => len_dist_case!(7), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 934 | 18...19 => len_dist_case!(8), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 934 | 18...19 => len_dist_case!(8), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 935 | 20...21 => len_dist_case!(9), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 935 | 20...21 => len_dist_case!(9), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 936 | 22...23 => len_dist_case!(10), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 936 | 22...23 => len_dist_case!(10), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 937 | 24...25 => len_dist_case!(11), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 937 | 24...25 => len_dist_case!(11), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/writer.rs:75:8 [INFO] [stderr] | [INFO] [stderr] 75 | decoder.write(&encoded).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 938 | 26...27 => len_dist_case!(12), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 938 | 26...27 => len_dist_case!(12), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/writer.rs:84:8 [INFO] [stderr] | [INFO] [stderr] 84 | decoder.write(&encoded).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 939 | 28...29 => len_dist_case!(13), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 939 | 28...29 => len_dist_case!(13), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/utils.rs:21:12 [INFO] [stderr] | [INFO] [stderr] 21 | if bytes.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `bytes.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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/utils.rs:25:24 [INFO] [stderr] | [INFO] [stderr] 25 | decoded.extend(bytes.iter().map(|v| *v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `bytes.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] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/reader.rs:181:16 [INFO] [stderr] | [INFO] [stderr] 181 | if input.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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] error: Could not compile `inflate`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:200:33 [INFO] [stderr] | [INFO] [stderr] 200 | self.state.v |= (b as u32) << self.state.n; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(b)` [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: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:288:17 [INFO] [stderr] | [INFO] [stderr] 288 | for bits in 1..$max_bits + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use: `1..=7` [INFO] [stderr] ... [INFO] [stderr] 327 | / with_codes!(clens, 7 => u8, |i: u8, code: u8, bits| -> _ { [INFO] [stderr] 328 | | /*let base = match BIT_REV_U8.get((code << (8 - bits)) as usize) { [INFO] [stderr] 329 | | Some(&base) => base, [INFO] [stderr] 330 | | None => return Err("invalid length code".to_owned()) [INFO] [stderr] ... | [INFO] [stderr] 336 | | Ok(()) [INFO] [stderr] 337 | | }); [INFO] [stderr] | |___________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:288:17 [INFO] [stderr] | [INFO] [stderr] 288 | for bits in 1..$max_bits + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use: `1..=15` [INFO] [stderr] ... [INFO] [stderr] 419 | / with_codes!(clens, 15 => u16, |i: u16, code: u16, bits: u8| -> _ { [INFO] [stderr] 420 | | let entry = i | ((bits as u16) << 12); [INFO] [stderr] 421 | | if bits <= 8 { [INFO] [stderr] 422 | | let base = match BIT_REV_U8.get((code << (8 - bits)) as usize) { [INFO] [stderr] ... | [INFO] [stderr] 471 | | Ok(()) [INFO] [stderr] 472 | | }); [INFO] [stderr] | |___________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:420:30 [INFO] [stderr] | [INFO] [stderr] 420 | let entry = i | ((bits as u16) << 12); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(bits)` [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:450:57 [INFO] [stderr] | [INFO] [stderr] 450 | patterns[low as usize] = idx | 0x800 | ((min_bits as u16) << 12); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(min_bits)` [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 adding a `Default` implementation for `InflateStream` [INFO] [stderr] --> src/lib.rs:564:5 [INFO] [stderr] | [INFO] [stderr] 564 | / pub fn new() -> InflateStream { [INFO] [stderr] 565 | | let state = Bits(BlockHeader, BitState { n: 0, v: 0 }); [INFO] [stderr] 566 | | let buffer = Vec::with_capacity(32 * 1024); [INFO] [stderr] 567 | | InflateStream::with_state_and_buffer(state, buffer, Checksum::none()) [INFO] [stderr] 568 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 561 | impl Default for InflateStream { [INFO] [stderr] 562 | fn default() -> Self { [INFO] [stderr] 563 | Self::new() [INFO] [stderr] 564 | } [INFO] [stderr] 565 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 63 [INFO] [stderr] --> src/lib.rs:668:5 [INFO] [stderr] | [INFO] [stderr] 668 | / fn next_state(&mut self, data: &[u8]) -> Result { [INFO] [stderr] 669 | | macro_rules! ok_bytes (($n:expr, $state:expr) => ({ [INFO] [stderr] 670 | | self.state = Some($state); [INFO] [stderr] 671 | | Ok($n) [INFO] [stderr] ... | [INFO] [stderr] 984 | | } [INFO] [stderr] 985 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:731:22 [INFO] [stderr] | [INFO] [stderr] 731 | if (((cmf as u16) << 8) | b as u16) % 31 != 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(cmf)` [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:731:43 [INFO] [stderr] | [INFO] [stderr] 731 | if (((cmf as u16) << 8) | b as u16) % 31 != 0 { [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(b)` [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:851:87 [INFO] [stderr] | [INFO] [stderr] 851 | ok!(BlockDynCodeLengths(try!(CodeLengthReader::new(clens, hlit as u16 + 256, hdist)))) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(hlit)` [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: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 879 | push_or!(code, ok!({stream = save; next!(0)})); [INFO] [stderr] | ------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::eval_order_dependence)] on by default [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:879:61 [INFO] [stderr] | [INFO] [stderr] 879 | push_or!(code, ok!({stream = save; next!(0)})); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:892:41 [INFO] [stderr] | [INFO] [stderr] 892 | $code as u16 [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(code)` [INFO] [stderr] ... [INFO] [stderr] 906 | 1...8 => len!(code, 0), [INFO] [stderr] | ------------- in this macro invocation [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:895:56 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 906 | 1...8 => len!(code, 0), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + u16::from(match stream.take($n) { [INFO] [stderr] 896 | Some(v) => v, [INFO] [stderr] 897 | None => return ok!($next) [INFO] [stderr] 898 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 906 | 1...8 => len!(code, 0), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:895:72 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 906 | 1...8 => len!(code, 0), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:892:41 [INFO] [stderr] | [INFO] [stderr] 892 | $code as u16 [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(code)` [INFO] [stderr] ... [INFO] [stderr] 907 | 9...12 => len!(code, 1), [INFO] [stderr] | ------------- in this macro invocation [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:895:56 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 907 | 9...12 => len!(code, 1), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + u16::from(match stream.take($n) { [INFO] [stderr] 896 | Some(v) => v, [INFO] [stderr] 897 | None => return ok!($next) [INFO] [stderr] 898 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 907 | 9...12 => len!(code, 1), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:895:72 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 907 | 9...12 => len!(code, 1), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:892:41 [INFO] [stderr] | [INFO] [stderr] 892 | $code as u16 [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(code)` [INFO] [stderr] ... [INFO] [stderr] 908 | 13...16 => len!(code, 2), [INFO] [stderr] | ------------- in this macro invocation [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:895:56 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 908 | 13...16 => len!(code, 2), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + u16::from(match stream.take($n) { [INFO] [stderr] 896 | Some(v) => v, [INFO] [stderr] 897 | None => return ok!($next) [INFO] [stderr] 898 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 908 | 13...16 => len!(code, 2), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:895:72 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 908 | 13...16 => len!(code, 2), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:892:41 [INFO] [stderr] | [INFO] [stderr] 892 | $code as u16 [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(code)` [INFO] [stderr] ... [INFO] [stderr] 909 | 17...20 => len!(code, 3), [INFO] [stderr] | ------------- in this macro invocation [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:895:56 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 909 | 17...20 => len!(code, 3), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + u16::from(match stream.take($n) { [INFO] [stderr] 896 | Some(v) => v, [INFO] [stderr] 897 | None => return ok!($next) [INFO] [stderr] 898 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 909 | 17...20 => len!(code, 3), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:895:72 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 909 | 17...20 => len!(code, 3), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:892:41 [INFO] [stderr] | [INFO] [stderr] 892 | $code as u16 [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(code)` [INFO] [stderr] ... [INFO] [stderr] 910 | 21...24 => len!(code, 4), [INFO] [stderr] | ------------- in this macro invocation [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:895:56 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 910 | 21...24 => len!(code, 4), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + u16::from(match stream.take($n) { [INFO] [stderr] 896 | Some(v) => v, [INFO] [stderr] 897 | None => return ok!($next) [INFO] [stderr] 898 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 910 | 21...24 => len!(code, 4), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:895:72 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 910 | 21...24 => len!(code, 4), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:892:41 [INFO] [stderr] | [INFO] [stderr] 892 | $code as u16 [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(code)` [INFO] [stderr] ... [INFO] [stderr] 911 | 25...28 => len!(code, 5), [INFO] [stderr] | ------------- in this macro invocation [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:895:56 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 911 | 25...28 => len!(code, 5), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + u16::from(match stream.take($n) { [INFO] [stderr] 896 | Some(v) => v, [INFO] [stderr] 897 | None => return ok!($next) [INFO] [stderr] 898 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 911 | 25...28 => len!(code, 5), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:895:72 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 911 | 25...28 => len!(code, 5), [INFO] [stderr] | ------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:895:56 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 912 | 29 => len!(29, 0), [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + u16::from(match stream.take($n) { [INFO] [stderr] 896 | Some(v) => v, [INFO] [stderr] 897 | None => return ok!($next) [INFO] [stderr] 898 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 912 | 29 => len!(29, 0), [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:895:72 [INFO] [stderr] | [INFO] [stderr] 895 | } - 1) << $bits) + take!($bits => {stream = save; next!(0)}) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 912 | 29 => len!(29, 0), [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:913:88 [INFO] [stderr] | [INFO] [stderr] 913 | _ => return Err(format!("bad DEFLATE len code {}", code as u16 + 256)), [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(code)` [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: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 926 | 0...3 => len_dist_case!(0), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 926 | 0...3 => len_dist_case!(0), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 927 | 4...5 => len_dist_case!(1), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 927 | 4...5 => len_dist_case!(1), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 928 | 6...7 => len_dist_case!(2), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 928 | 6...7 => len_dist_case!(2), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 929 | 8...9 => len_dist_case!(3), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 929 | 8...9 => len_dist_case!(3), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 930 | 10...11 => len_dist_case!(4), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 930 | 10...11 => len_dist_case!(4), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 931 | 12...13 => len_dist_case!(5), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 931 | 12...13 => len_dist_case!(5), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 932 | 14...15 => len_dist_case!(6), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 932 | 14...15 => len_dist_case!(6), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 933 | 16...17 => len_dist_case!(7), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 933 | 16...17 => len_dist_case!(7), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 934 | 18...19 => len_dist_case!(8), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 934 | 18...19 => len_dist_case!(8), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 935 | 20...21 => len_dist_case!(9), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 935 | 20...21 => len_dist_case!(9), [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 936 | 22...23 => len_dist_case!(10), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 936 | 22...23 => len_dist_case!(10), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 937 | 24...25 => len_dist_case!(11), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 937 | 24...25 => len_dist_case!(11), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 938 | 26...27 => len_dist_case!(12), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 938 | 26...27 => len_dist_case!(12), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/lib.rs:744:73 [INFO] [stderr] | [INFO] [stderr] 744 | macro_rules! ok (($next:expr) => (ok_state!(Bits($next, stream.fill())))); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 939 | 28...29 => len_dist_case!(13), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/lib.rs:923:69 [INFO] [stderr] | [INFO] [stderr] 923 | len_dist!(len, dist_code, $bits => {stream = save; next!(len)}, next!(0)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 939 | 28...29 => len_dist_case!(13), [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `inflate`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "294813256d8ec26536f3ab9f43226238cc58e6f198510b0596596577d720d979"` [INFO] running `"docker" "rm" "-f" "294813256d8ec26536f3ab9f43226238cc58e6f198510b0596596577d720d979"` [INFO] [stdout] 294813256d8ec26536f3ab9f43226238cc58e6f198510b0596596577d720d979