[INFO] fetching crate bsa 0.2.1...
[INFO] testing bsa-0.2.1 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate bsa 0.2.1 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate bsa 0.2.1
[INFO] finished tweaking crates.io crate bsa 0.2.1
[INFO] tweaked toml for crates.io crate bsa 0.2.1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate bsa 0.2.1 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate bsa 0.2.1 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ce82b7392c936ba699731d35f656f8c7cfb804ef4b8c3c278d03a89b762260f1
[INFO] running `Command { std: "docker" "start" "-a" "ce82b7392c936ba699731d35f656f8c7cfb804ef4b8c3c278d03a89b762260f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ce82b7392c936ba699731d35f656f8c7cfb804ef4b8c3c278d03a89b762260f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce82b7392c936ba699731d35f656f8c7cfb804ef4b8c3c278d03a89b762260f1", kill_on_drop: false }`
[INFO] [stdout] ce82b7392c936ba699731d35f656f8c7cfb804ef4b8c3c278d03a89b762260f1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bd3292d6c6507982e6b3c7963a8b115c150c4b06592cc3d478a387ab823e53a5
[INFO] running `Command { std: "docker" "start" "-a" "bd3292d6c6507982e6b3c7963a8b115c150c4b06592cc3d478a387ab823e53a5", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.29
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.80
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]    Compiling cc v1.0.71
[INFO] [stderr]    Compiling libc v0.2.103
[INFO] [stderr]    Compiling crc32fast v1.2.1
[INFO] [stderr]    Compiling rle-decode-fast v1.0.1
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling libflate_lz77 v1.1.0
[INFO] [stderr]    Compiling libflate v1.1.1
[INFO] [stderr]    Compiling lz4-sys v1.9.2
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling bytemuck_derive v1.0.1
[INFO] [stderr]    Compiling enumflags2_derive v0.7.0
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling bytemuck v1.7.2
[INFO] [stderr]    Compiling enumflags2 v0.7.1
[INFO] [stderr]    Compiling thiserror v1.0.30
[INFO] [stderr]    Compiling proc-macro-crate v1.1.0
[INFO] [stderr]    Compiling num_enum_derive v0.5.4
[INFO] [stderr]    Compiling num_enum v0.5.4
[INFO] [stderr]    Compiling lz4 v1.23.2
[INFO] [stderr]    Compiling bsa v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `derive_var_size_via_size_of`
[INFO] [stdout]   --> src/bin.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) use derive_var_size_via_size_of;
[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: `derive_writable_via_into_iter`
[INFO] [stdout]    --> src/bin.rs:227:16
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub(crate) use derive_writable_via_into_iter;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `derive_readable_via_pod` and `derive_writable_via_pod`
[INFO] [stdout]  --> src/hash.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::bin::{derive_readable_via_pod, derive_writable_via_pod};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `derive_readable_via_pod` and `derive_writable_via_pod`
[INFO] [stdout]  --> src/v001.rs:9:99
[INFO] [stdout]   |
[INFO] [stdout] 9 | ... ReadableFixed, Writable, WritableFixed, derive_readable_via_pod, derive_writable_via_pod};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `derive_readable_via_pod` and `derive_writable_via_pod`
[INFO] [stdout]   --> src/v10x.rs:10:129
[INFO] [stdout]    |
[INFO] [stdout] 10 | ...aram, VarSize, Writable, WritableFixed, derive_readable_via_pod, derive_writable_via_pod, read_struct};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/v10x.rs:516:25
[INFO] [stdout]     |
[INFO] [stdout] 516 |             .map(|(dir, mut pdr)| {
[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/v10x.rs:568:24
[INFO] [stdout]     |
[INFO] [stdout] 568 |             for (file, mut fr) in dir.files.iter().zip(&mut pfcr.data.files) {
[INFO] [stdout]     |                        ----^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `read_with_param_many` is never used
[INFO] [stdout]    --> src/bin.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub trait ReadableParam<P>: VarSize + Sized {
[INFO] [stdout]     |           ------------- associated function in this trait
[INFO] [stdout] ...
[INFO] [stdout] 134 |     fn read_with_param_many<R: Read + Seek>(mut reader: R, num: usize, param: P) -> Result<Vec<Self>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/hash.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | / /// The hash of a name inside a bsa archive.
[INFO] [stdout]  9 | | #[repr(C)]
[INFO] [stdout] 10 | | #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Zeroable, Pod)]
[INFO] [stdout] 11 | | pub struct Hash {
[INFO] [stdout] 12 | |     low: u32,
[INFO] [stdout] 13 | |     high: u32,
[INFO] [stdout] 14 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/hash.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Hash {
[INFO] [stdout]    |            ^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/v001.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | / #[repr(C)]
[INFO] [stdout] 29 | | #[derive(Debug, Clone, Copy, Zeroable, Pod)]
[INFO] [stdout] 30 | | pub struct HeaderV001 {
[INFO] [stdout] 31 | |     pub offset_hash_table: u32,
[INFO] [stdout] 32 | |     pub file_count: u32,
[INFO] [stdout] 33 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/v001.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct HeaderV001 {
[INFO] [stdout]    |            ^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/v001.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 | / #[repr(C)]
[INFO] [stdout] 48 | | #[derive(Debug, Clone, Copy, Zeroable, Pod)]
[INFO] [stdout] 49 | | struct FileRecord {
[INFO] [stdout] 50 | |     pub size: u32,
[INFO] [stdout] 51 | |     pub offset: u32,
[INFO] [stdout] 52 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/v001.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct FileRecord {
[INFO] [stdout]    |        ^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/v10x.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | / #[repr(C)]
[INFO] [stdout] 50 | | #[derive(Debug, Clone, Copy, Zeroable, Pod)]
[INFO] [stdout] 51 | | pub struct RawHeader {
[INFO] [stdout] 52 | |     pub offset: u32,
[INFO] [stdout] ...  |
[INFO] [stdout] 59 | |     pub padding: u16,
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/v10x.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct RawHeader {
[INFO] [stdout]    |            ^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> src/v10x.rs:329:1
[INFO] [stdout]     |
[INFO] [stdout] 329 | / #[repr(C)]
[INFO] [stdout] 330 | | #[derive(Debug, Clone, Copy, Zeroable, Pod)]
[INFO] [stdout] 331 | | pub struct DirRecord {
[INFO] [stdout] 332 | |     pub name_hash: Hash,
[INFO] [stdout] 333 | |     pub file_count: u32,
[INFO] [stdout] 334 | |     pub offset: u32,
[INFO] [stdout] 335 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/v10x.rs:331:12
[INFO] [stdout]     |
[INFO] [stdout] 331 | pub struct DirRecord {
[INFO] [stdout]     |            ^^^^^^^^^ field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> src/v10x.rs:340:1
[INFO] [stdout]     |
[INFO] [stdout] 340 | / #[repr(C)]
[INFO] [stdout] 341 | | #[derive(Debug, Clone, Copy, Zeroable, Pod)]
[INFO] [stdout] 342 | | pub struct FileRecord {
[INFO] [stdout] 343 | |     pub name_hash: Hash,
[INFO] [stdout] 344 | |     pub size: u32,
[INFO] [stdout] 345 | |     pub offset: u32,
[INFO] [stdout] 346 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/v10x.rs:342:12
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub struct FileRecord {
[INFO] [stdout]     |            ^^^^^^^^^^ field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/v105.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / #[repr(C)]
[INFO] [stdout] 11 | | #[derive(Debug, Clone, Copy, Zeroable, Pod)]
[INFO] [stdout] 12 | | pub struct RawDirRecord {
[INFO] [stdout] 13 | |     pub name_hash: Hash,
[INFO] [stdout] ...  |
[INFO] [stdout] 17 | |     pub _padding_post: u32,
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/v105.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct RawDirRecord {
[INFO] [stdout]    |            ^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/bin.rs:229:1
[INFO] [stdout]     |
[INFO] [stdout] 229 | derive_writable_via_into_iter!(Option);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 219 -                 for a in self {
[INFO] [stdout] 219 +                 while let Some() =  in self {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 219 -                 for a in self {
[INFO] [stdout] 219 +                 if let Some() =  in self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.73s
[INFO] running `Command { std: "docker" "inspect" "bd3292d6c6507982e6b3c7963a8b115c150c4b06592cc3d478a387ab823e53a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bd3292d6c6507982e6b3c7963a8b115c150c4b06592cc3d478a387ab823e53a5", kill_on_drop: false }`
[INFO] [stdout] bd3292d6c6507982e6b3c7963a8b115c150c4b06592cc3d478a387ab823e53a5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] da56419f9764ea55bd8953446c91975eb047f1d89d9ab491b0275ba67970c6c5
[INFO] running `Command { std: "docker" "start" "-a" "da56419f9764ea55bd8953446c91975eb047f1d89d9ab491b0275ba67970c6c5", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `derive_var_size_via_size_of`
[INFO] [stdout]   --> src/bin.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) use derive_var_size_via_size_of;
[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: `derive_writable_via_into_iter`
[INFO] [stdout]    --> src/bin.rs:227:16
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub(crate) use derive_writable_via_into_iter;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `derive_readable_via_pod` and `derive_writable_via_pod`
[INFO] [stdout]  --> src/hash.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::bin::{derive_readable_via_pod, derive_writable_via_pod};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `derive_readable_via_pod` and `derive_writable_via_pod`
[INFO] [stdout]  --> src/v001.rs:9:99
[INFO] [stdout]   |
[INFO] [stdout] 9 | ... ReadableFixed, Writable, WritableFixed, derive_readable_via_pod, derive_writable_via_pod};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `derive_readable_via_pod` and `derive_writable_via_pod`
[INFO] [stdout]   --> src/v10x.rs:10:129
[INFO] [stdout]    |
[INFO] [stdout] 10 | ...aram, VarSize, Writable, WritableFixed, derive_readable_via_pod, derive_writable_via_pod, read_struct};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/v10x.rs:516:25
[INFO] [stdout]     |
[INFO] [stdout] 516 |             .map(|(dir, mut pdr)| {
[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/v10x.rs:568:24
[INFO] [stdout]     |
[INFO] [stdout] 568 |             for (file, mut fr) in dir.files.iter().zip(&mut pfcr.data.files) {
[INFO] [stdout]     |                        ----^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `read_with_param_many` is never used
[INFO] [stdout]    --> src/bin.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub trait ReadableParam<P>: VarSize + Sized {
[INFO] [stdout]     |           ------------- associated function in this trait
[INFO] [stdout] ...
[INFO] [stdout] 134 |     fn read_with_param_many<R: Read + Seek>(mut reader: R, num: usize, param: P) -> Result<Vec<Self>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/hash.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | / /// The hash of a name inside a bsa archive.
[INFO] [stdout]  9 | | #[repr(C)]
[INFO] [stdout] 10 | | #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Zeroable, Pod)]
[INFO] [stdout] 11 | | pub struct Hash {
[INFO] [stdout] 12 | |     low: u32,
[INFO] [stdout] 13 | |     high: u32,
[INFO] [stdout] 14 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/hash.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Hash {
[INFO] [stdout]    |            ^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/v001.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | / #[repr(C)]
[INFO] [stdout] 29 | | #[derive(Debug, Clone, Copy, Zeroable, Pod)]
[INFO] [stdout] 30 | | pub struct HeaderV001 {
[INFO] [stdout] 31 | |     pub offset_hash_table: u32,
[INFO] [stdout] 32 | |     pub file_count: u32,
[INFO] [stdout] 33 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/v001.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct HeaderV001 {
[INFO] [stdout]    |            ^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/v001.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 | / #[repr(C)]
[INFO] [stdout] 48 | | #[derive(Debug, Clone, Copy, Zeroable, Pod)]
[INFO] [stdout] 49 | | struct FileRecord {
[INFO] [stdout] 50 | |     pub size: u32,
[INFO] [stdout] 51 | |     pub offset: u32,
[INFO] [stdout] 52 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/v001.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct FileRecord {
[INFO] [stdout]    |        ^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/v10x.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | / #[repr(C)]
[INFO] [stdout] 50 | | #[derive(Debug, Clone, Copy, Zeroable, Pod)]
[INFO] [stdout] 51 | | pub struct RawHeader {
[INFO] [stdout] 52 | |     pub offset: u32,
[INFO] [stdout] ...  |
[INFO] [stdout] 59 | |     pub padding: u16,
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/v10x.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct RawHeader {
[INFO] [stdout]    |            ^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> src/v10x.rs:329:1
[INFO] [stdout]     |
[INFO] [stdout] 329 | / #[repr(C)]
[INFO] [stdout] 330 | | #[derive(Debug, Clone, Copy, Zeroable, Pod)]
[INFO] [stdout] 331 | | pub struct DirRecord {
[INFO] [stdout] 332 | |     pub name_hash: Hash,
[INFO] [stdout] 333 | |     pub file_count: u32,
[INFO] [stdout] 334 | |     pub offset: u32,
[INFO] [stdout] 335 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/v10x.rs:331:12
[INFO] [stdout]     |
[INFO] [stdout] 331 | pub struct DirRecord {
[INFO] [stdout]     |            ^^^^^^^^^ field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> src/v10x.rs:340:1
[INFO] [stdout]     |
[INFO] [stdout] 340 | / #[repr(C)]
[INFO] [stdout] 341 | | #[derive(Debug, Clone, Copy, Zeroable, Pod)]
[INFO] [stdout] 342 | | pub struct FileRecord {
[INFO] [stdout] 343 | |     pub name_hash: Hash,
[INFO] [stdout] 344 | |     pub size: u32,
[INFO] [stdout] 345 | |     pub offset: u32,
[INFO] [stdout] 346 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/v10x.rs:342:12
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub struct FileRecord {
[INFO] [stdout]     |            ^^^^^^^^^^ field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/v105.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / #[repr(C)]
[INFO] [stdout] 11 | | #[derive(Debug, Clone, Copy, Zeroable, Pod)]
[INFO] [stdout] 12 | | pub struct RawDirRecord {
[INFO] [stdout] 13 | |     pub name_hash: Hash,
[INFO] [stdout] ...  |
[INFO] [stdout] 17 | |     pub _padding_post: u32,
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/v105.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct RawDirRecord {
[INFO] [stdout]    |            ^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/bin.rs:229:1
[INFO] [stdout]     |
[INFO] [stdout] 229 | derive_writable_via_into_iter!(Option);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 219 -                 for a in self {
[INFO] [stdout] 219 +                 while let Some() =  in self {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 219 -                 for a in self {
[INFO] [stdout] 219 +                 if let Some() =  in self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling bsa v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> examples/create-simple.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `std::fs::File` in the current scope
[INFO] [stdout]   --> examples/create-simple.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 |             File::new("b", b"some raw data")
[INFO] [stdout]    |                   ^^^ function or associated item not found in `std::fs::File`
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `std::fs::File` consider using one of the following associated functions:
[INFO] [stdout]       std::fs::File::open
[INFO] [stdout]       std::fs::File::create
[INFO] [stdout]       std::fs::File::create_new
[INFO] [stdout]   --> /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/fs.rs:533:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bsa` (example "create-simple") due to 1 previous error; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0412]: cannot find type `BsaDirSource` in this scope
[INFO] [stdout]    --> src/v103.rs:171:48
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn check_write_read_identity_bsa(dirs: Vec<BsaDirSource<Vec<u8>>>) {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `BsaDirSource` in this scope
[INFO] [stdout]    --> src/v104.rs:182:48
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn check_write_read_identity_bsa(dirs: Vec<BsaDirSource<Vec<u8>>>) {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `BsaDirSource` in this scope
[INFO] [stdout]    --> src/v105.rs:162:48
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn check_write_read_identity_bsa(dirs: Vec<BsaDirSource<Vec<u8>>>) {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `derive_var_size_via_size_of`
[INFO] [stdout]   --> src/bin.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) use derive_var_size_via_size_of;
[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: `derive_writable_via_into_iter`
[INFO] [stdout]    --> src/bin.rs:227:16
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub(crate) use derive_writable_via_into_iter;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `derive_readable_via_pod` and `derive_writable_via_pod`
[INFO] [stdout]  --> src/hash.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::bin::{derive_readable_via_pod, derive_writable_via_pod};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `derive_readable_via_pod` and `derive_writable_via_pod`
[INFO] [stdout]  --> src/v001.rs:9:99
[INFO] [stdout]   |
[INFO] [stdout] 9 | ... ReadableFixed, Writable, WritableFixed, derive_readable_via_pod, derive_writable_via_pod};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `derive_readable_via_pod` and `derive_writable_via_pod`
[INFO] [stdout]   --> src/v10x.rs:10:129
[INFO] [stdout]    |
[INFO] [stdout] 10 | ...aram, VarSize, Writable, WritableFixed, derive_readable_via_pod, derive_writable_via_pod, read_struct};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Dir`
[INFO] [stdout]   --> src/v103.rs:75:24
[INFO] [stdout]    |
[INFO] [stdout] 75 |     use crate::write::{Dir, test::*};
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Dir`
[INFO] [stdout]   --> src/v104.rs:79:24
[INFO] [stdout]    |
[INFO] [stdout] 79 |     use crate::write::{Dir, test::*};
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Dir`
[INFO] [stdout]   --> src/v105.rs:60:24
[INFO] [stdout]    |
[INFO] [stdout] 60 |     use crate::write::{Dir, test::*};
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `hash` on type `read::File`
[INFO] [stdout]    --> src/v001.rs:258:29
[INFO] [stdout]     |
[INFO] [stdout] 258 |         assert_eq!(files[0].hash, Hash::v001("a\\b"), "files[0].hash");
[INFO] [stdout]     |                             ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 258 |         assert_eq!(files[0].id.hash, Hash::v001("a\\b"), "files[0].hash");
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `name` on type `read::File`
[INFO] [stdout]    --> src/v001.rs:259:29
[INFO] [stdout]     |
[INFO] [stdout] 259 |         assert_eq!(files[0].name, Some("a\\b".to_owned()), "files[0].name");
[INFO] [stdout]     |                             ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 259 |         assert_eq!(files[0].id.name, Some("a\\b".to_owned()), "files[0].name");
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `hash` on type `read::Dir`
[INFO] [stdout]    --> src/v103.rs:181:31
[INFO] [stdout]     |
[INFO] [stdout] 181 |         assert_eq!(in_dirs[0].hash, Hash::v10x("a"), "in_dirs[0].name");
[INFO] [stdout]     |                               ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 181 |         assert_eq!(in_dirs[0].id.hash, Hash::v10x("a"), "in_dirs[0].name");
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `name` on type `read::Dir`
[INFO] [stdout]    --> src/v103.rs:182:31
[INFO] [stdout]     |
[INFO] [stdout] 182 |         assert_eq!(in_dirs[0].name, Some("a".to_owned()), "in_dirs[0].name");
[INFO] [stdout]     |                               ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 182 |         assert_eq!(in_dirs[0].id.name, Some("a".to_owned()), "in_dirs[0].name");
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `hash` on type `read::File`
[INFO] [stdout]    --> src/v103.rs:183:40
[INFO] [stdout]     |
[INFO] [stdout] 183 |         assert_eq!(in_dirs[0].files[0].hash, Hash::v10x("b"), "in_dirs[0].files[0].name");
[INFO] [stdout]     |                                        ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 183 |         assert_eq!(in_dirs[0].files[0].id.hash, Hash::v10x("b"), "in_dirs[0].files[0].name");
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `name` on type `read::File`
[INFO] [stdout]    --> src/v103.rs:184:40
[INFO] [stdout]     |
[INFO] [stdout] 184 |         assert_eq!(in_dirs[0].files[0].name, Some("b".to_owned()), "in_dirs[0].files[0].name");
[INFO] [stdout]     |                                        ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 184 |         assert_eq!(in_dirs[0].files[0].id.name, Some("b".to_owned()), "in_dirs[0].files[0].name");
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `hash` on type `read::Dir`
[INFO] [stdout]    --> src/v104.rs:192:31
[INFO] [stdout]     |
[INFO] [stdout] 192 |         assert_eq!(in_dirs[0].hash, Hash::v10x("a"), "in_dirs[0].name");
[INFO] [stdout]     |                               ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 192 |         assert_eq!(in_dirs[0].id.hash, Hash::v10x("a"), "in_dirs[0].name");
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `name` on type `read::Dir`
[INFO] [stdout]    --> src/v104.rs:193:31
[INFO] [stdout]     |
[INFO] [stdout] 193 |         assert_eq!(in_dirs[0].name, Some("a".to_owned()), "in_dirs[0].name");
[INFO] [stdout]     |                               ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 193 |         assert_eq!(in_dirs[0].id.name, Some("a".to_owned()), "in_dirs[0].name");
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `hash` on type `read::File`
[INFO] [stdout]    --> src/v104.rs:194:40
[INFO] [stdout]     |
[INFO] [stdout] 194 |         assert_eq!(in_dirs[0].files[0].hash, Hash::v10x("b"), "in_dirs[0].files[0].name");
[INFO] [stdout]     |                                        ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 194 |         assert_eq!(in_dirs[0].files[0].id.hash, Hash::v10x("b"), "in_dirs[0].files[0].name");
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `name` on type `read::File`
[INFO] [stdout]    --> src/v104.rs:195:40
[INFO] [stdout]     |
[INFO] [stdout] 195 |         assert_eq!(in_dirs[0].files[0].name, Some("b".to_owned()), "in_dirs[0].files[0].name");
[INFO] [stdout]     |                                        ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 195 |         assert_eq!(in_dirs[0].files[0].id.name, Some("b".to_owned()), "in_dirs[0].files[0].name");
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `hash` on type `read::Dir`
[INFO] [stdout]    --> src/v105.rs:172:31
[INFO] [stdout]     |
[INFO] [stdout] 172 |         assert_eq!(in_dirs[0].hash, Hash::v10x("a"), "in_dirs[0].name");
[INFO] [stdout]     |                               ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 172 |         assert_eq!(in_dirs[0].id.hash, Hash::v10x("a"), "in_dirs[0].name");
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `name` on type `read::Dir`
[INFO] [stdout]    --> src/v105.rs:173:31
[INFO] [stdout]     |
[INFO] [stdout] 173 |         assert_eq!(in_dirs[0].name, Some("a".to_owned()), "in_dirs[0].name");
[INFO] [stdout]     |                               ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 173 |         assert_eq!(in_dirs[0].id.name, Some("a".to_owned()), "in_dirs[0].name");
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `hash` on type `read::File`
[INFO] [stdout]    --> src/v105.rs:174:40
[INFO] [stdout]     |
[INFO] [stdout] 174 |         assert_eq!(in_dirs[0].files[0].hash, Hash::v10x("b"), "in_dirs[0].files[0].name");
[INFO] [stdout]     |                                        ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 174 |         assert_eq!(in_dirs[0].files[0].id.hash, Hash::v10x("b"), "in_dirs[0].files[0].name");
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `name` on type `read::File`
[INFO] [stdout]    --> src/v105.rs:175:40
[INFO] [stdout]     |
[INFO] [stdout] 175 |         assert_eq!(in_dirs[0].files[0].name, Some("b".to_owned()), "in_dirs[0].files[0].name");
[INFO] [stdout]     |                                        ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 175 |         assert_eq!(in_dirs[0].files[0].id.name, Some("b".to_owned()), "in_dirs[0].files[0].name");
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/v10x.rs:516:25
[INFO] [stdout]     |
[INFO] [stdout] 516 |             .map(|(dir, mut pdr)| {
[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/v10x.rs:568:24
[INFO] [stdout]     |
[INFO] [stdout] 568 |             for (file, mut fr) in dir.files.iter().zip(&mut pfcr.data.files) {
[INFO] [stdout]     |                        ----^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bsa` (lib test) due to 17 previous errors; 10 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "da56419f9764ea55bd8953446c91975eb047f1d89d9ab491b0275ba67970c6c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da56419f9764ea55bd8953446c91975eb047f1d89d9ab491b0275ba67970c6c5", kill_on_drop: false }`
[INFO] [stdout] da56419f9764ea55bd8953446c91975eb047f1d89d9ab491b0275ba67970c6c5
