[INFO] cloning repository https://github.com/AuroransSolis/tui_tetris
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AuroransSolis/tui_tetris" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAuroransSolis%2Ftui_tetris", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAuroransSolis%2Ftui_tetris'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4ae0dbf104a99cfe34bd1fd07e4b5f0e1250446f
[INFO] checking AuroransSolis/tui_tetris against master#a26e97be8826d408309fffbd8168362365719f50 for pr-136776
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAuroransSolis%2Ftui_tetris" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/AuroransSolis/tui_tetris on toolchain a26e97be8826d408309fffbd8168362365719f50
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/AuroransSolis/tui_tetris
[INFO] finished tweaking git repo https://github.com/AuroransSolis/tui_tetris
[INFO] tweaked toml for git repo https://github.com/AuroransSolis/tui_tetris written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/AuroransSolis/tui_tetris already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 87 packages to latest compatible versions
[INFO] [stderr]       Adding atty v0.2.14
[INFO] [stderr]       Adding autocfg v1.4.0
[INFO] [stderr]       Adding bitflags v1.3.2
[INFO] [stderr]       Adding byteorder v1.5.0
[INFO] [stderr]       Adding cast v0.2.7
[INFO] [stderr]       Adding cfg-if v0.1.10
[INFO] [stderr]       Adding cfg-if v1.0.0
[INFO] [stderr]       Adding clap v2.34.0
[INFO] [stderr]       Adding cloudabi v0.0.3
[INFO] [stderr]       Adding criterion v0.2.11 (available: v0.5.1)
[INFO] [stderr]       Adding criterion-plot v0.3.1
[INFO] [stderr]       Adding crossbeam-deque v0.8.6
[INFO] [stderr]       Adding crossbeam-epoch v0.9.18
[INFO] [stderr]       Adding crossbeam-utils v0.8.21
[INFO] [stderr]       Adding crossterm v0.11.1 (available: v0.28.1)
[INFO] [stderr]       Adding crossterm_cursor v0.3.1
[INFO] [stderr]       Adding crossterm_cursor v0.4.0
[INFO] [stderr]       Adding crossterm_input v0.4.1
[INFO] [stderr]       Adding crossterm_input v0.5.0
[INFO] [stderr]       Adding crossterm_screen v0.3.2
[INFO] [stderr]       Adding crossterm_style v0.5.2
[INFO] [stderr]       Adding crossterm_terminal v0.3.2
[INFO] [stderr]       Adding crossterm_utils v0.3.1
[INFO] [stderr]       Adding crossterm_utils v0.4.0
[INFO] [stderr]       Adding crossterm_winapi v0.2.1
[INFO] [stderr]       Adding crossterm_winapi v0.3.0
[INFO] [stderr]       Adding csv v1.3.1
[INFO] [stderr]       Adding csv-core v0.1.11
[INFO] [stderr]       Adding either v1.13.0
[INFO] [stderr]       Adding fuchsia-cprng v0.1.1
[INFO] [stderr]       Adding fuchsia-zircon v0.3.3
[INFO] [stderr]       Adding fuchsia-zircon-sys v0.3.3
[INFO] [stderr]       Adding getrandom v0.1.16
[INFO] [stderr]       Adding hermit-abi v0.1.19
[INFO] [stderr]       Adding iovec v0.1.4
[INFO] [stderr]       Adding itertools v0.8.2
[INFO] [stderr]       Adding itoa v1.0.14
[INFO] [stderr]       Adding kernel32-sys v0.2.2
[INFO] [stderr]     Updating libc v0.2.51 -> v0.2.169
[INFO] [stderr]       Adding log v0.4.25
[INFO] [stderr]       Adding mio v0.6.23
[INFO] [stderr]       Adding miow v0.2.2
[INFO] [stderr]       Adding net2 v0.2.39
[INFO] [stderr]       Adding ppv-lite86 v0.2.20
[INFO] [stderr]       Adding proc-macro2 v1.0.93
[INFO] [stderr]       Adding quote v1.0.38
[INFO] [stderr]       Adding rand v0.7.3 (available: v0.9.0)
[INFO] [stderr]       Adding rand_chacha v0.2.2
[INFO] [stderr]       Adding rand_core v0.3.1
[INFO] [stderr]       Adding rand_core v0.4.2
[INFO] [stderr]       Adding rand_core v0.5.1
[INFO] [stderr]       Adding rand_hc v0.2.0
[INFO] [stderr]       Adding rand_os v0.1.3
[INFO] [stderr]       Adding rand_xoshiro v0.1.0
[INFO] [stderr]       Adding rayon v1.10.0
[INFO] [stderr]       Adding rayon-core v1.12.1
[INFO] [stderr]       Adding rdrand v0.4.0
[INFO] [stderr]       Adding rustc_version v0.4.1
[INFO] [stderr]       Adding same-file v1.0.6
[INFO] [stderr]       Adding semver v1.0.25
[INFO] [stderr]       Adding slab v0.4.9
[INFO] [stderr]       Adding syn v2.0.98
[INFO] [stderr]       Adding textwrap v0.11.0
[INFO] [stderr]       Adding tinytemplate v1.2.1
[INFO] [stderr]       Adding unicode-ident v1.0.16
[INFO] [stderr]       Adding unicode-width v0.1.14
[INFO] [stderr]       Adding walkdir v2.5.0
[INFO] [stderr]       Adding wasi v0.9.0+wasi-snapshot-preview1
[INFO] [stderr]       Adding winapi v0.2.8
[INFO] [stderr]       Adding winapi v0.3.9
[INFO] [stderr]       Adding winapi-build v0.1.1
[INFO] [stderr]       Adding winapi-i686-pc-windows-gnu v0.4.0
[INFO] [stderr]       Adding winapi-util v0.1.9
[INFO] [stderr]       Adding winapi-x86_64-pc-windows-gnu v0.4.0
[INFO] [stderr]       Adding windows-sys v0.59.0
[INFO] [stderr]       Adding windows-targets v0.52.6
[INFO] [stderr]       Adding windows_aarch64_gnullvm v0.52.6
[INFO] [stderr]       Adding windows_aarch64_msvc v0.52.6
[INFO] [stderr]       Adding windows_i686_gnu v0.52.6
[INFO] [stderr]       Adding windows_i686_gnullvm v0.52.6
[INFO] [stderr]       Adding windows_i686_msvc v0.52.6
[INFO] [stderr]       Adding windows_x86_64_gnu v0.52.6
[INFO] [stderr]       Adding windows_x86_64_gnullvm v0.52.6
[INFO] [stderr]       Adding windows_x86_64_msvc v0.52.6
[INFO] [stderr]       Adding ws2_32-sys v0.2.1
[INFO] [stderr]       Adding zerocopy v0.7.35
[INFO] [stderr]       Adding zerocopy-derive v0.7.35
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded crossterm_input v0.5.0
[INFO] [stderr]   Downloaded crossterm_winapi v0.2.1
[INFO] [stderr]   Downloaded crossterm v0.11.1
[INFO] [stderr]   Downloaded crossterm_cursor v0.4.0
[INFO] [stderr]   Downloaded rand_xoshiro v0.1.0
[INFO] [stderr]   Downloaded criterion-plot v0.3.1
[INFO] [stderr]   Downloaded crossterm_cursor v0.3.1
[INFO] [stderr]   Downloaded proc-macro2 v0.4.28
[INFO] [stderr]   Downloaded serde_derive v1.0.90
[INFO] [stderr]   Downloaded itertools v0.8.2
[INFO] [stderr]   Downloaded serde v1.0.90
[INFO] [stderr]   Downloaded criterion v0.2.11
[INFO] [stderr]   Downloaded crossterm_input v0.4.1
[INFO] [stderr]   Downloaded syn v0.15.32
[INFO] [stderr]   Downloaded crossterm_style v0.5.2
[INFO] [stderr]   Downloaded net2 v0.2.39
[INFO] [stderr]   Downloaded crossterm_utils v0.4.0
[INFO] [stderr]   Downloaded crossterm_winapi v0.3.0
[INFO] [stderr]   Downloaded crossterm_terminal v0.3.2
[INFO] [stderr]   Downloaded crossterm_utils v0.3.1
[INFO] [stderr]   Downloaded crossterm_screen v0.3.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3e03972c5c63ba2e22eec46d4f4f5d19b4291ab61d0b76c8c5b182c9b437c6cd
[INFO] running `Command { std: "docker" "start" "-a" "3e03972c5c63ba2e22eec46d4f4f5d19b4291ab61d0b76c8c5b182c9b437c6cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3e03972c5c63ba2e22eec46d4f4f5d19b4291ab61d0b76c8c5b182c9b437c6cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3e03972c5c63ba2e22eec46d4f4f5d19b4291ab61d0b76c8c5b182c9b437c6cd", kill_on_drop: false }`
[INFO] [stdout] 3e03972c5c63ba2e22eec46d4f4f5d19b4291ab61d0b76c8c5b182c9b437c6cd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cadff4a2f47a15ef0f12a8dfedcc9c360e9d7317808e93dd23bde98ceb4d365d
[INFO] running `Command { std: "docker" "start" "-a" "cadff4a2f47a15ef0f12a8dfedcc9c360e9d7317808e93dd23bde98ceb4d365d", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.16
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling semver v1.0.25
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling serde v1.0.90
[INFO] [stderr]     Checking log v0.4.25
[INFO] [stderr]    Compiling ryu v1.0.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.28
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling syn v0.15.32
[INFO] [stderr]    Compiling autocfg v0.1.6
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling cast v0.2.7
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking itoa v0.4.4
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]     Checking itoa v1.0.14
[INFO] [stderr]     Checking crossterm_utils v0.4.0
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking crossterm_utils v0.3.1
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking crossterm_screen v0.3.2
[INFO] [stderr]     Checking crossterm_style v0.5.2
[INFO] [stderr]     Checking crossterm_cursor v0.3.1
[INFO] [stderr]     Checking crossterm_input v0.4.1
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking rand_xoshiro v0.1.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking criterion-plot v0.3.1
[INFO] [stderr]     Checking crossterm_input v0.5.0
[INFO] [stderr]     Checking crossterm_cursor v0.4.0
[INFO] [stderr]     Checking crossterm_terminal v0.3.2
[INFO] [stderr]     Checking crossterm v0.11.1
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling serde_derive v1.0.90
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking serde_json v1.0.40
[INFO] [stderr]     Checking csv v1.3.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking tui_tetris v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crossterm::Color`
[INFO] [stdout]  --> src/tetromino.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crossterm::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `rngs::ThreadRng`
[INFO] [stdout]  --> src/tetromino.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, rngs::ThreadRng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gameboard::*`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use gameboard::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tetromino::*`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tetromino::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::io::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cell` is never constructed
[INFO] [stdout]  --> src/gameboard.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Cell {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gameboard.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Cell {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 14 |     fn new(character: char, colour: Color) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameBoard` is never constructed
[INFO] [stdout]   --> src/gameboard.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct GameBoard {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `draw` are never used
[INFO] [stdout]   --> src/gameboard.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl GameBoard {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 27 |     fn new(width: usize, height: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn draw(&self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Game` is never constructed
[INFO] [stdout]   --> src/gameboard.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct Game {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gameboard.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl Game {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 56 |     pub fn new(config: GameConfig) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_sequence_number` is never used
[INFO] [stdout]   --> src/gameboard.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn decode_sequence_number(mut sequence_number: u16) -> [Tetromino; 7] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_nth_unused` is never used
[INFO] [stdout]    --> src/gameboard.rs:201:4
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn find_nth_unused(usage_map: [bool; 7], mut n: usize) -> u16 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking criterion v0.2.11
[INFO] [stdout] warning: unused import: `crossterm::Color`
[INFO] [stdout]  --> src/tetromino.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crossterm::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `rngs::ThreadRng`
[INFO] [stdout]  --> src/tetromino.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, rngs::ThreadRng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gameboard::*`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use gameboard::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tetromino::*`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tetromino::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::io::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossterm::Color`
[INFO] [stdout]  --> src/tetromino.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crossterm::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `rngs::ThreadRng`
[INFO] [stdout]  --> src/tetromino.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{Rng, rngs::ThreadRng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/gameboard.rs:192:21
[INFO] [stdout]     |
[INFO] [stdout] 192 |                 let message = format!(
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cell` is never constructed
[INFO] [stdout]  --> src/gameboard.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Cell {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gameboard.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Cell {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 14 |     fn new(character: char, colour: Color) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameBoard` is never constructed
[INFO] [stdout]   --> src/gameboard.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct GameBoard {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `draw` are never used
[INFO] [stdout]   --> src/gameboard.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl GameBoard {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 27 |     fn new(width: usize, height: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn draw(&self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Game` is never constructed
[INFO] [stdout]   --> src/gameboard.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct Game {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gameboard.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl Game {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 56 |     pub fn new(config: GameConfig) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/gameboard.rs:175:28
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     panic!(message);
[INFO] [stdout]     |                            ^^^^^^^
[INFO] [stdout]     |
[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/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     panic!("{}", message);
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `default` and `write_to_file` are never used
[INFO] [stdout]    --> src/game_config.rs:551:12
[INFO] [stdout]     |
[INFO] [stdout] 550 | impl GameConfig {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 551 |     pub fn default() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 866 |     pub fn write_to_file(&self, file: &mut File) -> IoResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cell` is never constructed
[INFO] [stdout]  --> src/gameboard.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Cell {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gameboard.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Cell {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 14 |     fn new(character: char, colour: Color) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameBoard` is never constructed
[INFO] [stdout]   --> src/gameboard.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct GameBoard {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `draw` are never used
[INFO] [stdout]   --> src/gameboard.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl GameBoard {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 27 |     fn new(width: usize, height: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn draw(&self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Game` is never constructed
[INFO] [stdout]   --> src/gameboard.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct Game {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gameboard.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl Game {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 56 |     pub fn new(config: GameConfig) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/bench.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 panic!(e);
[INFO] [stdout]    |                        ^
[INFO] [stdout]    |
[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/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 panic!("{}", e);
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 std::panic::panic_any(e);
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.69s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.2.11
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "cadff4a2f47a15ef0f12a8dfedcc9c360e9d7317808e93dd23bde98ceb4d365d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cadff4a2f47a15ef0f12a8dfedcc9c360e9d7317808e93dd23bde98ceb4d365d", kill_on_drop: false }`
[INFO] [stdout] cadff4a2f47a15ef0f12a8dfedcc9c360e9d7317808e93dd23bde98ceb4d365d
