[INFO] cloning repository https://github.com/okayfine996/xget
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/okayfine996/xget" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fokayfine996%2Fxget", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fokayfine996%2Fxget'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 822e99378dda5156e54840a29520f3f9269d660a
[INFO] checking okayfine996/xget against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fokayfine996%2Fxget" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/okayfine996/xget
[INFO] finished tweaking git repo https://github.com/okayfine996/xget
[INFO] tweaked toml for git repo https://github.com/okayfine996/xget written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/okayfine996/xget on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/okayfine996/xget 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pin-project-lite v0.2.10
[INFO] [stderr]   Downloaded ctrlc v3.4.0
[INFO] [stderr]   Downloaded anstyle v1.0.1
[INFO] [stderr]   Downloaded clap_derive v4.3.12
[INFO] [stderr]   Downloaded console v0.15.7
[INFO] [stderr]   Downloaded anstyle-parse v0.2.1
[INFO] [stderr]   Downloaded clap v4.3.19
[INFO] [stderr]   Downloaded indicatif v0.17.5
[INFO] [stderr]   Downloaded portable-atomic v1.4.1
[INFO] [stderr]   Downloaded bitflags v2.3.3
[INFO] [stderr]   Downloaded backtrace v0.3.68
[INFO] [stderr]   Downloaded reqwest v0.11.18
[INFO] [stderr]   Downloaded serde_json v1.0.103
[INFO] [stderr]   Downloaded tempfile v3.7.0
[INFO] [stderr]   Downloaded clap_builder v4.3.19
[INFO] [stderr]   Downloaded syn v2.0.27
[INFO] [stderr]   Downloaded regex-syntax v0.7.4
[INFO] [stderr]   Downloaded rustix v0.38.4
[INFO] [stderr]   Downloaded h2 v0.3.20
[INFO] [stderr]   Downloaded nix v0.26.2
[INFO] [stderr]   Downloaded object v0.31.1
[INFO] [stderr]   Downloaded regex v1.9.1
[INFO] [stderr]   Downloaded serde_derive v1.0.174
[INFO] [stderr]   Downloaded termcolor v1.2.0
[INFO] [stderr]   Downloaded windows-targets v0.48.1
[INFO] [stderr]   Downloaded serde v1.0.174
[INFO] [stderr]   Downloaded env_logger v0.10.0
[INFO] [stderr]   Downloaded addr2line v0.20.0
[INFO] [stderr]   Downloaded quote v1.0.31
[INFO] [stderr]   Downloaded tokio v1.29.1
[INFO] [stderr]   Downloaded regex-automata v0.3.3
[INFO] [stderr]   Downloaded linux-raw-sys v0.4.3
[INFO] [stderr]   Downloaded encoding_rs v0.8.32
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9e66e95028931bbb34efe398d31da581a5ff20a4a3acb70a8012881854b272b5
[INFO] running `Command { std: "docker" "start" "-a" "9e66e95028931bbb34efe398d31da581a5ff20a4a3acb70a8012881854b272b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e66e95028931bbb34efe398d31da581a5ff20a4a3acb70a8012881854b272b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e66e95028931bbb34efe398d31da581a5ff20a4a3acb70a8012881854b272b5", kill_on_drop: false }`
[INFO] [stdout] 9e66e95028931bbb34efe398d31da581a5ff20a4a3acb70a8012881854b272b5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9b5965a7c00885a41bf520bbbe966ae64ccb58ed5883129889d20b473f74e4d1
[INFO] running `Command { std: "docker" "start" "-a" "9b5965a7c00885a41bf520bbbe966ae64ccb58ed5883129889d20b473f74e4d1", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]    Compiling unicode-ident v1.0.11
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]     Checking pin-project-lite v0.2.10
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]     Checking bytes v1.4.0
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling tokio v1.29.1
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stderr]    Compiling slab v0.4.8
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]    Compiling rustix v0.38.4
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking tracing-core v0.1.31
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]     Checking bitflags v2.3.3
[INFO] [stderr]    Compiling openssl v0.10.55
[INFO] [stderr]     Checking foreign-types-shared v0.1.1
[INFO] [stderr]     Checking linux-raw-sys v0.4.3
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking http v0.2.9
[INFO] [stderr]     Checking foreign-types v0.3.2
[INFO] [stderr]    Compiling quote v1.0.31
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]    Compiling syn v2.0.27
[INFO] [stderr]     Checking log v0.4.19
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]     Checking futures-sink v0.3.28
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]    Compiling openssl-sys v0.9.90
[INFO] [stderr]    Compiling serde v1.0.174
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking futures-io v0.3.28
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking try-lock v0.2.4
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]     Checking percent-encoding v2.3.0
[INFO] [stderr]    Compiling serde_derive v1.0.174
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking mio v0.8.8
[INFO] [stderr]     Checking socket2 v0.4.9
[INFO] [stderr]     Checking is-terminal v0.4.9
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]     Checking anstyle-parse v0.2.1
[INFO] [stderr]     Checking form_urlencoded v1.2.0
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]     Checking http-body v0.4.5
[INFO] [stderr]     Checking aho-corasick v1.0.2
[INFO] [stderr]     Checking regex-syntax v0.7.4
[INFO] [stderr]     Checking tower-service v0.3.2
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]    Compiling portable-atomic v1.4.1
[INFO] [stderr]     Checking anstyle-query v1.0.0
[INFO] [stderr]     Checking ryu v1.0.15
[INFO] [stderr]     Checking unicode-bidi v0.3.13
[INFO] [stderr]     Checking httpdate v1.0.2
[INFO] [stderr]     Checking anstyle v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.103
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]     Checking anstream v0.3.2
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking clap_lex v0.5.0
[INFO] [stderr]     Checking unicode-width v0.1.10
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking clap_builder v4.3.19
[INFO] [stderr]     Checking console v0.15.7
[INFO] [stderr]     Checking nix v0.26.2
[INFO] [stderr]     Checking url v2.4.0
[INFO] [stderr]     Checking encoding_rs v0.8.32
[INFO] [stderr]     Checking regex-automata v0.3.3
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking termcolor v1.2.0
[INFO] [stderr]     Checking ipnet v2.8.0
[INFO] [stderr]     Checking base64 v0.21.2
[INFO] [stderr]     Checking number_prefix v0.4.0
[INFO] [stderr]     Checking indicatif v0.17.5
[INFO] [stderr]     Checking ctrlc v3.4.0
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling clap_derive v4.3.12
[INFO] [stderr]     Checking tokio-util v0.7.8
[INFO] [stderr]     Checking h2 v0.3.20
[INFO] [stderr]     Checking regex v1.9.1
[INFO] [stderr]     Checking env_logger v0.10.0
[INFO] [stderr]     Checking clap v4.3.19
[INFO] [stderr]     Checking hyper v0.14.27
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.18
[INFO] [stderr]     Checking xget v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `error` and `io`
[INFO] [stdout]  --> src/http/fetcher.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{error, io, thread};
[INFO] [stdout]   |           ^^^^^  ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/http/fetcher.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deref` and `Index`
[INFO] [stdout]  --> src/http/fetcher.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::{Deref, Index};
[INFO] [stdout]   |                ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/http/fetcher.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Condvar`
[INFO] [stdout]  --> src/http/fetcher.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::{Arc, Condvar, mpsc, Mutex};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ordering`
[INFO] [stdout]  --> src/http/fetcher.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::atomic::{AtomicU64, Ordering};
[INFO] [stdout]   |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SyncSender`
[INFO] [stdout]   --> src/http/fetcher.rs:10:31
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::mpsc::{Sender, SyncSender};
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trace`
[INFO] [stdout]   --> src/http/fetcher.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | use log::{debug, error, trace};
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StatusCode`
[INFO] [stdout]   --> src/http/fetcher.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | use reqwest::{StatusCode, Url};
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `threadpool::ThreadPool`
[INFO] [stdout]   --> src/http/fetcher.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use threadpool::ThreadPool;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::http::fetcher`
[INFO] [stdout]    --> src/http/fetcher.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout] 329 |     use crate::http::fetcher;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `io`
[INFO] [stdout]  --> src/http/fetcher.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{error, io, thread};
[INFO] [stdout]   |           ^^^^^  ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/http/fetcher.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deref` and `Index`
[INFO] [stdout]  --> src/http/fetcher.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::{Deref, Index};
[INFO] [stdout]   |                ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/http/fetcher.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Condvar`
[INFO] [stdout]  --> src/http/fetcher.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::{Arc, Condvar, mpsc, Mutex};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ordering`
[INFO] [stdout]  --> src/http/fetcher.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::atomic::{AtomicU64, Ordering};
[INFO] [stdout]   |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SyncSender`
[INFO] [stdout]   --> src/http/fetcher.rs:10:31
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::mpsc::{Sender, SyncSender};
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trace`
[INFO] [stdout]   --> src/http/fetcher.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | use log::{debug, error, trace};
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StatusCode`
[INFO] [stdout]   --> src/http/fetcher.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | use reqwest::{StatusCode, Url};
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `threadpool::ThreadPool`
[INFO] [stdout]   --> src/http/fetcher.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use threadpool::ThreadPool;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/http/fetcher.rs:107:16
[INFO] [stdout]     |
[INFO] [stdout] 107 |             if let op = result.headers().get(CONTENT_DISPOSITION) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/http/fetcher.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let mut file = create_fixed_size_file(output_path, file_size).unwrap();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/http/fetcher.rs:253:16
[INFO] [stdout]     |
[INFO] [stdout] 253 |             if let data = share_data.lock().unwrap() {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/http/fetcher.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |     for i in 0..5 {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/http/fetcher.rs:317:9
[INFO] [stdout]     |
[INFO] [stdout] 317 |     let mut file = File::create(file)?;
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/http/fetcher.rs:334:13
[INFO] [stdout]     |
[INFO] [stdout] 334 |         let result = split_chunk(1096, 5);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expect`
[INFO] [stdout]    --> src/http/fetcher.rs:336:13
[INFO] [stdout]     |
[INFO] [stdout] 336 |         let expect = vec![
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_expect`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/http/fetcher.rs:358:13
[INFO] [stdout]     |
[INFO] [stdout] 358 |         let result = fetcher.resolve();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `counter` is never used
[INFO] [stdout]   --> src/http/fetcher.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | static counter: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHUNK_SIZE` is never used
[INFO] [stdout]   --> src/http/fetcher.rs:85:7
[INFO] [stdout]    |
[INFO] [stdout] 85 | const CHUNK_SIZE: u32 = 40960000;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `counter` should have an upper case name
[INFO] [stdout]   --> src/http/fetcher.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | static counter: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^ help: convert the identifier to upper case: `COUNTER`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fileName` should have a snake case name
[INFO] [stdout]    --> src/http/fetcher.rs:104:17
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let mut fileName = String::new();
[INFO] [stdout]     |                 ^^^^^^^^ help: convert the identifier to snake case: `file_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]    --> src/http/fetcher.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     chunk.state == ChunkState::Downloading;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 212 |     let _ = chunk.state == ChunkState::Downloading;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]    --> src/http/fetcher.rs:255:21
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     chunk.state == ChunkState::Pause;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     let _ = chunk.state == ChunkState::Pause;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/http/fetcher.rs:107:16
[INFO] [stdout]     |
[INFO] [stdout] 107 |             if let op = result.headers().get(CONTENT_DISPOSITION) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/http/fetcher.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let mut file = create_fixed_size_file(output_path, file_size).unwrap();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/http/fetcher.rs:253:16
[INFO] [stdout]     |
[INFO] [stdout] 253 |             if let data = share_data.lock().unwrap() {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/http/fetcher.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |     for i in 0..5 {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/http/fetcher.rs:317:9
[INFO] [stdout]     |
[INFO] [stdout] 317 |     let mut file = File::create(file)?;
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `counter` is never used
[INFO] [stdout]   --> src/http/fetcher.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | static counter: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHUNK_SIZE` is never used
[INFO] [stdout]   --> src/http/fetcher.rs:85:7
[INFO] [stdout]    |
[INFO] [stdout] 85 | const CHUNK_SIZE: u32 = 40960000;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `counter` should have an upper case name
[INFO] [stdout]   --> src/http/fetcher.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | static counter: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^ help: convert the identifier to upper case: `COUNTER`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fileName` should have a snake case name
[INFO] [stdout]    --> src/http/fetcher.rs:104:17
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let mut fileName = String::new();
[INFO] [stdout]     |                 ^^^^^^^^ help: convert the identifier to snake case: `file_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]    --> src/http/fetcher.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     chunk.state == ChunkState::Downloading;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 212 |     let _ = chunk.state == ChunkState::Downloading;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]    --> src/http/fetcher.rs:255:21
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     chunk.state == ChunkState::Pause;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     let _ = chunk.state == ChunkState::Pause;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/main.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{BufReader, Read};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Condvar`
[INFO] [stdout]  --> src/main.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::{Arc, Condvar, Mutex};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::Error`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use reqwest::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `xget::http`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use xget::http;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `xget::http::fetcher`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use xget::http::fetcher;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let mut temp_file = File::create(fetcher.output_path.clone().unwrap() + ".tmp").unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             serde_json::to_writer(&temp_file, &fetcher);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 56 |             let _ = serde_json::to_writer(&temp_file, &fetcher);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 fs::remove_file(&file);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 let _ = fs::remove_file(&file);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/main.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{BufReader, Read};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Condvar`
[INFO] [stdout]  --> src/main.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::{Arc, Condvar, Mutex};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::Error`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use reqwest::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `xget::http`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use xget::http;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `xget::http::fetcher`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use xget::http::fetcher;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let mut temp_file = File::create(fetcher.output_path.clone().unwrap() + ".tmp").unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             serde_json::to_writer(&temp_file, &fetcher);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 56 |             let _ = serde_json::to_writer(&temp_file, &fetcher);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 fs::remove_file(&file);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 let _ = fs::remove_file(&file);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 53.77s
[INFO] running `Command { std: "docker" "inspect" "9b5965a7c00885a41bf520bbbe966ae64ccb58ed5883129889d20b473f74e4d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9b5965a7c00885a41bf520bbbe966ae64ccb58ed5883129889d20b473f74e4d1", kill_on_drop: false }`
[INFO] [stdout] 9b5965a7c00885a41bf520bbbe966ae64ccb58ed5883129889d20b473f74e4d1
