[INFO] cloning repository https://github.com/mwmuni/morass_web_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mwmuni/morass_web_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmwmuni%2Fmorass_web_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmwmuni%2Fmorass_web_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9198f35c8cae4bcc9447d112b4be218cc1785491
[INFO] checking mwmuni/morass_web_rust against try#ac4c3613be2acd5395b65d85e5657b81e3c982f0 for pr-154585
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmwmuni%2Fmorass_web_rust" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mwmuni/morass_web_rust
[INFO] finished tweaking git repo https://github.com/mwmuni/morass_web_rust
[INFO] tweaked toml for git repo https://github.com/mwmuni/morass_web_rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mwmuni/morass_web_rust on toolchain ac4c3613be2acd5395b65d85e5657b81e3c982f0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ac4c3613be2acd5395b65d85e5657b81e3c982f0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mwmuni/morass_web_rust 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" "+ac4c3613be2acd5395b65d85e5657b81e3c982f0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ac4c3613be2acd5395b65d85e5657b81e3c982f0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 84109f3acd9cf3bb6c9284deaf64639ae2e5f39475e6a2960bcc176867f27a4a
[INFO] running `Command { std: "docker" "start" "-a" "84109f3acd9cf3bb6c9284deaf64639ae2e5f39475e6a2960bcc176867f27a4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "84109f3acd9cf3bb6c9284deaf64639ae2e5f39475e6a2960bcc176867f27a4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "84109f3acd9cf3bb6c9284deaf64639ae2e5f39475e6a2960bcc176867f27a4a", kill_on_drop: false }`
[INFO] [stdout] 84109f3acd9cf3bb6c9284deaf64639ae2e5f39475e6a2960bcc176867f27a4a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ac4c3613be2acd5395b65d85e5657b81e3c982f0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a563ed10107f761608834839427c530d6151154fe337018ae74f89b3bc1563bc
[INFO] running `Command { std: "docker" "start" "-a" "a563ed10107f761608834839427c530d6151154fe337018ae74f89b3bc1563bc", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.18
[INFO] [stderr]    Compiling libc v0.2.150
[INFO] [stderr]    Compiling rayon-core v1.12.0
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.17
[INFO] [stderr]     Checking getrandom v0.2.11
[INFO] [stderr]     Checking crossbeam-deque v0.8.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rayon v1.8.0
[INFO] [stderr]     Checking morass_web v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/web.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, HashSet};
[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: `DerefMut`
[INFO] [stdout]  --> src/web.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::{Add, AddAssign, DerefMut};
[INFO] [stdout]   |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::distributions::uniform::SampleBorrow`
[INFO] [stdout]  --> src/web.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::distributions::uniform::SampleBorrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/web.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, HashSet};
[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: `DerefMut`
[INFO] [stdout]  --> src/web.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::{Add, AddAssign, DerefMut};
[INFO] [stdout]   |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::distributions::uniform::SampleBorrow`
[INFO] [stdout]  --> src/web.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::distributions::uniform::SampleBorrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_node_cooldown`
[INFO] [stdout]    --> src/web.rs:166:55
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...e_threshold, start_node_cooldown, out_percentage, out_fixed, end_node_cooldown, end_node_since_last_fire, last_fire) = {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_node_cooldown`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end_node_cooldown`
[INFO] [stdout]    --> src/web.rs:166:103
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...ge, out_fixed, end_node_cooldown, end_node_since_last_fire, last_fire) = {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_node_cooldown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end_node_since_last_fire`
[INFO] [stdout]    --> src/web.rs:166:122
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...oldown, end_node_since_last_fire, last_fire) = {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_node_since_last_fire`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `*self` as mutable, as it is a captured variable in a `Fn` closure
[INFO] [stdout]    --> src/web.rs:246:20
[INFO] [stdout]     |
[INFO] [stdout] 243 |     pub fn step(&mut self, verbose: bool) {
[INFO] [stdout]     |                 --------- `*self` declared here, outside the closure
[INFO] [stdout] 244 |         let op_counter: usize = self.edges.par_iter()
[INFO] [stdout] 245 |             .map(|edge| {
[INFO] [stdout]     |                  ------ in this closure
[INFO] [stdout] 246 |                 if self.pulse(edge, verbose) { 1 } else { 0 }
[INFO] [stdout]     |                    ^^^^ cannot borrow as mutable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `*self` as mutable, as it is a captured variable in a `Fn` closure
[INFO] [stdout]    --> src/web.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |     pub fn step(&mut self, verbose: bool) {
[INFO] [stdout]     |                 --------- `*self` declared here, outside the closure
[INFO] [stdout] ...
[INFO] [stdout] 250 |         self.nodes.par_iter().for_each(|node| {
[INFO] [stdout]     |                                        ------ in this closure
[INFO] [stdout] ...
[INFO] [stdout] 256 |             self.assimilate(node);
[INFO] [stdout]     |             ^^^^ cannot borrow as mutable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0500]: closure requires unique access to `*self` but it is already borrowed
[INFO] [stdout]    --> src/web.rs:245:18
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let op_counter: usize = self.edges.par_iter()
[INFO] [stdout]     |                                 ---------- borrow occurs here
[INFO] [stdout] 245 |             .map(|edge| {
[INFO] [stdout]     |              --- ^^^^^^ closure construction occurs here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              first borrow later used by call
[INFO] [stdout] 246 |                 if self.pulse(edge, verbose) { 1 } else { 0 }
[INFO] [stdout]     |                    ---- second borrow occurs due to use of `*self` in closure
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0500]: closure requires unique access to `*self` but it is already borrowed
[INFO] [stdout]    --> src/web.rs:250:40
[INFO] [stdout]     |
[INFO] [stdout] 250 |         self.nodes.par_iter().for_each(|node| {
[INFO] [stdout]     |         ----------            -------- ^^^^^^ closure construction occurs here
[INFO] [stdout]     |         |                     |
[INFO] [stdout]     |         |                     first borrow later used by call
[INFO] [stdout]     |         borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 256 |             self.assimilate(node);
[INFO] [stdout]     |             ---- second borrow occurs due to use of `*self` in closure
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/web.rs:394:17
[INFO] [stdout]     |
[INFO] [stdout] 394 |             let mut loop_tries = 0;
[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: `loop_tries`
[INFO] [stdout]    --> src/web.rs:394:17
[INFO] [stdout]     |
[INFO] [stdout] 394 |             let mut loop_tries = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loop_tries`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `existing_edges`
[INFO] [stdout]    --> src/web.rs:396:17
[INFO] [stdout]     |
[INFO] [stdout] 396 |             let existing_edges = arr_count[target_node_index];
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_existing_edges`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0500, E0596.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0500`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_node_cooldown`
[INFO] [stdout]    --> src/web.rs:166:55
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...e_threshold, start_node_cooldown, out_percentage, out_fixed, end_node_cooldown, end_node_since_last_fire, last_fire) = {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_node_cooldown`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end_node_cooldown`
[INFO] [stdout]    --> src/web.rs:166:103
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...ge, out_fixed, end_node_cooldown, end_node_since_last_fire, last_fire) = {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_node_cooldown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end_node_since_last_fire`
[INFO] [stdout]    --> src/web.rs:166:122
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...oldown, end_node_since_last_fire, last_fire) = {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_node_since_last_fire`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `*self` as mutable, as it is a captured variable in a `Fn` closure
[INFO] [stdout]    --> src/web.rs:246:20
[INFO] [stdout]     |
[INFO] [stdout] 243 |     pub fn step(&mut self, verbose: bool) {
[INFO] [stdout]     |                 --------- `*self` declared here, outside the closure
[INFO] [stdout] 244 |         let op_counter: usize = self.edges.par_iter()
[INFO] [stdout] 245 |             .map(|edge| {
[INFO] [stdout]     |                  ------ in this closure
[INFO] [stdout] 246 |                 if self.pulse(edge, verbose) { 1 } else { 0 }
[INFO] [stdout]     |                    ^^^^ cannot borrow as mutable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `*self` as mutable, as it is a captured variable in a `Fn` closure
[INFO] [stdout]    --> src/web.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |     pub fn step(&mut self, verbose: bool) {
[INFO] [stdout]     |                 --------- `*self` declared here, outside the closure
[INFO] [stdout] ...
[INFO] [stdout] 250 |         self.nodes.par_iter().for_each(|node| {
[INFO] [stdout]     |                                        ------ in this closure
[INFO] [stdout] ...
[INFO] [stdout] 256 |             self.assimilate(node);
[INFO] [stdout]     |             ^^^^ cannot borrow as mutable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0500]: closure requires unique access to `*self` but it is already borrowed
[INFO] [stdout]    --> src/web.rs:245:18
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let op_counter: usize = self.edges.par_iter()
[INFO] [stdout]     |                                 ---------- borrow occurs here
[INFO] [stdout] 245 |             .map(|edge| {
[INFO] [stdout]     |              --- ^^^^^^ closure construction occurs here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              first borrow later used by call
[INFO] [stdout] 246 |                 if self.pulse(edge, verbose) { 1 } else { 0 }
[INFO] [stdout]     |                    ---- second borrow occurs due to use of `*self` in closure
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0500]: closure requires unique access to `*self` but it is already borrowed
[INFO] [stdout]    --> src/web.rs:250:40
[INFO] [stdout]     |
[INFO] [stdout] 250 |         self.nodes.par_iter().for_each(|node| {
[INFO] [stdout]     |         ----------            -------- ^^^^^^ closure construction occurs here
[INFO] [stdout]     |         |                     |
[INFO] [stdout]     |         |                     first borrow later used by call
[INFO] [stdout]     |         borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 256 |             self.assimilate(node);
[INFO] [stdout]     |             ---- second borrow occurs due to use of `*self` in closure
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `morass_web` (bin "morass_web" test) due to 4 previous errors; 9 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/web.rs:394:17
[INFO] [stdout]     |
[INFO] [stdout] 394 |             let mut loop_tries = 0;
[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: `loop_tries`
[INFO] [stdout]    --> src/web.rs:394:17
[INFO] [stdout]     |
[INFO] [stdout] 394 |             let mut loop_tries = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loop_tries`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `existing_edges`
[INFO] [stdout]    --> src/web.rs:396:17
[INFO] [stdout]     |
[INFO] [stdout] 396 |             let existing_edges = arr_count[target_node_index];
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_existing_edges`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0500, E0596.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0500`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `morass_web` (bin "morass_web") due to 4 previous errors; 9 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "a563ed10107f761608834839427c530d6151154fe337018ae74f89b3bc1563bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a563ed10107f761608834839427c530d6151154fe337018ae74f89b3bc1563bc", kill_on_drop: false }`
[INFO] [stdout] a563ed10107f761608834839427c530d6151154fe337018ae74f89b3bc1563bc
