[INFO] cloning repository https://github.com/PiotrAleksander/roguelike-template [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/PiotrAleksander/roguelike-template" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPiotrAleksander%2Froguelike-template", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPiotrAleksander%2Froguelike-template'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 662cc7e3d7d4b66d5e6761826f672eee8b0b5148 [INFO] checking PiotrAleksander/roguelike-template against master#a609fb45efad59dfd459c76e50899be9f0583b5a for pr-80579 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPiotrAleksander%2Froguelike-template" "/workspace/builds/worker-4/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/PiotrAleksander/roguelike-template on toolchain a609fb45efad59dfd459c76e50899be9f0583b5a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/PiotrAleksander/roguelike-template [INFO] finished tweaking git repo https://github.com/PiotrAleksander/roguelike-template [INFO] tweaked toml for git repo https://github.com/PiotrAleksander/roguelike-template written to /workspace/builds/worker-4/source/Cargo.toml [INFO] crate git repo https://github.com/PiotrAleksander/roguelike-template already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f6be63f4c99acdaa34ce48f83de70b4f6b6bdf9cbb961c0d226fd26ea9ab5a2c [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "f6be63f4c99acdaa34ce48f83de70b4f6b6bdf9cbb961c0d226fd26ea9ab5a2c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f6be63f4c99acdaa34ce48f83de70b4f6b6bdf9cbb961c0d226fd26ea9ab5a2c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f6be63f4c99acdaa34ce48f83de70b4f6b6bdf9cbb961c0d226fd26ea9ab5a2c", kill_on_drop: false }` [INFO] [stdout] f6be63f4c99acdaa34ce48f83de70b4f6b6bdf9cbb961c0d226fd26ea9ab5a2c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] c288869e58b52ad8735be92a224b50c5ecd7f0685da002351c35245c2012499f [INFO] running `Command { std: "docker" "start" "-a" "c288869e58b52ad8735be92a224b50c5ecd7f0685da002351c35245c2012499f", kill_on_drop: false }` [INFO] [stderr] Checking bitflags v0.1.1 [INFO] [stderr] Compiling tcod-sys v5.0.1 [INFO] [stderr] Checking tcod v0.15.0 [INFO] [stderr] Checking roguelike v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: expected type, found `:` [INFO] [stdout] --> src/main.rs:141:30 [INFO] [stdout] | [INFO] [stdout] 141 | let num_monsters = rand: :thread_rng().gen_range(0, MAX_ROOMS_MONSTERS + 1); [INFO] [stdout] | - ^ expected type [INFO] [stdout] | | [INFO] [stdout] | tried to parse a type due to this type ascription [INFO] [stdout] | [INFO] [stdout] = note: `#![feature(type_ascription)]` lets you annotate an expression with a type: `: ` [INFO] [stdout] = note: see issue #23416 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `:`, `;`, `=`, `@`, or `|`, found `+` [INFO] [stdout] --> src/main.rs:186:21 [INFO] [stdout] | [INFO] [stdout] 186 | let mut objects + vec![player]; [INFO] [stdout] | ^ expected one of `:`, `;`, `=`, `@`, or `|` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected type, found `:` [INFO] [stdout] --> src/main.rs:141:30 [INFO] [stdout] | [INFO] [stdout] 141 | let num_monsters = rand: :thread_rng().gen_range(0, MAX_ROOMS_MONSTERS + 1); [INFO] [stdout] | - ^ expected type [INFO] [stdout] | | [INFO] [stdout] | tried to parse a type due to this type ascription [INFO] [stdout] | [INFO] [stdout] = note: `#![feature(type_ascription)]` lets you annotate an expression with a type: `: ` [INFO] [stdout] = note: see issue #23416 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `:`, `;`, `=`, `@`, or `|`, found `+` [INFO] [stdout] --> src/main.rs:186:21 [INFO] [stdout] | [INFO] [stdout] 186 | let mut objects + vec![player]; [INFO] [stdout] | ^ expected one of `:`, `;`, `=`, `@`, or `|` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `(`, `[`, or `{`, found `is_blocked` [INFO] [stdout] --> src/main.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | id !is_blocked(x + dx, y + dy, map, objects) { [INFO] [stdout] | ^^^^^^^^^^ expected one of `(`, `[`, or `{` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `(`, `[`, or `{`, found `is_blocked` [INFO] [stdout] --> src/main.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | id !is_blocked(x + dx, y + dy, map, objects) { [INFO] [stdout] | ^^^^^^^^^^ expected one of `(`, `[`, or `{` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `rand` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use rand::Rng; [INFO] [stdout] | ^^^^ use of undeclared crate or module `rand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `rand` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use rand::Rng; [INFO] [stdout] | ^^^^ use of undeclared crate or module `rand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `root` in this scope [INFO] [stdout] --> src/main.rs:317:30 [INFO] [stdout] | [INFO] [stdout] 317 | let fullscreen = root.is_fullscreen(); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `root` in this scope [INFO] [stdout] --> src/main.rs:318:13 [INFO] [stdout] | [INFO] [stdout] 318 | root.set_fullscreen(!fullscreen); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `root` in this scope [INFO] [stdout] --> src/main.rs:317:30 [INFO] [stdout] | [INFO] [stdout] 317 | let fullscreen = root.is_fullscreen(); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `root` in this scope [INFO] [stdout] --> src/main.rs:318:13 [INFO] [stdout] | [INFO] [stdout] 318 | root.set_fullscreen(!fullscreen); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 285 | match key { [INFO] [stdout] | --- this expression has type `tcod::input::Key` [INFO] [stdout] ... [INFO] [stdout] 294 | (Key { code: Up, .. }, _, true) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `tcod::input::Key`, found tuple [INFO] [stdout] | [INFO] [stdout] = note: expected struct `tcod::input::Key` [INFO] [stdout] found tuple `(_, _, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 285 | match key { [INFO] [stdout] | --- this expression has type `tcod::input::Key` [INFO] [stdout] ... [INFO] [stdout] 298 | (Key { code: Down, .. }, _, true) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `tcod::input::Key`, found tuple [INFO] [stdout] | [INFO] [stdout] = note: expected struct `tcod::input::Key` [INFO] [stdout] found tuple `(_, _, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:302:9 [INFO] [stdout] | [INFO] [stdout] 285 | match key { [INFO] [stdout] | --- this expression has type `tcod::input::Key` [INFO] [stdout] ... [INFO] [stdout] 302 | (Key { code: Left, .. }, _, true) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `tcod::input::Key`, found tuple [INFO] [stdout] | [INFO] [stdout] = note: expected struct `tcod::input::Key` [INFO] [stdout] found tuple `(_, _, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:306:9 [INFO] [stdout] | [INFO] [stdout] 285 | match key { [INFO] [stdout] | --- this expression has type `tcod::input::Key` [INFO] [stdout] ... [INFO] [stdout] 306 | (Key { code: Right, .. }, _, true) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `tcod::input::Key`, found tuple [INFO] [stdout] | [INFO] [stdout] = note: expected struct `tcod::input::Key` [INFO] [stdout] found tuple `(_, _, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 285 | match key { [INFO] [stdout] | --- this expression has type `tcod::input::Key` [INFO] [stdout] ... [INFO] [stdout] 294 | (Key { code: Up, .. }, _, true) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `tcod::input::Key`, found tuple [INFO] [stdout] | [INFO] [stdout] = note: expected struct `tcod::input::Key` [INFO] [stdout] found tuple `(_, _, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 285 | match key { [INFO] [stdout] | --- this expression has type `tcod::input::Key` [INFO] [stdout] ... [INFO] [stdout] 298 | (Key { code: Down, .. }, _, true) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `tcod::input::Key`, found tuple [INFO] [stdout] | [INFO] [stdout] = note: expected struct `tcod::input::Key` [INFO] [stdout] found tuple `(_, _, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:302:9 [INFO] [stdout] | [INFO] [stdout] 285 | match key { [INFO] [stdout] | --- this expression has type `tcod::input::Key` [INFO] [stdout] ... [INFO] [stdout] 302 | (Key { code: Left, .. }, _, true) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `tcod::input::Key`, found tuple [INFO] [stdout] | [INFO] [stdout] = note: expected struct `tcod::input::Key` [INFO] [stdout] found tuple `(_, _, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:306:9 [INFO] [stdout] | [INFO] [stdout] 285 | match key { [INFO] [stdout] | --- this expression has type `tcod::input::Key` [INFO] [stdout] ... [INFO] [stdout] 306 | (Key { code: Right, .. }, _, true) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `tcod::input::Key`, found tuple [INFO] [stdout] | [INFO] [stdout] = note: expected struct `tcod::input::Key` [INFO] [stdout] found tuple `(_, _, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:296:13 [INFO] [stdout] | [INFO] [stdout] 285 | / match key { [INFO] [stdout] 286 | | Key { [INFO] [stdout] 287 | | code: Enter, [INFO] [stdout] 288 | | alt: true, [INFO] [stdout] ... | [INFO] [stdout] 296 | | TookTurn [INFO] [stdout] | | ^^^^^^^^ expected `()`, found enum `PlayerAction` [INFO] [stdout] ... | [INFO] [stdout] 320 | | } [INFO] [stdout] 321 | | } [INFO] [stdout] | | -- help: consider using a semicolon here [INFO] [stdout] | |_____| [INFO] [stdout] | expected this to be `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:300:13 [INFO] [stdout] | [INFO] [stdout] 285 | / match key { [INFO] [stdout] 286 | | Key { [INFO] [stdout] 287 | | code: Enter, [INFO] [stdout] 288 | | alt: true, [INFO] [stdout] ... | [INFO] [stdout] 300 | | TookTurn [INFO] [stdout] | | ^^^^^^^^ expected `()`, found enum `PlayerAction` [INFO] [stdout] ... | [INFO] [stdout] 320 | | } [INFO] [stdout] 321 | | } [INFO] [stdout] | | -- help: consider using a semicolon here [INFO] [stdout] | |_____| [INFO] [stdout] | expected this to be `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:296:13 [INFO] [stdout] | [INFO] [stdout] 285 | / match key { [INFO] [stdout] 286 | | Key { [INFO] [stdout] 287 | | code: Enter, [INFO] [stdout] 288 | | alt: true, [INFO] [stdout] ... | [INFO] [stdout] 296 | | TookTurn [INFO] [stdout] | | ^^^^^^^^ expected `()`, found enum `PlayerAction` [INFO] [stdout] ... | [INFO] [stdout] 320 | | } [INFO] [stdout] 321 | | } [INFO] [stdout] | | -- help: consider using a semicolon here [INFO] [stdout] | |_____| [INFO] [stdout] | expected this to be `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:304:13 [INFO] [stdout] | [INFO] [stdout] 285 | / match key { [INFO] [stdout] 286 | | Key { [INFO] [stdout] 287 | | code: Enter, [INFO] [stdout] 288 | | alt: true, [INFO] [stdout] ... | [INFO] [stdout] 304 | | TookTurn [INFO] [stdout] | | ^^^^^^^^ expected `()`, found enum `PlayerAction` [INFO] [stdout] ... | [INFO] [stdout] 320 | | } [INFO] [stdout] 321 | | } [INFO] [stdout] | | -- help: consider using a semicolon here [INFO] [stdout] | |_____| [INFO] [stdout] | expected this to be `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:300:13 [INFO] [stdout] | [INFO] [stdout] 285 | / match key { [INFO] [stdout] 286 | | Key { [INFO] [stdout] 287 | | code: Enter, [INFO] [stdout] 288 | | alt: true, [INFO] [stdout] ... | [INFO] [stdout] 300 | | TookTurn [INFO] [stdout] | | ^^^^^^^^ expected `()`, found enum `PlayerAction` [INFO] [stdout] ... | [INFO] [stdout] 320 | | } [INFO] [stdout] 321 | | } [INFO] [stdout] | | -- help: consider using a semicolon here [INFO] [stdout] | |_____| [INFO] [stdout] | expected this to be `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:308:13 [INFO] [stdout] | [INFO] [stdout] 285 | / match key { [INFO] [stdout] 286 | | Key { [INFO] [stdout] 287 | | code: Enter, [INFO] [stdout] 288 | | alt: true, [INFO] [stdout] ... | [INFO] [stdout] 308 | | TookTurn [INFO] [stdout] | | ^^^^^^^^ expected `()`, found enum `PlayerAction` [INFO] [stdout] ... | [INFO] [stdout] 320 | | } [INFO] [stdout] 321 | | } [INFO] [stdout] | | -- help: consider using a semicolon here [INFO] [stdout] | |_____| [INFO] [stdout] | expected this to be `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:319:13 [INFO] [stdout] | [INFO] [stdout] 285 | / match key { [INFO] [stdout] 286 | | Key { [INFO] [stdout] 287 | | code: Enter, [INFO] [stdout] 288 | | alt: true, [INFO] [stdout] ... | [INFO] [stdout] 319 | | DidntTakeTurn [INFO] [stdout] | | ^^^^^^^^^^^^^ expected `()`, found enum `PlayerAction` [INFO] [stdout] 320 | | } [INFO] [stdout] 321 | | } [INFO] [stdout] | | -- help: consider using a semicolon here [INFO] [stdout] | |_____| [INFO] [stdout] | expected this to be `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `alive` on type `Object` [INFO] [stdout] --> src/main.rs:323:40 [INFO] [stdout] | [INFO] [stdout] 323 | let player_alive = objects[PLAYER].alive; [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `x`, `y`, `char`, `color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/main.rs:326:5 [INFO] [stdout] | [INFO] [stdout] 324 | / match (key, key.text(), player_alive) { [INFO] [stdout] 325 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 326 | false [INFO] [stdout] | ^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:326:5 [INFO] [stdout] | [INFO] [stdout] 280 | fn handle_keys(tcod: &mut Tcod, game: &Game, objects: &mut Vec) -> PlayerAction { [INFO] [stdout] | ------------ expected `PlayerAction` because of return type [INFO] [stdout] ... [INFO] [stdout] 326 | false [INFO] [stdout] | ^^^^^ expected enum `PlayerAction`, found `bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:304:13 [INFO] [stdout] | [INFO] [stdout] 285 | / match key { [INFO] [stdout] 286 | | Key { [INFO] [stdout] 287 | | code: Enter, [INFO] [stdout] 288 | | alt: true, [INFO] [stdout] ... | [INFO] [stdout] 304 | | TookTurn [INFO] [stdout] | | ^^^^^^^^ expected `()`, found enum `PlayerAction` [INFO] [stdout] ... | [INFO] [stdout] 320 | | } [INFO] [stdout] 321 | | } [INFO] [stdout] | | -- help: consider using a semicolon here [INFO] [stdout] | |_____| [INFO] [stdout] | expected this to be `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `pos` found for struct `Object` in the current scope [INFO] [stdout] --> src/main.rs:330:30 [INFO] [stdout] | [INFO] [stdout] 115 | struct Object { [INFO] [stdout] | ------------- method `pos` not found for this [INFO] [stdout] ... [INFO] [stdout] 330 | let (x, y) = objects[id].pos(); [INFO] [stdout] | ^^^ method not found in `Object` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Object` in the current scope [INFO] [stdout] --> src/main.rs:347:61 [INFO] [stdout] | [INFO] [stdout] 347 | let target_id = objects.iter().position(|object| object.pos() == (x, y)); [INFO] [stdout] | ^^^ method not found in `&Object` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `name` on type `Object` [INFO] [stdout] --> src/main.rs:353:36 [INFO] [stdout] | [INFO] [stdout] 353 | objects[target_id].name [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `x`, `y`, `char`, `color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:411:50 [INFO] [stdout] | [INFO] [stdout] 411 | let exit = handle_keys(&mut tcod, &game, player); [INFO] [stdout] | ^^^^^^ expected struct `Vec`, found struct `Object` [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut Vec` [INFO] [stdout] found mutable reference `&mut Object` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:308:13 [INFO] [stdout] | [INFO] [stdout] 285 | / match key { [INFO] [stdout] 286 | | Key { [INFO] [stdout] 287 | | code: Enter, [INFO] [stdout] 288 | | alt: true, [INFO] [stdout] ... | [INFO] [stdout] 308 | | TookTurn [INFO] [stdout] | | ^^^^^^^^ expected `()`, found enum `PlayerAction` [INFO] [stdout] ... | [INFO] [stdout] 320 | | } [INFO] [stdout] 321 | | } [INFO] [stdout] | | -- help: consider using a semicolon here [INFO] [stdout] | |_____| [INFO] [stdout] | expected this to be `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:412:12 [INFO] [stdout] | [INFO] [stdout] 412 | if exit { [INFO] [stdout] | ^^^^ expected `bool`, found enum `PlayerAction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 22 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0425, E0432, E0599, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `roguelike` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:319:13 [INFO] [stdout] | [INFO] [stdout] 285 | / match key { [INFO] [stdout] 286 | | Key { [INFO] [stdout] 287 | | code: Enter, [INFO] [stdout] 288 | | alt: true, [INFO] [stdout] ... | [INFO] [stdout] 319 | | DidntTakeTurn [INFO] [stdout] | | ^^^^^^^^^^^^^ expected `()`, found enum `PlayerAction` [INFO] [stdout] 320 | | } [INFO] [stdout] 321 | | } [INFO] [stdout] | | -- help: consider using a semicolon here [INFO] [stdout] | |_____| [INFO] [stdout] | expected this to be `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `alive` on type `Object` [INFO] [stdout] --> src/main.rs:323:40 [INFO] [stdout] | [INFO] [stdout] 323 | let player_alive = objects[PLAYER].alive; [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `x`, `y`, `char`, `color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/main.rs:326:5 [INFO] [stdout] | [INFO] [stdout] 324 | / match (key, key.text(), player_alive) { [INFO] [stdout] 325 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 326 | false [INFO] [stdout] | ^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:326:5 [INFO] [stdout] | [INFO] [stdout] 280 | fn handle_keys(tcod: &mut Tcod, game: &Game, objects: &mut Vec) -> PlayerAction { [INFO] [stdout] | ------------ expected `PlayerAction` because of return type [INFO] [stdout] ... [INFO] [stdout] 326 | false [INFO] [stdout] | ^^^^^ expected enum `PlayerAction`, found `bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `pos` found for struct `Object` in the current scope [INFO] [stdout] --> src/main.rs:330:30 [INFO] [stdout] | [INFO] [stdout] 115 | struct Object { [INFO] [stdout] | ------------- method `pos` not found for this [INFO] [stdout] ... [INFO] [stdout] 330 | let (x, y) = objects[id].pos(); [INFO] [stdout] | ^^^ method not found in `Object` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Object` in the current scope [INFO] [stdout] --> src/main.rs:347:61 [INFO] [stdout] | [INFO] [stdout] 347 | let target_id = objects.iter().position(|object| object.pos() == (x, y)); [INFO] [stdout] | ^^^ method not found in `&Object` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `name` on type `Object` [INFO] [stdout] --> src/main.rs:353:36 [INFO] [stdout] | [INFO] [stdout] 353 | objects[target_id].name [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `x`, `y`, `char`, `color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:411:50 [INFO] [stdout] | [INFO] [stdout] 411 | let exit = handle_keys(&mut tcod, &game, player); [INFO] [stdout] | ^^^^^^ expected struct `Vec`, found struct `Object` [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut Vec` [INFO] [stdout] found mutable reference `&mut Object` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:412:12 [INFO] [stdout] | [INFO] [stdout] 412 | if exit { [INFO] [stdout] | ^^^^ expected `bool`, found enum `PlayerAction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 22 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0425, E0432, E0599, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "c288869e58b52ad8735be92a224b50c5ecd7f0685da002351c35245c2012499f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c288869e58b52ad8735be92a224b50c5ecd7f0685da002351c35245c2012499f", kill_on_drop: false }` [INFO] [stdout] c288869e58b52ad8735be92a224b50c5ecd7f0685da002351c35245c2012499f