[INFO] cloning repository https://github.com/leonardchinonso/verifile
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/leonardchinonso/verifile" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleonardchinonso%2Fverifile", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleonardchinonso%2Fverifile'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ec84ca1b4eae3935e8e7963d26a4341cb5b63b15
[INFO] testing leonardchinonso/verifile against 1.98.0-beta.8+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleonardchinonso%2Fverifile" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/leonardchinonso/verifile
[INFO] finished tweaking git repo https://github.com/leonardchinonso/verifile
[INFO] tweaked toml for git repo https://github.com/leonardchinonso/verifile written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/leonardchinonso/verifile on toolchain 1.98.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/leonardchinonso/verifile 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" "+1.98.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde v1.0.193
[INFO] [stderr]   Downloaded serde_derive v1.0.193
[INFO] [stderr]   Downloaded sha256 v1.4.0
[INFO] [stderr]   Downloaded cpufeatures v0.2.11
[INFO] [stderr]   Downloaded hermit-abi v0.3.3
[INFO] [stderr]   Downloaded quote v1.0.33
[INFO] [stderr]   Downloaded itoa v1.0.9
[INFO] [stderr]   Downloaded clap_lex v0.6.0
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.1
[INFO] [stderr]   Downloaded anstyle v1.0.4
[INFO] [stderr]   Downloaded winapi-util v0.1.6
[INFO] [stderr]   Downloaded windows-targets v0.52.0
[INFO] [stderr]   Downloaded errno v0.3.8
[INFO] [stderr]   Downloaded anstyle-parse v0.2.2
[INFO] [stderr]   Downloaded termcolor v1.4.0
[INFO] [stderr]   Downloaded async-trait v0.1.74
[INFO] [stderr]   Downloaded pin-project-lite v0.2.13
[INFO] [stderr]   Downloaded sha2 v0.10.8
[INFO] [stderr]   Downloaded anstream v0.6.4
[INFO] [stderr]   Downloaded clap_derive v4.4.7
[INFO] [stderr]   Downloaded ryu v1.0.15
[INFO] [stderr]   Downloaded addr2line v0.21.0
[INFO] [stderr]   Downloaded typenum v1.17.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.70
[INFO] [stderr]   Downloaded env_logger v0.10.1
[INFO] [stderr]   Downloaded bitflags v2.4.1
[INFO] [stderr]   Downloaded clap v4.4.10
[INFO] [stderr]   Downloaded bytes v1.5.0
[INFO] [stderr]   Downloaded cc v1.0.83
[INFO] [stderr]   Downloaded backtrace v0.3.69
[INFO] [stderr]   Downloaded serde_json v1.0.108
[INFO] [stderr]   Downloaded clap_builder v4.4.9
[INFO] [stderr]   Downloaded syn v2.0.39
[INFO] [stderr]   Downloaded gimli v0.28.1
[INFO] [stderr]   Downloaded object v0.32.1
[INFO] [stderr]   Downloaded rustix v0.38.25
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.52.0
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.52.0
[INFO] [stderr]   Downloaded libc v0.2.150
[INFO] [stderr]   Downloaded tokio v1.34.0
[INFO] [stderr]   Downloaded windows_i686_gnu v0.52.0
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.52.0
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.52.0
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.52.0
[INFO] [stderr]   Downloaded windows_i686_msvc v0.52.0
[INFO] [stderr]   Downloaded linux-raw-sys v0.4.11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d31bd3c506437076cae1e3fc88b4d5663728a95ac714ac29856609419fc8d8a5
[INFO] running `Command { std: "docker" "start" "d31bd3c506437076cae1e3fc88b4d5663728a95ac714ac29856609419fc8d8a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d31bd3c506437076cae1e3fc88b4d5663728a95ac714ac29856609419fc8d8a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d31bd3c506437076cae1e3fc88b4d5663728a95ac714ac29856609419fc8d8a5" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d31bd3c506437076cae1e3fc88b4d5663728a95ac714ac29856609419fc8d8a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d31bd3c506437076cae1e3fc88b4d5663728a95ac714ac29856609419fc8d8a5" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling proc-macro2 v1.0.70
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling memchr v2.6.4
[INFO] [stderr]    Compiling rustix v0.38.25
[INFO] [stderr]    Compiling linux-raw-sys v0.4.11
[INFO] [stderr]    Compiling bitflags v2.4.1
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling async-trait v0.1.74
[INFO] [stderr]    Compiling serde v1.0.193
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling cpufeatures v0.2.11
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.13
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling utf8parse v0.2.1
[INFO] [stderr]    Compiling serde_json v1.0.108
[INFO] [stderr]    Compiling anstyle-parse v0.2.2
[INFO] [stderr]    Compiling aho-corasick v1.1.2
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling anstyle-query v1.0.0
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]    Compiling anstyle v1.0.4
[INFO] [stderr]    Compiling tokio v1.34.0
[INFO] [stderr]    Compiling ryu v1.0.15
[INFO] [stderr]    Compiling is-terminal v0.4.9
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling colorchoice v1.0.0
[INFO] [stderr]    Compiling itoa v1.0.9
[INFO] [stderr]    Compiling termcolor v1.4.0
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling anstream v0.6.4
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling regex-automata v0.4.3
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling clap_lex v0.6.0
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling clap_builder v4.4.9
[INFO] [stderr]    Compiling serde_derive v1.0.193
[INFO] [stderr]    Compiling clap_derive v4.4.7
[INFO] [stderr]    Compiling regex v1.10.2
[INFO] [stderr]    Compiling sha256 v1.4.0
[INFO] [stderr]    Compiling env_logger v0.10.1
[INFO] [stderr]    Compiling clap v4.4.10
[INFO] [stderr]    Compiling common v0.1.0 (/opt/rustwide/workdir/common)
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> common/src/model/merkle.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 |         if index < 0 || index > self.data.len() {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> common/src/model/merkle.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 |         if index < 0 || index >= self.data.len() {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stderr]    Compiling client v0.1.0 (/opt/rustwide/workdir/client)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> client/src/main.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut args = args::Argument::parse();
[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: fields `file_names`, `files_data`, and `downloaded_file` are never read
[INFO] [stdout]   --> client/src/client.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Client {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 44 |     files: Vec<FileInfo>,
[INFO] [stdout] 45 |     file_names: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 46 |     files_data: Vec<Vec<u8>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     downloaded_file: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 33s
[INFO] running `Command { std: "docker" "inspect" "d31bd3c506437076cae1e3fc88b4d5663728a95ac714ac29856609419fc8d8a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d31bd3c506437076cae1e3fc88b4d5663728a95ac714ac29856609419fc8d8a5" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling common v0.1.0 (/opt/rustwide/workdir/common)
[INFO] [stderr]    Compiling server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stderr]    Compiling client v0.1.0 (/opt/rustwide/workdir/client)
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> common/src/model/merkle.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 |         if index < 0 || index > self.data.len() {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> common/src/model/merkle.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 |         if index < 0 || index >= self.data.len() {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> client/src/client.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let mut client = Client::new();
[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]    --> client/src/client.rs:281:26
[INFO] [stdout]     |
[INFO] [stdout] 281 |         let (file_names, mut expected_files) = parse_files();
[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]    --> client/src/client.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |         let mut client = Client::new();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> client/src/main.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut args = args::Argument::parse();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `file_names`, `files_data`, and `downloaded_file` are never read
[INFO] [stdout]   --> client/src/client.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Client {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 44 |     files: Vec<FileInfo>,
[INFO] [stdout] 45 |     file_names: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 46 |     files_data: Vec<Vec<u8>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     downloaded_file: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vector`
[INFO] [stdout]    --> common/src/model/merkle.rs:313:13
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let vector = build_merkle_vector(&data);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vector`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vector`
[INFO] [stdout]    --> common/src/model/merkle.rs:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let vector = build_merkle_vector(&data);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> common/src/model/merkle.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 |         if index < 0 || index > self.data.len() {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> common/src/model/merkle.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 |         if index < 0 || index >= self.data.len() {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2.28s
[INFO] running `Command { std: "docker" "inspect" "d31bd3c506437076cae1e3fc88b4d5663728a95ac714ac29856609419fc8d8a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d31bd3c506437076cae1e3fc88b4d5663728a95ac714ac29856609419fc8d8a5" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> common/src/model/merkle.rs:102:12
[INFO] [stderr]     |
[INFO] [stderr] 102 |         if index < 0 || index > self.data.len() {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> common/src/model/merkle.rs:129:12
[INFO] [stderr]     |
[INFO] [stderr] 129 |         if index < 0 || index >= self.data.len() {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vector`
[INFO] [stderr]    --> common/src/model/merkle.rs:313:13
[INFO] [stderr]     |
[INFO] [stderr] 313 |         let vector = build_merkle_vector(&data);
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vector`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vector`
[INFO] [stderr]    --> common/src/model/merkle.rs:329:13
[INFO] [stderr]     |
[INFO] [stderr] 329 |         let vector = build_merkle_vector(&data);
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vector`
[INFO] [stderr] 
[INFO] [stderr] warning: `common` (lib) generated 2 warnings
[INFO] [stderr] warning: `common` (lib test) generated 4 warnings (2 duplicates) (run `cargo fix --lib -p common --tests` to apply 2 suggestions)
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> client/src/client.rs:274:13
[INFO] [stderr]     |
[INFO] [stderr] 274 |         let mut client = Client::new();
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> client/src/client.rs:281:26
[INFO] [stderr]     |
[INFO] [stderr] 281 |         let (file_names, mut expected_files) = parse_files();
[INFO] [stderr]     |                          ----^^^^^^^^^^^^^^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> client/src/client.rs:291:13
[INFO] [stderr]     |
[INFO] [stderr] 291 |         let mut client = Client::new();
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> client/src/main.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let mut args = args::Argument::parse();
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `file_names`, `files_data`, and `downloaded_file` are never read
[INFO] [stderr]   --> client/src/client.rs:45:5
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub struct Client {
[INFO] [stderr]    |            ------ fields in this struct
[INFO] [stderr] 44 |     files: Vec<FileInfo>,
[INFO] [stderr] 45 |     file_names: Vec<String>,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 46 |     files_data: Vec<Vec<u8>>,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |     downloaded_file: Vec<u8>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `client` (bin "client" test) generated 5 warnings (run `cargo fix --bin "client" -p client --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/client-57f60b3936915a52)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test client::test::mock_server_does_not_have_correct_files ... ok
[INFO] [stdout] test client::test::load_files_into_memory_works ... ok
[INFO] [stdout] test client::test::mock_server_has_correct_files ... ok
[INFO] [stdout] test args::test::parsing_argument_works ... ok
[INFO] [stdout] test client::test::build_merkle_tree_and_save_to_disk_works ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- client::test::build_merkle_tree_and_save_to_disk_works stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'client::test::build_merkle_tree_and_save_to_disk_works' (1137) panicked at client/src/client.rs:93:54:
[INFO] [stdout] json file creation should not fail: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6071c999bad1 - <<std[97b98282bc616a66]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[832e9a552fc17241]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x6071c99af9ca - core[832e9a552fc17241]::fmt::write
[INFO] [stdout]    2:     0x6071c99a003c - <alloc[3ecab9f82c41dc7d]::vec::Vec<u8> as std[97b98282bc616a66]::io::Write>::write_fmt
[INFO] [stdout]    3:     0x6071c997a1f6 - std[97b98282bc616a66]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x6071c9993cf9 - std[97b98282bc616a66]::panicking::default_hook
[INFO] [stdout]    5:     0x6071c99284b0 - test[39766f3d73431624]::test_main_inner::<test[39766f3d73431624]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x6071c9993eb2 - std[97b98282bc616a66]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x6071c997a2a2 - std[97b98282bc616a66]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x6071c9971bc9 - std[97b98282bc616a66]::sys::backtrace::__rust_end_short_backtrace::<std[97b98282bc616a66]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x6071c997ae9d - __rustc[e3d8617bb01b7f69]::rust_begin_unwind
[INFO] [stdout]   10:     0x6071c99b012c - core[832e9a552fc17241]::panicking::panic_fmt
[INFO] [stdout]   11:     0x6071c99aff02 - core[832e9a552fc17241]::result::unwrap_failed
[INFO] [stdout]   12:     0x6071c99170a5 - <client[873f44037df4675e]::client::Client>::build_merkle_tree_and_save_to_disk
[INFO] [stdout]   13:     0x6071c9919e3a - client[873f44037df4675e]::client::test::build_merkle_tree_and_save_to_disk_works
[INFO] [stdout]   14:     0x6071c991b749 - <client[873f44037df4675e]::client::test::build_merkle_tree_and_save_to_disk_works::{closure#0} as core[832e9a552fc17241]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x6071c991b7eb - test[39766f3d73431624]::__rust_begin_short_backtrace::<core[832e9a552fc17241]::result::Result<(), alloc[3ecab9f82c41dc7d]::string::String>, fn() -> core[832e9a552fc17241]::result::Result<(), alloc[3ecab9f82c41dc7d]::string::String>>
[INFO] [stdout]   16:     0x6071c9928e35 - test[39766f3d73431624]::run_test::{closure#0}
[INFO] [stdout]   17:     0x6071c99238e4 - std[97b98282bc616a66]::sys::backtrace::__rust_begin_short_backtrace::<test[39766f3d73431624]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x6071c992bf82 - <std[97b98282bc616a66]::thread::lifecycle::spawn_unchecked<test[39766f3d73431624]::run_test::{closure#1}, ()>::{closure#1} as core[832e9a552fc17241]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x6071c999b35f - <std[97b98282bc616a66]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x77c39e77e07a - <unknown>
[INFO] [stdout]   21:     0x77c39e811534 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     client::test::build_merkle_tree_and_save_to_disk_works
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 4 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p client --bin client`
[INFO] running `Command { std: "docker" "inspect" "d31bd3c506437076cae1e3fc88b4d5663728a95ac714ac29856609419fc8d8a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d31bd3c506437076cae1e3fc88b4d5663728a95ac714ac29856609419fc8d8a5", kill_on_drop: false }`
[INFO] [stdout] d31bd3c506437076cae1e3fc88b4d5663728a95ac714ac29856609419fc8d8a5
