[INFO] cloning repository https://github.com/codian/tetris-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/codian/tetris-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcodian%2Ftetris-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcodian%2Ftetris-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 302ec86c7f48875998ce58635bf27d70aeaf481a
[INFO] checking codian/tetris-rs against try#b152f5575a2ac7126ae0019e4e679abe9399213e for pr-157841
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcodian%2Ftetris-rs" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/codian/tetris-rs
[INFO] finished tweaking git repo https://github.com/codian/tetris-rs
[INFO] tweaked toml for git repo https://github.com/codian/tetris-rs written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/codian/tetris-rs on toolchain b152f5575a2ac7126ae0019e4e679abe9399213e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b152f5575a2ac7126ae0019e4e679abe9399213e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/codian/tetris-rs 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" "+b152f5575a2ac7126ae0019e4e679abe9399213e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded getrandom v0.2.4
[INFO] [stderr]   Downloaded tui v0.17.0
[INFO] [stderr]   Downloaded libc v0.2.116
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 850aa90fd1b2d367c74459aaab4449b381f7518ef2981df201ee32de9cf86602
[INFO] running `Command { std: "docker" "start" "850aa90fd1b2d367c74459aaab4449b381f7518ef2981df201ee32de9cf86602", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "850aa90fd1b2d367c74459aaab4449b381f7518ef2981df201ee32de9cf86602" "/opt/rustwide/cargo-home/bin/cargo" "+b152f5575a2ac7126ae0019e4e679abe9399213e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "850aa90fd1b2d367c74459aaab4449b381f7518ef2981df201ee32de9cf86602", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "850aa90fd1b2d367c74459aaab4449b381f7518ef2981df201ee32de9cf86602" "/opt/rustwide/cargo-home/bin/cargo" "+b152f5575a2ac7126ae0019e4e679abe9399213e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.116
[INFO] [stderr]    Compiling signal-hook v0.3.13
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]     Checking smallvec v1.8.0
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking lock_api v0.4.6
[INFO] [stderr]     Checking ppv-lite86 v0.2.16
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking getrandom v0.2.4
[INFO] [stderr]     Checking mio v0.7.14
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.1
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking crossterm v0.22.1
[INFO] [stderr]     Checking tui v0.17.0
[INFO] [stderr]     Checking tetris v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Block`, `Borders`, `Color`, `Modifier`, `Paragraph`, `Span`, `Spans`, `Style`, and `layout::Alignment`
[INFO] [stdout]  --> src/app.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     layout::Alignment,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     widgets::{Borders, Block, Paragraph},
[INFO] [stdout]   |               ^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 7 |     style::{Color, Style, Modifier},
[INFO] [stdout]   |             ^^^^^  ^^^^^  ^^^^^^^^
[INFO] [stdout] 8 |     text::{Span, Spans},
[INFO] [stdout]   |            ^^^^  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LeaveAlternateScreen`, `ScrollUp`, and `SetSize`
[INFO] [stdout]   --> src/app.rs:15:73
[INFO] [stdout]    |
[INFO] [stdout] 15 |     terminal::{enable_raw_mode, disable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen, SetSize, ScrollUp}
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pos`
[INFO] [stdout]  --> src/buffer.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 |     units::{Pos, Size}
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Borders`, `Color`, `Modifier`, `Paragraph`, `Span`, `Spans`, `Style`, and `layout::Alignment`
[INFO] [stdout]  --> src/app.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     layout::Alignment,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     widgets::{Borders, Block, Paragraph},
[INFO] [stdout]   |               ^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 7 |     style::{Color, Style, Modifier},
[INFO] [stdout]   |             ^^^^^  ^^^^^  ^^^^^^^^
[INFO] [stdout] 8 |     text::{Span, Spans},
[INFO] [stdout]   |            ^^^^  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LeaveAlternateScreen`, `ScrollUp`, and `SetSize`
[INFO] [stdout]   --> src/app.rs:15:73
[INFO] [stdout]    |
[INFO] [stdout] 15 |     terminal::{enable_raw_mode, disable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen, SetSize, ScrollUp}
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pos`
[INFO] [stdout]  --> src/buffer.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 |     units::{Pos, Size}
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, `Layout`, `Terminal`, and `backend::CrosstermBackend`
[INFO] [stdout]  --> src/screen.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 |     terminal::{Terminal, Frame},
[INFO] [stdout]   |                ^^^^^^^^
[INFO] [stdout] 4 |     backend::CrosstermBackend,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |                         ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, `Layout`, `Terminal`, and `backend::CrosstermBackend`
[INFO] [stdout]  --> src/screen.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 |     terminal::{Terminal, Frame},
[INFO] [stdout]   |                ^^^^^^^^
[INFO] [stdout] 4 |     backend::CrosstermBackend,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |                         ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EnterAlternateScreen`, `Event`, `LeaveAlternateScreen`, `disable_raw_mode`, `enable_raw_mode`, `execute`, and `self`
[INFO] [stdout]   --> src/screen.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     execute,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 12 |     event::{self, Event, KeyCode, KeyEvent},
[INFO] [stdout]    |             ^^^^  ^^^^^
[INFO] [stdout] 13 |     terminal::{enable_raw_mode, disable_raw_mode, EnterAlternateScreen,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |                LeaveAlternateScreen}
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tetro::Tetro`
[INFO] [stdout]   --> src/screen.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     tetro::Tetro,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment`, `Block`, `BorderType`, `Borders`, `Color`, `Constraint`, `Direction`, `Frame`, `Layout`, `Modifier`, `Paragraph`, `Rect`, `Span`, `Spans`, `Style`, `Terminal`, and `backend::CrosstermBackend`
[INFO] [stdout]  --> src/playground.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 |     terminal::{Terminal, Frame},
[INFO] [stdout]   |                ^^^^^^^^  ^^^^^
[INFO] [stdout] 4 |     backend::CrosstermBackend,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^  ^^^^
[INFO] [stdout] 6 |     style::{Color, Style, Modifier},
[INFO] [stdout]   |             ^^^^^  ^^^^^  ^^^^^^^^
[INFO] [stdout] 7 |     text::{Span, Spans},
[INFO] [stdout]   |            ^^^^  ^^^^^
[INFO] [stdout] 8 |     widgets::{Borders, BorderType, Block, Paragraph},
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EnterAlternateScreen`, `Event`, `LeaveAlternateScreen`, `disable_raw_mode`, `enable_raw_mode`, `execute`, and `self`
[INFO] [stdout]   --> src/playground.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     execute,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 12 |     event::{self, Event, KeyCode, KeyEvent},
[INFO] [stdout]    |             ^^^^  ^^^^^
[INFO] [stdout] 13 |     terminal::{enable_raw_mode, disable_raw_mode, EnterAlternateScreen,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |                LeaveAlternateScreen}
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment`, `Block`, `BorderType`, `Borders`, `Constraint`, `Direction`, `Frame`, `Layout`, `Modifier`, `Paragraph`, `Rect`, `Span`, `Spans`, `Style`, `Terminal`, and `backend::CrosstermBackend`
[INFO] [stdout]  --> src/tetro.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 |     terminal::{Terminal, Frame},
[INFO] [stdout]   |                ^^^^^^^^  ^^^^^
[INFO] [stdout] 4 |     backend::CrosstermBackend,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^  ^^^^
[INFO] [stdout] 6 |     style::{Color, Style, Modifier},
[INFO] [stdout]   |                    ^^^^^  ^^^^^^^^
[INFO] [stdout] 7 |     text::{Span, Spans},
[INFO] [stdout]   |            ^^^^  ^^^^^
[INFO] [stdout] 8 |     widgets::{Borders, BorderType, Block, Paragraph},
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EnterAlternateScreen`, `Event`, `LeaveAlternateScreen`, `disable_raw_mode`, `enable_raw_mode`, `execute`, and `self`
[INFO] [stdout]   --> src/screen.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     execute,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 12 |     event::{self, Event, KeyCode, KeyEvent},
[INFO] [stdout]    |             ^^^^  ^^^^^
[INFO] [stdout] 13 |     terminal::{enable_raw_mode, disable_raw_mode, EnterAlternateScreen,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |                LeaveAlternateScreen}
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tetro::Tetro`
[INFO] [stdout]   --> src/screen.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     tetro::Tetro,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment`, `Block`, `BorderType`, `Borders`, `Color`, `Constraint`, `Direction`, `Frame`, `Layout`, `Modifier`, `Paragraph`, `Rect`, `Span`, `Spans`, `Style`, `Terminal`, and `backend::CrosstermBackend`
[INFO] [stdout]  --> src/playground.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 |     terminal::{Terminal, Frame},
[INFO] [stdout]   |                ^^^^^^^^  ^^^^^
[INFO] [stdout] 4 |     backend::CrosstermBackend,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^  ^^^^
[INFO] [stdout] 6 |     style::{Color, Style, Modifier},
[INFO] [stdout]   |             ^^^^^  ^^^^^  ^^^^^^^^
[INFO] [stdout] 7 |     text::{Span, Spans},
[INFO] [stdout]   |            ^^^^  ^^^^^
[INFO] [stdout] 8 |     widgets::{Borders, BorderType, Block, Paragraph},
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EnterAlternateScreen`, `Event`, `LeaveAlternateScreen`, `disable_raw_mode`, `enable_raw_mode`, `execute`, and `self`
[INFO] [stdout]   --> src/playground.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     execute,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 12 |     event::{self, Event, KeyCode, KeyEvent},
[INFO] [stdout]    |             ^^^^  ^^^^^
[INFO] [stdout] 13 |     terminal::{enable_raw_mode, disable_raw_mode, EnterAlternateScreen,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |                LeaveAlternateScreen}
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment`, `Block`, `BorderType`, `Borders`, `Constraint`, `Direction`, `Frame`, `Layout`, `Modifier`, `Paragraph`, `Rect`, `Span`, `Spans`, `Style`, `Terminal`, and `backend::CrosstermBackend`
[INFO] [stdout]  --> src/tetro.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 |     terminal::{Terminal, Frame},
[INFO] [stdout]   |                ^^^^^^^^  ^^^^^
[INFO] [stdout] 4 |     backend::CrosstermBackend,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^  ^^^^
[INFO] [stdout] 6 |     style::{Color, Style, Modifier},
[INFO] [stdout]   |                    ^^^^^  ^^^^^^^^
[INFO] [stdout] 7 |     text::{Span, Spans},
[INFO] [stdout]   |            ^^^^  ^^^^^
[INFO] [stdout] 8 |     widgets::{Borders, BorderType, Block, Paragraph},
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tui::widgets::Widget`
[INFO] [stdout]   --> src/tetro.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tui::widgets::Widget;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tui::widgets::Widget`
[INFO] [stdout]   --> src/tetro.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tui::widgets::Widget;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment`, `Block`, `BorderType`, `Borders`, `Color`, `Constraint`, `Direction`, `Frame`, `Layout`, `Modifier`, `Paragraph`, `Rect`, `Span`, `Spans`, `Style`, `Terminal`, `backend::Backend`, and `backend::CrosstermBackend`
[INFO] [stdout]  --> src/units.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     backend::Backend,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     terminal::{Terminal, Frame},
[INFO] [stdout]   |                ^^^^^^^^  ^^^^^
[INFO] [stdout] 4 |     backend::CrosstermBackend,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^  ^^^^
[INFO] [stdout] 6 |     style::{Color, Style, Modifier},
[INFO] [stdout]   |             ^^^^^  ^^^^^  ^^^^^^^^
[INFO] [stdout] 7 |     text::{Span, Spans},
[INFO] [stdout]   |            ^^^^  ^^^^^
[INFO] [stdout] 8 |     widgets::{Borders, BorderType, Block, Paragraph},
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]   --> src/units.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::{Rng, thread_rng};
[INFO] [stdout]    |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tui::widgets::Widget`
[INFO] [stdout]   --> src/units.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tui::widgets::Widget;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::panic`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::panic;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment`, `Block`, `BorderType`, `Borders`, `Color`, `Constraint`, `Direction`, `Frame`, `Layout`, `Modifier`, `Paragraph`, `Rect`, `Span`, `Spans`, `Style`, `Terminal`, `backend::Backend`, and `backend::CrosstermBackend`
[INFO] [stdout]  --> src/units.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     backend::Backend,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     terminal::{Terminal, Frame},
[INFO] [stdout]   |                ^^^^^^^^  ^^^^^
[INFO] [stdout] 4 |     backend::CrosstermBackend,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^  ^^^^
[INFO] [stdout] 6 |     style::{Color, Style, Modifier},
[INFO] [stdout]   |             ^^^^^  ^^^^^  ^^^^^^^^
[INFO] [stdout] 7 |     text::{Span, Spans},
[INFO] [stdout]   |            ^^^^  ^^^^^
[INFO] [stdout] 8 |     widgets::{Borders, BorderType, Block, Paragraph},
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]   --> src/units.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::{Rng, thread_rng};
[INFO] [stdout]    |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tui::widgets::Widget`
[INFO] [stdout]   --> src/units.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tui::widgets::Widget;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::panic`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::panic;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `backend::Backend`
[INFO] [stdout]  --> src/playground.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     backend::Backend,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `backend::Backend`
[INFO] [stdout]  --> src/tetro.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     backend::Backend,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `backend::Backend`
[INFO] [stdout]  --> src/playground.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     backend::Backend,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `backend::Backend`
[INFO] [stdout]  --> src/tetro.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     backend::Backend,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `loop_count` is assigned to, but never used
[INFO] [stdout]   --> src/app.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let mut loop_count = 0u32;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_loop_count` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `loop_count` is never read
[INFO] [stdout]   --> src/app.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |             loop_count += 1;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `loop_count` is assigned to, but never used
[INFO] [stdout]   --> src/app.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let mut loop_count = 0u32;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_loop_count` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `loop_count` is never read
[INFO] [stdout]   --> src/app.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |             loop_count += 1;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> src/screen.rs:68:19
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let Size {width, height} = self.playground.size();
[INFO] [stdout]    |                   ^^^^^ help: try ignoring the field: `width: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> src/screen.rs:68:19
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let Size {width, height} = self.playground.size();
[INFO] [stdout]    |                   ^^^^^ help: try ignoring the field: `width: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> src/screen.rs:68:26
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let Size {width, height} = self.playground.size();
[INFO] [stdout]    |                          ^^^^^^ help: try ignoring the field: `height: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> src/screen.rs:68:26
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let Size {width, height} = self.playground.size();
[INFO] [stdout]    |                          ^^^^^^ help: try ignoring the field: `height: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/playground.rs:184:21
[INFO] [stdout]     |
[INFO] [stdout] 184 |         if let Some(mut tetro) = self.tetro.take() {
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/playground.rs:184:21
[INFO] [stdout]     |
[INFO] [stdout] 184 |         if let Some(mut tetro) = self.tetro.take() {
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/playground.rs:189:25
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn place(&mut self, x: u16, y: u16, tetro: &Tetro) {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/playground.rs:189:25
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn place(&mut self, x: u16, y: u16, tetro: &Tetro) {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/playground.rs:189:33
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn place(&mut self, x: u16, y: u16, tetro: &Tetro) {
[INFO] [stdout]     |                                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/playground.rs:189:33
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn place(&mut self, x: u16, y: u16, tetro: &Tetro) {
[INFO] [stdout]     |                                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BG_COLOR` is never used
[INFO] [stdout]   --> src/screen.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const BG_COLOR: Color = Color::Black;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BG_COLOR` is never used
[INFO] [stdout]   --> src/screen.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const BG_COLOR: Color = Color::Black;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/buffer.rs:67:21
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn to_spans(&self) -> Vec<Spans> {
[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] 67 |     pub fn to_spans(&self) -> Vec<Spans<'_>> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/buffer.rs:67:21
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn to_spans(&self) -> Vec<Spans> {
[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] 67 |     pub fn to_spans(&self) -> Vec<Spans<'_>> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.79s
[INFO] running `Command { std: "docker" "inspect" "850aa90fd1b2d367c74459aaab4449b381f7518ef2981df201ee32de9cf86602", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "850aa90fd1b2d367c74459aaab4449b381f7518ef2981df201ee32de9cf86602", kill_on_drop: false }`
[INFO] [stdout] 850aa90fd1b2d367c74459aaab4449b381f7518ef2981df201ee32de9cf86602
