[INFO] cloning repository https://github.com/rhellwege/stegosaurus [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rhellwege/stegosaurus" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frhellwege%2Fstegosaurus", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frhellwege%2Fstegosaurus'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7f883ae99055afa1f89432eda91c92744ec3d8e3 [INFO] linting rhellwege/stegosaurus against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frhellwege%2Fstegosaurus" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/rhellwege/stegosaurus [INFO] finished tweaking git repo https://github.com/rhellwege/stegosaurus [INFO] tweaked toml for git repo https://github.com/rhellwege/stegosaurus written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/rhellwege/stegosaurus on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/rhellwege/stegosaurus already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1927fa65007cfcf289e75bed03fb127bb724ad60b9173b8626c9c0af7f8fce61 [INFO] running `Command { std: "docker" "start" "-a" "1927fa65007cfcf289e75bed03fb127bb724ad60b9173b8626c9c0af7f8fce61", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1927fa65007cfcf289e75bed03fb127bb724ad60b9173b8626c9c0af7f8fce61", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1927fa65007cfcf289e75bed03fb127bb724ad60b9173b8626c9c0af7f8fce61", kill_on_drop: false }` [INFO] [stdout] 1927fa65007cfcf289e75bed03fb127bb724ad60b9173b8626c9c0af7f8fce61 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fac3bf9b874c9ba719a556ca956786088bc5bd35d045ae6d0acce70170658731 [INFO] running `Command { std: "docker" "start" "-a" "fac3bf9b874c9ba719a556ca956786088bc5bd35d045ae6d0acce70170658731", kill_on_drop: false }` [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Checking clap v4.5.53 [INFO] [stderr] Checking stegosaurus v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/compression/mod.rs:3:27 [INFO] [stdout] | [INFO] [stdout] 3 | io::{BufReader, Read, Write}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Context`, `Result`, and `anyhow` [INFO] [stdout] --> src/compression/arith.rs:4:14 [INFO] [stdout] | [INFO] [stdout] 4 | use anyhow::{Context, Result, anyhow}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/compression/arith.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{Read, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/arith.rs:33:13 [INFO] [stdout] | [INFO] [stdout] 33 | max_input_symbol: max_input_symbol, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_input_symbol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/arith.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | max_freq: max_freq, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `max_freq` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/arith.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | bits_per_symbol: bits_per_symbol, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bits_per_symbol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/arith.rs:115:13 [INFO] [stdout] | [INFO] [stdout] 115 | max_symbol: max_symbol, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_symbol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/arith.rs:298:13 [INFO] [stdout] | [INFO] [stdout] 298 | bits_per_symbol: bits_per_symbol, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bits_per_symbol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/arith.rs:299:13 [INFO] [stdout] | [INFO] [stdout] 299 | max_symbol: max_symbol, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_symbol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/compression/bitstream.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | use anyhow::{Context, Result, anyhow}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/compression/bitstream.rs:210:25 [INFO] [stdout] | [INFO] [stdout] 210 | *out_buf &= 0xff >> 8 - start; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0xff >> (8 - start)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] = note: `#[warn(clippy::precedence)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/compression/bitstream.rs:231:25 [INFO] [stdout] | [INFO] [stdout] 231 | *out_buf &= 0xff >> 8 - start; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0xff >> (8 - start)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/compression/bitstream.rs:250:17 [INFO] [stdout] | [INFO] [stdout] 250 | self.wbuf_byte >> self.wbuf_index as usize - (n as usize - (8 - start_in_byte)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `self.wbuf_byte >> (self.wbuf_index as usize - (n as usize - (8 - start_in_byte)))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/compression/bitstream.rs:264:25 [INFO] [stdout] | [INFO] [stdout] 264 | let right = self.bytes[end_idx] >> 8 - (n as usize - (8 - start_in_byte)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `self.bytes[end_idx] >> (8 - (n as usize - (8 - start_in_byte)))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/compression/bitstream.rs:287:25 [INFO] [stdout] | [INFO] [stdout] 287 | let right = self.bytes[0] >> 8 - (n as usize - bits_in_left); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `self.bytes[0] >> (8 - (n as usize - bits_in_left))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/compression/bitstream.rs:314:25 [INFO] [stdout] | [INFO] [stdout] 314 | let right = self.wbuf_byte >> self.wbuf_index as usize - (n as usize - bits_in_left); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `self.wbuf_byte >> (self.wbuf_index as usize - (n as usize - bits_in_left))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead`, `cell::RefCell`, and `rc::Rc` [INFO] [stdout] --> src/compression/bwt.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | cell::RefCell, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 3 | io::{BufRead, Cursor, Read, Write}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 4 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num::ToPrimitive` [INFO] [stdout] --> src/compression/bwt.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use num::ToPrimitive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RcReader` [INFO] [stdout] --> src/compression/bwt.rs:9:41 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::compression::{DataTransform, RcReader, bitstream::BitStream}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bwt.rs:439:13 [INFO] [stdout] | [INFO] [stdout] 439 | block_size: block_size, // size of the input needed for one block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bwt.rs:440:13 [INFO] [stdout] | [INFO] [stdout] 440 | original_index_bits: original_index_bits, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `original_index_bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bwt.rs:453:13 [INFO] [stdout] | [INFO] [stdout] 453 | block_size: block_size, // size of the input needed for one block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bwt.rs:454:13 [INFO] [stdout] | [INFO] [stdout] 454 | original_index_bits: original_index_bits, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `original_index_bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bwt.rs:518:13 [INFO] [stdout] | [INFO] [stdout] 518 | block_size: block_size, // size of the input needed for one block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bwt.rs:520:13 [INFO] [stdout] | [INFO] [stdout] 520 | original_index_bits: original_index_bits, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `original_index_bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bwt.rs:533:13 [INFO] [stdout] | [INFO] [stdout] 533 | block_size: block_size, // size of the input needed for one block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bwt.rs:535:13 [INFO] [stdout] | [INFO] [stdout] 535 | original_index_bits: original_index_bits, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `original_index_bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bzrle.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | symbol_a: symbol_a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `symbol_a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bzrle.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | symbol_b: symbol_b, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `symbol_b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bzrle.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | bits_per_symbol: bits_per_symbol, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bits_per_symbol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bzrle.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | symbol_a: symbol_a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `symbol_a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bzrle.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | symbol_b: symbol_b, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `symbol_b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bzrle.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | bits_per_symbol: bits_per_symbol, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bits_per_symbol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/mtf.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | mapping: mapping, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `mapping` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/mtf.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | mapping: mapping, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `mapping` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/compression/rle.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{Read, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/mod.rs:98:67 [INFO] [stdout] | [INFO] [stdout] 98 | Rc::new(RefCell::new(Box::new(IdentityTransform { src: src }))); [INFO] [stdout] | ^^^^^^^^ help: replace it with: `src` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arg` and `Command` [INFO] [stdout] --> src/main.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Arg, Command, Parser}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader` and `BufWriter` [INFO] [stdout] --> src/main.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::{BufReader, BufWriter, Read, Write, stdin, stdout}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RleDecoder` and `RleEncoder` [INFO] [stdout] --> src/main.rs:12:31 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::compression::rle::{RleDecoder, RleEncoder}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/compression/mod.rs:3:27 [INFO] [stdout] | [INFO] [stdout] 3 | io::{BufReader, Read, Write}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Context`, `Result`, and `anyhow` [INFO] [stdout] --> src/compression/arith.rs:4:14 [INFO] [stdout] | [INFO] [stdout] 4 | use anyhow::{Context, Result, anyhow}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/compression/arith.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{Read, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/arith.rs:33:13 [INFO] [stdout] | [INFO] [stdout] 33 | max_input_symbol: max_input_symbol, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_input_symbol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/arith.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | max_freq: max_freq, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `max_freq` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/arith.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | bits_per_symbol: bits_per_symbol, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bits_per_symbol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/arith.rs:115:13 [INFO] [stdout] | [INFO] [stdout] 115 | max_symbol: max_symbol, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_symbol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/arith.rs:298:13 [INFO] [stdout] | [INFO] [stdout] 298 | bits_per_symbol: bits_per_symbol, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bits_per_symbol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/arith.rs:299:13 [INFO] [stdout] | [INFO] [stdout] 299 | max_symbol: max_symbol, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_symbol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/compression/bitstream.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | use anyhow::{Context, Result, anyhow}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/compression/bitstream.rs:210:25 [INFO] [stdout] | [INFO] [stdout] 210 | *out_buf &= 0xff >> 8 - start; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0xff >> (8 - start)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] = note: `#[warn(clippy::precedence)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/compression/bitstream.rs:231:25 [INFO] [stdout] | [INFO] [stdout] 231 | *out_buf &= 0xff >> 8 - start; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0xff >> (8 - start)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/compression/bitstream.rs:250:17 [INFO] [stdout] | [INFO] [stdout] 250 | self.wbuf_byte >> self.wbuf_index as usize - (n as usize - (8 - start_in_byte)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `self.wbuf_byte >> (self.wbuf_index as usize - (n as usize - (8 - start_in_byte)))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/compression/bitstream.rs:264:25 [INFO] [stdout] | [INFO] [stdout] 264 | let right = self.bytes[end_idx] >> 8 - (n as usize - (8 - start_in_byte)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `self.bytes[end_idx] >> (8 - (n as usize - (8 - start_in_byte)))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/compression/bitstream.rs:287:25 [INFO] [stdout] | [INFO] [stdout] 287 | let right = self.bytes[0] >> 8 - (n as usize - bits_in_left); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `self.bytes[0] >> (8 - (n as usize - bits_in_left))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/compression/bitstream.rs:314:25 [INFO] [stdout] | [INFO] [stdout] 314 | let right = self.wbuf_byte >> self.wbuf_index as usize - (n as usize - bits_in_left); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `self.wbuf_byte >> (self.wbuf_index as usize - (n as usize - bits_in_left))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/compression/bitstream.rs:710:33 [INFO] [stdout] | [INFO] [stdout] 710 | rw.write_n_bits_u64(28, 0b000_10011_00110110_10111011_1010); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0001_0011_0011_0110_1011_1011_1010` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] = note: `#[warn(clippy::unusual_byte_groupings)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/compression/bitstream.rs:808:31 [INFO] [stdout] | [INFO] [stdout] 808 | assert_eq!(throwaway, 0b10011_00110110_10); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0b100_1100_1101_1010` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead`, `cell::RefCell`, and `rc::Rc` [INFO] [stdout] --> src/compression/bwt.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | cell::RefCell, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 3 | io::{BufRead, Cursor, Read, Write}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 4 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num::ToPrimitive` [INFO] [stdout] --> src/compression/bwt.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use num::ToPrimitive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RcReader` [INFO] [stdout] --> src/compression/bwt.rs:9:41 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::compression::{DataTransform, RcReader, bitstream::BitStream}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bwt.rs:439:13 [INFO] [stdout] | [INFO] [stdout] 439 | block_size: block_size, // size of the input needed for one block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bwt.rs:440:13 [INFO] [stdout] | [INFO] [stdout] 440 | original_index_bits: original_index_bits, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `original_index_bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bwt.rs:453:13 [INFO] [stdout] | [INFO] [stdout] 453 | block_size: block_size, // size of the input needed for one block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bwt.rs:454:13 [INFO] [stdout] | [INFO] [stdout] 454 | original_index_bits: original_index_bits, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `original_index_bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bwt.rs:518:13 [INFO] [stdout] | [INFO] [stdout] 518 | block_size: block_size, // size of the input needed for one block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bwt.rs:520:13 [INFO] [stdout] | [INFO] [stdout] 520 | original_index_bits: original_index_bits, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `original_index_bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bwt.rs:533:13 [INFO] [stdout] | [INFO] [stdout] 533 | block_size: block_size, // size of the input needed for one block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bwt.rs:535:13 [INFO] [stdout] | [INFO] [stdout] 535 | original_index_bits: original_index_bits, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `original_index_bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bzrle.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | symbol_a: symbol_a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `symbol_a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bzrle.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | symbol_b: symbol_b, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `symbol_b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bzrle.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | bits_per_symbol: bits_per_symbol, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bits_per_symbol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bzrle.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | symbol_a: symbol_a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `symbol_a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bzrle.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | symbol_b: symbol_b, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `symbol_b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/bzrle.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | bits_per_symbol: bits_per_symbol, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bits_per_symbol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/mtf.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | mapping: mapping, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `mapping` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/mtf.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | mapping: mapping, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `mapping` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/compression/rle.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{Read, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/compression/mod.rs:98:67 [INFO] [stdout] | [INFO] [stdout] 98 | Rc::new(RefCell::new(Box::new(IdentityTransform { src: src }))); [INFO] [stdout] | ^^^^^^^^ help: replace it with: `src` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arg` and `Command` [INFO] [stdout] --> src/main.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Arg, Command, Parser}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader` and `BufWriter` [INFO] [stdout] --> src/main.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::{BufReader, BufWriter, Read, Write, stdin, stdout}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RleDecoder` and `RleEncoder` [INFO] [stdout] --> src/main.rs:12:31 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::compression::rle::{RleDecoder, RleEncoder}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufReader` [INFO] [stdout] --> src/main.rs:80:14 [INFO] [stdout] | [INFO] [stdout] 80 | io::{BufReader, Cursor, Read}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/compression/bwt.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/compression/bitstream.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | for i in 0..full_bytes { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/compression/bitstream.rs:354:13 [INFO] [stdout] | [INFO] [stdout] 354 | for i in 0..full_bytes { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/compression/bitstream.rs:409:13 [INFO] [stdout] | [INFO] [stdout] 409 | for i in 0..full_bytes { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/compression/bwt.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | t: &[bool], [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/compression/bwt.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nread` [INFO] [stdout] --> src/compression/bwt.rs:596:21 [INFO] [stdout] | [INFO] [stdout] 596 | let nread = bs [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_nread` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nwrite` [INFO] [stdout] --> src/compression/bwt.rs:609:17 [INFO] [stdout] | [INFO] [stdout] 609 | let nwrite = self.output_buffer.write(&original)?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nwrite` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `symbol_b` [INFO] [stdout] --> src/compression/bzrle.rs:22:55 [INFO] [stdout] | [INFO] [stdout] 22 | fn bijective_to_u32(bijective: &[u16], symbol_a: u16, symbol_b: u16) -> u32 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/compression/bitstream.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | for i in 0..full_bytes { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BitStreamDataTransform` is never used [INFO] [stdout] --> src/compression/mod.rs:46:11 [INFO] [stdout] | [INFO] [stdout] 46 | pub trait BitStreamDataTransform: DataTransform { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/compression/mod.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl Pipeline { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 56 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EOF_SYMBOL` is never used [INFO] [stdout] --> src/compression/arith.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const EOF_SYMBOL: u16 = 256; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `max_input_symbol` is never read [INFO] [stdout] --> src/compression/arith.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct AdaptiveModel { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 24 | cum_freqs: Vec, [INFO] [stdout] 25 | max_input_symbol: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_adaptive_bytes` and `clear` are never used [INFO] [stdout] --> src/compression/arith.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 104 | impl AriEncoder { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn new_adaptive_bytes() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_adaptive_bytes` and `clear` are never used [INFO] [stdout] --> src/compression/arith.rs:308:12 [INFO] [stdout] | [INFO] [stdout] 288 | impl AriDecoder { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 308 | pub fn new_adaptive_bytes() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/compression/bitstream.rs:354:13 [INFO] [stdout] | [INFO] [stdout] 354 | for i in 0..full_bytes { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `peek_byte_offset`, `peek_n_bits_u64_offset`, `peek_n_bits_u64`, `flush`, and `clear` are never used [INFO] [stdout] --> src/compression/bitstream.rs:338:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl BitStream { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 338 | pub fn peek_byte_offset(&mut self, buf_byte: &mut u8, offset_bits: usize) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | pub fn peek_n_bits_u64_offset( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 381 | pub fn peek_n_bits_u64(&mut self, n: u8, dest: &mut u64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 436 | pub fn flush(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 445 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `slow_sa` is never used [INFO] [stdout] --> src/compression/bwt.rs:311:4 [INFO] [stdout] | [INFO] [stdout] 311 | fn slow_sa(s: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_with_payload_transform` is never used [INFO] [stdout] --> src/compression/bwt.rs:444:12 [INFO] [stdout] | [INFO] [stdout] 432 | impl BwtEncoder { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 444 | pub fn new_with_payload_transform( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `payload_transform` is never read [INFO] [stdout] --> src/compression/bwt.rs:496:5 [INFO] [stdout] | [INFO] [stdout] 494 | pub struct BwtDecoder { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 495 | src: Option, [INFO] [stdout] 496 | payload_transform: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_with_payload_transform` is never used [INFO] [stdout] --> src/compression/bwt.rs:524:12 [INFO] [stdout] | [INFO] [stdout] 511 | impl BwtDecoder { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 524 | pub fn new_with_payload_transform( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RUN_THRESHOLD` is never used [INFO] [stdout] --> src/compression/rle.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const RUN_THRESHOLD: u8 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_REPEAT` is never used [INFO] [stdout] --> src/compression/rle.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const MAX_REPEAT: u8 = u8::MAX; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RleEncoder` is never constructed [INFO] [stdout] --> src/compression/rle.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct RleEncoder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `next_byte` are never used [INFO] [stdout] --> src/compression/rle.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl RleEncoder { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn next_byte(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/compression/bitstream.rs:409:13 [INFO] [stdout] | [INFO] [stdout] 409 | for i in 0..full_bytes { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RleDecoder` is never constructed [INFO] [stdout] --> src/compression/rle.rs:104:12 [INFO] [stdout] | [INFO] [stdout] 104 | pub struct RleDecoder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `next_byte` are never used [INFO] [stdout] --> src/compression/rle.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 112 | impl RleDecoder { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 113 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn next_byte(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/arith.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | return p; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 70 - return p; [INFO] [stdout] 70 + p [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/compression/arith.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | self.low = self.low + range * p.lower / p.denom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.low += range * p.lower / p.denom` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `buf` [INFO] [stdout] --> src/compression/arith.rs:235:26 [INFO] [stdout] | [INFO] [stdout] 235 | for i in 0..buf.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 235 - for i in 0..buf.len() { [INFO] [stdout] 235 + for (i, ) in buf.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/arith.rs:356:9 [INFO] [stdout] | [INFO] [stdout] 356 | return Some(symbol); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 356 - return Some(symbol); [INFO] [stdout] 356 + Some(symbol) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/compression/arith.rs:330:9 [INFO] [stdout] | [INFO] [stdout] 330 | self.low = self.low + (range * p.lower) / p.denom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.low += (range * p.lower) / p.denom` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:111:17 [INFO] [stdout] | [INFO] [stdout] 111 | return Ok(nread as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 111 - return Ok(nread as usize); [INFO] [stdout] 111 + Ok(nread as usize) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:118:17 [INFO] [stdout] | [INFO] [stdout] 118 | return Ok(n as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 118 - return Ok(n as usize); [INFO] [stdout] 118 + Ok(n as usize) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | return Ok(n as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 132 - return Ok(n as usize); [INFO] [stdout] 132 + Ok(n as usize) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:147:25 [INFO] [stdout] | [INFO] [stdout] 147 | return Ok(len as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 147 - return Ok(len as usize); [INFO] [stdout] 147 + Ok(len as usize) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:158:25 [INFO] [stdout] | [INFO] [stdout] 158 | return Ok(n as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 158 - return Ok(n as usize); [INFO] [stdout] 158 + Ok(n as usize) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | return Ok(n as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 165 - return Ok(n as usize); [INFO] [stdout] 165 + Ok(n as usize) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/compression/bitstream.rs:656:13 [INFO] [stdout] | [INFO] [stdout] 656 | let mut buf: u64 = 0; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/compression/bitstream.rs:656:13 [INFO] [stdout] | [INFO] [stdout] 656 | let mut buf: u64 = 0; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u8` is unnecessary [INFO] [stdout] --> src/compression/bitstream.rs:115:35 [INFO] [stdout] | [INFO] [stdout] 115 | self.wbuf_byte &= (0xff as u8) [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `0xff_u8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u8` is unnecessary [INFO] [stdout] --> src/compression/bitstream.rs:154:43 [INFO] [stdout] | [INFO] [stdout] 154 | self.wbuf_byte &= (0xff as u8) [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `0xff_u8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | return Ok(n as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 331 - return Ok(n as usize); [INFO] [stdout] 331 + Ok(n as usize) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/compression/bitstream.rs:224:28 [INFO] [stdout] | [INFO] [stdout] 224 | return Ok((8 - start_in_byte as usize) + self.wbuf_index as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `start_in_byte` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual saturating arithmetic [INFO] [stdout] --> src/compression/bitstream.rs:236:29 [INFO] [stdout] | [INFO] [stdout] 236 | let start_in_byte = (offset_bits [INFO] [stdout] | _____________________________^ [INFO] [stdout] 237 | | .checked_sub(self.rbuf_index as usize) [INFO] [stdout] 238 | | .unwrap_or(0)) [INFO] [stdout] | |__________________________^ help: consider using `saturating_sub`: `offset_bits.saturating_sub(self.rbuf_index as usize)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_saturating_arithmetic [INFO] [stdout] = note: `#[warn(clippy::manual_saturating_arithmetic)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:378:9 [INFO] [stdout] | [INFO] [stdout] 378 | return Ok(bits_read); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 378 - return Ok(bits_read); [INFO] [stdout] 378 + Ok(bits_read) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/compression/bwt.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | t: &[bool], [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:431:9 [INFO] [stdout] | [INFO] [stdout] 431 | return Ok(bits_read); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 431 - return Ok(bits_read); [INFO] [stdout] 431 + Ok(bits_read) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:466:9 [INFO] [stdout] | [INFO] [stdout] 466 | return Ok(buf.len()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 466 - return Ok(buf.len()); [INFO] [stdout] 466 + Ok(buf.len()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `buf` [INFO] [stdout] --> src/compression/bitstream.rs:456:18 [INFO] [stdout] | [INFO] [stdout] 456 | for i in 0..buf.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 456 - for i in 0..buf.len() { [INFO] [stdout] 456 + for (i, ) in buf.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `s` [INFO] [stdout] --> src/compression/bwt.rs:69:18 [INFO] [stdout] | [INFO] [stdout] 69 | for i in 0..s.len() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 69 - for i in 0..s.len() { [INFO] [stdout] 69 + for (i, ) in s.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nread` [INFO] [stdout] --> src/compression/bwt.rs:596:21 [INFO] [stdout] | [INFO] [stdout] 596 | let nread = bs [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_nread` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nwrite` [INFO] [stdout] --> src/compression/bwt.rs:609:17 [INFO] [stdout] | [INFO] [stdout] 609 | let nwrite = self.output_buffer.write(&original)?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nwrite` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/compression/bwt.rs:627:13 [INFO] [stdout] | [INFO] [stdout] 627 | ... let s = b"mmiiabscbnnenwgorigmrimskcv,smdklrkgmer s.v serv mmer vme mv msevr ,mer vme slkrjnglkjrgkej b sejb kje skbj krje sk... [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/compression/bwt.rs:653:13 [INFO] [stdout] | [INFO] [stdout] 653 | let s = b"PINEAPPLE"; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/compression/bwt.rs:654:13 [INFO] [stdout] | [INFO] [stdout] 654 | ... let s = b"mmiiabsciamgreaitifo fpaimfiamgreatifobnnenwgorigmrimskcv,smdklrkgmer s.v serv mmer vme mv msevr ,mer vme slkrjnglk... [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `guessed_sa` [INFO] [stdout] --> src/compression/bwt.rs:182:18 [INFO] [stdout] | [INFO] [stdout] 182 | for i in 1..guessed_sa.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 182 - for i in 1..guessed_sa.len() { [INFO] [stdout] 182 + for in guessed_sa.iter().skip(1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `symbol_b` [INFO] [stdout] --> src/compression/bzrle.rs:22:55 [INFO] [stdout] | [INFO] [stdout] 22 | fn bijective_to_u32(bijective: &[u16], symbol_a: u16, symbol_b: u16) -> u32 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `summary_string` [INFO] [stdout] --> src/compression/bwt.rs:235:22 [INFO] [stdout] | [INFO] [stdout] 235 | for i in 0..summary_string.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 235 - for i in 0..summary_string.len() { [INFO] [stdout] 235 + for (i, ) in summary_string.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `out` [INFO] [stdout] --> src/compression/bwt.rs:313:14 [INFO] [stdout] | [INFO] [stdout] 313 | for i in 0..out.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 313 - for i in 0..out.len() { [INFO] [stdout] 313 + for (i, ) in out.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/compression/bwt.rs:367:14 [INFO] [stdout] | [INFO] [stdout] 367 | i += *size as u32; [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `*size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/compression/bwt.rs:390:29 [INFO] [stdout] | [INFO] [stdout] 390 | let b = last_column[i as usize]; [INFO] [stdout] | ^^^^^^^^^^ help: try: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `output` [INFO] [stdout] --> src/compression/bwt.rs:410:14 [INFO] [stdout] | [INFO] [stdout] 410 | for i in 0..last_column.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 410 - for i in 0..last_column.len() { [INFO] [stdout] 410 + for in output.iter_mut().take(last_column.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/compression/mod.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | let mut bs = BitStream::new(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bzrle.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | return result; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 19 - return result; [INFO] [stdout] 19 + result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/compression/bzrle.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | if n % (place * 2) == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace with: `n.is_multiple_of(place * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bzrle.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | return total; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 32 - return total; [INFO] [stdout] 32 + total [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `bijective` [INFO] [stdout] --> src/compression/bzrle.rs:24:14 [INFO] [stdout] | [INFO] [stdout] 24 | for i in 0..bijective.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 24 - for i in 0..bijective.len() { [INFO] [stdout] 24 + for (i, ) in bijective.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/compression/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] 129 | let mut bs2 = BitStream::new(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `mapping` [INFO] [stdout] --> src/compression/mtf.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | for i in 0..256 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 13 - for i in 0..256 { [INFO] [stdout] 13 + for (i, ) in mapping.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `mapping` [INFO] [stdout] --> src/compression/mtf.rs:82:18 [INFO] [stdout] | [INFO] [stdout] 82 | for i in 0..256 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 82 - for i in 0..256 { [INFO] [stdout] 82 + for (i, ) in mapping.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> src/compression/rle.rs:27:21 [INFO] [stdout] | [INFO] [stdout] 27 | let mut r = match self.src.take() { [INFO] [stdout] | _____________________^ [INFO] [stdout] 28 | | Some(s) => s, [INFO] [stdout] 29 | | None => return None, [INFO] [stdout] 30 | | }; [INFO] [stdout] | |_________^ help: try instead: `self.src.take()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BitStreamDataTransform` is never used [INFO] [stdout] --> src/compression/mod.rs:46:11 [INFO] [stdout] | [INFO] [stdout] 46 | pub trait BitStreamDataTransform: DataTransform { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/rle.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | return Ok(i); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 100 - return Ok(i); [INFO] [stdout] 100 + Ok(i) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/compression/mod.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl Pipeline { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 56 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EOF_SYMBOL` is never used [INFO] [stdout] --> src/compression/arith.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const EOF_SYMBOL: u16 = 256; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `max_input_symbol` is never read [INFO] [stdout] --> src/compression/arith.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct AdaptiveModel { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 24 | cum_freqs: Vec, [INFO] [stdout] 25 | max_input_symbol: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/compression/arith.rs:197:12 [INFO] [stdout] | [INFO] [stdout] 104 | impl AriEncoder { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/compression/arith.rs:363:12 [INFO] [stdout] | [INFO] [stdout] 288 | impl AriDecoder { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 363 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `peek_byte_offset`, `peek_n_bits_u64_offset`, `peek_n_bits_u64`, `flush`, and `clear` are never used [INFO] [stdout] --> src/compression/bitstream.rs:338:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl BitStream { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 338 | pub fn peek_byte_offset(&mut self, buf_byte: &mut u8, offset_bits: usize) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | pub fn peek_n_bits_u64_offset( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 381 | pub fn peek_n_bits_u64(&mut self, n: u8, dest: &mut u64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 436 | pub fn flush(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 445 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_with_payload_transform` is never used [INFO] [stdout] --> src/compression/bwt.rs:444:12 [INFO] [stdout] | [INFO] [stdout] 432 | impl BwtEncoder { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 444 | pub fn new_with_payload_transform( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `payload_transform` is never read [INFO] [stdout] --> src/compression/bwt.rs:496:5 [INFO] [stdout] | [INFO] [stdout] 494 | pub struct BwtDecoder { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 495 | src: Option, [INFO] [stdout] 496 | payload_transform: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/rle.rs:176:9 [INFO] [stdout] | [INFO] [stdout] 176 | return Some(self.most_recent); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 176 - return Some(self.most_recent); [INFO] [stdout] 176 + Some(self.most_recent) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_with_payload_transform` is never used [INFO] [stdout] --> src/compression/bwt.rs:524:12 [INFO] [stdout] | [INFO] [stdout] 511 | impl BwtDecoder { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 524 | pub fn new_with_payload_transform( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> src/compression/rle.rs:125:21 [INFO] [stdout] | [INFO] [stdout] 125 | let mut r = match self.src.take() { [INFO] [stdout] | _____________________^ [INFO] [stdout] 126 | | Some(s) => s, [INFO] [stdout] 127 | | None => return None, [INFO] [stdout] 128 | | }; [INFO] [stdout] | |_________^ help: try instead: `self.src.take()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/rle.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | return Ok(i); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 199 - return Ok(i); [INFO] [stdout] 199 + Ok(i) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/arith.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | return p; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 70 - return p; [INFO] [stdout] 70 + p [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/compression/arith.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | self.low = self.low + range * p.lower / p.denom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.low += range * p.lower / p.denom` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `buf` [INFO] [stdout] --> src/compression/arith.rs:235:26 [INFO] [stdout] | [INFO] [stdout] 235 | for i in 0..buf.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 235 - for i in 0..buf.len() { [INFO] [stdout] 235 + for (i, ) in buf.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/arith.rs:356:9 [INFO] [stdout] | [INFO] [stdout] 356 | return Some(symbol); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 356 - return Some(symbol); [INFO] [stdout] 356 + Some(symbol) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:63:27 [INFO] [stdout] | [INFO] [stdout] 63 | let mut pipeline = if cli.compress || (!cli.compress && !cli.decompress) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 63 - let mut pipeline = if cli.compress || (!cli.compress && !cli.decompress) { [INFO] [stdout] 63 + let mut pipeline = if !(!cli.compress && cli.decompress) { [INFO] [stdout] | [INFO] [stdout] 63 - let mut pipeline = if cli.compress || (!cli.compress && !cli.decompress) { [INFO] [stdout] 63 + let mut pipeline = if cli.compress || !cli.decompress { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/compression/arith.rs:330:9 [INFO] [stdout] | [INFO] [stdout] 330 | self.low = self.low + (range * p.lower) / p.denom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.low += (range * p.lower) / p.denom` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/compression/arith.rs:455:21 [INFO] [stdout] | [INFO] [stdout] 455 | assert!(compressed_vec.len() > 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!compressed_vec.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | pipeline.read_to_end(&mut output); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 71 | let _ = pipeline.read_to_end(&mut output); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | output_stream.write_all(&output); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 73 | let _ = output_stream.write_all(&output); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:111:17 [INFO] [stdout] | [INFO] [stdout] 111 | return Ok(nread as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 111 - return Ok(nread as usize); [INFO] [stdout] 111 + Ok(nread as usize) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:118:17 [INFO] [stdout] | [INFO] [stdout] 118 | return Ok(n as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 118 - return Ok(n as usize); [INFO] [stdout] 118 + Ok(n as usize) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | return Ok(n as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 132 - return Ok(n as usize); [INFO] [stdout] 132 + Ok(n as usize) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:147:25 [INFO] [stdout] | [INFO] [stdout] 147 | return Ok(len as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 147 - return Ok(len as usize); [INFO] [stdout] 147 + Ok(len as usize) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:158:25 [INFO] [stdout] | [INFO] [stdout] 158 | return Ok(n as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 158 - return Ok(n as usize); [INFO] [stdout] 158 + Ok(n as usize) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | return Ok(n as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 165 - return Ok(n as usize); [INFO] [stdout] 165 + Ok(n as usize) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u8` is unnecessary [INFO] [stdout] --> src/compression/bitstream.rs:115:35 [INFO] [stdout] | [INFO] [stdout] 115 | self.wbuf_byte &= (0xff as u8) [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `0xff_u8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u8` is unnecessary [INFO] [stdout] --> src/compression/bitstream.rs:154:43 [INFO] [stdout] | [INFO] [stdout] 154 | self.wbuf_byte &= (0xff as u8) [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `0xff_u8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | return Ok(n as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 331 - return Ok(n as usize); [INFO] [stdout] 331 + Ok(n as usize) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/compression/bitstream.rs:224:28 [INFO] [stdout] | [INFO] [stdout] 224 | return Ok((8 - start_in_byte as usize) + self.wbuf_index as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `start_in_byte` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual saturating arithmetic [INFO] [stdout] --> src/compression/bitstream.rs:236:29 [INFO] [stdout] | [INFO] [stdout] 236 | let start_in_byte = (offset_bits [INFO] [stdout] | _____________________________^ [INFO] [stdout] 237 | | .checked_sub(self.rbuf_index as usize) [INFO] [stdout] 238 | | .unwrap_or(0)) [INFO] [stdout] | |__________________________^ help: consider using `saturating_sub`: `offset_bits.saturating_sub(self.rbuf_index as usize)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_saturating_arithmetic [INFO] [stdout] = note: `#[warn(clippy::manual_saturating_arithmetic)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:378:9 [INFO] [stdout] | [INFO] [stdout] 378 | return Ok(bits_read); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 378 - return Ok(bits_read); [INFO] [stdout] 378 + Ok(bits_read) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:431:9 [INFO] [stdout] | [INFO] [stdout] 431 | return Ok(bits_read); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 431 - return Ok(bits_read); [INFO] [stdout] 431 + Ok(bits_read) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bitstream.rs:466:9 [INFO] [stdout] | [INFO] [stdout] 466 | return Ok(buf.len()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 466 - return Ok(buf.len()); [INFO] [stdout] 466 + Ok(buf.len()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `buf` [INFO] [stdout] --> src/compression/bitstream.rs:456:18 [INFO] [stdout] | [INFO] [stdout] 456 | for i in 0..buf.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 456 - for i in 0..buf.len() { [INFO] [stdout] 456 + for (i, ) in buf.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `s` [INFO] [stdout] --> src/compression/bwt.rs:69:18 [INFO] [stdout] | [INFO] [stdout] 69 | for i in 0..s.len() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 69 - for i in 0..s.len() { [INFO] [stdout] 69 + for (i, ) in s.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `guessed_sa` [INFO] [stdout] --> src/compression/bwt.rs:182:18 [INFO] [stdout] | [INFO] [stdout] 182 | for i in 1..guessed_sa.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 182 - for i in 1..guessed_sa.len() { [INFO] [stdout] 182 + for in guessed_sa.iter().skip(1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `summary_string` [INFO] [stdout] --> src/compression/bwt.rs:235:22 [INFO] [stdout] | [INFO] [stdout] 235 | for i in 0..summary_string.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 235 - for i in 0..summary_string.len() { [INFO] [stdout] 235 + for (i, ) in summary_string.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `out` [INFO] [stdout] --> src/compression/bwt.rs:313:14 [INFO] [stdout] | [INFO] [stdout] 313 | for i in 0..out.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 313 - for i in 0..out.len() { [INFO] [stdout] 313 + for (i, ) in out.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/compression/bwt.rs:367:14 [INFO] [stdout] | [INFO] [stdout] 367 | i += *size as u32; [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `*size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/compression/bwt.rs:390:29 [INFO] [stdout] | [INFO] [stdout] 390 | let b = last_column[i as usize]; [INFO] [stdout] | ^^^^^^^^^^ help: try: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `output` [INFO] [stdout] --> src/compression/bwt.rs:410:14 [INFO] [stdout] | [INFO] [stdout] 410 | for i in 0..last_column.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 410 - for i in 0..last_column.len() { [INFO] [stdout] 410 + for in output.iter_mut().take(last_column.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bzrle.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | return result; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 19 - return result; [INFO] [stdout] 19 + result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/compression/bzrle.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | if n % (place * 2) == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace with: `n.is_multiple_of(place * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/bzrle.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | return total; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 32 - return total; [INFO] [stdout] 32 + total [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `bijective` [INFO] [stdout] --> src/compression/bzrle.rs:24:14 [INFO] [stdout] | [INFO] [stdout] 24 | for i in 0..bijective.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 24 - for i in 0..bijective.len() { [INFO] [stdout] 24 + for (i, ) in bijective.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `mapping` [INFO] [stdout] --> src/compression/mtf.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | for i in 0..256 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 13 - for i in 0..256 { [INFO] [stdout] 13 + for (i, ) in mapping.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `mapping` [INFO] [stdout] --> src/compression/mtf.rs:82:18 [INFO] [stdout] | [INFO] [stdout] 82 | for i in 0..256 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 82 - for i in 0..256 { [INFO] [stdout] 82 + for (i, ) in mapping.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> src/compression/rle.rs:27:21 [INFO] [stdout] | [INFO] [stdout] 27 | let mut r = match self.src.take() { [INFO] [stdout] | _____________________^ [INFO] [stdout] 28 | | Some(s) => s, [INFO] [stdout] 29 | | None => return None, [INFO] [stdout] 30 | | }; [INFO] [stdout] | |_________^ help: try instead: `self.src.take()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/rle.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | return Ok(i); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 100 - return Ok(i); [INFO] [stdout] 100 + Ok(i) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/rle.rs:176:9 [INFO] [stdout] | [INFO] [stdout] 176 | return Some(self.most_recent); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 176 - return Some(self.most_recent); [INFO] [stdout] 176 + Some(self.most_recent) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> src/compression/rle.rs:125:21 [INFO] [stdout] | [INFO] [stdout] 125 | let mut r = match self.src.take() { [INFO] [stdout] | _____________________^ [INFO] [stdout] 126 | | Some(s) => s, [INFO] [stdout] 127 | | None => return None, [INFO] [stdout] 128 | | }; [INFO] [stdout] | |_________^ help: try instead: `self.src.take()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/compression/rle.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | return Ok(i); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 199 - return Ok(i); [INFO] [stdout] 199 + Ok(i) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/compression/mod.rs:151:17 [INFO] [stdout] | [INFO] [stdout] 151 | assert!(output_bytes.len() > 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!output_bytes.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:63:27 [INFO] [stdout] | [INFO] [stdout] 63 | let mut pipeline = if cli.compress || (!cli.compress && !cli.decompress) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 63 - let mut pipeline = if cli.compress || (!cli.compress && !cli.decompress) { [INFO] [stdout] 63 + let mut pipeline = if !(!cli.compress && cli.decompress) { [INFO] [stdout] | [INFO] [stdout] 63 - let mut pipeline = if cli.compress || (!cli.compress && !cli.decompress) { [INFO] [stdout] 63 + let mut pipeline = if cli.compress || !cli.decompress { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling .bytes() is very inefficient when data is not in memory [INFO] [stdout] --> src/main.rs:103:32 [INFO] [stdout] | [INFO] [stdout] 103 | let src: Vec = File::open(&file_path) [INFO] [stdout] | ________________________________^ [INFO] [stdout] 104 | | .unwrap() [INFO] [stdout] 105 | | .bytes() [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider using `BufReader` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unbuffered_bytes [INFO] [stdout] = note: `#[warn(clippy::unbuffered_bytes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling .bytes() is very inefficient when data is not in memory [INFO] [stdout] --> src/main.rs:154:36 [INFO] [stdout] | [INFO] [stdout] 154 | let src: Vec = File::open(&file_path) [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 155 | | .unwrap() [INFO] [stdout] 156 | | .bytes() [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider using `BufReader` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unbuffered_bytes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling .bytes() is very inefficient when data is not in memory [INFO] [stdout] --> src/main.rs:164:39 [INFO] [stdout] | [INFO] [stdout] 164 | let result: Vec = Pipeline::from_reader(Box::new(Cursor::new(src.clone()))) [INFO] [stdout] | _______________________________________^ [INFO] [stdout] 165 | | .pipe(Box::new(BwtEncoder::new(block_size, bits_per_idx))) [INFO] [stdout] 166 | | .pipe(Box::new(MtfEncoder::new())) [INFO] [stdout] 167 | | .pipe(Box::new(AriEncoder::new_adaptive_bytes())) [INFO] [stdout] ... | [INFO] [stdout] 170 | | .pipe(Box::new(BwtDecoder::new(block_size, bits_per_idx))) [INFO] [stdout] 171 | | .bytes() [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: consider using `BufReader` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unbuffered_bytes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | pipeline.read_to_end(&mut output); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 71 | let _ = pipeline.read_to_end(&mut output); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | output_stream.write_all(&output); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 73 | let _ = output_stream.write_all(&output); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compression/bzrle.rs:206:13 [INFO] [stdout] | [INFO] [stdout] 206 | encoder.read_to_end(&mut encoded); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 206 | let _ = encoder.read_to_end(&mut encoded); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compression/bzrle.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | decoder.read_to_end(&mut output); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 210 | let _ = decoder.read_to_end(&mut output); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compression/mtf.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | p.read_to_end(&mut output); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 157 | let _ = p.read_to_end(&mut output); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `test_cases` should have an upper case name [INFO] [stdout] --> src/compression/rle.rs:206:12 [INFO] [stdout] | [INFO] [stdout] 206 | static test_cases: &[(&[u8], &[u8])] = &[ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] help: convert the identifier to upper case [INFO] [stdout] | [INFO] [stdout] 206 - static test_cases: &[(&[u8], &[u8])] = &[ [INFO] [stdout] 206 + static TEST_CASES: &[(&[u8], &[u8])] = &[ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&[u8]` instead of cloning the inner type [INFO] [stdout] --> src/compression/rle.rs:233:70 [INFO] [stdout] | [INFO] [stdout] 233 | encoder.attach_reader(Box::new(std::io::Cursor::new(input.clone()))); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compression/rle.rs:238:13 [INFO] [stdout] | [INFO] [stdout] 238 | encoder.read_to_end(&mut output); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 238 | let _ = encoder.read_to_end(&mut output); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&[u8]` instead of cloning the inner type [INFO] [stdout] --> src/compression/rle.rs:247:70 [INFO] [stdout] | [INFO] [stdout] 247 | decoder.attach_reader(Box::new(std::io::Cursor::new(input.clone()))); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compression/rle.rs:252:13 [INFO] [stdout] | [INFO] [stdout] 252 | decoder.read_to_end(&mut output); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 252 | let _ = decoder.read_to_end(&mut output); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.49s [INFO] running `Command { std: "docker" "inspect" "fac3bf9b874c9ba719a556ca956786088bc5bd35d045ae6d0acce70170658731", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fac3bf9b874c9ba719a556ca956786088bc5bd35d045ae6d0acce70170658731", kill_on_drop: false }` [INFO] [stdout] fac3bf9b874c9ba719a556ca956786088bc5bd35d045ae6d0acce70170658731