[INFO] fetching crate gameboard 0.1.0...
[INFO] testing gameboard-0.1.0 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate gameboard 0.1.0 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate gameboard 0.1.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate gameboard 0.1.0
[INFO] tweaked toml for crates.io crate gameboard 0.1.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate gameboard 0.1.0 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 25 packages to latest compatible versions
[INFO] [stderr]       Adding rand v0.6.5 (available: v0.9.2)
[INFO] [stderr]       Adding termion v1.5.6 (available: v4.0.6)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded redox_termios v0.1.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 50a605ecc13c0bbb8ebe52213143b38e111b089b2f763057d7255d177c3030f8
[INFO] running `Command { std: "docker" "start" "-a" "50a605ecc13c0bbb8ebe52213143b38e111b089b2f763057d7255d177c3030f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "50a605ecc13c0bbb8ebe52213143b38e111b089b2f763057d7255d177c3030f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "50a605ecc13c0bbb8ebe52213143b38e111b089b2f763057d7255d177c3030f8", kill_on_drop: false }`
[INFO] [stdout] 50a605ecc13c0bbb8ebe52213143b38e111b089b2f763057d7255d177c3030f8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4f0ad3c984cdfe274d00a7ce5c249087132eef1e4de273c119206d701d765875
[INFO] running `Command { std: "docker" "start" "-a" "4f0ad3c984cdfe274d00a7ce5c249087132eef1e4de273c119206d701d765875", kill_on_drop: false }`
[INFO] [stderr]    Compiling numtoa v0.1.0
[INFO] [stderr]    Compiling termion v1.5.6
[INFO] [stderr]    Compiling gameboard v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cell.rs:101:28
[INFO] [stdout]     |
[INFO] [stdout] 101 |                     panic!(RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 101 |                     panic!("{}", RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cell.rs:119:28
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     panic!(RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     panic!("{}", RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cell.rs:142:28
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     panic!(RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     panic!("{}", RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/cell_grid.rs:59:24
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub(crate) fn iter(&self) -> Iter<Cell> {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub(crate) fn iter(&self) -> Iter<'_, Cell> {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/cell_grid.rs:63:32
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub(crate) fn updated_iter(&self) -> UpdatedIterator {
[INFO] [stdout]    |                                ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub(crate) fn updated_iter(&self) -> UpdatedIterator<'_> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.03s
[INFO] running `Command { std: "docker" "inspect" "4f0ad3c984cdfe274d00a7ce5c249087132eef1e4de273c119206d701d765875", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4f0ad3c984cdfe274d00a7ce5c249087132eef1e4de273c119206d701d765875", kill_on_drop: false }`
[INFO] [stdout] 4f0ad3c984cdfe274d00a7ce5c249087132eef1e4de273c119206d701d765875
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c62f56b301dc91d32a3783680df7543d7b6a8060c79c98535d4648a14cbe2813
[INFO] running `Command { std: "docker" "start" "-a" "c62f56b301dc91d32a3783680df7543d7b6a8060c79c98535d4648a14cbe2813", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cell.rs:101:28
[INFO] [stdout]     |
[INFO] [stdout] 101 |                     panic!(RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 101 |                     panic!("{}", RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cell.rs:119:28
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     panic!(RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     panic!("{}", RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cell.rs:142:28
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     panic!(RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     panic!("{}", RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/cell_grid.rs:59:24
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub(crate) fn iter(&self) -> Iter<Cell> {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub(crate) fn iter(&self) -> Iter<'_, Cell> {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/cell_grid.rs:63:32
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub(crate) fn updated_iter(&self) -> UpdatedIterator {
[INFO] [stdout]    |                                ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub(crate) fn updated_iter(&self) -> UpdatedIterator<'_> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling gameboard v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cell.rs:101:28
[INFO] [stdout]     |
[INFO] [stdout] 101 |                     panic!(RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 101 |                     panic!("{}", RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cell.rs:119:28
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     panic!(RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     panic!("{}", RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cell.rs:142:28
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     panic!(RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     panic!("{}", RESOURCE_TABLE_ERR_MSG);
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/cell_grid.rs:59:24
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub(crate) fn iter(&self) -> Iter<Cell> {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub(crate) fn iter(&self) -> Iter<'_, Cell> {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/cell_grid.rs:63:32
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub(crate) fn updated_iter(&self) -> UpdatedIterator {
[INFO] [stdout]    |                                ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub(crate) fn updated_iter(&self) -> UpdatedIterator<'_> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.96s
[INFO] running `Command { std: "docker" "inspect" "c62f56b301dc91d32a3783680df7543d7b6a8060c79c98535d4648a14cbe2813", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c62f56b301dc91d32a3783680df7543d7b6a8060c79c98535d4648a14cbe2813", kill_on_drop: false }`
[INFO] [stdout] c62f56b301dc91d32a3783680df7543d7b6a8060c79c98535d4648a14cbe2813
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9034f84e62e8c7c6d97bcc9448a48c55a82f1816099c9311df48c477d82b785b
[INFO] running `Command { std: "docker" "start" "-a" "9034f84e62e8c7c6d97bcc9448a48c55a82f1816099c9311df48c477d82b785b", kill_on_drop: false }`
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/cell.rs:101:28
[INFO] [stderr]     |
[INFO] [stderr] 101 |                     panic!(RESOURCE_TABLE_ERR_MSG);
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 101 |                     panic!("{}", RESOURCE_TABLE_ERR_MSG);
[INFO] [stderr]     |                            +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/cell.rs:119:28
[INFO] [stderr]     |
[INFO] [stderr] 119 |                     panic!(RESOURCE_TABLE_ERR_MSG);
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 119 |                     panic!("{}", RESOURCE_TABLE_ERR_MSG);
[INFO] [stderr]     |                            +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/cell.rs:142:28
[INFO] [stderr]     |
[INFO] [stderr] 142 |                     panic!(RESOURCE_TABLE_ERR_MSG);
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 142 |                     panic!("{}", RESOURCE_TABLE_ERR_MSG);
[INFO] [stderr]     |                            +++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/cell_grid.rs:59:24
[INFO] [stderr]    |
[INFO] [stderr] 59 |     pub(crate) fn iter(&self) -> Iter<Cell> {
[INFO] [stderr]    |                        ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 59 |     pub(crate) fn iter(&self) -> Iter<'_, Cell> {
[INFO] [stderr]    |                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/cell_grid.rs:63:32
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub(crate) fn updated_iter(&self) -> UpdatedIterator {
[INFO] [stderr]    |                                ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                                |
[INFO] [stderr]    |                                the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub(crate) fn updated_iter(&self) -> UpdatedIterator<'_> {
[INFO] [stderr]    |                                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `gameboard` (lib) generated 5 warnings (run `cargo fix --lib -p gameboard` to apply 5 suggestions)
[INFO] [stderr] warning: `gameboard` (lib test) generated 5 warnings (5 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gameboard-5cf20d3f19b57634)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests gameboard
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test src/board.rs - board::Board::init_from_vec (line 120) - compile ... FAILED
[INFO] [stdout] test src/board.rs - board::Board::init_from_str (line 153) - compile ... FAILED
[INFO] [stdout] test src/board.rs - board::Board::init_from_str (line 158) - compile ... FAILED
[INFO] [stdout] test src/game.rs - game::Game<R,W,L>::update_info (line 391) - compile ... FAILED
[INFO] [stdout] test src/info.rs - info::Info::new (line 63) - compile ... FAILED
[INFO] [stdout] test src/cursor.rs - cursor::Cursor::new (line 72) - compile ... FAILED
[INFO] [stdout] test src/board.rs - board::Board::new (line 70) - compile ... FAILED
[INFO] [stdout] test src/cell.rs - cell::Cell::Content (line 40) - compile ... FAILED
[INFO] [stdout] test src/game.rs - game::Game<R,AlternateScreen<RawTerminal<W>>,L>::new (line 97) - compile ... ok
[INFO] [stdout] test src/game.rs - game::Game<R,W,L>::update_cells (line 375) - compile ... FAILED
[INFO] [stdout] test src/game.rs - game::Game<R,W,L>::show_message (line 434) - compile ... FAILED
[INFO] [stdout] test src/cursor.rs - cursor::Cursor::new (line 58) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/board.rs - board::Board::init_from_vec (line 120) stdout ----
[INFO] [stdout] error: unexpected closing delimiter: `)`
[INFO] [stdout]    --> src/board.rs:121:52
[INFO] [stdout]     |
[INFO] [stdout] 121 | let mut board = Board::new(2, 2, 1, 1, false, None));
[INFO] [stdout]     |                                                    ^ unexpected closing delimiter
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/board.rs - board::Board::init_from_str (line 153) stdout ----
[INFO] [stdout] error: unexpected closing delimiter: `)`
[INFO] [stdout]    --> src/board.rs:154:52
[INFO] [stdout]     |
[INFO] [stdout] 154 | let mut board = Board::new(4, 4, 1, 1, false, None));
[INFO] [stdout]     |                                                    ^ unexpected closing delimiter
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/board.rs - board::Board::init_from_str (line 158) stdout ----
[INFO] [stdout] error: unexpected closing delimiter: `)`
[INFO] [stdout]    --> src/board.rs:159:52
[INFO] [stdout]     |
[INFO] [stdout] 159 | let mut board = Board::new(4, 4, 1, 1, false, None));
[INFO] [stdout]     |                                                    ^ unexpected closing delimiter
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/game.rs - game::Game<R,W,L>::update_info (line 391) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `game` in this scope
[INFO] [stdout]    --> src/game.rs:392:1
[INFO] [stdout]     |
[INFO] [stdout] 392 | game.update_info(&[
[INFO] [stdout]     | ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/info.rs - info::Info::new (line 63) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Board`
[INFO] [stdout]   --> src/info.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 | let board = Board::new(5, 5, 10, 5, true, None);
[INFO] [stdout]    |             ^^^^^ use of undeclared type `Board`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 63 + use gameboard::Board;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Info`
[INFO] [stdout]   --> src/info.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | let info = Info::new(15, InfoLayout::Top, &[
[INFO] [stdout]    |            ^^^^ use of undeclared type `Info`
[INFO] [stdout]    |
[INFO] [stdout] help: a trait with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 65 - let info = Info::new(15, InfoLayout::Top, &[
[INFO] [stdout] 65 + let info = Into::new(15, InfoLayout::Top, &[
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 63 + use gameboard::Info;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InfoLayout`
[INFO] [stdout]   --> src/info.rs:65:26
[INFO] [stdout]    |
[INFO] [stdout] 65 | let info = Info::new(15, InfoLayout::Top, &[
[INFO] [stdout]    |                          ^^^^^^^^^^ use of undeclared type `InfoLayout`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 63 + use gameboard::InfoLayout;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/cursor.rs - cursor::Cursor::new (line 72) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Position` in this scope
[INFO] [stdout]   --> src/cursor.rs:75:23
[INFO] [stdout]    |
[INFO] [stdout] 75 | const START_POSITION: Position = Position(1, 1);
[INFO] [stdout]    |                       ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 72 + use gameboard::Position;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Position` in this scope
[INFO] [stdout]   --> src/cursor.rs:75:34
[INFO] [stdout]    |
[INFO] [stdout] 75 | const START_POSITION: Position = Position(1, 1);
[INFO] [stdout]    |                                  ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this tuple struct
[INFO] [stdout]    |
[INFO] [stdout] 72 + use gameboard::Position;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Cursor`
[INFO] [stdout]   --> src/cursor.rs:76:14
[INFO] [stdout]    |
[INFO] [stdout] 76 | let cursor = Cursor::new(color::Rgb(0, 0, 200), START_POSITION, true, None);
[INFO] [stdout]    |              ^^^^^^ use of undeclared type `Cursor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout] 72 + use std::collections::btree_map::Cursor;
[INFO] [stdout]    |
[INFO] [stdout] 72 + use std::collections::btree_set::Cursor;
[INFO] [stdout]    |
[INFO] [stdout] 72 + use std::collections::linked_list::Cursor;
[INFO] [stdout]    |
[INFO] [stdout] 72 + use std::io::Cursor;
[INFO] [stdout]    |
[INFO] [stdout]    = and 1 other candidate
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/board.rs - board::Board::new (line 70) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `ResourceTable` in this scope
[INFO] [stdout]   --> src/board.rs:71:26
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn create_resources() -> ResourceTable {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]    |
[INFO] [stdout] 70 + use gameboard::ResourceTable;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ResourceTable`
[INFO] [stdout]   --> src/board.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut res = ResourceTable::new();
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ use of undeclared type `ResourceTable`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]    |
[INFO] [stdout] 70 + use gameboard::ResourceTable;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Board`
[INFO] [stdout]   --> src/board.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 | let mut board = Board::new(3, 3, 10, 5, true, Some(create_resources()));
[INFO] [stdout]    |                 ^^^^^ use of undeclared type `Board`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 70 + use gameboard::Board;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/cell.rs - cell::Cell::Content (line 40) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `ResourceTable` in this scope
[INFO] [stdout]   --> src/cell.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn create_resources() -> ResourceTable {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]    |
[INFO] [stdout] 40 + use gameboard::ResourceTable;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ResourceTable`
[INFO] [stdout]   --> src/cell.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut res = ResourceTable::new();
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ use of undeclared type `ResourceTable`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]    |
[INFO] [stdout] 40 + use gameboard::ResourceTable;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Cursor`
[INFO] [stdout]   --> src/cell.rs:50:14
[INFO] [stdout]    |
[INFO] [stdout] 50 | let cursor = Cursor::new(color::Rgb(0, 0, 200), Position(0, 0), true, None);
[INFO] [stdout]    |              ^^^^^^ use of undeclared type `Cursor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout] 40 + use std::collections::btree_map::Cursor;
[INFO] [stdout]    |
[INFO] [stdout] 40 + use std::collections::btree_set::Cursor;
[INFO] [stdout]    |
[INFO] [stdout] 40 + use std::collections::linked_list::Cursor;
[INFO] [stdout]    |
[INFO] [stdout] 40 + use std::io::Cursor;
[INFO] [stdout]    |
[INFO] [stdout]    = and 1 other candidate
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Position` in this scope
[INFO] [stdout]   --> src/cell.rs:50:49
[INFO] [stdout]    |
[INFO] [stdout] 50 | let cursor = Cursor::new(color::Rgb(0, 0, 200), Position(0, 0), true, None);
[INFO] [stdout]    |                                                 ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this tuple struct
[INFO] [stdout]    |
[INFO] [stdout] 40 + use gameboard::Position;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Board`
[INFO] [stdout]   --> src/cell.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 | let mut board = Board::new(3, 3, 6, 3, true, Some(create_resources()));
[INFO] [stdout]    |                 ^^^^^ use of undeclared type `Board`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 40 + use gameboard::Board;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Cell`
[INFO] [stdout]   --> src/cell.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         Cell::Empty,
[INFO] [stdout]    |         ^^^^ use of undeclared type `Cell`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 40 + use std::cell::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 40 + use gameboard::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Cell`
[INFO] [stdout]   --> src/cell.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         Cell::ResourceId(0),
[INFO] [stdout]    |         ^^^^ use of undeclared type `Cell`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 40 + use std::cell::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 40 + use gameboard::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Cell`
[INFO] [stdout]   --> src/cell.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |         Cell::ResourceId(1),
[INFO] [stdout]    |         ^^^^ use of undeclared type `Cell`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 40 + use std::cell::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 40 + use gameboard::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Cell`
[INFO] [stdout]   --> src/cell.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         Cell::Char('z'),
[INFO] [stdout]    |         ^^^^ use of undeclared type `Cell`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 40 + use std::cell::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 40 + use gameboard::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Cell`
[INFO] [stdout]   --> src/cell.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         Cell::Char('▒'),
[INFO] [stdout]    |         ^^^^ use of undeclared type `Cell`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 40 + use std::cell::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 40 + use gameboard::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Cell`
[INFO] [stdout]   --> src/cell.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         Cell::Content(
[INFO] [stdout]    |         ^^^^ use of undeclared type `Cell`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 40 + use std::cell::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 40 + use gameboard::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Cell`
[INFO] [stdout]   --> src/cell.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |         Cell::Content(
[INFO] [stdout]    |         ^^^^ use of undeclared type `Cell`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 40 + use std::cell::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 40 + use gameboard::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Cell`
[INFO] [stdout]   --> src/cell.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         Cell::Content(
[INFO] [stdout]    |         ^^^^ use of undeclared type `Cell`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 40 + use std::cell::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 40 + use gameboard::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Cell`
[INFO] [stdout]   --> src/cell.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         Cell::Content(
[INFO] [stdout]    |         ^^^^ use of undeclared type `Cell`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 40 + use std::cell::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 40 + use gameboard::Cell;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 14 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/game.rs - game::Game<R,W,L>::update_cells (line 375) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `CellUpdates`
[INFO] [stdout]    --> src/game.rs:376:19
[INFO] [stdout]     |
[INFO] [stdout] 376 | let mut updates = CellUpdates::with_capacity(2);
[INFO] [stdout]     |                   ^^^^^^^^^^^ use of undeclared type `CellUpdates`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]     |
[INFO] [stdout] 375 + use gameboard::CellUpdates;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Cell`
[INFO] [stdout]    --> src/game.rs:377:15
[INFO] [stdout]     |
[INFO] [stdout] 377 | updates.push((Cell::Empty, Position(0, 1)));
[INFO] [stdout]     |               ^^^^ use of undeclared type `Cell`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 375 + use std::cell::Cell;
[INFO] [stdout]     |
[INFO] [stdout] 375 + use gameboard::Cell;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Position` in this scope
[INFO] [stdout]    --> src/game.rs:377:28
[INFO] [stdout]     |
[INFO] [stdout] 377 | updates.push((Cell::Empty, Position(0, 1)));
[INFO] [stdout]     |                            ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple struct
[INFO] [stdout]     |
[INFO] [stdout] 375 + use gameboard::Position;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Cell`
[INFO] [stdout]    --> src/game.rs:378:15
[INFO] [stdout]     |
[INFO] [stdout] 378 | updates.push((Cell::Char('x'), Position(0, 2)));
[INFO] [stdout]     |               ^^^^ use of undeclared type `Cell`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 375 + use std::cell::Cell;
[INFO] [stdout]     |
[INFO] [stdout] 375 + use gameboard::Cell;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Position` in this scope
[INFO] [stdout]    --> src/game.rs:378:32
[INFO] [stdout]     |
[INFO] [stdout] 378 | updates.push((Cell::Char('x'), Position(0, 2)));
[INFO] [stdout]     |                                ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple struct
[INFO] [stdout]     |
[INFO] [stdout] 375 + use gameboard::Position;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `game` in this scope
[INFO] [stdout]    --> src/game.rs:379:1
[INFO] [stdout]     |
[INFO] [stdout] 379 | game.update_cells(updates);
[INFO] [stdout]     | ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/game.rs - game::Game<R,W,L>::show_message (line 434) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `game` in this scope
[INFO] [stdout]    --> src/game.rs:435:1
[INFO] [stdout]     |
[INFO] [stdout] 435 | game.show_message(&[
[INFO] [stdout]     | ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/cursor.rs - cursor::Cursor::new (line 58) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Key` in this scope
[INFO] [stdout]   --> src/cursor.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn get_direction_default(key: Key) -> Option<Direction> {
[INFO] [stdout]    |                               ^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 58 + use termion::event::Key;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Direction` in this scope
[INFO] [stdout]   --> src/cursor.rs:59:46
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn get_direction_default(key: Key) -> Option<Direction> {
[INFO] [stdout]    |                                              ^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 58 + use gameboard::cursor::Direction;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Key`
[INFO] [stdout]   --> src/cursor.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         Key::Char('a') | Key::Left => Some(Direction::Left),
[INFO] [stdout]    |         ^^^ use of undeclared type `Key`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 58 + use termion::event::Key;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Key`
[INFO] [stdout]   --> src/cursor.rs:61:26
[INFO] [stdout]    |
[INFO] [stdout] 61 |         Key::Char('a') | Key::Left => Some(Direction::Left),
[INFO] [stdout]    |                          ^^^ use of undeclared type `Key`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 58 + use termion::event::Key;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]   --> src/cursor.rs:61:44
[INFO] [stdout]    |
[INFO] [stdout] 61 |         Key::Char('a') | Key::Left => Some(Direction::Left),
[INFO] [stdout]    |                                            ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 58 + use gameboard::cursor::Direction;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Key`
[INFO] [stdout]   --> src/cursor.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         Key::Char('s') | Key::Down => Some(Direction::Down),
[INFO] [stdout]    |         ^^^ use of undeclared type `Key`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 58 + use termion::event::Key;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Key`
[INFO] [stdout]   --> src/cursor.rs:62:26
[INFO] [stdout]    |
[INFO] [stdout] 62 |         Key::Char('s') | Key::Down => Some(Direction::Down),
[INFO] [stdout]    |                          ^^^ use of undeclared type `Key`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 58 + use termion::event::Key;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]   --> src/cursor.rs:62:44
[INFO] [stdout]    |
[INFO] [stdout] 62 |         Key::Char('s') | Key::Down => Some(Direction::Down),
[INFO] [stdout]    |                                            ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 58 + use gameboard::cursor::Direction;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Key`
[INFO] [stdout]   --> src/cursor.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Key::Char('w') | Key::Up => Some(Direction::Up),
[INFO] [stdout]    |         ^^^ use of undeclared type `Key`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 58 + use termion::event::Key;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Key`
[INFO] [stdout]   --> src/cursor.rs:63:26
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Key::Char('w') | Key::Up => Some(Direction::Up),
[INFO] [stdout]    |                          ^^^ use of undeclared type `Key`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 58 + use termion::event::Key;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]   --> src/cursor.rs:63:42
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Key::Char('w') | Key::Up => Some(Direction::Up),
[INFO] [stdout]    |                                          ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 58 + use gameboard::cursor::Direction;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Key`
[INFO] [stdout]   --> src/cursor.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         Key::Char('d') | Key::Right => Some(Direction::Right),
[INFO] [stdout]    |         ^^^ use of undeclared type `Key`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 58 + use termion::event::Key;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Key`
[INFO] [stdout]   --> src/cursor.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |         Key::Char('d') | Key::Right => Some(Direction::Right),
[INFO] [stdout]    |                          ^^^ use of undeclared type `Key`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 58 + use termion::event::Key;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Direction`
[INFO] [stdout]   --> src/cursor.rs:64:45
[INFO] [stdout]    |
[INFO] [stdout] 64 |         Key::Char('d') | Key::Right => Some(Direction::Right),
[INFO] [stdout]    |                                             ^^^^^^^^^ use of undeclared type `Direction`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 58 + use gameboard::cursor::Direction;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 14 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/board.rs - board::Board::init_from_str (line 153)
[INFO] [stdout]     src/board.rs - board::Board::init_from_str (line 158)
[INFO] [stdout]     src/board.rs - board::Board::init_from_vec (line 120)
[INFO] [stdout]     src/board.rs - board::Board::new (line 70)
[INFO] [stdout]     src/cell.rs - cell::Cell::Content (line 40)
[INFO] [stdout]     src/cursor.rs - cursor::Cursor::new (line 58)
[INFO] [stdout]     src/cursor.rs - cursor::Cursor::new (line 72)
[INFO] [stdout]     src/game.rs - game::Game<R,W,L>::show_message (line 434)
[INFO] [stdout]     src/game.rs - game::Game<R,W,L>::update_cells (line 375)
[INFO] [stdout]     src/game.rs - game::Game<R,W,L>::update_info (line 391)
[INFO] [stdout]     src/info.rs - info::Info::new (line 63)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 11 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "9034f84e62e8c7c6d97bcc9448a48c55a82f1816099c9311df48c477d82b785b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9034f84e62e8c7c6d97bcc9448a48c55a82f1816099c9311df48c477d82b785b", kill_on_drop: false }`
[INFO] [stdout] 9034f84e62e8c7c6d97bcc9448a48c55a82f1816099c9311df48c477d82b785b
