[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#ff1737bb00913444173658b4e0b274fd79aabf66 for pr-132712-1 [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 ff1737bb00913444173658b4e0b274fd79aabf66 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ff1737bb00913444173658b4e0b274fd79aabf66" "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" "+ff1737bb00913444173658b4e0b274fd79aabf66" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+ff1737bb00913444173658b4e0b274fd79aabf66" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e929ee77af55205c414b061d6ca6c2115557c8c0a03ed6f139d5ca88099d6b7b [INFO] running `Command { std: "docker" "start" "-a" "e929ee77af55205c414b061d6ca6c2115557c8c0a03ed6f139d5ca88099d6b7b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e929ee77af55205c414b061d6ca6c2115557c8c0a03ed6f139d5ca88099d6b7b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e929ee77af55205c414b061d6ca6c2115557c8c0a03ed6f139d5ca88099d6b7b", kill_on_drop: false }` [INFO] [stdout] e929ee77af55205c414b061d6ca6c2115557c8c0a03ed6f139d5ca88099d6b7b [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=allow" "-e" "RUSTDOCFLAGS=--cap-lints=allow" "-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+ff1737bb00913444173658b4e0b274fd79aabf66" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d21b01788e760a6a9431bec25cec8a60fb37e661ea1aeadd65264464034c2e4d [INFO] running `Command { std: "docker" "start" "-a" "d21b01788e760a6a9431bec25cec8a60fb37e661ea1aeadd65264464034c2e4d", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.19 [INFO] [stderr] Compiling syn v1.0.35 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.3 [INFO] [stderr] Compiling proc-macro-error v1.0.3 [INFO] [stderr] Compiling hashbrown v0.8.2 [INFO] [stderr] Checking getrandom v0.1.14 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Compiling indexmap v1.5.1 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Compiling serde v1.0.114 [INFO] [stderr] Checking itertools v0.9.0 [INFO] [stderr] Checking clap v2.33.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand_xoshiro v0.4.0 [INFO] [stderr] Checking termion v1.5.5 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Compiling quote v1.0.7 [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/ff1737bb00913444173658b4e0b274fd79aabf66/library/core/src/iter/traits/iterator.rs:745: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/ff1737bb00913444173658b4e0b274fd79aabf66/library/core/src/iter/traits/iterator.rs:745: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] 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[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 `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[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.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[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] 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] 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] [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 10 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `minesweeper` (bin "minesweeper") due to 10 previous errors [INFO] running `Command { std: "docker" "inspect" "d21b01788e760a6a9431bec25cec8a60fb37e661ea1aeadd65264464034c2e4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d21b01788e760a6a9431bec25cec8a60fb37e661ea1aeadd65264464034c2e4d", kill_on_drop: false }` [INFO] [stdout] d21b01788e760a6a9431bec25cec8a60fb37e661ea1aeadd65264464034c2e4d