[INFO] cloning repository https://github.com/itkubsa1/bprocess [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/itkubsa1/bprocess" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitkubsa1%2Fbprocess", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitkubsa1%2Fbprocess'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c1eccca0dca08a2804be13e2ecdfa0e5a3dcb48d [INFO] checking itkubsa1/bprocess against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitkubsa1%2Fbprocess" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/itkubsa1/bprocess on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/itkubsa1/bprocess [INFO] finished tweaking git repo https://github.com/itkubsa1/bprocess [INFO] tweaked toml for git repo https://github.com/itkubsa1/bprocess written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/itkubsa1/bprocess 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded fs_extra v1.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c8a94cf58b9dee326a5b26d252d5457332961697e445a3fe578739cede141d14 [INFO] running `Command { std: "docker" "start" "-a" "c8a94cf58b9dee326a5b26d252d5457332961697e445a3fe578739cede141d14", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c8a94cf58b9dee326a5b26d252d5457332961697e445a3fe578739cede141d14", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c8a94cf58b9dee326a5b26d252d5457332961697e445a3fe578739cede141d14", kill_on_drop: false }` [INFO] [stdout] c8a94cf58b9dee326a5b26d252d5457332961697e445a3fe578739cede141d14 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1e0eb13d31b37e4d1cc1e49dae75b568de0bd31457f0bfd22fdfa9dc46536e40 [INFO] running `Command { std: "docker" "start" "-a" "1e0eb13d31b37e4d1cc1e49dae75b568de0bd31457f0bfd22fdfa9dc46536e40", kill_on_drop: false }` [INFO] [stderr] Checking unicode-width v0.1.5 [INFO] [stderr] Checking libc v0.2.43 [INFO] [stderr] Checking strsim v0.7.0 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking bitflags v1.0.3 [INFO] [stderr] Checking fs_extra v1.1.0 [INFO] [stderr] Checking textwrap v0.10.0 [INFO] [stderr] Checking atty v0.2.11 [INFO] [stderr] Checking clap v2.32.0 [INFO] [stderr] Checking Rust-firststeps v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `parsed` [INFO] [stdout] --> src/main.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | let parsed = match arg.parse::() { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsed` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | Ok(n) => return Ok(()), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wfilepath` is assigned to, but never used [INFO] [stdout] --> src/main.rs:340:13 [INFO] [stdout] | [INFO] [stdout] 340 | let mut wfilepath: String = "".to_string(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_wfilepath` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parsed` [INFO] [stdout] --> src/main.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | let parsed = match arg.parse::() { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsed` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | Ok(n) => return Ok(()), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wfilepath` is assigned to, but never used [INFO] [stdout] --> src/main.rs:340:13 [INFO] [stdout] | [INFO] [stdout] 340 | let mut wfilepath: String = "".to_string(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_wfilepath` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `wfilepath` is never read [INFO] [stdout] --> src/main.rs:347:9 [INFO] [stdout] | [INFO] [stdout] 347 | wfilepath = value.clone().to_string(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `wfilepath` is never read [INFO] [stdout] --> src/main.rs:347:9 [INFO] [stdout] | [INFO] [stdout] 347 | wfilepath = value.clone().to_string(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [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:252:25 [INFO] [stdout] | [INFO] [stdout] 252 | for (key, value) in iterate_dir("", "_month", "_week").iter().min() { [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] 252 | while let Some((key, value)) = iterate_dir("", "_month", "_week").iter().min() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 252 | if let Some((key, value)) = iterate_dir("", "_month", "_week").iter().min() { [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:252:25 [INFO] [stdout] | [INFO] [stdout] 252 | for (key, value) in iterate_dir("", "_month", "_week").iter().min() { [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] 252 | while let Some((key, value)) = iterate_dir("", "_month", "_week").iter().min() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 252 | if let Some((key, value)) = iterate_dir("", "_month", "_week").iter().min() { [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:272:25 [INFO] [stdout] | [INFO] [stdout] 272 | for (key, value) in iterate_dir("_month", "_week", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | _________________________^ [INFO] [stdout] 273 | | .iter() [INFO] [stdout] 274 | | .min() [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 272 | while let Some((key, value)) = iterate_dir("_month", "_week", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 272 | if let Some((key, value)) = iterate_dir("_month", "_week", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [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:272:25 [INFO] [stdout] | [INFO] [stdout] 272 | for (key, value) in iterate_dir("_month", "_week", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | _________________________^ [INFO] [stdout] 273 | | .iter() [INFO] [stdout] 274 | | .min() [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 272 | while let Some((key, value)) = iterate_dir("_month", "_week", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 272 | if let Some((key, value)) = iterate_dir("_month", "_week", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [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:287:25 [INFO] [stdout] | [INFO] [stdout] 287 | for (key, value) in iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | _________________________^ [INFO] [stdout] 288 | | .iter() [INFO] [stdout] 289 | | .min() [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 287 | while let Some((key, value)) = iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 287 | if let Some((key, value)) = iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [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:287:25 [INFO] [stdout] | [INFO] [stdout] 287 | for (key, value) in iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | _________________________^ [INFO] [stdout] 288 | | .iter() [INFO] [stdout] 289 | | .min() [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 287 | while let Some((key, value)) = iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 287 | if let Some((key, value)) = iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [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:329:25 [INFO] [stdout] | [INFO] [stdout] 329 | for (key, value) in iterate_dir("", "_month", "_week").iter().min() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 329 | while let Some((key, value)) = iterate_dir("", "_month", "_week").iter().min() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 329 | if let Some((key, value)) = iterate_dir("", "_month", "_week").iter().min() { [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:342:25 [INFO] [stdout] | [INFO] [stdout] 342 | for (key, value) in iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | _________________________^ [INFO] [stdout] 343 | | .iter() [INFO] [stdout] 344 | | .min() [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 342 | while let Some((key, value)) = iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 342 | if let Some((key, value)) = iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [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:329:25 [INFO] [stdout] | [INFO] [stdout] 329 | for (key, value) in iterate_dir("", "_month", "_week").iter().min() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 329 | while let Some((key, value)) = iterate_dir("", "_month", "_week").iter().min() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 329 | if let Some((key, value)) = iterate_dir("", "_month", "_week").iter().min() { [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:342:25 [INFO] [stdout] | [INFO] [stdout] 342 | for (key, value) in iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | _________________________^ [INFO] [stdout] 343 | | .iter() [INFO] [stdout] 344 | | .min() [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 342 | while let Some((key, value)) = iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 342 | if let Some((key, value)) = iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.04s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: fs_extra v1.1.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "1e0eb13d31b37e4d1cc1e49dae75b568de0bd31457f0bfd22fdfa9dc46536e40", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1e0eb13d31b37e4d1cc1e49dae75b568de0bd31457f0bfd22fdfa9dc46536e40", kill_on_drop: false }` [INFO] [stdout] 1e0eb13d31b37e4d1cc1e49dae75b568de0bd31457f0bfd22fdfa9dc46536e40 [INFO] checking itkubsa1/bprocess against try#645bb72776a6a56a1a8f52631a44bd082b2ba509 for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitkubsa1%2Fbprocess" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/itkubsa1/bprocess on toolchain 645bb72776a6a56a1a8f52631a44bd082b2ba509 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/itkubsa1/bprocess [INFO] finished tweaking git repo https://github.com/itkubsa1/bprocess [INFO] tweaked toml for git repo https://github.com/itkubsa1/bprocess written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/itkubsa1/bprocess 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" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4ea7ca6a99638d78fe63c213535815b26409d353e69bbb7727d49c3cee0b8ad7 [INFO] running `Command { std: "docker" "start" "-a" "4ea7ca6a99638d78fe63c213535815b26409d353e69bbb7727d49c3cee0b8ad7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4ea7ca6a99638d78fe63c213535815b26409d353e69bbb7727d49c3cee0b8ad7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4ea7ca6a99638d78fe63c213535815b26409d353e69bbb7727d49c3cee0b8ad7", kill_on_drop: false }` [INFO] [stdout] 4ea7ca6a99638d78fe63c213535815b26409d353e69bbb7727d49c3cee0b8ad7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] dfc1b7c6cbd2c590069a45e9fc5241152a470bd7636111beb6adb8d354410905 [INFO] running `Command { std: "docker" "start" "-a" "dfc1b7c6cbd2c590069a45e9fc5241152a470bd7636111beb6adb8d354410905", kill_on_drop: false }` [INFO] [stderr] Checking unicode-width v0.1.5 [INFO] [stderr] Checking libc v0.2.43 [INFO] [stderr] Checking strsim v0.7.0 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking bitflags v1.0.3 [INFO] [stderr] Checking fs_extra v1.1.0 [INFO] [stderr] Checking textwrap v0.10.0 [INFO] [stderr] Checking atty v0.2.11 [INFO] [stderr] Checking clap v2.32.0 [INFO] [stderr] Checking Rust-firststeps v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `parsed` [INFO] [stdout] --> src/main.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | let parsed = match arg.parse::() { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsed` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | Ok(n) => return Ok(()), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wfilepath` is assigned to, but never used [INFO] [stdout] --> src/main.rs:340:13 [INFO] [stdout] | [INFO] [stdout] 340 | let mut wfilepath: String = "".to_string(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_wfilepath` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `wfilepath` is never read [INFO] [stdout] --> src/main.rs:347:9 [INFO] [stdout] | [INFO] [stdout] 347 | wfilepath = value.clone().to_string(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [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:252:25 [INFO] [stdout] | [INFO] [stdout] 252 | for (key, value) in iterate_dir("", "_month", "_week").iter().min() { [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] 252 | while let Some((key, value)) = iterate_dir("", "_month", "_week").iter().min() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 252 | if let Some((key, value)) = iterate_dir("", "_month", "_week").iter().min() { [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:272:25 [INFO] [stdout] | [INFO] [stdout] 272 | for (key, value) in iterate_dir("_month", "_week", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | _________________________^ [INFO] [stdout] 273 | | .iter() [INFO] [stdout] 274 | | .min() [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 272 | while let Some((key, value)) = iterate_dir("_month", "_week", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 272 | if let Some((key, value)) = iterate_dir("_month", "_week", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [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:287:25 [INFO] [stdout] | [INFO] [stdout] 287 | for (key, value) in iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | _________________________^ [INFO] [stdout] 288 | | .iter() [INFO] [stdout] 289 | | .min() [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 287 | while let Some((key, value)) = iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 287 | if let Some((key, value)) = iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [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:329:25 [INFO] [stdout] | [INFO] [stdout] 329 | for (key, value) in iterate_dir("", "_month", "_week").iter().min() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 329 | while let Some((key, value)) = iterate_dir("", "_month", "_week").iter().min() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 329 | if let Some((key, value)) = iterate_dir("", "_month", "_week").iter().min() { [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:342:25 [INFO] [stdout] | [INFO] [stdout] 342 | for (key, value) in iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | _________________________^ [INFO] [stdout] 343 | | .iter() [INFO] [stdout] 344 | | .min() [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 342 | while let Some((key, value)) = iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 342 | if let Some((key, value)) = iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parsed` [INFO] [stdout] --> src/main.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | let parsed = match arg.parse::() { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsed` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | Ok(n) => return Ok(()), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wfilepath` is assigned to, but never used [INFO] [stdout] --> src/main.rs:340:13 [INFO] [stdout] | [INFO] [stdout] 340 | let mut wfilepath: String = "".to_string(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_wfilepath` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `wfilepath` is never read [INFO] [stdout] --> src/main.rs:347:9 [INFO] [stdout] | [INFO] [stdout] 347 | wfilepath = value.clone().to_string(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [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:252:25 [INFO] [stdout] | [INFO] [stdout] 252 | for (key, value) in iterate_dir("", "_month", "_week").iter().min() { [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] 252 | while let Some((key, value)) = iterate_dir("", "_month", "_week").iter().min() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 252 | if let Some((key, value)) = iterate_dir("", "_month", "_week").iter().min() { [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:272:25 [INFO] [stdout] | [INFO] [stdout] 272 | for (key, value) in iterate_dir("_month", "_week", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | _________________________^ [INFO] [stdout] 273 | | .iter() [INFO] [stdout] 274 | | .min() [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 272 | while let Some((key, value)) = iterate_dir("_month", "_week", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 272 | if let Some((key, value)) = iterate_dir("_month", "_week", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [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:287:25 [INFO] [stdout] | [INFO] [stdout] 287 | for (key, value) in iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | _________________________^ [INFO] [stdout] 288 | | .iter() [INFO] [stdout] 289 | | .min() [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 287 | while let Some((key, value)) = iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 287 | if let Some((key, value)) = iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [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:329:25 [INFO] [stdout] | [INFO] [stdout] 329 | for (key, value) in iterate_dir("", "_month", "_week").iter().min() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 329 | while let Some((key, value)) = iterate_dir("", "_month", "_week").iter().min() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 329 | if let Some((key, value)) = iterate_dir("", "_month", "_week").iter().min() { [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:342:25 [INFO] [stdout] | [INFO] [stdout] 342 | for (key, value) in iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | _________________________^ [INFO] [stdout] 343 | | .iter() [INFO] [stdout] 344 | | .min() [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 342 | while let Some((key, value)) = iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 342 | if let Some((key, value)) = iterate_dir("_week", "_month", "$dummy$_$that$_$never$_$can$_$be$_$mEt$") [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.17s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: fs_extra v1.1.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "dfc1b7c6cbd2c590069a45e9fc5241152a470bd7636111beb6adb8d354410905", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dfc1b7c6cbd2c590069a45e9fc5241152a470bd7636111beb6adb8d354410905", kill_on_drop: false }` [INFO] [stdout] dfc1b7c6cbd2c590069a45e9fc5241152a470bd7636111beb6adb8d354410905