[INFO] cloning repository https://github.com/fedor81/downloader-cli
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fedor81/downloader-cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffedor81%2Fdownloader-cli", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffedor81%2Fdownloader-cli'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e309333f530bd615f7e56d4a6c587d6f558871a1
[INFO] testing fedor81/downloader-cli/e309333f530bd615f7e56d4a6c587d6f558871a1 against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffedor81%2Fdownloader-cli" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/fedor81/downloader-cli
[INFO] finished tweaking git repo https://github.com/fedor81/downloader-cli
[INFO] tweaked toml for git repo https://github.com/fedor81/downloader-cli written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/fedor81/downloader-cli on toolchain d98a5da813da67eb189387b8ccfb73cf481275d8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/fedor81/downloader-cli 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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded mime_guess v2.0.5
[INFO] [stderr]   Downloaded tokio-tungstenite v0.21.0
[INFO] [stderr]   Downloaded redox_users v0.5.0
[INFO] [stderr]   Downloaded dirs-sys v0.5.0
[INFO] [stderr]   Downloaded directories v6.0.0
[INFO] [stderr]   Downloaded windows-registry v0.5.2
[INFO] [stderr]   Downloaded clap_derive v4.5.40
[INFO] [stderr]   Downloaded wasm-streams v0.4.2
[INFO] [stderr]   Downloaded rustls-webpki v0.103.3
[INFO] [stderr]   Downloaded hyper-util v0.1.14
[INFO] [stderr]   Downloaded bumpalo v3.18.1
[INFO] [stderr]   Downloaded warp v0.3.7
[INFO] [stderr]   Downloaded tungstenite v0.21.0
[INFO] [stderr]   Downloaded h2 v0.4.10
[INFO] [stderr]   Downloaded reqwest v0.12.20
[INFO] [stderr]   Downloaded syn v2.0.103
[INFO] [stderr]   Downloaded headers v0.3.9
[INFO] [stderr]   Downloaded rustls v0.23.27
[INFO] [stderr]   Downloaded tokio v1.45.1
[INFO] [stderr]   Downloaded libc v0.2.173
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b2b63eed80286c85b5d6ae1d13ddcf0ded373aca00a8904c0ec6a37dd7535fbd
[INFO] running `Command { std: "docker" "start" "-a" "b2b63eed80286c85b5d6ae1d13ddcf0ded373aca00a8904c0ec6a37dd7535fbd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b2b63eed80286c85b5d6ae1d13ddcf0ded373aca00a8904c0ec6a37dd7535fbd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b2b63eed80286c85b5d6ae1d13ddcf0ded373aca00a8904c0ec6a37dd7535fbd", kill_on_drop: false }`
[INFO] [stdout] b2b63eed80286c85b5d6ae1d13ddcf0ded373aca00a8904c0ec6a37dd7535fbd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -Copt-level=3" "-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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3ff75bf76826a41929a1dd9a93d20901f954cf51d597f16adffd85b4f920c695
[INFO] running `Command { std: "docker" "start" "-a" "3ff75bf76826a41929a1dd9a93d20901f954cf51d597f16adffd85b4f920c695", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling libc v0.2.173
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling cc v1.2.27
[INFO] [stderr]    Compiling slab v0.4.10
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling syn v2.0.103
[INFO] [stderr]    Compiling anstyle-query v1.1.3
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling anstream v0.6.19
[INFO] [stderr]    Compiling winnow v0.7.11
[INFO] [stderr]    Compiling iri-string v0.7.8
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling clap_builder v4.5.40
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling directories v6.0.0
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling clap_derive v4.5.40
[INFO] [stderr]    Compiling tokio v1.45.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling clap v4.5.40
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling h2 v0.4.10
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling hyper-util v0.1.14
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.20
[INFO] [stderr]    Compiling downloader-cli v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/lib.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppConfig`
[INFO] [stdout]  --> src/config/cli.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::config::app::{AppConfig, LogLevel, TomlConfig};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::app`
[INFO] [stdout]  --> src/config/cli.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::app;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `Result`
[INFO] [stdout]  --> src/reporter/console_reporter.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:141:31
[INFO] [stdout]     |
[INFO] [stdout] 141 |     fn on_response(&mut self, response: &Response) {
[INFO] [stdout]     |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:154:31
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn on_complete(&mut self, url: &str, path: &Path) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:154:42
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn on_complete(&mut self, url: &str, path: &Path) {
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |         if let Some(size) = size {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:172:34
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn on_file_create(&mut self, path: &Path) {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:184:37
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn on_start_download(&mut self, url: &str, file: &Path) {
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `errors`
[INFO] [stdout]   --> src/reporter/program_flow.rs:29:29
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn on_errors(&mut self, errors: Vec<anyhow::Error>) {
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn on_request(&mut self, url: &str) {}
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:17:31
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn on_response(&mut self, response: &reqwest::Response) {}
[INFO] [stdout]    |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn on_file_exists(&mut self, path: &std::path::Path, overwrite: bool) {}
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overwrite`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:19:58
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn on_file_exists(&mut self, path: &std::path::Path, overwrite: bool) {}
[INFO] [stdout]    |                                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overwrite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn on_file_create(&mut self, path: &std::path::Path) {}
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn on_file_size_known(&mut self, size: Option<u64>) {}
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:25:37
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn on_start_download(&mut self, url: &str, file: &std::path::Path) {}
[INFO] [stdout]    |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:25:48
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn on_start_download(&mut self, url: &str, file: &std::path::Path) {}
[INFO] [stdout]    |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn on_progress(&mut self, delta: u64) {}
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn on_complete(&mut self, url: &str, path: &std::path::Path) {}
[INFO] [stdout]    |                               ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:29:42
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn on_complete(&mut self, url: &str, path: &std::path::Path) {}
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:31:28
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn on_error(&mut self, error: &anyhow::Error) {}
[INFO] [stdout]    |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `validate_urls` is never used
[INFO] [stdout]    --> src/lib.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 47  | impl Downloader {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn validate_urls(urls: Vec<String>) -> (Vec<String>, Vec<anyhow::Error>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_false` is never used
[INFO] [stdout]    --> src/config/app.rs:305:4
[INFO] [stdout]     |
[INFO] [stdout] 305 | fn default_false() -> bool { false }
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `log_level` is never read
[INFO] [stdout]  --> src/reporter/program_flow.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ProgramReporter {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] 8 |     log_level: LogLevel,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 42s
[INFO] running `Command { std: "docker" "inspect" "3ff75bf76826a41929a1dd9a93d20901f954cf51d597f16adffd85b4f920c695", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3ff75bf76826a41929a1dd9a93d20901f954cf51d597f16adffd85b4f920c695", kill_on_drop: false }`
[INFO] [stdout] 3ff75bf76826a41929a1dd9a93d20901f954cf51d597f16adffd85b4f920c695
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -Copt-level=3" "-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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5b008937b5640559c556d0a9ae37fa06bef741bb0ea818330d89c0d3552a2bb0
[INFO] running `Command { std: "docker" "start" "-a" "5b008937b5640559c556d0a9ae37fa06bef741bb0ea818330d89c0d3552a2bb0", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.173
[INFO] [stderr]    Compiling syn v2.0.103
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling multer v2.1.0
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling scoped-tls v1.0.1
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling headers-core v0.2.0
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling headers v0.3.9
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling directories v6.0.0
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling ctrlc v3.4.7
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.40
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tokio v1.45.1
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling clap v4.5.40
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling h2 v0.4.10
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling tungstenite v0.21.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling tokio-tungstenite v0.21.0
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-util v0.1.14
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.20
[INFO] [stderr]    Compiling downloader-cli v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/lib.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppConfig`
[INFO] [stdout]  --> src/config/cli.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::config::app::{AppConfig, LogLevel, TomlConfig};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::app`
[INFO] [stdout]  --> src/config/cli.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::app;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `Result`
[INFO] [stdout]  --> src/reporter/console_reporter.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:141:31
[INFO] [stdout]     |
[INFO] [stdout] 141 |     fn on_response(&mut self, response: &Response) {
[INFO] [stdout]     |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:154:31
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn on_complete(&mut self, url: &str, path: &Path) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:154:42
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn on_complete(&mut self, url: &str, path: &Path) {
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |         if let Some(size) = size {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:172:34
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn on_file_create(&mut self, path: &Path) {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:184:37
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn on_start_download(&mut self, url: &str, file: &Path) {
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `errors`
[INFO] [stdout]   --> src/reporter/program_flow.rs:29:29
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn on_errors(&mut self, errors: Vec<anyhow::Error>) {
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn on_request(&mut self, url: &str) {}
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:17:31
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn on_response(&mut self, response: &reqwest::Response) {}
[INFO] [stdout]    |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn on_file_exists(&mut self, path: &std::path::Path, overwrite: bool) {}
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overwrite`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:19:58
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn on_file_exists(&mut self, path: &std::path::Path, overwrite: bool) {}
[INFO] [stdout]    |                                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overwrite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn on_file_create(&mut self, path: &std::path::Path) {}
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn on_file_size_known(&mut self, size: Option<u64>) {}
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:25:37
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn on_start_download(&mut self, url: &str, file: &std::path::Path) {}
[INFO] [stdout]    |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:25:48
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn on_start_download(&mut self, url: &str, file: &std::path::Path) {}
[INFO] [stdout]    |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn on_progress(&mut self, delta: u64) {}
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn on_complete(&mut self, url: &str, path: &std::path::Path) {}
[INFO] [stdout]    |                               ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:29:42
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn on_complete(&mut self, url: &str, path: &std::path::Path) {}
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:31:28
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn on_error(&mut self, error: &anyhow::Error) {}
[INFO] [stdout]    |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `validate_urls` is never used
[INFO] [stdout]    --> src/lib.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 47  | impl Downloader {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn validate_urls(urls: Vec<String>) -> (Vec<String>, Vec<anyhow::Error>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_false` is never used
[INFO] [stdout]    --> src/config/app.rs:305:4
[INFO] [stdout]     |
[INFO] [stdout] 305 | fn default_false() -> bool { false }
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `log_level` is never read
[INFO] [stdout]  --> src/reporter/program_flow.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ProgramReporter {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] 8 |     log_level: LogLevel,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling warp v0.3.7
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/lib.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppConfig`
[INFO] [stdout]  --> src/config/cli.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::config::app::{AppConfig, LogLevel, TomlConfig};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::app`
[INFO] [stdout]  --> src/config/cli.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::app;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `Result`
[INFO] [stdout]  --> src/reporter/console_reporter.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `errors`
[INFO] [stdout]    --> src/lib.rs:429:26
[INFO] [stdout]     |
[INFO] [stdout] 429 |         let (downloader, errors) = builder.build().unwrap();
[INFO] [stdout]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:141:31
[INFO] [stdout]     |
[INFO] [stdout] 141 |     fn on_response(&mut self, response: &Response) {
[INFO] [stdout]     |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:154:31
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn on_complete(&mut self, url: &str, path: &Path) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:154:42
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn on_complete(&mut self, url: &str, path: &Path) {
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |         if let Some(size) = size {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:172:34
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn on_file_create(&mut self, path: &Path) {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/reporter/console_reporter.rs:184:37
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn on_start_download(&mut self, url: &str, file: &Path) {
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `errors`
[INFO] [stdout]   --> src/reporter/program_flow.rs:29:29
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn on_errors(&mut self, errors: Vec<anyhow::Error>) {
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn on_request(&mut self, url: &str) {}
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:17:31
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn on_response(&mut self, response: &reqwest::Response) {}
[INFO] [stdout]    |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn on_file_exists(&mut self, path: &std::path::Path, overwrite: bool) {}
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overwrite`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:19:58
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn on_file_exists(&mut self, path: &std::path::Path, overwrite: bool) {}
[INFO] [stdout]    |                                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overwrite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn on_file_create(&mut self, path: &std::path::Path) {}
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn on_file_size_known(&mut self, size: Option<u64>) {}
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:25:37
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn on_start_download(&mut self, url: &str, file: &std::path::Path) {}
[INFO] [stdout]    |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:25:48
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn on_start_download(&mut self, url: &str, file: &std::path::Path) {}
[INFO] [stdout]    |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn on_progress(&mut self, delta: u64) {}
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn on_complete(&mut self, url: &str, path: &std::path::Path) {}
[INFO] [stdout]    |                               ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:29:42
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn on_complete(&mut self, url: &str, path: &std::path::Path) {}
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]   --> src/reporter/silent_reporter.rs:31:28
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn on_error(&mut self, error: &anyhow::Error) {}
[INFO] [stdout]    |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `validate_urls` is never used
[INFO] [stdout]    --> src/lib.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 47  | impl Downloader {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn validate_urls(urls: Vec<String>) -> (Vec<String>, Vec<anyhow::Error>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_false` is never used
[INFO] [stdout]    --> src/config/app.rs:305:4
[INFO] [stdout]     |
[INFO] [stdout] 305 | fn default_false() -> bool { false }
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `log_level` is never read
[INFO] [stdout]  --> src/reporter/program_flow.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ProgramReporter {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] 8 |     log_level: LogLevel,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4m 03s
[INFO] running `Command { std: "docker" "inspect" "5b008937b5640559c556d0a9ae37fa06bef741bb0ea818330d89c0d3552a2bb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5b008937b5640559c556d0a9ae37fa06bef741bb0ea818330d89c0d3552a2bb0", kill_on_drop: false }`
[INFO] [stdout] 5b008937b5640559c556d0a9ae37fa06bef741bb0ea818330d89c0d3552a2bb0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -Copt-level=3" "-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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7fbe570ce6a830e4b10bb1a427e7db3feec5b07baa5bac01826d0c9ded1f51b8
[INFO] running `Command { std: "docker" "start" "-a" "7fbe570ce6a830e4b10bb1a427e7db3feec5b07baa5bac01826d0c9ded1f51b8", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Path`
[INFO] [stderr]  --> src/lib.rs:5:17
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::path::{Path, PathBuf};
[INFO] [stderr]   |                 ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AppConfig`
[INFO] [stderr]  --> src/config/cli.rs:5:26
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::config::app::{AppConfig, LogLevel, TomlConfig};
[INFO] [stderr]   |                          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::app`
[INFO] [stderr]  --> src/config/cli.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use super::app;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Context` and `Result`
[INFO] [stderr]  --> src/reporter/console_reporter.rs:3:14
[INFO] [stderr]   |
[INFO] [stderr] 3 | use anyhow::{Context, Result};
[INFO] [stderr]   |              ^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `response`
[INFO] [stderr]    --> src/reporter/console_reporter.rs:141:31
[INFO] [stderr]     |
[INFO] [stderr] 141 |     fn on_response(&mut self, response: &Response) {
[INFO] [stderr]     |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `url`
[INFO] [stderr]    --> src/reporter/console_reporter.rs:154:31
[INFO] [stderr]     |
[INFO] [stderr] 154 |     fn on_complete(&mut self, url: &str, path: &Path) {
[INFO] [stderr]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]    --> src/reporter/console_reporter.rs:154:42
[INFO] [stderr]     |
[INFO] [stderr] 154 |     fn on_complete(&mut self, url: &str, path: &Path) {
[INFO] [stderr]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `size`
[INFO] [stderr]    --> src/reporter/console_reporter.rs:167:21
[INFO] [stderr]     |
[INFO] [stderr] 167 |         if let Some(size) = size {
[INFO] [stderr]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]    --> src/reporter/console_reporter.rs:172:34
[INFO] [stderr]     |
[INFO] [stderr] 172 |     fn on_file_create(&mut self, path: &Path) {
[INFO] [stderr]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `url`
[INFO] [stderr]    --> src/reporter/console_reporter.rs:184:37
[INFO] [stderr]     |
[INFO] [stderr] 184 |     fn on_start_download(&mut self, url: &str, file: &Path) {
[INFO] [stderr]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `errors`
[INFO] [stderr]   --> src/reporter/program_flow.rs:29:29
[INFO] [stderr]    |
[INFO] [stderr] 29 |     fn on_errors(&mut self, errors: Vec<anyhow::Error>) {
[INFO] [stderr]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `url`
[INFO] [stderr]   --> src/reporter/silent_reporter.rs:15:30
[INFO] [stderr]    |
[INFO] [stderr] 15 |     fn on_request(&mut self, url: &str) {}
[INFO] [stderr]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `response`
[INFO] [stderr]   --> src/reporter/silent_reporter.rs:17:31
[INFO] [stderr]    |
[INFO] [stderr] 17 |     fn on_response(&mut self, response: &reqwest::Response) {}
[INFO] [stderr]    |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]   --> src/reporter/silent_reporter.rs:19:34
[INFO] [stderr]    |
[INFO] [stderr] 19 |     fn on_file_exists(&mut self, path: &std::path::Path, overwrite: bool) {}
[INFO] [stderr]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `overwrite`
[INFO] [stderr]   --> src/reporter/silent_reporter.rs:19:58
[INFO] [stderr]    |
[INFO] [stderr] 19 |     fn on_file_exists(&mut self, path: &std::path::Path, overwrite: bool) {}
[INFO] [stderr]    |                                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overwrite`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]   --> src/reporter/silent_reporter.rs:21:34
[INFO] [stderr]    |
[INFO] [stderr] 21 |     fn on_file_create(&mut self, path: &std::path::Path) {}
[INFO] [stderr]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `size`
[INFO] [stderr]   --> src/reporter/silent_reporter.rs:23:38
[INFO] [stderr]    |
[INFO] [stderr] 23 |     fn on_file_size_known(&mut self, size: Option<u64>) {}
[INFO] [stderr]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `url`
[INFO] [stderr]   --> src/reporter/silent_reporter.rs:25:37
[INFO] [stderr]    |
[INFO] [stderr] 25 |     fn on_start_download(&mut self, url: &str, file: &std::path::Path) {}
[INFO] [stderr]    |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file`
[INFO] [stderr]   --> src/reporter/silent_reporter.rs:25:48
[INFO] [stderr]    |
[INFO] [stderr] 25 |     fn on_start_download(&mut self, url: &str, file: &std::path::Path) {}
[INFO] [stderr]    |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `delta`
[INFO] [stderr]   --> src/reporter/silent_reporter.rs:27:31
[INFO] [stderr]    |
[INFO] [stderr] 27 |     fn on_progress(&mut self, delta: u64) {}
[INFO] [stderr]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `url`
[INFO] [stderr]   --> src/reporter/silent_reporter.rs:29:31
[INFO] [stderr]    |
[INFO] [stderr] 29 |     fn on_complete(&mut self, url: &str, path: &std::path::Path) {}
[INFO] [stderr]    |                               ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]   --> src/reporter/silent_reporter.rs:29:42
[INFO] [stderr]    |
[INFO] [stderr] 29 |     fn on_complete(&mut self, url: &str, path: &std::path::Path) {}
[INFO] [stderr]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `error`
[INFO] [stderr]   --> src/reporter/silent_reporter.rs:31:28
[INFO] [stderr]    |
[INFO] [stderr] 31 |     fn on_error(&mut self, error: &anyhow::Error) {}
[INFO] [stderr]    |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `validate_urls` is never used
[INFO] [stderr]    --> src/lib.rs:118:8
[INFO] [stderr]     |
[INFO] [stderr] 47  | impl Downloader {
[INFO] [stderr]     | --------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 118 |     fn validate_urls(urls: Vec<String>) -> (Vec<String>, Vec<anyhow::Error>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `default_false` is never used
[INFO] [stderr]    --> src/config/app.rs:305:4
[INFO] [stderr]     |
[INFO] [stderr] 305 | fn default_false() -> bool { false }
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `log_level` is never read
[INFO] [stderr]  --> src/reporter/program_flow.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct ProgramReporter {
[INFO] [stderr]   |            --------------- field in this struct
[INFO] [stderr] 8 |     log_level: LogLevel,
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `downloader-cli` (lib) generated 26 warnings (run `cargo fix --lib -p downloader-cli` to apply 4 suggestions)
[INFO] [stderr] warning: unused variable: `errors`
[INFO] [stderr]    --> src/lib.rs:429:26
[INFO] [stderr]     |
[INFO] [stderr] 429 |         let (downloader, errors) = builder.build().unwrap();
[INFO] [stderr]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `response`
[INFO] [stderr]    --> src/reporter/console_reporter.rs:141:31
[INFO] [stderr]     |
[INFO] [stderr] 141 |     fn on_response(&mut self, response: &Response) {
[INFO] [stderr]     |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stderr] 
[INFO] [stderr] warning: `downloader-cli` (lib test) generated 27 warnings (25 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/downloader_cli-c278133771133532)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test config::app::tests::test_custom_config_values ... ok
[INFO] [stdout] test config::app::tests::test_invalid_config ... ok
[INFO] [stdout] test config::app::tests::test_default_config ... ok
[INFO] [stdout] test config::tests::test_default_path ... ok
[INFO] [stdout] test tests::test_get_filename ... ok
[INFO] [stdout] test tests::test_download_no_content_length ... FAILED
[INFO] [stdout] test tests::test_download_content_length ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_download_no_content_length stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_download_no_content_length' panicked at src/lib.rs:436:9:
[INFO] [stdout] assertion `left == right` failed: Download failed: DownloadResult {
[INFO] [stdout]     total: 8,
[INFO] [stdout]     errors: [
[INFO] [stdout]         Error {
[INFO] [stdout]             context: "Failed to create file: super.txt",
[INFO] [stdout]             source: Os {
[INFO] [stdout]                 code: 30,
[INFO] [stdout]                 kind: ReadOnlyFilesystem,
[INFO] [stdout]                 message: "Read-only file system",
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]         Error {
[INFO] [stdout]             context: "Failed to create file: file.txt",
[INFO] [stdout]             source: Os {
[INFO] [stdout]                 code: 30,
[INFO] [stdout]                 kind: ReadOnlyFilesystem,
[INFO] [stdout]                 message: "Read-only file system",
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]         Error {
[INFO] [stdout]             context: "Failed to create file: test.txt",
[INFO] [stdout]             source: Os {
[INFO] [stdout]                 code: 30,
[INFO] [stdout]                 kind: ReadOnlyFilesystem,
[INFO] [stdout]                 message: "Read-only file system",
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]         Error {
[INFO] [stdout]             context: "Failed to create file: crate.txt",
[INFO] [stdout]             source: Os {
[INFO] [stdout]                 code: 30,
[INFO] [stdout]                 kind: ReadOnlyFilesystem,
[INFO] [stdout]                 message: "Read-only file system",
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]         Error {
[INFO] [stdout]             context: "Failed to create file: error.txt",
[INFO] [stdout]             source: Os {
[INFO] [stdout]                 code: 30,
[INFO] [stdout]                 kind: ReadOnlyFilesystem,
[INFO] [stdout]                 message: "Read-only file system",
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]         Error {
[INFO] [stdout]             context: "Failed to create file: cargo.txt",
[INFO] [stdout]             source: Os {
[INFO] [stdout]                 code: 30,
[INFO] [stdout]                 kind: ReadOnlyFilesystem,
[INFO] [stdout]                 message: "Read-only file system",
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]         Error {
[INFO] [stdout]             context: "Failed to create file: hello.txt",
[INFO] [stdout]             source: Os {
[INFO] [stdout]                 code: 30,
[INFO] [stdout]                 kind: ReadOnlyFilesystem,
[INFO] [stdout]                 message: "Read-only file system",
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]         Error {
[INFO] [stdout]             context: "Failed to create file: banana.txt",
[INFO] [stdout]             source: Os {
[INFO] [stdout]                 code: 30,
[INFO] [stdout]                 kind: ReadOnlyFilesystem,
[INFO] [stdout]                 message: "Read-only file system",
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout] }
[INFO] [stdout]   left: 8
[INFO] [stdout]  right: 0
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x59afac415a52 - std::backtrace_rs::backtrace::libunwind::trace::hd39b1f53d3cf9745
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x59afac415a52 - std::backtrace_rs::backtrace::trace_unsynchronized::he91d9a75d4e3972b
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x59afac415a52 - std::sys::backtrace::_print_fmt::hca46938f8c6e22cf
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x59afac415a52 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha499add612cccf8e
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x59afac441533 - core::fmt::rt::Argument::fmt::hd21145b75a833b7a
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x59afac441533 - core::fmt::write::hb10c956f5235c8a4
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/fmt/mod.rs:1465:25
[INFO] [stdout]    6:     0x59afac411b03 - std::io::default_write_fmt::hdb7615052be2ba4d
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x59afac411b03 - std::io::Write::write_fmt::he1bcd251ec6e4153
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x59afac4158a2 - std::sys::backtrace::BacktraceLock::print::hb47c770ef659fd10
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x59afac41707c - std::panicking::default_hook::{{closure}}::hdda8afb9d457a22c
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:300:27
[INFO] [stdout]   10:     0x59afac416ed2 - std::panicking::default_hook::h7c46b44874fe5c9a
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:324:9
[INFO] [stdout]   11:     0x59afac0f4d24 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h178a5fcedee41e2f
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   12:     0x59afac0f4d24 - test::test_main_with_exit_callback::{{closure}}::h951a41e0149d6d5d
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x59afac417b5b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h13602080f5b63276
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   14:     0x59afac417b5b - std::panicking::rust_panic_with_hook::ha6cb99ed099eb1c5
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:841:13
[INFO] [stdout]   15:     0x59afac41782a - std::panicking::begin_panic_handler::{{closure}}::he11808bc797ee921
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:706:13
[INFO] [stdout]   16:     0x59afac415f59 - std::sys::backtrace::__rust_end_short_backtrace::h9418807cb7346258
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   17:     0x59afac4174bd - __rustc[18fb429eef004894]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:697:5
[INFO] [stdout]   18:     0x59afac43e8b0 - core::panicking::panic_fmt::hd890aeb12c3a3fc3
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x59afac43ec38 - core::panicking::assert_failed_inner::h02e1528dd7bc6647
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panicking.rs:443:23
[INFO] [stdout]   20:     0x59afac43eaca - core::panicking::assert_failed::h24b207bf351b573a
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panicking.rs:403:5
[INFO] [stdout]   21:     0x59afac000f88 - downloader_cli::tests::test_download_helper::{{closure}}::h764b1bc92ea35184
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:436:9
[INFO] [stdout]   22:     0x59afac0018bf - downloader_cli::tests::test_download_no_content_length::{{closure}}::h0b49af9779b83e1d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:373:37
[INFO] [stdout]   23:     0x59afac040de2 - <core::pin::Pin<P> as core::future::future::Future>::poll::hd893be601cd67adf
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x59afac040de2 - <core::pin::Pin<P> as core::future::future::Future>::poll::h08c3344a30605152
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/future/future.rs:133:9
[INFO] [stdout]   25:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::heb27bda20fac2958
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:733:70
[INFO] [stdout]   26:     0x59afac040de2 - tokio::task::coop::with_budget::h8d517216031ff178
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   27:     0x59afac040de2 - tokio::task::coop::budget::h22297c3d1ca32269
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   28:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::hc6da08c0b10b441c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:733:25
[INFO] [stdout]   29:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::Context::enter::h732cf6b061698b26
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   30:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::ha61c166196bbb01c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:732:44
[INFO] [stdout]   31:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::h5d0df8a97d2b2a24
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:820:68
[INFO] [stdout]   32:     0x59afac040de2 - tokio::runtime::context::scoped::Scoped<T>::set::ha787df8104fd0f82
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   33:     0x59afac040de2 - tokio::runtime::context::set_scheduler::{{closure}}::hfae010397be377eb
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context.rs:176:38
[INFO] [stdout]   34:     0x59afac040de2 - std::thread::local::LocalKey<T>::try_with::h41271e6d594c0825
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/local.rs:315:12
[INFO] [stdout]   35:     0x59afac040de2 - std::thread::local::LocalKey<T>::with::h41fedd42341a04c1
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/local.rs:279:20
[INFO] [stdout]   36:     0x59afac040de2 - tokio::runtime::context::set_scheduler::hf96ec1c847061c25
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context.rs:176:17
[INFO] [stdout]   37:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::h4c306e7df0bb90d8
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:820:27
[INFO] [stdout]   38:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::hbb5e26d03bfc4443
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:720:24
[INFO] [stdout]   39:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::hc68482ce676a2444
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   40:     0x59afac040de2 - tokio::runtime::context::runtime::enter_runtime::h72cf1ead953feffb
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   41:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h5018cc9628ee8e30
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   42:     0x59afac084ac2 - tokio::runtime::runtime::Runtime::block_on_inner::h0adec821a2ffbb3c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   43:     0x59afac084ac2 - tokio::runtime::runtime::Runtime::block_on::hb83c74b32ad1b760
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   44:     0x59afac0017cb - downloader_cli::tests::test_download_no_content_length::h39e747c667ed251f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:373:42
[INFO] [stdout]   45:     0x59afac06ca29 - downloader_cli::tests::test_download_no_content_length::{{closure}}::h0355306561d8eb17
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:372:47
[INFO] [stdout]   46:     0x59afac06ca29 - core::ops::function::FnOnce::call_once::h0162f6f733a01e75
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x59afac0fa4ab - core::ops::function::FnOnce::call_once::h2869fb5b0a2b0bdc
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x59afac0fa4ab - test::__rust_begin_short_backtrace::h7dd7142bd62fa711
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:648:18
[INFO] [stdout]   49:     0x59afac0f969e - test::run_test_in_process::{{closure}}::h43a753f038d36b3f
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:671:74
[INFO] [stdout]   50:     0x59afac0f969e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h0ca95dd3e12d1e16
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   51:     0x59afac0f969e - std::panicking::catch_unwind::do_call::he308587d70ac34ba
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:589:40
[INFO] [stdout]   52:     0x59afac0f969e - std::panicking::catch_unwind::h30dcba31973e8fb0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:552:19
[INFO] [stdout]   53:     0x59afac0f969e - std::panic::catch_unwind::hfb68364e5621fbee
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panic.rs:359:14
[INFO] [stdout]   54:     0x59afac0f969e - test::run_test_in_process::hcdcc2977903b998a
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:671:27
[INFO] [stdout]   55:     0x59afac0f969e - test::run_test::{{closure}}::h544a6550958c5d14
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:592:43
[INFO] [stdout]   56:     0x59afac0bd214 - test::run_test::{{closure}}::hb172e48ebe2b92c7
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:622:41
[INFO] [stdout]   57:     0x59afac0bd214 - std::sys::backtrace::__rust_begin_short_backtrace::h7e79d8706638bea0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   58:     0x59afac0c0bea - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hc4a275f1e71b8ab0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   59:     0x59afac0c0bea - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h01ed0d242df78cfd
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   60:     0x59afac0c0bea - std::panicking::catch_unwind::do_call::h052f373fb905fee0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:589:40
[INFO] [stdout]   61:     0x59afac0c0bea - std::panicking::catch_unwind::hb425d20c8ffb09c8
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:552:19
[INFO] [stdout]   62:     0x59afac0c0bea - std::panic::catch_unwind::ha0d5dfbf18fdeda5
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panic.rs:359:14
[INFO] [stdout]   63:     0x59afac0c0bea - std::thread::Builder::spawn_unchecked_::{{closure}}::hbe79182bd37949c7
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   64:     0x59afac0c0bea - core::ops::function::FnOnce::call_once{{vtable.shim}}::hc096c4a06972fde5
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   65:     0x59afac41afb7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h47377e27fb938a26
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   66:     0x59afac41afb7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h72f1fe5d095abf57
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   67:     0x59afac41afb7 - std::sys::pal::unix::thread::Thread::new::thread_start::h0a4d8e1b9c0d38cf
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stdout]   68:     0x78daf0a1caa4 - <unknown>
[INFO] [stdout]   69:     0x78daf0aa9a34 - clone
[INFO] [stdout]   70:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_download_content_length stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_download_content_length' panicked at src/lib.rs:436:9:
[INFO] [stdout] assertion `left == right` failed: Download failed: DownloadResult {
[INFO] [stdout]     total: 8,
[INFO] [stdout]     errors: [
[INFO] [stdout]         Error {
[INFO] [stdout]             context: "Failed to create file: test.txt",
[INFO] [stdout]             source: Os {
[INFO] [stdout]                 code: 30,
[INFO] [stdout]                 kind: ReadOnlyFilesystem,
[INFO] [stdout]                 message: "Read-only file system",
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]         Error {
[INFO] [stdout]             context: "Failed to create file: error.txt",
[INFO] [stdout]             source: Os {
[INFO] [stdout]                 code: 30,
[INFO] [stdout]                 kind: ReadOnlyFilesystem,
[INFO] [stdout]                 message: "Read-only file system",
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]         Error {
[INFO] [stdout]             context: "Failed to create file: file.txt",
[INFO] [stdout]             source: Os {
[INFO] [stdout]                 code: 30,
[INFO] [stdout]                 kind: ReadOnlyFilesystem,
[INFO] [stdout]                 message: "Read-only file system",
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]         Error {
[INFO] [stdout]             context: "Failed to create file: crate.txt",
[INFO] [stdout]             source: Os {
[INFO] [stdout]                 code: 30,
[INFO] [stdout]                 kind: ReadOnlyFilesystem,
[INFO] [stdout]                 message: "Read-only file system",
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]         Error {
[INFO] [stdout]             context: "Failed to create file: super.txt",
[INFO] [stdout]             source: Os {
[INFO] [stdout]                 code: 30,
[INFO] [stdout]                 kind: ReadOnlyFilesystem,
[INFO] [stdout]                 message: "Read-only file system",
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]         Error {
[INFO] [stdout]             context: "Failed to create file: hello.txt",
[INFO] [stdout]             source: Os {
[INFO] [stdout]                 code: 30,
[INFO] [stdout]                 kind: ReadOnlyFilesystem,
[INFO] [stdout]                 message: "Read-only file system",
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]         Error {
[INFO] [stdout]             context: "Failed to create file: cargo.txt",
[INFO] [stdout]             source: Os {
[INFO] [stdout]                 code: 30,
[INFO] [stdout]                 kind: ReadOnlyFilesystem,
[INFO] [stdout]                 message: "Read-only file system",
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]         Error {
[INFO] [stdout]             context: "Failed to create file: banana.txt",
[INFO] [stdout]             source: Os {
[INFO] [stdout]                 code: 30,
[INFO] [stdout]                 kind: ReadOnlyFilesystem,
[INFO] [stdout]                 message: "Read-only file system",
[INFO] [stdout]             },
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout] }
[INFO] [stdout]   left: 8
[INFO] [stdout]  right: 0
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x59afac415a52 - std::backtrace_rs::backtrace::libunwind::trace::hd39b1f53d3cf9745
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x59afac415a52 - std::backtrace_rs::backtrace::trace_unsynchronized::he91d9a75d4e3972b
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x59afac415a52 - std::sys::backtrace::_print_fmt::hca46938f8c6e22cf
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x59afac415a52 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha499add612cccf8e
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x59afac441533 - core::fmt::rt::Argument::fmt::hd21145b75a833b7a
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x59afac441533 - core::fmt::write::hb10c956f5235c8a4
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/fmt/mod.rs:1465:25
[INFO] [stdout]    6:     0x59afac411b03 - std::io::default_write_fmt::hdb7615052be2ba4d
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x59afac411b03 - std::io::Write::write_fmt::he1bcd251ec6e4153
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x59afac4158a2 - std::sys::backtrace::BacktraceLock::print::hb47c770ef659fd10
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x59afac41707c - std::panicking::default_hook::{{closure}}::hdda8afb9d457a22c
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:300:27
[INFO] [stdout]   10:     0x59afac416ed2 - std::panicking::default_hook::h7c46b44874fe5c9a
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:324:9
[INFO] [stdout]   11:     0x59afac0f4d24 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h178a5fcedee41e2f
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   12:     0x59afac0f4d24 - test::test_main_with_exit_callback::{{closure}}::h951a41e0149d6d5d
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x59afac417b5b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h13602080f5b63276
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   14:     0x59afac417b5b - std::panicking::rust_panic_with_hook::ha6cb99ed099eb1c5
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:841:13
[INFO] [stdout]   15:     0x59afac41782a - std::panicking::begin_panic_handler::{{closure}}::he11808bc797ee921
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:706:13
[INFO] [stdout]   16:     0x59afac415f59 - std::sys::backtrace::__rust_end_short_backtrace::h9418807cb7346258
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   17:     0x59afac4174bd - __rustc[18fb429eef004894]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:697:5
[INFO] [stdout]   18:     0x59afac43e8b0 - core::panicking::panic_fmt::hd890aeb12c3a3fc3
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x59afac43ec38 - core::panicking::assert_failed_inner::h02e1528dd7bc6647
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panicking.rs:443:23
[INFO] [stdout]   20:     0x59afac43eaca - core::panicking::assert_failed::h24b207bf351b573a
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panicking.rs:403:5
[INFO] [stdout]   21:     0x59afac000f88 - downloader_cli::tests::test_download_helper::{{closure}}::h764b1bc92ea35184
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:436:9
[INFO] [stdout]   22:     0x59afac0016bf - downloader_cli::tests::test_download_content_length::{{closure}}::h41c08473c18bb3b3
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:368:36
[INFO] [stdout]   23:     0x59afac040de2 - <core::pin::Pin<P> as core::future::future::Future>::poll::hd893be601cd67adf
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x59afac040de2 - <core::pin::Pin<P> as core::future::future::Future>::poll::h08c3344a30605152
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/future/future.rs:133:9
[INFO] [stdout]   25:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::heb27bda20fac2958
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:733:70
[INFO] [stdout]   26:     0x59afac040de2 - tokio::task::coop::with_budget::h8d517216031ff178
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   27:     0x59afac040de2 - tokio::task::coop::budget::h22297c3d1ca32269
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   28:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::hc6da08c0b10b441c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:733:25
[INFO] [stdout]   29:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::Context::enter::h732cf6b061698b26
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   30:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::ha61c166196bbb01c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:732:44
[INFO] [stdout]   31:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::h5d0df8a97d2b2a24
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:820:68
[INFO] [stdout]   32:     0x59afac040de2 - tokio::runtime::context::scoped::Scoped<T>::set::ha787df8104fd0f82
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   33:     0x59afac040de2 - tokio::runtime::context::set_scheduler::{{closure}}::hfae010397be377eb
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context.rs:176:38
[INFO] [stdout]   34:     0x59afac040de2 - std::thread::local::LocalKey<T>::try_with::h41271e6d594c0825
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/local.rs:315:12
[INFO] [stdout]   35:     0x59afac040de2 - std::thread::local::LocalKey<T>::with::h41fedd42341a04c1
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/local.rs:279:20
[INFO] [stdout]   36:     0x59afac040de2 - tokio::runtime::context::set_scheduler::hf96ec1c847061c25
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context.rs:176:17
[INFO] [stdout]   37:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::h4c306e7df0bb90d8
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:820:27
[INFO] [stdout]   38:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::hbb5e26d03bfc4443
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:720:24
[INFO] [stdout]   39:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::hc68482ce676a2444
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   40:     0x59afac040de2 - tokio::runtime::context::runtime::enter_runtime::h72cf1ead953feffb
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   41:     0x59afac040de2 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h5018cc9628ee8e30
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   42:     0x59afac084ac2 - tokio::runtime::runtime::Runtime::block_on_inner::h0adec821a2ffbb3c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   43:     0x59afac084ac2 - tokio::runtime::runtime::Runtime::block_on::hb83c74b32ad1b760
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   44:     0x59afac0015cb - downloader_cli::tests::test_download_content_length::h7a5f802811a03103
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:368:41
[INFO] [stdout]   45:     0x59afac06cae9 - downloader_cli::tests::test_download_content_length::{{closure}}::hf9220447239b7727
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:367:44
[INFO] [stdout]   46:     0x59afac06cae9 - core::ops::function::FnOnce::call_once::hfaeae5a8daff2d2d
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x59afac0fa4ab - core::ops::function::FnOnce::call_once::h2869fb5b0a2b0bdc
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x59afac0fa4ab - test::__rust_begin_short_backtrace::h7dd7142bd62fa711
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:648:18
[INFO] [stdout]   49:     0x59afac0f969e - test::run_test_in_process::{{closure}}::h43a753f038d36b3f
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:671:74
[INFO] [stdout]   50:     0x59afac0f969e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h0ca95dd3e12d1e16
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   51:     0x59afac0f969e - std::panicking::catch_unwind::do_call::he308587d70ac34ba
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:589:40
[INFO] [stdout]   52:     0x59afac0f969e - std::panicking::catch_unwind::h30dcba31973e8fb0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:552:19
[INFO] [stdout]   53:     0x59afac0f969e - std::panic::catch_unwind::hfb68364e5621fbee
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panic.rs:359:14
[INFO] [stdout]   54:     0x59afac0f969e - test::run_test_in_process::hcdcc2977903b998a
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:671:27
[INFO] [stdout]   55:     0x59afac0f969e - test::run_test::{{closure}}::h544a6550958c5d14
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:592:43
[INFO] [stdout]   56:     0x59afac0bd214 - test::run_test::{{closure}}::hb172e48ebe2b92c7
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:622:41
[INFO] [stdout]   57:     0x59afac0bd214 - std::sys::backtrace::__rust_begin_short_backtrace::h7e79d8706638bea0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   58:     0x59afac0c0bea - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hc4a275f1e71b8ab0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   59:     0x59afac0c0bea - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h01ed0d242df78cfd
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   60:     0x59afac0c0bea - std::panicking::catch_unwind::do_call::h052f373fb905fee0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:589:40
[INFO] [stdout]   61:     0x59afac0c0bea - std::panicking::catch_unwind::hb425d20c8ffb09c8
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:552:19
[INFO] [stdout]   62:     0x59afac0c0bea - std::panic::catch_unwind::ha0d5dfbf18fdeda5
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panic.rs:359:14
[INFO] [stdout]   63:     0x59afac0c0bea - std::thread::Builder::spawn_unchecked_::{{closure}}::hbe79182bd37949c7
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   64:     0x59afac0c0bea - core::ops::function::FnOnce::call_once{{vtable.shim}}::hc096c4a06972fde5
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   65:     0x59afac41afb7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h47377e27fb938a26
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   66:     0x59afac41afb7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h72f1fe5d095abf57
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   67:     0x59afac41afb7 - std::sys::pal::unix::thread::Thread::new::thread_start::h0a4d8e1b9c0d38cf
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stdout]   68:     0x78daf0a1caa4 - <unknown>
[INFO] [stdout]   69:     0x78daf0aa9a34 - clone
[INFO] [stdout]   70:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::test_download_content_length
[INFO] [stdout]     tests::test_download_no_content_length
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 5 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 12.26s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "7fbe570ce6a830e4b10bb1a427e7db3feec5b07baa5bac01826d0c9ded1f51b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7fbe570ce6a830e4b10bb1a427e7db3feec5b07baa5bac01826d0c9ded1f51b8", kill_on_drop: false }`
[INFO] [stdout] 7fbe570ce6a830e4b10bb1a427e7db3feec5b07baa5bac01826d0c9ded1f51b8
