[INFO] cloning repository https://github.com/AlterionX/minesweeper [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AlterionX/minesweeper" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlterionX%2Fminesweeper", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlterionX%2Fminesweeper'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0c7574605bfbae5996731f8cfe21bb98e078f18b [INFO] checking AlterionX/minesweeper/0c7574605bfbae5996731f8cfe21bb98e078f18b against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlterionX%2Fminesweeper" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/AlterionX/minesweeper on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/AlterionX/minesweeper [INFO] finished tweaking git repo https://github.com/AlterionX/minesweeper [INFO] tweaked toml for git repo https://github.com/AlterionX/minesweeper written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/AlterionX/minesweeper 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" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "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-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 95f42c3b058a0e6b30b4ec0e8c75ddfe5d28a6ed45bf6e003d4d9423c47d7cfc [INFO] running `Command { std: "docker" "start" "-a" "95f42c3b058a0e6b30b4ec0e8c75ddfe5d28a6ed45bf6e003d4d9423c47d7cfc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "95f42c3b058a0e6b30b4ec0e8c75ddfe5d28a6ed45bf6e003d4d9423c47d7cfc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "95f42c3b058a0e6b30b4ec0e8c75ddfe5d28a6ed45bf6e003d4d9423c47d7cfc", kill_on_drop: false }` [INFO] [stdout] 95f42c3b058a0e6b30b4ec0e8c75ddfe5d28a6ed45bf6e003d4d9423c47d7cfc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1c058eff07ba349e291bee38aae7d681f5fe28e96ea28ddd9ee11cc54c1c3fdd [INFO] running `Command { std: "docker" "start" "-a" "1c058eff07ba349e291bee38aae7d681f5fe28e96ea28ddd9ee11cc54c1c3fdd", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.73 [INFO] [stderr] Compiling proc-macro2 v1.0.19 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling syn v1.0.35 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Compiling autocfg v1.0.0 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Compiling unicode-segmentation v1.6.0 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking ppv-lite86 v0.2.8 [INFO] [stderr] Compiling serde v1.0.114 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking either v1.5.3 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking numtoa v0.1.0 [INFO] [stderr] Checking itertools v0.9.0 [INFO] [stderr] Compiling hashbrown v0.8.2 [INFO] [stderr] Compiling indexmap v1.5.1 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.3 [INFO] [stderr] Compiling proc-macro-error v1.0.3 [INFO] [stderr] Compiling heck v0.3.1 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking termion v1.5.5 [INFO] [stderr] Checking clap v2.33.1 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand_xoshiro v0.4.0 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Compiling syn-mid v0.5.0 [INFO] [stderr] Compiling structopt-derive v0.4.8 [INFO] [stderr] Checking structopt v0.3.15 [INFO] [stderr] Checking minesweeper v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0631]: type mismatch in function arguments [INFO] [stdout] --> src/solver/algo.rs:72:41 [INFO] [stdout] | [INFO] [stdout] 72 | let stage1 = stage0.into_iter().map(csp0::run).collect::>(); [INFO] [stdout] | --- ^^^^^^^^^ expected due to this [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] ::: src/solver/algo/csp0.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub(super) fn run(a: ()) { [INFO] [stdout] | ------------------------ found signature defined here [INFO] [stdout] | [INFO] [stdout] = note: expected function signature `fn(VecDeque>) -> _` [INFO] [stdout] found function signature `fn(()) -> _` [INFO] [stdout] note: required by a bound in `map` [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/iter/traits/iterator.rs:757:5 [INFO] [stdout] help: consider wrapping the function in a closure [INFO] [stdout] | [INFO] [stdout] 72 | let stage1 = stage0.into_iter().map(|arg0: VecDeque>| csp0::run(/* () */)).collect::>(); [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0631]: type mismatch in function arguments [INFO] [stdout] --> src/solver/algo.rs:72:41 [INFO] [stdout] | [INFO] [stdout] 72 | let stage1 = stage0.into_iter().map(csp0::run).collect::>(); [INFO] [stdout] | --- ^^^^^^^^^ expected due to this [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] ::: src/solver/algo/csp0.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub(super) fn run(a: ()) { [INFO] [stdout] | ------------------------ found signature defined here [INFO] [stdout] | [INFO] [stdout] = note: expected function signature `fn(VecDeque>) -> _` [INFO] [stdout] found function signature `fn(()) -> _` [INFO] [stdout] note: required by a bound in `map` [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/iter/traits/iterator.rs:757:5 [INFO] [stdout] help: consider wrapping the function in a closure [INFO] [stdout] | [INFO] [stdout] 72 | let stage1 = stage0.into_iter().map(|arg0: VecDeque>| csp0::run(/* () */)).collect::>(); [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `collect` exists for struct `Map>>, fn(()) {run}>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/solver/algo.rs:72:52 [INFO] [stdout] | [INFO] [stdout] 72 | let stage1 = stage0.into_iter().map(csp0::run).collect::>(); [INFO] [stdout] | ^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `>,)>>::Output = _` [INFO] [stdout] which is required by `Map>>, fn(()) {csp0::run}>: Iterator` [INFO] [stdout] `fn(()) {csp0::run}: FnMut<(VecDeque>,)>` [INFO] [stdout] which is required by `Map>>, fn(()) {csp0::run}>: Iterator` [INFO] [stdout] `Map>>, fn(()) {csp0::run}>: Iterator` [INFO] [stdout] which is required by `&mut Map>>, fn(()) {csp0::run}>: Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `collect` exists for struct `Map>>, fn(()) {run}>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/solver/algo.rs:72:52 [INFO] [stdout] | [INFO] [stdout] 72 | let stage1 = stage0.into_iter().map(csp0::run).collect::>(); [INFO] [stdout] | ^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `>,)>>::Output = _` [INFO] [stdout] which is required by `Map>>, fn(()) {csp0::run}>: Iterator` [INFO] [stdout] `fn(()) {csp0::run}: FnMut<(VecDeque>,)>` [INFO] [stdout] which is required by `Map>>, fn(()) {csp0::run}>: Iterator` [INFO] [stdout] `Map>>, fn(()) {csp0::run}>: Iterator` [INFO] [stdout] which is required by `&mut Map>>, fn(()) {csp0::run}>: Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path_el_id` [INFO] [stdout] --> src/solver/algo/cc.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | for path_el_id in history { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_el_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `history` as mutable, as it is not declared as mutable [INFO] [stdout] --> src/solver/algo/cc.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | history.push(root); [INFO] [stdout] | ^^^^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 23 | let mut history = vec![id]; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0384]: cannot assign twice to immutable variable `root` [INFO] [stdout] --> src/solver/algo/cc.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 24 | let root = id; [INFO] [stdout] | ---- first assignment to `root` [INFO] [stdout] ... [INFO] [stdout] 28 | root = ptr.parent; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ cannot assign twice to immutable variable [INFO] [stdout] | [INFO] [stdout] help: consider making this binding mutable [INFO] [stdout] | [INFO] [stdout] 24 | let mut root = id; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0384]: cannot assign twice to immutable variable `ptr` [INFO] [stdout] --> src/solver/algo/cc.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 25 | let ptr = &self.0[root]; [INFO] [stdout] | --- first assignment to `ptr` [INFO] [stdout] ... [INFO] [stdout] 29 | ptr = &self.0[root]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ cannot assign twice to immutable variable [INFO] [stdout] | [INFO] [stdout] help: consider making this binding mutable [INFO] [stdout] | [INFO] [stdout] 25 | let mut ptr = &self.0[root]; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.0[_]` as mutable more than once at a time [INFO] [stdout] --> src/solver/algo/cc.rs:40:22 [INFO] [stdout] | [INFO] [stdout] 39 | let root_0 = &mut self.0[self.root(id_0)]; [INFO] [stdout] | ---------------------------- first mutable borrow occurs here [INFO] [stdout] 40 | let root_1 = &mut self.0[self.root(id_1)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 43 | if root_0.rank < root_0.rank { [INFO] [stdout] | ----------- first borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*self` as mutable more than once at a time [INFO] [stdout] --> src/solver/algo/cc.rs:40:34 [INFO] [stdout] | [INFO] [stdout] 39 | let root_0 = &mut self.0[self.root(id_0)]; [INFO] [stdout] | ---------------------------- first mutable borrow occurs here [INFO] [stdout] 40 | let root_1 = &mut self.0[self.root(id_1)]; [INFO] [stdout] | ^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 43 | if root_0.rank < root_0.rank { [INFO] [stdout] | ----------- first borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `mapping` as mutable, as it is not declared as mutable [INFO] [stdout] --> src/solver/algo/cc.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | let mapping = IndexMap::new(); [INFO] [stdout] | ^^^^^^^ not mutable [INFO] [stdout] ... [INFO] [stdout] 79 | let root_set = match mapping.get_mut(&root_id) { [INFO] [stdout] | ------- cannot borrow as mutable [INFO] [stdout] ... [INFO] [stdout] 82 | mapping.insert(root_id, VecDeque::new()); [INFO] [stdout] | ------- cannot borrow as mutable [INFO] [stdout] 83 | &mut mapping[&root_id] [INFO] [stdout] | ------- cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 76 | let mut mapping = IndexMap::new(); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `self` as mutable, as it is not declared as mutable [INFO] [stdout] --> src/solver/algo/cc.rs:78:27 [INFO] [stdout] | [INFO] [stdout] 78 | let root_id = self.root(id); [INFO] [stdout] | ^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 74 | fn split_on_groups(mut self, stuff: VecDeque) -> Vec> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `stuff` as mutable, as it is not declared as mutable [INFO] [stdout] --> src/solver/algo/cc.rs:86:32 [INFO] [stdout] | [INFO] [stdout] 86 | root_set.push_back(stuff.pop_back().expect("element to be there, since I checked the length first.")); [INFO] [stdout] | ^^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 74 | fn split_on_groups(self, mut stuff: VecDeque) -> Vec> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/solver/algo/csp0.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | pub(super) fn run(a: ()) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/solver/region.rs:322:13 [INFO] [stdout] | [INFO] [stdout] 322 | let r = Region::new(MINES, locs); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/solver/algo/csp1.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | pub(super) fn run(a: Vec<()>) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/solver/region.rs:336:13 [INFO] [stdout] | [INFO] [stdout] 336 | let r = Region::new(0, IndexSet::new()); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/solver/region.rs:338:13 [INFO] [stdout] | [INFO] [stdout] 338 | let b = test_board(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path_el_id` [INFO] [stdout] --> src/solver/algo/cc.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | for path_el_id in history { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_el_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `history` as mutable, as it is not declared as mutable [INFO] [stdout] --> src/solver/algo/cc.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | history.push(root); [INFO] [stdout] | ^^^^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 23 | let mut history = vec![id]; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0384]: cannot assign twice to immutable variable `root` [INFO] [stdout] --> src/solver/algo/cc.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 24 | let root = id; [INFO] [stdout] | ---- first assignment to `root` [INFO] [stdout] ... [INFO] [stdout] 28 | root = ptr.parent; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ cannot assign twice to immutable variable [INFO] [stdout] | [INFO] [stdout] help: consider making this binding mutable [INFO] [stdout] | [INFO] [stdout] 24 | let mut root = id; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0384]: cannot assign twice to immutable variable `ptr` [INFO] [stdout] --> src/solver/algo/cc.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 25 | let ptr = &self.0[root]; [INFO] [stdout] | --- first assignment to `ptr` [INFO] [stdout] ... [INFO] [stdout] 29 | ptr = &self.0[root]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ cannot assign twice to immutable variable [INFO] [stdout] | [INFO] [stdout] help: consider making this binding mutable [INFO] [stdout] | [INFO] [stdout] 25 | let mut ptr = &self.0[root]; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.0[_]` as mutable more than once at a time [INFO] [stdout] --> src/solver/algo/cc.rs:40:22 [INFO] [stdout] | [INFO] [stdout] 39 | let root_0 = &mut self.0[self.root(id_0)]; [INFO] [stdout] | ---------------------------- first mutable borrow occurs here [INFO] [stdout] 40 | let root_1 = &mut self.0[self.root(id_1)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 43 | if root_0.rank < root_0.rank { [INFO] [stdout] | ----------- first borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*self` as mutable more than once at a time [INFO] [stdout] --> src/solver/algo/cc.rs:40:34 [INFO] [stdout] | [INFO] [stdout] 39 | let root_0 = &mut self.0[self.root(id_0)]; [INFO] [stdout] | ---------------------------- first mutable borrow occurs here [INFO] [stdout] 40 | let root_1 = &mut self.0[self.root(id_1)]; [INFO] [stdout] | ^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 43 | if root_0.rank < root_0.rank { [INFO] [stdout] | ----------- first borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `mapping` as mutable, as it is not declared as mutable [INFO] [stdout] --> src/solver/algo/cc.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | let mapping = IndexMap::new(); [INFO] [stdout] | ^^^^^^^ not mutable [INFO] [stdout] ... [INFO] [stdout] 79 | let root_set = match mapping.get_mut(&root_id) { [INFO] [stdout] | ------- cannot borrow as mutable [INFO] [stdout] ... [INFO] [stdout] 82 | mapping.insert(root_id, VecDeque::new()); [INFO] [stdout] | ------- cannot borrow as mutable [INFO] [stdout] 83 | &mut mapping[&root_id] [INFO] [stdout] | ------- cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 76 | let mut mapping = IndexMap::new(); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `self` as mutable, as it is not declared as mutable [INFO] [stdout] --> src/solver/algo/cc.rs:78:27 [INFO] [stdout] | [INFO] [stdout] 78 | let root_id = self.root(id); [INFO] [stdout] | ^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 74 | fn split_on_groups(mut self, stuff: VecDeque) -> Vec> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `stuff` as mutable, as it is not declared as mutable [INFO] [stdout] --> src/solver/algo/cc.rs:86:32 [INFO] [stdout] | [INFO] [stdout] 86 | root_set.push_back(stuff.pop_back().expect("element to be there, since I checked the length first.")); [INFO] [stdout] | ^^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 74 | fn split_on_groups(self, mut stuff: VecDeque) -> Vec> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/solver/algo/csp0.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | pub(super) fn run(a: ()) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/solver/algo/csp1.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | pub(super) fn run(a: Vec<()>) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h` [INFO] [stdout] --> src/board.rs:275:13 [INFO] [stdout] | [INFO] [stdout] 275 | let h = board.len(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_h` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/board.rs:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | let mut board = { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 10 previous errors; 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0384, E0499, E0596, E0599, E0631. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0384`. [INFO] [stdout] [INFO] [stderr] error: could not compile `minesweeper` (bin "minesweeper") due to 11 previous errors; 3 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 10 previous errors; 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0384, E0499, E0596, E0599, E0631. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0384`. [INFO] [stdout] [INFO] [stderr] error: could not compile `minesweeper` (bin "minesweeper" test) due to 11 previous errors; 8 warnings emitted [INFO] running `Command { std: "docker" "inspect" "1c058eff07ba349e291bee38aae7d681f5fe28e96ea28ddd9ee11cc54c1c3fdd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1c058eff07ba349e291bee38aae7d681f5fe28e96ea28ddd9ee11cc54c1c3fdd", kill_on_drop: false }` [INFO] [stdout] 1c058eff07ba349e291bee38aae7d681f5fe28e96ea28ddd9ee11cc54c1c3fdd