[INFO] cloning repository https://github.com/PewPewPewcoding/rust-tictactoe [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/PewPewPewcoding/rust-tictactoe" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPewPewPewcoding%2Frust-tictactoe", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPewPewPewcoding%2Frust-tictactoe'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] dd9ad914e74fa39179925f40556282fda686f6cc [INFO] checking PewPewPewcoding/rust-tictactoe against master#5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f for pr-87248 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPewPewPewcoding%2Frust-tictactoe" "/workspace/builds/worker-12/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/PewPewPewcoding/rust-tictactoe on toolchain 5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/PewPewPewcoding/rust-tictactoe [INFO] finished tweaking git repo https://github.com/PewPewPewcoding/rust-tictactoe [INFO] tweaked toml for git repo https://github.com/PewPewPewcoding/rust-tictactoe written to /workspace/builds/worker-12/source/Cargo.toml [INFO] crate git repo https://github.com/PewPewPewcoding/rust-tictactoe already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f4b495b9b5f5d0ebf00e3d092629c62f159f8ef1a13338d3424098378653e9e0 [INFO] running `Command { std: "docker" "start" "-a" "f4b495b9b5f5d0ebf00e3d092629c62f159f8ef1a13338d3424098378653e9e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f4b495b9b5f5d0ebf00e3d092629c62f159f8ef1a13338d3424098378653e9e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f4b495b9b5f5d0ebf00e3d092629c62f159f8ef1a13338d3424098378653e9e0", kill_on_drop: false }` [INFO] [stdout] f4b495b9b5f5d0ebf00e3d092629c62f159f8ef1a13338d3424098378653e9e0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 70d3d2d2da80e22fbbe10691d038968b1c7fd2d1c300faee9861fb2b0bd035e5 [INFO] running `Command { std: "docker" "start" "-a" "70d3d2d2da80e22fbbe10691d038968b1c7fd2d1c300faee9861fb2b0bd035e5", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Checking tictactoe v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: `mut` must be attached to each individual binding [INFO] [stdout] --> src/lib.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut (x, o, e) = (0, 0, 0); [INFO] [stdout] | ^^^^^^^^^^^^^ help: add `mut` to each binding: `(mut x, mut o, mut e)` [INFO] [stdout] | [INFO] [stdout] = note: `mut` may be followed by `variable` and `variable @ pattern` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `mut` must be attached to each individual binding [INFO] [stdout] --> src/lib.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut (x, o, e) = (0, 0, 0); [INFO] [stdout] | ^^^^^^^^^^^^^ help: add `mut` to each binding: `(mut x, mut o, mut e)` [INFO] [stdout] | [INFO] [stdout] = note: `mut` may be followed by `variable` and `variable @ pattern` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `String` is not an iterator [INFO] [stdout] --> src/lib.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | for i in input { [INFO] [stdout] | ^^^^^ `String` is not an iterator; try calling `.chars()` or `.bytes()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Iterator` is not implemented for `String` [INFO] [stdout] = note: required because of the requirements on the impl of `IntoIterator` for `String` [INFO] [stdout] = note: required by `into_iter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `[TicTacToe]` cannot be indexed by `char` [INFO] [stdout] --> src/lib.rs:17:24 [INFO] [stdout] | [INFO] [stdout] 17 | 'X' => board[i] = TicTacToe::X, [INFO] [stdout] | ^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stdout] | [INFO] [stdout] = help: the trait `SliceIndex<[TicTacToe]>` is not implemented for `char` [INFO] [stdout] = note: required because of the requirements on the impl of `Index` for `[TicTacToe]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `[TicTacToe]` cannot be indexed by `char` [INFO] [stdout] --> src/lib.rs:18:24 [INFO] [stdout] | [INFO] [stdout] 18 | 'O' => board[i] = TicTacToe::O, [INFO] [stdout] | ^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stdout] | [INFO] [stdout] = help: the trait `SliceIndex<[TicTacToe]>` is not implemented for `char` [INFO] [stdout] = note: required because of the requirements on the impl of `Index` for `[TicTacToe]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `TicTacToe` [INFO] [stdout] --> src/lib.rs:42:22 [INFO] [stdout] | [INFO] [stdout] 42 | if i == TicTacToe::Empty { [INFO] [stdout] | - ^^ ---------------- TicTacToe [INFO] [stdout] | | [INFO] [stdout] | TicTacToe [INFO] [stdout] | [INFO] [stdout] = note: an implementation of `std::cmp::PartialEq` might be missing for `TicTacToe` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `&GameState` [INFO] [stdout] --> src/lib.rs:44:21 [INFO] [stdout] | [INFO] [stdout] 44 | tmp[i] = TicTacToe::X; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `String` is not an iterator [INFO] [stdout] --> src/lib.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | for i in input { [INFO] [stdout] | ^^^^^ `String` is not an iterator; try calling `.chars()` or `.bytes()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Iterator` is not implemented for `String` [INFO] [stdout] = note: required because of the requirements on the impl of `IntoIterator` for `String` [INFO] [stdout] = note: required by `into_iter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `[TicTacToe]` cannot be indexed by `char` [INFO] [stdout] --> src/lib.rs:17:24 [INFO] [stdout] | [INFO] [stdout] 17 | 'X' => board[i] = TicTacToe::X, [INFO] [stdout] | ^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stdout] | [INFO] [stdout] = help: the trait `SliceIndex<[TicTacToe]>` is not implemented for `char` [INFO] [stdout] = note: required because of the requirements on the impl of `Index` for `[TicTacToe]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `[TicTacToe]` cannot be indexed by `char` [INFO] [stdout] --> src/lib.rs:18:24 [INFO] [stdout] | [INFO] [stdout] 18 | 'O' => board[i] = TicTacToe::O, [INFO] [stdout] | ^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stdout] | [INFO] [stdout] = help: the trait `SliceIndex<[TicTacToe]>` is not implemented for `char` [INFO] [stdout] = note: required because of the requirements on the impl of `Index` for `[TicTacToe]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `TicTacToe` [INFO] [stdout] --> src/lib.rs:42:22 [INFO] [stdout] | [INFO] [stdout] 42 | if i == TicTacToe::Empty { [INFO] [stdout] | - ^^ ---------------- TicTacToe [INFO] [stdout] | | [INFO] [stdout] | TicTacToe [INFO] [stdout] | [INFO] [stdout] = note: an implementation of `std::cmp::PartialEq` might be missing for `TicTacToe` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `&GameState` [INFO] [stdout] --> src/lib.rs:44:21 [INFO] [stdout] | [INFO] [stdout] 44 | tmp[i] = TicTacToe::X; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/lib.rs:45:33 [INFO] [stdout] | [INFO] [stdout] 45 | result.push(tmp); [INFO] [stdout] | ^^^ expected struct `GameState`, found `&GameState` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `TicTacToe` [INFO] [stdout] --> src/lib.rs:50:22 [INFO] [stdout] | [INFO] [stdout] 50 | if i == TicTacToe::Empty { [INFO] [stdout] | - ^^ ---------------- TicTacToe [INFO] [stdout] | | [INFO] [stdout] | TicTacToe [INFO] [stdout] | [INFO] [stdout] = note: an implementation of `std::cmp::PartialEq` might be missing for `TicTacToe` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `&GameState` [INFO] [stdout] --> src/lib.rs:52:21 [INFO] [stdout] | [INFO] [stdout] 52 | tmp[i] = TicTacToe::O; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/lib.rs:45:33 [INFO] [stdout] | [INFO] [stdout] 45 | result.push(tmp); [INFO] [stdout] | ^^^ expected struct `GameState`, found `&GameState` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `TicTacToe` [INFO] [stdout] --> src/lib.rs:50:22 [INFO] [stdout] | [INFO] [stdout] 50 | if i == TicTacToe::Empty { [INFO] [stdout] | - ^^ ---------------- TicTacToe [INFO] [stdout] | | [INFO] [stdout] | TicTacToe [INFO] [stdout] | [INFO] [stdout] = note: an implementation of `std::cmp::PartialEq` might be missing for `TicTacToe` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `&GameState` [INFO] [stdout] --> src/lib.rs:52:21 [INFO] [stdout] | [INFO] [stdout] 52 | tmp[i] = TicTacToe::O; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/lib.rs:53:33 [INFO] [stdout] | [INFO] [stdout] 53 | result.push(tmp); [INFO] [stdout] | ^^^ expected struct `GameState`, found `&GameState` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/lib.rs:53:33 [INFO] [stdout] | [INFO] [stdout] 53 | result.push(tmp); [INFO] [stdout] | ^^^ expected struct `GameState`, found `&GameState` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 10 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0369, E0608. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 10 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0369, E0608. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `tictactoe` due to 11 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "70d3d2d2da80e22fbbe10691d038968b1c7fd2d1c300faee9861fb2b0bd035e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "70d3d2d2da80e22fbbe10691d038968b1c7fd2d1c300faee9861fb2b0bd035e5", kill_on_drop: false }` [INFO] [stdout] 70d3d2d2da80e22fbbe10691d038968b1c7fd2d1c300faee9861fb2b0bd035e5