[INFO] cloning repository https://github.com/tehsmeely/lizards
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tehsmeely/lizards" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftehsmeely%2Flizards", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftehsmeely%2Flizards'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ce9ab75aa49ff9bd0a8f7f657f21676b9bdb5073
[INFO] checking tehsmeely/lizards against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftehsmeely%2Flizards" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tehsmeely/lizards
[INFO] finished tweaking git repo https://github.com/tehsmeely/lizards
[INFO] tweaked toml for git repo https://github.com/tehsmeely/lizards written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tehsmeely/lizards on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tehsmeely/lizards 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4a13a4da02d4ed3eeaaa9780fe99575cb471dca06ca971c64a26df7ea1046391
[INFO] running `Command { std: "docker" "start" "-a" "4a13a4da02d4ed3eeaaa9780fe99575cb471dca06ca971c64a26df7ea1046391", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4a13a4da02d4ed3eeaaa9780fe99575cb471dca06ca971c64a26df7ea1046391", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4a13a4da02d4ed3eeaaa9780fe99575cb471dca06ca971c64a26df7ea1046391", kill_on_drop: false }`
[INFO] [stdout] 4a13a4da02d4ed3eeaaa9780fe99575cb471dca06ca971c64a26df7ea1046391
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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 -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a6e60d292783c4e6e68ea0bb6ae46e5412d798038be6c544fdfa1a63ad2439e3
[INFO] running `Command { std: "docker" "start" "-a" "a6e60d292783c4e6e68ea0bb6ae46e5412d798038be6c544fdfa1a63ad2439e3", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.39
[INFO] [stderr]    Compiling unicode-ident v1.0.0
[INFO] [stderr]    Compiling syn v1.0.95
[INFO] [stderr]    Compiling serde_derive v1.0.137
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]    Compiling serde v1.0.137
[INFO] [stderr]     Checking os_str_bytes v6.0.1
[INFO] [stderr]    Compiling paste v1.0.7
[INFO] [stderr]    Compiling heck v0.4.0
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking termcolor v1.1.3
[INFO] [stderr]     Checking textwrap v0.15.0
[INFO] [stderr]     Checking clap_lex v0.2.0
[INFO] [stderr]     Checking dot v0.1.4
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling indexmap v1.8.1
[INFO] [stderr]    Compiling priority-queue v1.2.1
[INFO] [stderr]    Compiling quote v1.0.18
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rmp v0.8.11
[INFO] [stderr]    Compiling clap_derive v3.1.18
[INFO] [stderr]     Checking clap v3.1.18
[INFO] [stderr]     Checking rmp-serde v1.1.0
[INFO] [stderr]     Checking lizards v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::VecDeque;
[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 import: `std::fs::File`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `BufWriter`, `Read`, and `Write`
[INFO] [stdout]  --> src/main.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{BufRead, BufReader, BufWriter, Read, Write};
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Range`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::Range;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `output_stream::OutputStream`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use output_stream::OutputStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::str::FromStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::file_io::FileInputOutput`
[INFO] [stdout]   --> src/file_io.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     use crate::file_io::FileInputOutput;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/file_io.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     use std::path::PathBuf;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CodeMap`
[INFO] [stdout]  --> src/header.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::huffman::{CodeMap, HuffmanTree};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/header.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::header::Header`
[INFO] [stdout]   --> src/header.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     use crate::header::Header;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::MAX_LOOKBACK_BUFFER_LEN`
[INFO] [stdout]   --> src/header.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     use crate::MAX_LOOKBACK_BUFFER_LEN;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::huffman::ByteStats`
[INFO] [stdout]  --> src/helpers.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::huffman::ByteStats;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Entry::Vacant`
[INFO] [stdout]  --> src/huffman.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::hash_map::Entry::Vacant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/huffman.rs:158:30
[INFO] [stdout]     |
[INFO] [stdout] 158 |             working_bytes |= (value_bits.set_bits >> num_bits_on_new);
[INFO] [stdout]     |                              ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 158 -             working_bytes |= (value_bits.set_bits >> num_bits_on_new);
[INFO] [stdout] 158 +             working_bytes |= value_bits.set_bits >> num_bits_on_new ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bits`, `ByteStats`, `CodeMap`, `build_tree`, `pack_to_u8`, `tree_to_code_map`, and `unpack_bytes`
[INFO] [stdout]    --> src/huffman.rs:451:9
[INFO] [stdout]     |
[INFO] [stdout] 451 |         build_tree, pack_to_u8, tree_to_code_map, unpack_bytes, BitStream, Bits, ByteStats, CodeMap,
[INFO] [stdout]     |         ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^             ^^^^  ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]    --> src/huffman.rs:453:9
[INFO] [stdout]     |
[INFO] [stdout] 453 |     use std::collections::HashMap;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering`
[INFO] [stdout]    --> src/huffman.rs:455:29
[INFO] [stdout]     |
[INFO] [stdout] 455 |     use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stdout]     |                             ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::OffsetLen`
[INFO] [stdout]    --> src/offset_len.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |     use super::OffsetLen;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/output_stream.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     use std::collections::HashMap;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufWriter` and `Write`
[INFO] [stdout]   --> src/output_stream.rs:92:19
[INFO] [stdout]    |
[INFO] [stdout] 92 |     use std::io::{BufWriter, Write};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bits` and `CodeMap`
[INFO] [stdout]   --> src/output_stream.rs:94:26
[INFO] [stdout]    |
[INFO] [stdout] 94 |     use crate::huffman::{Bits, CodeMap};
[INFO] [stdout]    |                          ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::output_stream::OutputStream`
[INFO] [stdout]   --> src/output_stream.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     use crate::output_stream::OutputStream;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EncodedValue` and `helpers`
[INFO] [stdout]   --> src/output_stream.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |     use crate::{helpers, EncodedValue};
[INFO] [stdout]    |                 ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::VecDeque;
[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 import: `std::fs::File`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `BufWriter`, `Read`, and `Write`
[INFO] [stdout]  --> src/main.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{BufRead, BufReader, BufWriter, Read, Write};
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Range`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::Range;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `output_stream::OutputStream`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use output_stream::OutputStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::str::FromStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CodeMap`
[INFO] [stdout]  --> src/header.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::huffman::{CodeMap, HuffmanTree};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/header.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::huffman::ByteStats`
[INFO] [stdout]  --> src/helpers.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::huffman::ByteStats;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Entry::Vacant`
[INFO] [stdout]  --> src/huffman.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::hash_map::Entry::Vacant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/huffman.rs:158:30
[INFO] [stdout]     |
[INFO] [stdout] 158 |             working_bytes |= (value_bits.set_bits >> num_bits_on_new);
[INFO] [stdout]     |                              ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 158 -             working_bytes |= (value_bits.set_bits >> num_bits_on_new);
[INFO] [stdout] 158 +             working_bytes |= value_bits.set_bits >> num_bits_on_new ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/output_stream.rs:92:30
[INFO] [stdout]    |
[INFO] [stdout] 92 |     use std::io::{BufWriter, Write};
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_bytes_left`
[INFO] [stdout]    --> src/decode.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |             num_bytes_left,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_bytes_left`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset_len`
[INFO] [stdout]    --> src/decode.rs:140:48
[INFO] [stdout]     |
[INFO] [stdout] 140 |             RawByteReadOnFinish::FinaliseMatch(offset_len),
[INFO] [stdout]     |                                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/encode.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 |                     let mut count = byte_stats.entry(b).or_insert(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: variable does not need to be mutable
[INFO] [stdout]   --> src/encode.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut writer = BufWriter::new(outf);
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/encode.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut debug_writer = match file_io.debug_encoded_filename.as_deref() {
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_bytes_left`
[INFO] [stdout]    --> src/decode.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |             num_bytes_left,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_bytes_left`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset_len`
[INFO] [stdout]    --> src/decode.rs:140:48
[INFO] [stdout]     |
[INFO] [stdout] 140 |             RawByteReadOnFinish::FinaliseMatch(offset_len),
[INFO] [stdout]     |                                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/huffman.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         mut end_code: &mut Option<Bits>,
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/encode.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 |                     let mut count = byte_stats.entry(b).or_insert(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: variable does not need to be mutable
[INFO] [stdout]    --> src/huffman.rs:204:21
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn unpack_bytes(mut input_bytes: &Vec<u8>, tree: &HuffmanTree) -> Vec<u8> {
[INFO] [stdout]     |                     ----^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/huffman.rs:362:13
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let mut node_id = AtomicUsize::new(1);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/encode.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut writer = BufWriter::new(outf);
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/encode.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut debug_writer = match file_io.debug_encoded_filename.as_deref() {
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/huffman.rs:614:13
[INFO] [stdout]     |
[INFO] [stdout] 614 |         let mut bitstream = BitStream::new(|| {
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/header.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let mut count = stats.entry(*byte).or_insert(0);
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/huffman.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         mut end_code: &mut Option<Bits>,
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/huffman.rs:204:21
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn unpack_bytes(mut input_bytes: &Vec<u8>, tree: &HuffmanTree) -> Vec<u8> {
[INFO] [stdout]     |                     ----^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG` is never used
[INFO] [stdout]   --> src/main.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const DEBUG: bool = false;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_bytes` is never used
[INFO] [stdout]    --> src/main.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl EncodedValue {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 109 |     fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FinaliseMatch` is never constructed
[INFO] [stdout]    --> src/decode.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | enum RawByteReadOnFinish {
[INFO] [stdout]     |      ------------------- variant in this enum
[INFO] [stdout] 161 |     Nothing,
[INFO] [stdout] 162 |     FinaliseMatch(OffsetLen),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RawByteReadOnFinish` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `u8_iter_str` is never used
[INFO] [stdout]   --> src/helpers.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn u8_iter_str<'a, I: Iterator<Item = &'a u8>>(i: I) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/huffman.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl CodeMap {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(codes: HashMap<u8, Bits>, end_code: Bits) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bitstream_more_than_u64` is never used
[INFO] [stdout]    --> src/huffman.rs:599:8
[INFO] [stdout]     |
[INFO] [stdout] 599 |     fn bitstream_more_than_u64() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/huffman.rs:362:13
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let mut node_id = AtomicUsize::new(1);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lizards` (bin "lizards") due to 2 previous errors; 54 warnings emitted
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/huffman.rs:464:17
[INFO] [stdout]     |
[INFO] [stdout] 464 |             let mut count = stats.entry(*byte).or_insert(0);
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/huffman.rs:491:17
[INFO] [stdout]     |
[INFO] [stdout] 491 |             let mut count = stats.entry(*byte).or_insert(0);
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | /     /// Input filename
[INFO] [stdout] 35 | |     #[clap(short, long)]
[INFO] [stdout] 36 | |     filename: String,
[INFO] [stdout]    | |____________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | /     /// Output filename. If not provided, will be derived based on input filename
[INFO] [stdout] 39 | |     #[clap(short = 'O', long)]
[INFO] [stdout] 40 | |     output_filename: Option<String>,
[INFO] [stdout]    | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/huffman.rs:554:13
[INFO] [stdout]     |
[INFO] [stdout] 554 |         let mut bitstream = BitStream::new(|| match test_count.fetch_add(1, Ordering::Relaxed) {
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/decode.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     writer.write_all(&output_buffer);
[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] 155 |     let _ = writer.write_all(&output_buffer);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/encode.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     input_file_reader.rewind();
[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] 57 |     let _ = input_file_reader.rewind();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/huffman.rs:576:13
[INFO] [stdout]     |
[INFO] [stdout] 576 |         let mut bitstream = BitStream::new(|| {
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]   --> src/huffman.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |             end_code.insert(bits.clone());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 99 |             let _ = end_code.insert(bits.clone());
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             self.output.write(&[chunk_marker.to_u8()]);
[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] 36 |             let _ = self.output.write(&[chunk_marker.to_u8()]);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             self.output.write_all(chunk);
[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] 37 |             let _ = self.output.write_all(chunk);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 writer.write_all(&chunk_marker.to_debug_bytes());
[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] 39 |                 let _ = writer.write_all(&chunk_marker.to_debug_bytes());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 writer.write_all(&bytes.into_bytes());
[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] 49 |                 let _ = writer.write_all(&bytes.into_bytes());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 writer.write_all(&self.buf);
[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] 50 |                 let _ = writer.write_all(&self.buf);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         self.output.write_all(&header.to_bytes());
[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] 57 |         let _ = self.output.write_all(&header.to_bytes());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |             writer.write_all(&header.to_debug_bytes());
[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] 59 |             let _ = writer.write_all(&header.to_debug_bytes());
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 |                     writer.write_all(&offset_len.to_bytes_debug());
[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] 74 |                     let _ = writer.write_all(&offset_len.to_bytes_debug());
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         self.output.flush();
[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] 83 |         let _ = self.output.flush();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |             writer.flush();
[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] 85 |             let _ = writer.flush();
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/huffman.rs:614:13
[INFO] [stdout]     |
[INFO] [stdout] 614 |         let mut bitstream = BitStream::new(|| {
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/output_stream.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 |             let mut output_writer = BufWriter::new(&mut output_buf);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG` is never used
[INFO] [stdout]   --> src/main.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const DEBUG: bool = false;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_bytes` is never used
[INFO] [stdout]    --> src/main.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl EncodedValue {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 109 |     fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FinaliseMatch` is never constructed
[INFO] [stdout]    --> src/decode.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | enum RawByteReadOnFinish {
[INFO] [stdout]     |      ------------------- variant in this enum
[INFO] [stdout] 161 |     Nothing,
[INFO] [stdout] 162 |     FinaliseMatch(OffsetLen),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RawByteReadOnFinish` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bitstream_more_than_u64` is never used
[INFO] [stdout]    --> src/huffman.rs:599:8
[INFO] [stdout]     |
[INFO] [stdout] 599 |     fn bitstream_more_than_u64() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | /     /// Input filename
[INFO] [stdout] 35 | |     #[clap(short, long)]
[INFO] [stdout] 36 | |     filename: String,
[INFO] [stdout]    | |____________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | /     /// Output filename. If not provided, will be derived based on input filename
[INFO] [stdout] 39 | |     #[clap(short = 'O', long)]
[INFO] [stdout] 40 | |     output_filename: Option<String>,
[INFO] [stdout]    | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/decode.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     writer.write_all(&output_buffer);
[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] 155 |     let _ = writer.write_all(&output_buffer);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/encode.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     input_file_reader.rewind();
[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] 57 |     let _ = input_file_reader.rewind();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]   --> src/huffman.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |             end_code.insert(bits.clone());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 99 |             let _ = end_code.insert(bits.clone());
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             self.output.write(&[chunk_marker.to_u8()]);
[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] 36 |             let _ = self.output.write(&[chunk_marker.to_u8()]);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             self.output.write_all(chunk);
[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] 37 |             let _ = self.output.write_all(chunk);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 writer.write_all(&chunk_marker.to_debug_bytes());
[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] 39 |                 let _ = writer.write_all(&chunk_marker.to_debug_bytes());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 writer.write_all(&bytes.into_bytes());
[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] 49 |                 let _ = writer.write_all(&bytes.into_bytes());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 writer.write_all(&self.buf);
[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] 50 |                 let _ = writer.write_all(&self.buf);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         self.output.write_all(&header.to_bytes());
[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] 57 |         let _ = self.output.write_all(&header.to_bytes());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |             writer.write_all(&header.to_debug_bytes());
[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] 59 |             let _ = writer.write_all(&header.to_debug_bytes());
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 |                     writer.write_all(&offset_len.to_bytes_debug());
[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] 74 |                     let _ = writer.write_all(&offset_len.to_bytes_debug());
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         self.output.flush();
[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] 83 |         let _ = self.output.flush();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/output_stream.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |             writer.flush();
[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] 85 |             let _ = writer.flush();
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lizards` (bin "lizards" test) due to 2 previous errors; 46 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "a6e60d292783c4e6e68ea0bb6ae46e5412d798038be6c544fdfa1a63ad2439e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a6e60d292783c4e6e68ea0bb6ae46e5412d798038be6c544fdfa1a63ad2439e3", kill_on_drop: false }`
[INFO] [stdout] a6e60d292783c4e6e68ea0bb6ae46e5412d798038be6c544fdfa1a63ad2439e3
