[INFO] cloning repository https://github.com/kmeisthax/awsmimg
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kmeisthax/awsmimg" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkmeisthax%2Fawsmimg", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkmeisthax%2Fawsmimg'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 142fff272fc361fb65dabf5d81912d8580fa27b1
[INFO] testing kmeisthax/awsmimg against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkmeisthax%2Fawsmimg" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kmeisthax/awsmimg
[INFO] finished tweaking git repo https://github.com/kmeisthax/awsmimg
[INFO] tweaked toml for git repo https://github.com/kmeisthax/awsmimg written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kmeisthax/awsmimg on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kmeisthax/awsmimg 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6e77dc953d78fd2e0ea5358a48194adbfe4251f884efba6727034e4db3fb285b
[INFO] running `Command { std: "docker" "start" "-a" "6e77dc953d78fd2e0ea5358a48194adbfe4251f884efba6727034e4db3fb285b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6e77dc953d78fd2e0ea5358a48194adbfe4251f884efba6727034e4db3fb285b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6e77dc953d78fd2e0ea5358a48194adbfe4251f884efba6727034e4db3fb285b", kill_on_drop: false }`
[INFO] [stdout] 6e77dc953d78fd2e0ea5358a48194adbfe4251f884efba6727034e4db3fb285b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7d1789236096dab99c02e78ae5abf8c7fe4998da29147ebff37e82733949563a
[INFO] running `Command { std: "docker" "start" "-a" "7d1789236096dab99c02e78ae5abf8c7fe4998da29147ebff37e82733949563a", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling num-traits v0.2.5
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]    Compiling cfg-if v0.1.4
[INFO] [stderr]    Compiling nodrop v0.1.12
[INFO] [stderr]    Compiling scopeguard v0.3.3
[INFO] [stderr]    Compiling memoffset v0.2.1
[INFO] [stderr]    Compiling libc v0.2.42
[INFO] [stderr]    Compiling lazy_static v1.0.1
[INFO] [stderr]    Compiling num-iter v0.1.37
[INFO] [stderr]    Compiling rayon-core v1.4.0
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling byteorder v1.2.3
[INFO] [stderr]    Compiling adler32 v1.0.3
[INFO] [stderr]    Compiling num-bigint v0.2.0
[INFO] [stderr]    Compiling num-complex v0.2.0
[INFO] [stderr]    Compiling num-rational v0.2.1
[INFO] [stderr]    Compiling crossbeam-utils v0.2.2
[INFO] [stderr]    Compiling either v1.5.0
[INFO] [stderr]    Compiling bitflags v1.0.3
[INFO] [stderr]    Compiling arrayvec v0.4.7
[INFO] [stderr]    Compiling color_quant v1.0.1
[INFO] [stderr]    Compiling lzw v0.10.0
[INFO] [stderr]    Compiling inflate v0.4.3
[INFO] [stderr]    Compiling scoped_threadpool v0.1.9
[INFO] [stderr]    Compiling proc-macro2 v0.4.6
[INFO] [stderr]    Compiling argparse v0.2.1
[INFO] [stderr]    Compiling num_cpus v1.8.0
[INFO] [stderr]    Compiling rand v0.4.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.3.1
[INFO] [stderr]    Compiling deflate v0.7.18
[INFO] [stderr]    Compiling gif v0.10.0
[INFO] [stderr]    Compiling quote v0.6.3
[INFO] [stderr]    Compiling crossbeam-deque v0.2.0
[INFO] [stderr]    Compiling syn v0.14.4
[INFO] [stderr]    Compiling rayon v1.0.1
[INFO] [stderr]    Compiling num-rational v0.1.42
[INFO] [stderr]    Compiling png v0.12.0
[INFO] [stderr]    Compiling jpeg-decoder v0.1.15
[INFO] [stderr]    Compiling num-derive v0.2.2
[INFO] [stderr]    Compiling num v0.2.0
[INFO] [stderr]    Compiling image v0.19.0
[INFO] [stderr]    Compiling awsmimg v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::ops::Div`
[INFO] [stdout]  --> src/awsmimg/conversion.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Div;
[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::ops::Div`
[INFO] [stdout]  --> src/awsmimg/decoder.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Div;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GenericImage` and `Pixel`
[INFO] [stdout]  --> src/awsmimg/decoder.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::{GenericImage, ImageBuffer, Primitive, Pixel, LumaA};
[INFO] [stdout]   |             ^^^^^^^^^^^^                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 |         if (bytes_needed == 0) {
[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] 152 -         if (bytes_needed == 0) {
[INFO] [stdout] 152 +         if bytes_needed == 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 |         if (bytes_read == 0) {
[INFO] [stdout]     |            ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 158 -         if (bytes_read == 0) {
[INFO] [stdout] 158 +         if bytes_read == 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 |         if (self.bitbuffer_len < 1) {
[INFO] [stdout]     |            ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 175 -         if (self.bitbuffer_len < 1) {
[INFO] [stdout] 175 +         if self.bitbuffer_len < 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 |         if (self.bitbuffer_len < 1) {
[INFO] [stdout]     |            ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 180 -         if (self.bitbuffer_len < 1) {
[INFO] [stdout] 180 +         if self.bitbuffer_len < 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 |         if (self.initialized == false) {
[INFO] [stdout]     |            ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 194 -         if (self.initialized == false) {
[INFO] [stdout] 194 +         if self.initialized == false  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:378:20
[INFO] [stdout]     |
[INFO] [stdout] 378 |                 if (self.frequency.len() < symbol) {
[INFO] [stdout]     |                    ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 378 -                 if (self.frequency.len() < symbol) {
[INFO] [stdout] 378 +                 if self.frequency.len() < symbol  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/awsmimg/conversion.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut iw;
[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/awsmimg/conversion.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut ih;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> src/awsmimg/formats/agb.rs:84:62
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn encode_indexes<P: Primitive>(&mut self, data: Vec<P>, width: u32, _height: u32) -> io::Result<()> {
[INFO] [stdout]    |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[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/awsmimg/formats/agb.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         for i in 0..size {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/awsmimg/formats/agb.rs:157:62
[INFO] [stdout]     |
[INFO] [stdout] 157 |     fn encode_indexes<P: Primitive>(&mut self, data: Vec<P>, width: u32, _height: u32) -> io::Result<()> {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/awsmimg/formats/agb.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         for i in 0..size {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `readbytes2`
[INFO] [stdout]   --> src/awsmimg/compression/agb.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let readbytes2 = self.r.read(&mut rawtree.get_mut(0..treesize).unwrap())?;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_readbytes2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut lnode : AGBHuffmanNode;
[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/awsmimg/compression/agb.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut rnode : AGBHuffmanNode;
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bytes_read` is never read
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:150:30
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut bytes_read = 0;
[INFO] [stdout]     |                              ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 156 |         bytes_read = self.r.read(&mut buf[0..bytes_needed])?;
[INFO] [stdout]     |         ---------------------------------------------------- `bytes_read` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:300:44
[INFO] [stdout]     |
[INFO] [stdout] 300 |                     AGBHuffmanNode::Branch(j) => 0x80,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:301:42
[INFO] [stdout]     |
[INFO] [stdout] 301 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:304:44
[INFO] [stdout]     |
[INFO] [stdout] 304 |                     AGBHuffmanNode::Branch(j) => 0x40,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:305:42
[INFO] [stdout]     |
[INFO] [stdout] 305 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:319:44
[INFO] [stdout]     |
[INFO] [stdout] 319 |                     AGBHuffmanNode::Branch(j) => 0x80,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:320:42
[INFO] [stdout]     |
[INFO] [stdout] 320 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:323:44
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     AGBHuffmanNode::Branch(j) => 0x40,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:324:42
[INFO] [stdout]     |
[INFO] [stdout] 324 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lastnode` is assigned to, but never used
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:402:13
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let mut lastnode = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_lastnode` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lastnode` is never read
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:431:21
[INFO] [stdout]     |
[INFO] [stdout] 431 |                     lastnode = newpos;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AGBHuffmanNode` is never used
[INFO] [stdout]  --> src/awsmimg/compression/agb.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum AGBHuffmanNode {
[INFO] [stdout]   |      ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AGBHuffmanTree` is never used
[INFO] [stdout]   --> src/awsmimg/compression/agb.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | type AGBHuffmanTree = (AGBHuffmanNode, AGBHuffmanNode);
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AGBHuffmanDecompressor` is never constructed
[INFO] [stdout]   --> src/awsmimg/compression/agb.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct AGBHuffmanDecompressor<'a, R: Read + 'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `read_huffman_header`, `read_huffman_tree`, `read_huffman_tree_internal`, `fill_bit_buffer`, and `get_next_bit` are never used
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:48:8
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl <'a, R: Read + 'a> AGBHuffmanDecompressor<'a, R> {
[INFO] [stdout]     | ----------------------------------------------------- associated items in this implementation
[INFO] [stdout]  48 |     fn new(r: &'a mut R) -> AGBHuffmanDecompressor<'a, R> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn read_huffman_header(&mut self) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     fn read_huffman_tree(&mut self) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn read_huffman_tree_internal(&mut self, rawtree: &Vec<u8>, offset: usize, lnode_leaf: bool, rnode_leaf: bool) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     fn fill_bit_buffer(&mut self) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn get_next_bit(&mut self) -> io::Result<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AGBHuffmanNodeWeight` is never constructed
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:239:8
[INFO] [stdout]     |
[INFO] [stdout] 239 | struct AGBHuffmanNodeWeight {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AGBHuffmanCompressor` is never constructed
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:266:8
[INFO] [stdout]     |
[INFO] [stdout] 266 | struct AGBHuffmanCompressor<'a, W: Write + 'a> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `serialize_huffman_tree`, and `write_huffman_header` are never used
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:280:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | impl<'a, W: Write + 'a> AGBHuffmanCompressor<'a, W> {
[INFO] [stdout]     | --------------------------------------------------- associated items in this implementation
[INFO] [stdout] 280 |     pub fn new(w: &'a mut W, bits_per_symbol: u8) -> AGBHuffmanCompressor<'a, W> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     fn serialize_huffman_tree(&self, tree: &AGBHuffmanTree) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn write_huffman_header(&mut self, rootnode: usize) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Div`
[INFO] [stdout]  --> src/awsmimg/conversion.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Div;
[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::ops::Div`
[INFO] [stdout]  --> src/awsmimg/decoder.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Div;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GenericImage` and `Pixel`
[INFO] [stdout]  --> src/awsmimg/decoder.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::{GenericImage, ImageBuffer, Primitive, Pixel, LumaA};
[INFO] [stdout]   |             ^^^^^^^^^^^^                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 |         if (bytes_needed == 0) {
[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] 152 -         if (bytes_needed == 0) {
[INFO] [stdout] 152 +         if bytes_needed == 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 |         if (bytes_read == 0) {
[INFO] [stdout]     |            ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 158 -         if (bytes_read == 0) {
[INFO] [stdout] 158 +         if bytes_read == 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 |         if (self.bitbuffer_len < 1) {
[INFO] [stdout]     |            ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 175 -         if (self.bitbuffer_len < 1) {
[INFO] [stdout] 175 +         if self.bitbuffer_len < 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 |         if (self.bitbuffer_len < 1) {
[INFO] [stdout]     |            ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 180 -         if (self.bitbuffer_len < 1) {
[INFO] [stdout] 180 +         if self.bitbuffer_len < 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 |         if (self.initialized == false) {
[INFO] [stdout]     |            ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 194 -         if (self.initialized == false) {
[INFO] [stdout] 194 +         if self.initialized == false  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:378:20
[INFO] [stdout]     |
[INFO] [stdout] 378 |                 if (self.frequency.len() < symbol) {
[INFO] [stdout]     |                    ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 378 -                 if (self.frequency.len() < symbol) {
[INFO] [stdout] 378 +                 if self.frequency.len() < symbol  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Div`
[INFO] [stdout]  --> src/awsmimg/conversion.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Div;
[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::ops::Div`
[INFO] [stdout]  --> src/awsmimg/decoder.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Div;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GenericImage` and `Pixel`
[INFO] [stdout]  --> src/awsmimg/decoder.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::{GenericImage, ImageBuffer, Primitive, Pixel, LumaA};
[INFO] [stdout]   |             ^^^^^^^^^^^^                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 |         if (bytes_needed == 0) {
[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] 152 -         if (bytes_needed == 0) {
[INFO] [stdout] 152 +         if bytes_needed == 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 |         if (bytes_read == 0) {
[INFO] [stdout]     |            ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 158 -         if (bytes_read == 0) {
[INFO] [stdout] 158 +         if bytes_read == 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 |         if (self.bitbuffer_len < 1) {
[INFO] [stdout]     |            ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 175 -         if (self.bitbuffer_len < 1) {
[INFO] [stdout] 175 +         if self.bitbuffer_len < 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 |         if (self.bitbuffer_len < 1) {
[INFO] [stdout]     |            ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 180 -         if (self.bitbuffer_len < 1) {
[INFO] [stdout] 180 +         if self.bitbuffer_len < 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 |         if (self.initialized == false) {
[INFO] [stdout]     |            ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 194 -         if (self.initialized == false) {
[INFO] [stdout] 194 +         if self.initialized == false  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:378:20
[INFO] [stdout]     |
[INFO] [stdout] 378 |                 if (self.frequency.len() < symbol) {
[INFO] [stdout]     |                    ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 378 -                 if (self.frequency.len() < symbol) {
[INFO] [stdout] 378 +                 if self.frequency.len() < symbol  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StoreFalse` and `StoreTrue`
[INFO] [stdout]  --> src/decode.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 | use argparse::{ArgumentParser, Store, StoreFalse, StoreTrue};
[INFO] [stdout]   |                                       ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `interpret_direct_format_name`
[INFO] [stdout]   --> src/decode.rs:12:55
[INFO] [stdout]    |
[INFO] [stdout] 12 | use awsmimg::formats::{interpret_indexed_format_name, interpret_direct_format_name};
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/awsmimg/conversion.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut iw;
[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/awsmimg/conversion.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut ih;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> src/awsmimg/formats/agb.rs:84:62
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn encode_indexes<P: Primitive>(&mut self, data: Vec<P>, width: u32, _height: u32) -> io::Result<()> {
[INFO] [stdout]    |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[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/awsmimg/formats/agb.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         for i in 0..size {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/awsmimg/formats/agb.rs:157:62
[INFO] [stdout]     |
[INFO] [stdout] 157 |     fn encode_indexes<P: Primitive>(&mut self, data: Vec<P>, width: u32, _height: u32) -> io::Result<()> {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/awsmimg/formats/agb.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         for i in 0..size {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `readbytes2`
[INFO] [stdout]   --> src/awsmimg/compression/agb.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let readbytes2 = self.r.read(&mut rawtree.get_mut(0..treesize).unwrap())?;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_readbytes2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut lnode : AGBHuffmanNode;
[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/awsmimg/compression/agb.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut rnode : AGBHuffmanNode;
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bytes_read` is never read
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:150:30
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut bytes_read = 0;
[INFO] [stdout]     |                              ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 156 |         bytes_read = self.r.read(&mut buf[0..bytes_needed])?;
[INFO] [stdout]     |         ---------------------------------------------------- `bytes_read` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:300:44
[INFO] [stdout]     |
[INFO] [stdout] 300 |                     AGBHuffmanNode::Branch(j) => 0x80,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:301:42
[INFO] [stdout]     |
[INFO] [stdout] 301 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:304:44
[INFO] [stdout]     |
[INFO] [stdout] 304 |                     AGBHuffmanNode::Branch(j) => 0x40,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:305:42
[INFO] [stdout]     |
[INFO] [stdout] 305 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:319:44
[INFO] [stdout]     |
[INFO] [stdout] 319 |                     AGBHuffmanNode::Branch(j) => 0x80,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:320:42
[INFO] [stdout]     |
[INFO] [stdout] 320 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:323:44
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     AGBHuffmanNode::Branch(j) => 0x40,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:324:42
[INFO] [stdout]     |
[INFO] [stdout] 324 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lastnode` is assigned to, but never used
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:402:13
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let mut lastnode = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_lastnode` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lastnode` is never read
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:431:21
[INFO] [stdout]     |
[INFO] [stdout] 431 |                     lastnode = newpos;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `luma_from_indexes` is never used
[INFO] [stdout]   --> src/awsmimg/conversion.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn luma_from_indexes<'a, S>(data: Vec<S>, maxcol: u16, tsize: (u32, u32), isize: Option<(u32, u32)>) -> Option<Box<ImageBuffer<L...
[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 `encode_palette` is never used
[INFO] [stdout]   --> src/awsmimg/encoder.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait IndexedGraphicsEncoder : IndexedGraphicsProperties {
[INFO] [stdout]    |           ---------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn encode_palette<T: Primitive>(&mut self, palette: Vec<Rgba<T>>) -> io::Result<()>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IndexedGraphicsDecoder` is never used
[INFO] [stdout]   --> src/awsmimg/decoder.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait IndexedGraphicsDecoder : IndexedGraphicsProperties {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_indexes_as_image` is never used
[INFO] [stdout]   --> src/awsmimg/decoder.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn decode_indexes_as_image<'a, E>(enc: &mut E, size: usize, isize: Option<(u32, u32)>) -> io::Result<Box<ImageBuffer<LumaA<u8>, ...
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_indexes_as_image_with_format` is never used
[INFO] [stdout]   --> src/awsmimg/decoder.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn decode_indexes_as_image_with_format<'a, R>(format: IndexedFormat, r: &mut R, size: usize, imgsize: Option<(u32, u32)>) -> io:...
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `attribute_size` is never used
[INFO] [stdout]   --> src/awsmimg/formats/mod.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait IndexedGraphicsProperties {
[INFO] [stdout]    |           ------------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn attribute_size(&self) -> (u32, u32);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AGBHuffmanNode` is never used
[INFO] [stdout]  --> src/awsmimg/compression/agb.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum AGBHuffmanNode {
[INFO] [stdout]   |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AGBHuffmanTree` is never used
[INFO] [stdout]   --> src/awsmimg/compression/agb.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | type AGBHuffmanTree = (AGBHuffmanNode, AGBHuffmanNode);
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AGBHuffmanDecompressor` is never constructed
[INFO] [stdout]   --> src/awsmimg/compression/agb.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct AGBHuffmanDecompressor<'a, R: Read + 'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `read_huffman_header`, `read_huffman_tree`, `read_huffman_tree_internal`, `fill_bit_buffer`, and `get_next_bit` are never used
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:48:8
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl <'a, R: Read + 'a> AGBHuffmanDecompressor<'a, R> {
[INFO] [stdout]     | ----------------------------------------------------- associated items in this implementation
[INFO] [stdout]  48 |     fn new(r: &'a mut R) -> AGBHuffmanDecompressor<'a, R> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn read_huffman_header(&mut self) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     fn read_huffman_tree(&mut self) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn read_huffman_tree_internal(&mut self, rawtree: &Vec<u8>, offset: usize, lnode_leaf: bool, rnode_leaf: bool) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     fn fill_bit_buffer(&mut self) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn get_next_bit(&mut self) -> io::Result<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AGBHuffmanNodeWeight` is never constructed
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:239:8
[INFO] [stdout]     |
[INFO] [stdout] 239 | struct AGBHuffmanNodeWeight {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AGBHuffmanCompressor` is never constructed
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:266:8
[INFO] [stdout]     |
[INFO] [stdout] 266 | struct AGBHuffmanCompressor<'a, W: Write + 'a> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `serialize_huffman_tree`, and `write_huffman_header` are never used
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:280:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | impl<'a, W: Write + 'a> AGBHuffmanCompressor<'a, W> {
[INFO] [stdout]     | --------------------------------------------------- associated items in this implementation
[INFO] [stdout] 280 |     pub fn new(w: &'a mut W, bits_per_symbol: u8) -> AGBHuffmanCompressor<'a, W> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     fn serialize_huffman_tree(&self, tree: &AGBHuffmanTree) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn write_huffman_header(&mut self, rootnode: usize) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/awsmimg/conversion.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut iw;
[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/awsmimg/conversion.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut ih;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> src/awsmimg/formats/agb.rs:84:62
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn encode_indexes<P: Primitive>(&mut self, data: Vec<P>, width: u32, _height: u32) -> io::Result<()> {
[INFO] [stdout]    |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[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/awsmimg/formats/agb.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         for i in 0..size {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/awsmimg/formats/agb.rs:157:62
[INFO] [stdout]     |
[INFO] [stdout] 157 |     fn encode_indexes<P: Primitive>(&mut self, data: Vec<P>, width: u32, _height: u32) -> io::Result<()> {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/awsmimg/formats/agb.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         for i in 0..size {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `readbytes2`
[INFO] [stdout]   --> src/awsmimg/compression/agb.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let readbytes2 = self.r.read(&mut rawtree.get_mut(0..treesize).unwrap())?;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_readbytes2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut lnode : AGBHuffmanNode;
[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/awsmimg/compression/agb.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut rnode : AGBHuffmanNode;
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bytes_read` is never read
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:150:30
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut bytes_read = 0;
[INFO] [stdout]     |                              ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 156 |         bytes_read = self.r.read(&mut buf[0..bytes_needed])?;
[INFO] [stdout]     |         ---------------------------------------------------- `bytes_read` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:300:44
[INFO] [stdout]     |
[INFO] [stdout] 300 |                     AGBHuffmanNode::Branch(j) => 0x80,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:301:42
[INFO] [stdout]     |
[INFO] [stdout] 301 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:304:44
[INFO] [stdout]     |
[INFO] [stdout] 304 |                     AGBHuffmanNode::Branch(j) => 0x40,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:305:42
[INFO] [stdout]     |
[INFO] [stdout] 305 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:319:44
[INFO] [stdout]     |
[INFO] [stdout] 319 |                     AGBHuffmanNode::Branch(j) => 0x80,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:320:42
[INFO] [stdout]     |
[INFO] [stdout] 320 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:323:44
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     AGBHuffmanNode::Branch(j) => 0x40,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:324:42
[INFO] [stdout]     |
[INFO] [stdout] 324 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lastnode` is assigned to, but never used
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:402:13
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let mut lastnode = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_lastnode` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lastnode` is never read
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:431:21
[INFO] [stdout]     |
[INFO] [stdout] 431 |                     lastnode = newpos;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `indexes_from_luma` is never used
[INFO] [stdout]   --> src/awsmimg/conversion.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn indexes_from_luma<I, P, S>(image: &I, maxcol: S, tsize: (u32, u32)) -> Vec<S>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IndexedGraphicsEncoder` is never used
[INFO] [stdout]   --> src/awsmimg/encoder.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait IndexedGraphicsEncoder : IndexedGraphicsProperties {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_image_as_indexes` is never used
[INFO] [stdout]   --> src/awsmimg/encoder.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn encode_image_as_indexes<'a, E, I, P, S>(enc: &mut E, image: &I) -> io::Result<()> where I: GenericImage<Pixel=P>, P: Pixel<Su...
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_image_as_indexes_with_format` is never used
[INFO] [stdout]   --> src/awsmimg/encoder.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn encode_image_as_indexes_with_format<'a, W, I, P, S>(format: IndexedFormat, w: &mut W, image: &I) -> io::Result<()> where I: G...
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DirectGraphicsEncoder` is never used
[INFO] [stdout]   --> src/awsmimg/encoder.rs:75:11
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub trait DirectGraphicsEncoder {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_image_as_direct_color_with_format` is never used
[INFO] [stdout]    --> src/awsmimg/encoder.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn encode_image_as_direct_color_with_format<'a, W, I, P, S>(format: DirectFormat, w: &mut W, image: &I) -> io::Result<()> where...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `attribute_size` is never used
[INFO] [stdout]   --> src/awsmimg/formats/mod.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait IndexedGraphicsProperties {
[INFO] [stdout]    |           ------------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn attribute_size(&self) -> (u32, u32);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DirectFormat` is never used
[INFO] [stdout]   --> src/awsmimg/formats/mod.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub enum DirectFormat {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interpret_direct_format_name` is never used
[INFO] [stdout]   --> src/awsmimg/formats/mod.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn interpret_direct_format_name(fmt_given: &str) -> Option<DirectFormat> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_palette` is never used
[INFO] [stdout]   --> src/awsmimg/formats/agb.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn encode_palette<'a, I: Iterator, T: Primitive, W: Write + 'a>(w: &'a mut W, palette: I, use_alpha: bool) -> io::Result<()> where I...
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageRgbaIterator` is never constructed
[INFO] [stdout]   --> src/awsmimg/formats/agb.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct ImageRgbaIterator<'a, I, P, S> where I: Iterator<Item=(u32, u32, P)> + 'a, P: Pixel<Subpixel=S> + 'a, S: Primitive + 'a {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/awsmimg/formats/agb.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl<'a, I, P, S> ImageRgbaIterator<'a, I, P, S> where I: Iterator<Item=(u32, u32, P)> + 'a, P: Pixel<Subpixel=S> + 'a, S: Primitive + 'a {
[INFO] [stdout]    | ----------------------------------------------------------------------------------------------------------------------------------------- associated function in this implementation
[INFO] [stdout] 38 |     pub fn new(i: &'a mut I) -> ImageRgbaIterator<'a, I, P, S> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AGB16Encoder` is never constructed
[INFO] [stdout]    --> src/awsmimg/formats/agb.rs:192:12
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub struct AGB16Encoder<'a, W: Write + 'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new_agb` and `new_ntr` are never used
[INFO] [stdout]    --> src/awsmimg/formats/agb.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | impl<'a, W: Write + 'a> AGB16Encoder<'a, W> {
[INFO] [stdout]     | ------------------------------------------- associated functions in this implementation
[INFO] [stdout] 198 |     pub fn new_agb(write: &'a mut W) -> AGB16Encoder<'a, W> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn new_ntr(write: &'a mut W) -> AGB16Encoder<'a, W> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AGBHuffmanNode` is never used
[INFO] [stdout]  --> src/awsmimg/compression/agb.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum AGBHuffmanNode {
[INFO] [stdout]   |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AGBHuffmanTree` is never used
[INFO] [stdout]   --> src/awsmimg/compression/agb.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | type AGBHuffmanTree = (AGBHuffmanNode, AGBHuffmanNode);
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AGBHuffmanDecompressor` is never constructed
[INFO] [stdout]   --> src/awsmimg/compression/agb.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct AGBHuffmanDecompressor<'a, R: Read + 'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `read_huffman_header`, `read_huffman_tree`, `read_huffman_tree_internal`, `fill_bit_buffer`, and `get_next_bit` are never used
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:48:8
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl <'a, R: Read + 'a> AGBHuffmanDecompressor<'a, R> {
[INFO] [stdout]     | ----------------------------------------------------- associated items in this implementation
[INFO] [stdout]  48 |     fn new(r: &'a mut R) -> AGBHuffmanDecompressor<'a, R> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn read_huffman_header(&mut self) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     fn read_huffman_tree(&mut self) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn read_huffman_tree_internal(&mut self, rawtree: &Vec<u8>, offset: usize, lnode_leaf: bool, rnode_leaf: bool) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     fn fill_bit_buffer(&mut self) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn get_next_bit(&mut self) -> io::Result<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AGBHuffmanNodeWeight` is never constructed
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:239:8
[INFO] [stdout]     |
[INFO] [stdout] 239 | struct AGBHuffmanNodeWeight {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AGBHuffmanCompressor` is never constructed
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:266:8
[INFO] [stdout]     |
[INFO] [stdout] 266 | struct AGBHuffmanCompressor<'a, W: Write + 'a> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `serialize_huffman_tree`, and `write_huffman_header` are never used
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:280:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | impl<'a, W: Write + 'a> AGBHuffmanCompressor<'a, W> {
[INFO] [stdout]     | --------------------------------------------------- associated items in this implementation
[INFO] [stdout] 280 |     pub fn new(w: &'a mut W, bits_per_symbol: u8) -> AGBHuffmanCompressor<'a, W> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     fn serialize_huffman_tree(&self, tree: &AGBHuffmanTree) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn write_huffman_header(&mut self, rootnode: usize) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.33s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.14.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "7d1789236096dab99c02e78ae5abf8c7fe4998da29147ebff37e82733949563a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d1789236096dab99c02e78ae5abf8c7fe4998da29147ebff37e82733949563a", kill_on_drop: false }`
[INFO] [stdout] 7d1789236096dab99c02e78ae5abf8c7fe4998da29147ebff37e82733949563a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0ec5eae40684ece594200a29887d1729d3b126f6716c3c0fbdad146a6fa8aebc
[INFO] running `Command { std: "docker" "start" "-a" "0ec5eae40684ece594200a29887d1729d3b126f6716c3c0fbdad146a6fa8aebc", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stdout] warning: unused import: `std::ops::Div`
[INFO] [stdout]  --> src/awsmimg/conversion.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Div;
[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::ops::Div`
[INFO] [stdout]  --> src/awsmimg/decoder.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Div;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GenericImage` and `Pixel`
[INFO] [stdout]  --> src/awsmimg/decoder.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::{GenericImage, ImageBuffer, Primitive, Pixel, LumaA};
[INFO] [stdout]   |             ^^^^^^^^^^^^                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 |         if (bytes_needed == 0) {
[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] 152 -         if (bytes_needed == 0) {
[INFO] [stdout] 152 +         if bytes_needed == 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 |         if (bytes_read == 0) {
[INFO] [stdout]     |            ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 158 -         if (bytes_read == 0) {
[INFO] [stdout] 158 +         if bytes_read == 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 |         if (self.bitbuffer_len < 1) {
[INFO] [stdout]     |            ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 175 -         if (self.bitbuffer_len < 1) {
[INFO] [stdout] 175 +         if self.bitbuffer_len < 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 |         if (self.bitbuffer_len < 1) {
[INFO] [stdout]     |            ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 180 -         if (self.bitbuffer_len < 1) {
[INFO] [stdout] 180 +         if self.bitbuffer_len < 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 |         if (self.initialized == false) {
[INFO] [stdout]     |            ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 194 -         if (self.initialized == false) {
[INFO] [stdout] 194 +         if self.initialized == false  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:378:20
[INFO] [stdout]     |
[INFO] [stdout] 378 |                 if (self.frequency.len() < symbol) {
[INFO] [stdout]     |                    ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 378 -                 if (self.frequency.len() < symbol) {
[INFO] [stdout] 378 +                 if self.frequency.len() < symbol  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/awsmimg/conversion.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut iw;
[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/awsmimg/conversion.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut ih;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> src/awsmimg/formats/agb.rs:84:62
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn encode_indexes<P: Primitive>(&mut self, data: Vec<P>, width: u32, _height: u32) -> io::Result<()> {
[INFO] [stdout]    |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[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/awsmimg/formats/agb.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         for i in 0..size {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/awsmimg/formats/agb.rs:157:62
[INFO] [stdout]     |
[INFO] [stdout] 157 |     fn encode_indexes<P: Primitive>(&mut self, data: Vec<P>, width: u32, _height: u32) -> io::Result<()> {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/awsmimg/formats/agb.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         for i in 0..size {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `readbytes2`
[INFO] [stdout]   --> src/awsmimg/compression/agb.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let readbytes2 = self.r.read(&mut rawtree.get_mut(0..treesize).unwrap())?;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_readbytes2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut lnode : AGBHuffmanNode;
[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/awsmimg/compression/agb.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut rnode : AGBHuffmanNode;
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bytes_read` is never read
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:150:30
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut bytes_read = 0;
[INFO] [stdout]     |                              ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 156 |         bytes_read = self.r.read(&mut buf[0..bytes_needed])?;
[INFO] [stdout]     |         ---------------------------------------------------- `bytes_read` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:300:44
[INFO] [stdout]     |
[INFO] [stdout] 300 |                     AGBHuffmanNode::Branch(j) => 0x80,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:301:42
[INFO] [stdout]     |
[INFO] [stdout] 301 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:304:44
[INFO] [stdout]     |
[INFO] [stdout] 304 |                     AGBHuffmanNode::Branch(j) => 0x40,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:305:42
[INFO] [stdout]     |
[INFO] [stdout] 305 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:319:44
[INFO] [stdout]     |
[INFO] [stdout] 319 |                     AGBHuffmanNode::Branch(j) => 0x80,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:320:42
[INFO] [stdout]     |
[INFO] [stdout] 320 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:323:44
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     AGBHuffmanNode::Branch(j) => 0x40,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:324:42
[INFO] [stdout]     |
[INFO] [stdout] 324 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lastnode` is assigned to, but never used
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:402:13
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let mut lastnode = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_lastnode` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lastnode` is never read
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:431:21
[INFO] [stdout]     |
[INFO] [stdout] 431 |                     lastnode = newpos;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling awsmimg v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: enum `AGBHuffmanNode` is never used
[INFO] [stdout]  --> src/awsmimg/compression/agb.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum AGBHuffmanNode {
[INFO] [stdout]   |      ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AGBHuffmanTree` is never used
[INFO] [stdout]   --> src/awsmimg/compression/agb.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | type AGBHuffmanTree = (AGBHuffmanNode, AGBHuffmanNode);
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AGBHuffmanDecompressor` is never constructed
[INFO] [stdout]   --> src/awsmimg/compression/agb.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct AGBHuffmanDecompressor<'a, R: Read + 'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `read_huffman_header`, `read_huffman_tree`, `read_huffman_tree_internal`, `fill_bit_buffer`, and `get_next_bit` are never used
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:48:8
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl <'a, R: Read + 'a> AGBHuffmanDecompressor<'a, R> {
[INFO] [stdout]     | ----------------------------------------------------- associated items in this implementation
[INFO] [stdout]  48 |     fn new(r: &'a mut R) -> AGBHuffmanDecompressor<'a, R> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn read_huffman_header(&mut self) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     fn read_huffman_tree(&mut self) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn read_huffman_tree_internal(&mut self, rawtree: &Vec<u8>, offset: usize, lnode_leaf: bool, rnode_leaf: bool) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     fn fill_bit_buffer(&mut self) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn get_next_bit(&mut self) -> io::Result<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AGBHuffmanNodeWeight` is never constructed
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:239:8
[INFO] [stdout]     |
[INFO] [stdout] 239 | struct AGBHuffmanNodeWeight {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AGBHuffmanCompressor` is never constructed
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:266:8
[INFO] [stdout]     |
[INFO] [stdout] 266 | struct AGBHuffmanCompressor<'a, W: Write + 'a> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `serialize_huffman_tree`, and `write_huffman_header` are never used
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:280:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | impl<'a, W: Write + 'a> AGBHuffmanCompressor<'a, W> {
[INFO] [stdout]     | --------------------------------------------------- associated items in this implementation
[INFO] [stdout] 280 |     pub fn new(w: &'a mut W, bits_per_symbol: u8) -> AGBHuffmanCompressor<'a, W> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     fn serialize_huffman_tree(&self, tree: &AGBHuffmanTree) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn write_huffman_header(&mut self, rootnode: usize) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Div`
[INFO] [stdout]  --> src/awsmimg/conversion.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Div;
[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::ops::Div`
[INFO] [stdout]  --> src/awsmimg/decoder.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Div;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GenericImage` and `Pixel`
[INFO] [stdout]  --> src/awsmimg/decoder.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::{GenericImage, ImageBuffer, Primitive, Pixel, LumaA};
[INFO] [stdout]   |             ^^^^^^^^^^^^                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 |         if (bytes_needed == 0) {
[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] 152 -         if (bytes_needed == 0) {
[INFO] [stdout] 152 +         if bytes_needed == 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 |         if (bytes_read == 0) {
[INFO] [stdout]     |            ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 158 -         if (bytes_read == 0) {
[INFO] [stdout] 158 +         if bytes_read == 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 |         if (self.bitbuffer_len < 1) {
[INFO] [stdout]     |            ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 175 -         if (self.bitbuffer_len < 1) {
[INFO] [stdout] 175 +         if self.bitbuffer_len < 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 |         if (self.bitbuffer_len < 1) {
[INFO] [stdout]     |            ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 180 -         if (self.bitbuffer_len < 1) {
[INFO] [stdout] 180 +         if self.bitbuffer_len < 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 |         if (self.initialized == false) {
[INFO] [stdout]     |            ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 194 -         if (self.initialized == false) {
[INFO] [stdout] 194 +         if self.initialized == false  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:378:20
[INFO] [stdout]     |
[INFO] [stdout] 378 |                 if (self.frequency.len() < symbol) {
[INFO] [stdout]     |                    ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 378 -                 if (self.frequency.len() < symbol) {
[INFO] [stdout] 378 +                 if self.frequency.len() < symbol  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Div`
[INFO] [stdout]  --> src/awsmimg/conversion.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Div;
[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::ops::Div`
[INFO] [stdout]  --> src/awsmimg/decoder.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Div;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GenericImage` and `Pixel`
[INFO] [stdout]  --> src/awsmimg/decoder.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::{GenericImage, ImageBuffer, Primitive, Pixel, LumaA};
[INFO] [stdout]   |             ^^^^^^^^^^^^                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 |         if (bytes_needed == 0) {
[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] 152 -         if (bytes_needed == 0) {
[INFO] [stdout] 152 +         if bytes_needed == 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 |         if (bytes_read == 0) {
[INFO] [stdout]     |            ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 158 -         if (bytes_read == 0) {
[INFO] [stdout] 158 +         if bytes_read == 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 |         if (self.bitbuffer_len < 1) {
[INFO] [stdout]     |            ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 175 -         if (self.bitbuffer_len < 1) {
[INFO] [stdout] 175 +         if self.bitbuffer_len < 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 |         if (self.bitbuffer_len < 1) {
[INFO] [stdout]     |            ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 180 -         if (self.bitbuffer_len < 1) {
[INFO] [stdout] 180 +         if self.bitbuffer_len < 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 |         if (self.initialized == false) {
[INFO] [stdout]     |            ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 194 -         if (self.initialized == false) {
[INFO] [stdout] 194 +         if self.initialized == false  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:378:20
[INFO] [stdout]     |
[INFO] [stdout] 378 |                 if (self.frequency.len() < symbol) {
[INFO] [stdout]     |                    ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 378 -                 if (self.frequency.len() < symbol) {
[INFO] [stdout] 378 +                 if self.frequency.len() < symbol  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Div`
[INFO] [stdout]  --> src/awsmimg/conversion.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Div;
[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::ops::Div`
[INFO] [stdout]  --> src/awsmimg/decoder.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Div;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GenericImage` and `Pixel`
[INFO] [stdout]  --> src/awsmimg/decoder.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::{GenericImage, ImageBuffer, Primitive, Pixel, LumaA};
[INFO] [stdout]   |             ^^^^^^^^^^^^                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 |         if (bytes_needed == 0) {
[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] 152 -         if (bytes_needed == 0) {
[INFO] [stdout] 152 +         if bytes_needed == 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 |         if (bytes_read == 0) {
[INFO] [stdout]     |            ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 158 -         if (bytes_read == 0) {
[INFO] [stdout] 158 +         if bytes_read == 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 |         if (self.bitbuffer_len < 1) {
[INFO] [stdout]     |            ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 175 -         if (self.bitbuffer_len < 1) {
[INFO] [stdout] 175 +         if self.bitbuffer_len < 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 |         if (self.bitbuffer_len < 1) {
[INFO] [stdout]     |            ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 180 -         if (self.bitbuffer_len < 1) {
[INFO] [stdout] 180 +         if self.bitbuffer_len < 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 |         if (self.initialized == false) {
[INFO] [stdout]     |            ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 194 -         if (self.initialized == false) {
[INFO] [stdout] 194 +         if self.initialized == false  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:378:20
[INFO] [stdout]     |
[INFO] [stdout] 378 |                 if (self.frequency.len() < symbol) {
[INFO] [stdout]     |                    ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 378 -                 if (self.frequency.len() < symbol) {
[INFO] [stdout] 378 +                 if self.frequency.len() < symbol  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StoreFalse` and `StoreTrue`
[INFO] [stdout]  --> src/decode.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 | use argparse::{ArgumentParser, Store, StoreFalse, StoreTrue};
[INFO] [stdout]   |                                       ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `interpret_direct_format_name`
[INFO] [stdout]   --> src/decode.rs:12:55
[INFO] [stdout]    |
[INFO] [stdout] 12 | use awsmimg::formats::{interpret_indexed_format_name, interpret_direct_format_name};
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/awsmimg/conversion.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |         for (_, _, pixel) in test_output.pixels() {
[INFO] [stdout]     |             ^^^^^^^^^^^^^    -------------------- this is an iterator with items of type `&LumaA<u8>`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected `LumaA<u8>`, found `(_, _, _)`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `LumaA<u8>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/awsmimg/conversion.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |         for (_, _, pixel) in test_output.pixels() {
[INFO] [stdout]     |             ^^^^^^^^^^^^^    -------------------- this is an iterator with items of type `&LumaA<u8>`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected `LumaA<u8>`, found `(_, _, _)`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `LumaA<u8>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/awsmimg/conversion.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |         for (_, _, pixel) in test_output.pixels() {
[INFO] [stdout]     |             ^^^^^^^^^^^^^    -------------------- this is an iterator with items of type `&LumaA<u8>`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected `LumaA<u8>`, found `(_, _, _)`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `LumaA<u8>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImage`
[INFO] [stdout]    --> src/awsmimg/conversion.rs:135:17
[INFO] [stdout]     |
[INFO] [stdout] 135 |     use image::{GenericImage, Pixel, ImageBuffer, LumaA};
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/awsmimg/conversion.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut iw;
[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/awsmimg/conversion.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut ih;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImage`
[INFO] [stdout]    --> src/awsmimg/conversion.rs:135:17
[INFO] [stdout]     |
[INFO] [stdout] 135 |     use image::{GenericImage, Pixel, ImageBuffer, LumaA};
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/awsmimg/conversion.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut iw;
[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/awsmimg/conversion.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut ih;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> src/awsmimg/formats/agb.rs:84:62
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn encode_indexes<P: Primitive>(&mut self, data: Vec<P>, width: u32, _height: u32) -> io::Result<()> {
[INFO] [stdout]    |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[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/awsmimg/formats/agb.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         for i in 0..size {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/awsmimg/formats/agb.rs:157:62
[INFO] [stdout]     |
[INFO] [stdout] 157 |     fn encode_indexes<P: Primitive>(&mut self, data: Vec<P>, width: u32, _height: u32) -> io::Result<()> {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> src/awsmimg/formats/agb.rs:84:62
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn encode_indexes<P: Primitive>(&mut self, data: Vec<P>, width: u32, _height: u32) -> io::Result<()> {
[INFO] [stdout]    |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[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/awsmimg/formats/agb.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         for i in 0..size {
[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/awsmimg/formats/agb.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         for i in 0..size {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/awsmimg/formats/agb.rs:157:62
[INFO] [stdout]     |
[INFO] [stdout] 157 |     fn encode_indexes<P: Primitive>(&mut self, data: Vec<P>, width: u32, _height: u32) -> io::Result<()> {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/awsmimg/formats/agb.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         for i in 0..size {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `readbytes2`
[INFO] [stdout]   --> src/awsmimg/compression/agb.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let readbytes2 = self.r.read(&mut rawtree.get_mut(0..treesize).unwrap())?;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_readbytes2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut lnode : AGBHuffmanNode;
[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/awsmimg/compression/agb.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut rnode : AGBHuffmanNode;
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `readbytes2`
[INFO] [stdout]   --> src/awsmimg/compression/agb.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let readbytes2 = self.r.read(&mut rawtree.get_mut(0..treesize).unwrap())?;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_readbytes2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bytes_read` is never read
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:150:30
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut bytes_read = 0;
[INFO] [stdout]     |                              ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 156 |         bytes_read = self.r.read(&mut buf[0..bytes_needed])?;
[INFO] [stdout]     |         ---------------------------------------------------- `bytes_read` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut lnode : AGBHuffmanNode;
[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/awsmimg/compression/agb.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut rnode : AGBHuffmanNode;
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bytes_read` is never read
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:150:30
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut bytes_read = 0;
[INFO] [stdout]     |                              ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 156 |         bytes_read = self.r.read(&mut buf[0..bytes_needed])?;
[INFO] [stdout]     |         ---------------------------------------------------- `bytes_read` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:300:44
[INFO] [stdout]     |
[INFO] [stdout] 300 |                     AGBHuffmanNode::Branch(j) => 0x80,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:301:42
[INFO] [stdout]     |
[INFO] [stdout] 301 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:304:44
[INFO] [stdout]     |
[INFO] [stdout] 304 |                     AGBHuffmanNode::Branch(j) => 0x40,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:305:42
[INFO] [stdout]     |
[INFO] [stdout] 305 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:319:44
[INFO] [stdout]     |
[INFO] [stdout] 319 |                     AGBHuffmanNode::Branch(j) => 0x80,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:320:42
[INFO] [stdout]     |
[INFO] [stdout] 320 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:323:44
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     AGBHuffmanNode::Branch(j) => 0x40,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:324:42
[INFO] [stdout]     |
[INFO] [stdout] 324 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:300:44
[INFO] [stdout]     |
[INFO] [stdout] 300 |                     AGBHuffmanNode::Branch(j) => 0x80,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `awsmimg` (lib test) due to 1 previous error; 30 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:301:42
[INFO] [stdout]     |
[INFO] [stdout] 301 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:304:44
[INFO] [stdout]     |
[INFO] [stdout] 304 |                     AGBHuffmanNode::Branch(j) => 0x40,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:305:42
[INFO] [stdout]     |
[INFO] [stdout] 305 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:319:44
[INFO] [stdout]     |
[INFO] [stdout] 319 |                     AGBHuffmanNode::Branch(j) => 0x80,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:320:42
[INFO] [stdout]     |
[INFO] [stdout] 320 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:323:44
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     AGBHuffmanNode::Branch(j) => 0x40,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:324:42
[INFO] [stdout]     |
[INFO] [stdout] 324 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lastnode` is assigned to, but never used
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:402:13
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let mut lastnode = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_lastnode` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lastnode` is never read
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:431:21
[INFO] [stdout]     |
[INFO] [stdout] 431 |                     lastnode = newpos;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lastnode` is assigned to, but never used
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:402:13
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let mut lastnode = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_lastnode` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lastnode` is never read
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:431:21
[INFO] [stdout]     |
[INFO] [stdout] 431 |                     lastnode = newpos;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `awsmimg` (bin "awsmrip" test) due to 1 previous error; 32 warnings emitted
[INFO] [stdout] warning: unused import: `GenericImage`
[INFO] [stdout]    --> src/awsmimg/conversion.rs:135:17
[INFO] [stdout]     |
[INFO] [stdout] 135 |     use image::{GenericImage, Pixel, ImageBuffer, LumaA};
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/awsmimg/conversion.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut iw;
[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/awsmimg/conversion.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut ih;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> src/awsmimg/formats/agb.rs:84:62
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn encode_indexes<P: Primitive>(&mut self, data: Vec<P>, width: u32, _height: u32) -> io::Result<()> {
[INFO] [stdout]    |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[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/awsmimg/formats/agb.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         for i in 0..size {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/awsmimg/formats/agb.rs:157:62
[INFO] [stdout]     |
[INFO] [stdout] 157 |     fn encode_indexes<P: Primitive>(&mut self, data: Vec<P>, width: u32, _height: u32) -> io::Result<()> {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/awsmimg/formats/agb.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         for i in 0..size {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `readbytes2`
[INFO] [stdout]   --> src/awsmimg/compression/agb.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let readbytes2 = self.r.read(&mut rawtree.get_mut(0..treesize).unwrap())?;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_readbytes2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut lnode : AGBHuffmanNode;
[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/awsmimg/compression/agb.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut rnode : AGBHuffmanNode;
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bytes_read` is never read
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:150:30
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut bytes_read = 0;
[INFO] [stdout]     |                              ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 156 |         bytes_read = self.r.read(&mut buf[0..bytes_needed])?;
[INFO] [stdout]     |         ---------------------------------------------------- `bytes_read` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:300:44
[INFO] [stdout]     |
[INFO] [stdout] 300 |                     AGBHuffmanNode::Branch(j) => 0x80,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:301:42
[INFO] [stdout]     |
[INFO] [stdout] 301 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:304:44
[INFO] [stdout]     |
[INFO] [stdout] 304 |                     AGBHuffmanNode::Branch(j) => 0x40,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:305:42
[INFO] [stdout]     |
[INFO] [stdout] 305 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:319:44
[INFO] [stdout]     |
[INFO] [stdout] 319 |                     AGBHuffmanNode::Branch(j) => 0x80,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:320:42
[INFO] [stdout]     |
[INFO] [stdout] 320 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:323:44
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     AGBHuffmanNode::Branch(j) => 0x40,
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:324:42
[INFO] [stdout]     |
[INFO] [stdout] 324 |                     AGBHuffmanNode::Leaf(j) => 0x00,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lastnode` is assigned to, but never used
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:402:13
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let mut lastnode = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_lastnode` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lastnode` is never read
[INFO] [stdout]    --> src/awsmimg/compression/agb.rs:431:21
[INFO] [stdout]     |
[INFO] [stdout] 431 |                     lastnode = newpos;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `awsmimg` (bin "awsmimg" test) due to 1 previous error; 30 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "0ec5eae40684ece594200a29887d1729d3b126f6716c3c0fbdad146a6fa8aebc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ec5eae40684ece594200a29887d1729d3b126f6716c3c0fbdad146a6fa8aebc", kill_on_drop: false }`
[INFO] [stdout] 0ec5eae40684ece594200a29887d1729d3b126f6716c3c0fbdad146a6fa8aebc
