[INFO] cloning repository https://github.com/Sakaki-Aruka/mngr [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Sakaki-Aruka/mngr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSakaki-Aruka%2Fmngr", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSakaki-Aruka%2Fmngr'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 319b1715e02496ceca349df7d4e4df6721099d27 [INFO] testing Sakaki-Aruka/mngr against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSakaki-Aruka%2Fmngr" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Sakaki-Aruka/mngr [INFO] finished tweaking git repo https://github.com/Sakaki-Aruka/mngr [INFO] tweaked toml for git repo https://github.com/Sakaki-Aruka/mngr written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Sakaki-Aruka/mngr on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Sakaki-Aruka/mngr 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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded uuid v1.8.0 [INFO] [stderr] Downloaded versions v6.2.0 [INFO] [stderr] Downloaded fancy-regex v0.13.0 [INFO] [stderr] Downloaded syn v2.0.62 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0734aad85536c2a84009bf12551acea5d34af94da4485cbb4984991153cbe214 [INFO] running `Command { std: "docker" "start" "-a" "0734aad85536c2a84009bf12551acea5d34af94da4485cbb4984991153cbe214", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0734aad85536c2a84009bf12551acea5d34af94da4485cbb4984991153cbe214", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0734aad85536c2a84009bf12551acea5d34af94da4485cbb4984991153cbe214", kill_on_drop: false }` [INFO] [stdout] 0734aad85536c2a84009bf12551acea5d34af94da4485cbb4984991153cbe214 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b09e79430c73595d72874df370b044800134f362f46281f09d2b06ec91e963d5 [INFO] running `Command { std: "docker" "start" "-a" "b09e79430c73595d72874df370b044800134f362f46281f09d2b06ec91e963d5", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.82 [INFO] [stderr] Compiling libc v0.2.154 [INFO] [stderr] Compiling memchr v2.7.2 [INFO] [stderr] Compiling cc v1.0.97 [INFO] [stderr] Compiling futures-sink v0.3.30 [INFO] [stderr] Compiling serde v1.0.201 [INFO] [stderr] Compiling log v0.4.21 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling http v1.1.0 [INFO] [stderr] Compiling openssl v0.10.64 [INFO] [stderr] Compiling bitflags v2.5.0 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling unicode-normalization v0.1.23 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling unicode-bidi v0.3.15 [INFO] [stderr] Compiling futures-channel v0.3.30 [INFO] [stderr] Compiling either v1.11.0 [INFO] [stderr] Compiling rustls-pki-types v1.7.0 [INFO] [stderr] Compiling serde_json v1.0.117 [INFO] [stderr] Compiling winnow v0.6.8 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling regex-syntax v0.8.3 [INFO] [stderr] Compiling bit-set v0.5.3 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling encoding_rs v0.8.34 [INFO] [stderr] Compiling ipnet v2.9.0 [INFO] [stderr] Compiling indexmap v2.2.6 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling socket2 v0.5.7 [INFO] [stderr] Compiling mio v0.8.11 [INFO] [stderr] Compiling futures-util v0.3.30 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling tracing v0.1.40 [INFO] [stderr] Compiling http-body v1.0.0 [INFO] [stderr] Compiling http-body-util v0.1.1 [INFO] [stderr] Compiling tokio v1.37.0 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling syn v2.0.62 [INFO] [stderr] Compiling idna v0.5.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling getrandom v0.2.14 [INFO] [stderr] Compiling rustls-pemfile v2.1.2 [INFO] [stderr] Compiling chrono v0.4.38 [INFO] [stderr] Compiling colored v2.1.0 [INFO] [stderr] Compiling uuid v1.8.0 [INFO] [stderr] Compiling openssl-sys v0.9.102 [INFO] [stderr] Compiling url v2.5.0 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Compiling regex-automata v0.4.6 [INFO] [stderr] Compiling versions v6.2.0 [INFO] [stderr] Compiling serde_derive v1.0.201 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling tokio-util v0.7.11 [INFO] [stderr] Compiling pin-project v1.1.5 [INFO] [stderr] Compiling tower v0.4.13 [INFO] [stderr] Compiling h2 v0.4.4 [INFO] [stderr] Compiling fancy-regex v0.13.0 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling toml_datetime v0.6.5 [INFO] [stderr] Compiling serde_spanned v0.6.5 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling hyper v1.3.1 [INFO] [stderr] Compiling toml_edit v0.22.12 [INFO] [stderr] Compiling hyper-util v0.1.3 [INFO] [stderr] Compiling toml v0.8.12 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.12.4 [INFO] [stderr] Compiling mngr v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Deserializer` [INFO] [stdout] --> src/main.rs:13:26 [INFO] [stdout] | [INFO] [stdout] 13 | use serde::{Deserialize, Deserializer, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | let mut file: Result = File::create(path.as_path()); [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 variable: `k` [INFO] [stdout] --> src/main.rs:196:33 [INFO] [stdout] | [INFO] [stdout] 196 | app.plugins.retain(|k, v| v.file_name != args[1]); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_created_utc` is never used [INFO] [stdout] --> src/main.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl AppData { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_created_utc(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `empty_new` is never used [INFO] [stdout] --> src/main.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl PluginData { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn empty_new() -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_latest_date` is never used [INFO] [stdout] --> src/main.rs:663:4 [INFO] [stdout] | [INFO] [stdout] 663 | fn get_latest_date(map: &HashMap, PluginData>) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_api_error` is never used [INFO] [stdout] --> src/main.rs:673:4 [INFO] [stdout] | [INFO] [stdout] 673 | fn print_api_error(cause: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/main.rs:637:14 [INFO] [stdout] | [INFO] [stdout] 637 | for i in parsed.as_array() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 637 - for i in parsed.as_array() { [INFO] [stdout] 637 + while let Some(i) = parsed.as_array() { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 637 - for i in parsed.as_array() { [INFO] [stdout] 637 + if let Some(i) = parsed.as_array() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/main.rs:648:22 [INFO] [stdout] | [INFO] [stdout] 648 | for k in j["assets"].as_array() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 648 - for k in j["assets"].as_array() { [INFO] [stdout] 648 + while let Some(k) = j["assets"].as_array() { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 648 - for k in j["assets"].as_array() { [INFO] [stdout] 648 + if let Some(k) = j["assets"].as_array() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 41.32s [INFO] running `Command { std: "docker" "inspect" "b09e79430c73595d72874df370b044800134f362f46281f09d2b06ec91e963d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b09e79430c73595d72874df370b044800134f362f46281f09d2b06ec91e963d5", kill_on_drop: false }` [INFO] [stdout] b09e79430c73595d72874df370b044800134f362f46281f09d2b06ec91e963d5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c9db7904c71dc433f751f80b7ef5e5b9c5cd842d2189c3c79f1e5ba6cca6f2af [INFO] running `Command { std: "docker" "start" "-a" "c9db7904c71dc433f751f80b7ef5e5b9c5cd842d2189c3c79f1e5ba6cca6f2af", kill_on_drop: false }` [INFO] [stderr] Compiling mngr v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Deserializer` [INFO] [stdout] --> src/main.rs:13:26 [INFO] [stdout] | [INFO] [stdout] 13 | use serde::{Deserialize, Deserializer, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | let mut file: Result = File::create(path.as_path()); [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 variable: `k` [INFO] [stdout] --> src/main.rs:196:33 [INFO] [stdout] | [INFO] [stdout] 196 | app.plugins.retain(|k, v| v.file_name != args[1]); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_created_utc` is never used [INFO] [stdout] --> src/main.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl AppData { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_created_utc(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `empty_new` is never used [INFO] [stdout] --> src/main.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl PluginData { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn empty_new() -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_latest_date` is never used [INFO] [stdout] --> src/main.rs:663:4 [INFO] [stdout] | [INFO] [stdout] 663 | fn get_latest_date(map: &HashMap, PluginData>) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_api_error` is never used [INFO] [stdout] --> src/main.rs:673:4 [INFO] [stdout] | [INFO] [stdout] 673 | fn print_api_error(cause: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/main.rs:637:14 [INFO] [stdout] | [INFO] [stdout] 637 | for i in parsed.as_array() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 637 - for i in parsed.as_array() { [INFO] [stdout] 637 + while let Some(i) = parsed.as_array() { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 637 - for i in parsed.as_array() { [INFO] [stdout] 637 + if let Some(i) = parsed.as_array() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/main.rs:648:22 [INFO] [stdout] | [INFO] [stdout] 648 | for k in j["assets"].as_array() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 648 - for k in j["assets"].as_array() { [INFO] [stdout] 648 + while let Some(k) = j["assets"].as_array() { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 648 - for k in j["assets"].as_array() { [INFO] [stdout] 648 + if let Some(k) = j["assets"].as_array() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.89s [INFO] running `Command { std: "docker" "inspect" "c9db7904c71dc433f751f80b7ef5e5b9c5cd842d2189c3c79f1e5ba6cca6f2af", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c9db7904c71dc433f751f80b7ef5e5b9c5cd842d2189c3c79f1e5ba6cca6f2af", kill_on_drop: false }` [INFO] [stdout] c9db7904c71dc433f751f80b7ef5e5b9c5cd842d2189c3c79f1e5ba6cca6f2af [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] be907f89151817cf104a7ee53206cf863600110490be10b09eea3b3989085f94 [INFO] running `Command { std: "docker" "start" "-a" "be907f89151817cf104a7ee53206cf863600110490be10b09eea3b3989085f94", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `Deserializer` [INFO] [stderr] --> src/main.rs:13:26 [INFO] [stderr] | [INFO] [stderr] 13 | use serde::{Deserialize, Deserializer, Serialize}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | let mut file: Result = File::create(path.as_path()); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k` [INFO] [stderr] --> src/main.rs:196:33 [INFO] [stderr] | [INFO] [stderr] 196 | app.plugins.retain(|k, v| v.file_name != args[1]); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `get_created_utc` is never used [INFO] [stderr] --> src/main.rs:35:12 [INFO] [stderr] | [INFO] [stderr] 25 | impl AppData { [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 35 | pub fn get_created_utc(&self) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: associated function `empty_new` is never used [INFO] [stderr] --> src/main.rs:69:12 [INFO] [stderr] | [INFO] [stderr] 55 | impl PluginData { [INFO] [stderr] | --------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 69 | pub fn empty_new() -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_latest_date` is never used [INFO] [stderr] --> src/main.rs:663:4 [INFO] [stderr] | [INFO] [stderr] 663 | fn get_latest_date(map: &HashMap, PluginData>) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `print_api_error` is never used [INFO] [stderr] --> src/main.rs:673:4 [INFO] [stderr] | [INFO] [stderr] 673 | fn print_api_error(cause: Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/main.rs:637:14 [INFO] [stderr] | [INFO] [stderr] 637 | for i in parsed.as_array() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 637 - for i in parsed.as_array() { [INFO] [stderr] 637 + while let Some(i) = parsed.as_array() { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 637 - for i in parsed.as_array() { [INFO] [stderr] 637 + if let Some(i) = parsed.as_array() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/main.rs:648:22 [INFO] [stderr] | [INFO] [stderr] 648 | for k in j["assets"].as_array() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 648 - for k in j["assets"].as_array() { [INFO] [stderr] 648 + while let Some(k) = j["assets"].as_array() { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 648 - for k in j["assets"].as_array() { [INFO] [stderr] 648 + if let Some(k) = j["assets"].as_array() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `mngr` (bin "mngr" test) generated 9 warnings (run `cargo fix --bin "mngr" --tests` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/mngr-2507ee70ee9906bf) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "be907f89151817cf104a7ee53206cf863600110490be10b09eea3b3989085f94", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "be907f89151817cf104a7ee53206cf863600110490be10b09eea3b3989085f94", kill_on_drop: false }` [INFO] [stdout] be907f89151817cf104a7ee53206cf863600110490be10b09eea3b3989085f94