[INFO] fetching crate rust-unreal-unpak 0.1.0...
[INFO] building rust-unreal-unpak-0.1.0 against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] extracting crate rust-unreal-unpak 0.1.0 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate rust-unreal-unpak 0.1.0
[INFO] finished tweaking crates.io crate rust-unreal-unpak 0.1.0
[INFO] tweaked toml for crates.io crate rust-unreal-unpak 0.1.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rust-unreal-unpak 0.1.0 on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 67 packages to latest compatible versions
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.16)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tokio-byteorder v0.3.0
[INFO] [stderr]   Downloaded compress v0.2.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1b7f016b04ba64d89c5d3b368b111a8ad0470497c787eb3875657aadde17c977
[INFO] running `Command { std: "docker" "start" "-a" "1b7f016b04ba64d89c5d3b368b111a8ad0470497c787eb3875657aadde17c977", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1b7f016b04ba64d89c5d3b368b111a8ad0470497c787eb3875657aadde17c977", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b7f016b04ba64d89c5d3b368b111a8ad0470497c787eb3875657aadde17c977", kill_on_drop: false }`
[INFO] [stdout] 1b7f016b04ba64d89c5d3b368b111a8ad0470497c787eb3875657aadde17c977
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bae7f8fdb51a54d93aa6f370f4643c43b2fc8bbaf17332ea1da53f645a9d7fd1
[INFO] running `Command { std: "docker" "start" "-a" "bae7f8fdb51a54d93aa6f370f4643c43b2fc8bbaf17332ea1da53f645a9d7fd1", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-bigint v0.3.3
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling num-complex v0.3.1
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling num v0.3.1
[INFO] [stderr]    Compiling compress v0.2.1
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tokio-byteorder v0.3.0
[INFO] [stderr]    Compiling rust-unreal-unpak v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use]
[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: `Read`
[INFO] [stdout]  --> src/pak/pak_reader.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::{Cursor, Read, Seek, SeekFrom};
[INFO] [stdout]   |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BigEndian`
[INFO] [stdout]  --> src/pak/pak_reader.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio_byteorder::{LittleEndian, BigEndian, AsyncReadBytesExt};
[INFO] [stdout]   |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pak::*`
[INFO] [stdout]  --> src/lib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use pak::*;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `start` is assigned to, but never used
[INFO] [stdout]    --> src/pak/pak_reader.rs:254:21
[INFO] [stdout]     |
[INFO] [stdout] 254 |             let mut start = 0;
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_start` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `start` is never read
[INFO] [stdout]    --> src/pak/pak_reader.rs:266:21
[INFO] [stdout]     |
[INFO] [stdout] 266 |                     start = idx + 1;
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[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/pak/pak_reader.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let mut header = self.reader.read_buffer(version_size).await?;
[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/pak/pak_reader.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let mut reader = &mut Cursor::new(header);
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/cursor_ext.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             _ => panic!("Invalid decompression type: {:?}", decompress_type)
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/cursor_ext.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |             DecompressType::Zlib => {
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 34 |             DecompressType::GZip => {
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 38 |             _ => panic!("Invalid decompression type: {:?}", decompress_type)
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bytes_read` is never read
[INFO] [stdout]   --> src/cursor_ext.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut bytes_read = 0;
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cursor_ext.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut reader = Cursor::new(buffer);
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Initial`, `RelativeChunkOffsets`, `DeleteRecords`, and `Last` are never constructed
[INFO] [stdout]   --> src/pak/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) enum PakVersions {
[INFO] [stdout]    |                 ----------- variants in this enum
[INFO] [stdout] 20 |     Initial = 1,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     RelativeChunkOffsets = 5,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     DeleteRecords = 6,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     Last,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BUFFER_SIZE` is never used
[INFO] [stdout]   --> src/pak/pak_reader.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | static BUFFER_SIZE: u32 = 32 * 1024;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start`, `flags`, `timestamp`, and `hash` are never read
[INFO] [stdout]   --> src/pak/pak_reader.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct PakEntry {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 33 |     start: u64,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     flags: u8,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 37 |     timestamp: u64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 38 |     hash: Vec<u8>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PakEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cursor_ext.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |             self.seek(SeekFrom::End(index)).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 80 |             let _ = self.seek(SeekFrom::End(index)).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cursor_ext.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |             self.seek(SeekFrom::Start(index as u64)).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 82 |             let _ = self.seek(SeekFrom::Start(index as u64)).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/pak/pak_reader.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         self.reader.seek(SeekFrom::Start(0));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let _ = self.reader.seek(SeekFrom::Start(0));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.16s
[INFO] running `Command { std: "docker" "inspect" "bae7f8fdb51a54d93aa6f370f4643c43b2fc8bbaf17332ea1da53f645a9d7fd1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bae7f8fdb51a54d93aa6f370f4643c43b2fc8bbaf17332ea1da53f645a9d7fd1", kill_on_drop: false }`
[INFO] [stdout] bae7f8fdb51a54d93aa6f370f4643c43b2fc8bbaf17332ea1da53f645a9d7fd1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e1a8f0195bc12708ba46308f91ffd9c7e1b0fcb20ff8d583f86b5bf4e01de1b4
[INFO] running `Command { std: "docker" "start" "-a" "e1a8f0195bc12708ba46308f91ffd9c7e1b0fcb20ff8d583f86b5bf4e01de1b4", kill_on_drop: false }`
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use]
[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: `Read`
[INFO] [stdout]  --> src/pak/pak_reader.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::{Cursor, Read, Seek, SeekFrom};
[INFO] [stdout]   |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BigEndian`
[INFO] [stdout]  --> src/pak/pak_reader.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio_byteorder::{LittleEndian, BigEndian, AsyncReadBytesExt};
[INFO] [stdout]   |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pak::*`
[INFO] [stdout]  --> src/lib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use pak::*;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `start` is assigned to, but never used
[INFO] [stdout]    --> src/pak/pak_reader.rs:254:21
[INFO] [stdout]     |
[INFO] [stdout] 254 |             let mut start = 0;
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_start` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `start` is never read
[INFO] [stdout]    --> src/pak/pak_reader.rs:266:21
[INFO] [stdout]     |
[INFO] [stdout] 266 |                     start = idx + 1;
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[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/pak/pak_reader.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let mut header = self.reader.read_buffer(version_size).await?;
[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/pak/pak_reader.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let mut reader = &mut Cursor::new(header);
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/cursor_ext.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             _ => panic!("Invalid decompression type: {:?}", decompress_type)
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/cursor_ext.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |             DecompressType::Zlib => {
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 34 |             DecompressType::GZip => {
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 38 |             _ => panic!("Invalid decompression type: {:?}", decompress_type)
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bytes_read` is never read
[INFO] [stdout]   --> src/cursor_ext.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut bytes_read = 0;
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cursor_ext.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut reader = Cursor::new(buffer);
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Initial`, `RelativeChunkOffsets`, `DeleteRecords`, and `Last` are never constructed
[INFO] [stdout]   --> src/pak/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) enum PakVersions {
[INFO] [stdout]    |                 ----------- variants in this enum
[INFO] [stdout] 20 |     Initial = 1,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     RelativeChunkOffsets = 5,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     DeleteRecords = 6,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     Last,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BUFFER_SIZE` is never used
[INFO] [stdout]   --> src/pak/pak_reader.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | static BUFFER_SIZE: u32 = 32 * 1024;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start`, `flags`, `timestamp`, and `hash` are never read
[INFO] [stdout]   --> src/pak/pak_reader.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct PakEntry {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 33 |     start: u64,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     flags: u8,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 37 |     timestamp: u64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 38 |     hash: Vec<u8>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PakEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cursor_ext.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |             self.seek(SeekFrom::End(index)).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 80 |             let _ = self.seek(SeekFrom::End(index)).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cursor_ext.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |             self.seek(SeekFrom::Start(index as u64)).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 82 |             let _ = self.seek(SeekFrom::Start(index as u64)).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/pak/pak_reader.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         self.reader.seek(SeekFrom::Start(0));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let _ = self.reader.seek(SeekFrom::Start(0));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rust-unreal-unpak v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/pak/pak_reader.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::{Cursor, Read, Seek, SeekFrom};
[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: `BigEndian`
[INFO] [stdout]  --> src/pak/pak_reader.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio_byteorder::{LittleEndian, BigEndian, AsyncReadBytesExt};
[INFO] [stdout]   |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `start` is assigned to, but never used
[INFO] [stdout]    --> src/pak/pak_reader.rs:254:21
[INFO] [stdout]     |
[INFO] [stdout] 254 |             let mut start = 0;
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_start` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `start` is never read
[INFO] [stdout]    --> src/pak/pak_reader.rs:266:21
[INFO] [stdout]     |
[INFO] [stdout] 266 |                     start = idx + 1;
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[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/pak/pak_reader.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let mut header = self.reader.read_buffer(version_size).await?;
[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/pak/pak_reader.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let mut reader = &mut Cursor::new(header);
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/cursor_ext.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             _ => panic!("Invalid decompression type: {:?}", decompress_type)
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/cursor_ext.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |             DecompressType::Zlib => {
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 34 |             DecompressType::GZip => {
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 38 |             _ => panic!("Invalid decompression type: {:?}", decompress_type)
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bytes_read` is never read
[INFO] [stdout]   --> src/cursor_ext.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut bytes_read = 0;
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cursor_ext.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut reader = Cursor::new(buffer);
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pak`
[INFO] [stdout]   --> src/lib.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let pak = PakFile::from_memory(TEST_FILE_BUFFER.clone()).await.unwrap();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_pak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Initial`, `RelativeChunkOffsets`, `DeleteRecords`, and `Last` are never constructed
[INFO] [stdout]   --> src/pak/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) enum PakVersions {
[INFO] [stdout]    |                 ----------- variants in this enum
[INFO] [stdout] 20 |     Initial = 1,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     RelativeChunkOffsets = 5,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     DeleteRecords = 6,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     Last,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BUFFER_SIZE` is never used
[INFO] [stdout]   --> src/pak/pak_reader.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | static BUFFER_SIZE: u32 = 32 * 1024;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start`, `flags`, `timestamp`, and `hash` are never read
[INFO] [stdout]   --> src/pak/pak_reader.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct PakEntry {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 33 |     start: u64,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     flags: u8,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 37 |     timestamp: u64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 38 |     hash: Vec<u8>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PakEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cursor_ext.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |             self.seek(SeekFrom::End(index)).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 80 |             let _ = self.seek(SeekFrom::End(index)).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cursor_ext.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |             self.seek(SeekFrom::Start(index as u64)).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 82 |             let _ = self.seek(SeekFrom::Start(index as u64)).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/pak/pak_reader.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         self.reader.seek(SeekFrom::Start(0));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let _ = self.reader.seek(SeekFrom::Start(0));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lib.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         file.write_all(buffer.as_slice());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let _ = file.write_all(buffer.as_slice());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.04s
[INFO] running `Command { std: "docker" "inspect" "e1a8f0195bc12708ba46308f91ffd9c7e1b0fcb20ff8d583f86b5bf4e01de1b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e1a8f0195bc12708ba46308f91ffd9c7e1b0fcb20ff8d583f86b5bf4e01de1b4", kill_on_drop: false }`
[INFO] [stdout] e1a8f0195bc12708ba46308f91ffd9c7e1b0fcb20ff8d583f86b5bf4e01de1b4
