[INFO] cloning repository https://github.com/randrews/termori-on
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/randrews/termori-on" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frandrews%2Ftermori-on", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frandrews%2Ftermori-on'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4ebc90726d1c954eef2d9e87b61e5563154d3f5c
[INFO] checking randrews/termori-on against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frandrews%2Ftermori-on" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/randrews/termori-on
[INFO] finished tweaking git repo https://github.com/randrews/termori-on
[INFO] tweaked toml for git repo https://github.com/randrews/termori-on written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/randrews/termori-on on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/randrews/termori-on 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded minimp3 v0.5.1
[INFO] [stderr]   Downloaded rodio v0.16.0
[INFO] [stderr]   Downloaded cpal v0.14.0
[INFO] [stderr]   Downloaded ndk-sys v0.4.0
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.37.0
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.37.0
[INFO] [stderr]   Downloaded windows_i686_msvc v0.37.0
[INFO] [stderr]   Downloaded windows_i686_gnu v0.37.0
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.37.0
[INFO] [stderr]   Downloaded windows v0.37.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 536baf6005aa77308dc4439ba67d112ef9eebe551fe0c9d5d5b696ce1764ac7c
[INFO] running `Command { std: "docker" "start" "-a" "536baf6005aa77308dc4439ba67d112ef9eebe551fe0c9d5d5b696ce1764ac7c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "536baf6005aa77308dc4439ba67d112ef9eebe551fe0c9d5d5b696ce1764ac7c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "536baf6005aa77308dc4439ba67d112ef9eebe551fe0c9d5d5b696ce1764ac7c", kill_on_drop: false }`
[INFO] [stdout] 536baf6005aa77308dc4439ba67d112ef9eebe551fe0c9d5d5b696ce1764ac7c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f7dc07f3920a93140f120475a325f12253f64c4e6daf2ce86e5e5178aaabc8b5
[INFO] running `Command { std: "docker" "start" "-a" "f7dc07f3920a93140f120475a325f12253f64c4e6daf2ce86e5e5178aaabc8b5", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.134
[INFO] [stderr]    Compiling proc-macro2 v1.0.46
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling unicode-ident v1.0.4
[INFO] [stderr]    Compiling syn v1.0.102
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling pkg-config v0.3.25
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling thiserror v1.0.37
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]     Checking smallvec v1.10.0
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]    Compiling cpal v0.14.0
[INFO] [stderr]     Checking tinyvec_macros v0.1.0
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking hound v3.5.0
[INFO] [stderr]     Checking claxon v0.4.3
[INFO] [stderr]     Checking numtoa v0.1.0
[INFO] [stderr]     Checking ogg v0.8.0
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling minimp3-sys v0.3.2
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]     Checking nix v0.23.1
[INFO] [stderr]     Checking slice-deque v0.3.0
[INFO] [stderr]     Checking termion v1.5.6
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.37
[INFO] [stderr]     Checking minimp3 v0.5.1
[INFO] [stderr]     Checking alsa v0.6.0
[INFO] [stderr]     Checking rodio v0.16.0
[INFO] [stderr]     Checking termori-on v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `termion::screen::AlternateScreen`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use termion::screen::AlternateScreen;
[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 import: `stdin`
[INFO] [stdout]  --> src/main.rs:9:30
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{Write, stdout, stdin};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time`
[INFO] [stdout]   --> src/main.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{time, thread};
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stdout`
[INFO] [stdout]   --> src/main.rs:79:53
[INFO] [stdout]    |
[INFO] [stdout] 79 |   fn handleEvent<W: Write>(&mut self, event: Event, stdout: &mut RawTerminal<W>) {
[INFO] [stdout]    |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdout`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut layer = &mut self.layers[self.currentLayerIndex];
[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/main.rs:125:10
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let (mut controller, mixer) = rodio::dynamic_mixer::mixer(16, 48000);
[INFO] [stdout]     |          ----^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:165:7
[INFO] [stdout]     |
[INFO] [stdout] 165 |   let mut n = 0;
[INFO] [stdout]     |       ----^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/main.rs:165:7
[INFO] [stdout]     |
[INFO] [stdout] 165 |   let mut n = 0;
[INFO] [stdout]     |       ^^^^^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `currentTime` is never read
[INFO] [stdout]   --> src/main.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Player {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |   currentTime: usize,
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drawScreen` is never used
[INFO] [stdout]    --> src/main.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn drawScreen() {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `currentTime` should have a snake case name
[INFO] [stdout]   --> src/main.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 15 |   currentTime: usize,
[INFO] [stdout]    |   ^^^^^^^^^^^ help: convert the identifier to snake case: `current_time`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `currentLayerIndex` should have a snake case name
[INFO] [stdout]   --> src/main.rs:16:3
[INFO] [stdout]    |
[INFO] [stdout] 16 |   currentLayerIndex: usize,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `current_layer_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `cursorVisible` should have a snake case name
[INFO] [stdout]   --> src/main.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 19 |   cursorVisible: bool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^ help: convert the identifier to snake case: `cursor_visible`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `msecInBeat` should have a snake case name
[INFO] [stdout]   --> src/main.rs:21:3
[INFO] [stdout]    |
[INFO] [stdout] 21 |   msecInBeat: u32,
[INFO] [stdout]    |   ^^^^^^^^^^ help: convert the identifier to snake case: `msec_in_beat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `shouldExit` should have a snake case name
[INFO] [stdout]   --> src/main.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 |   shouldExit: bool,
[INFO] [stdout]    |   ^^^^^^^^^^ help: convert the identifier to snake case: `should_exit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `prevSize` should have a snake case name
[INFO] [stdout]   --> src/main.rs:23:3
[INFO] [stdout]    |
[INFO] [stdout] 23 |   prevSize: (u16, u16),
[INFO] [stdout]    |   ^^^^^^^^ help: convert the identifier to snake case: `prev_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     write!(out, "{}", termion::cursor::Hide);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let _ = write!(out, "{}", termion::cursor::Hide);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 |       write!(out, "{}", termion::clear::All);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 54 |       let _ = write!(out, "{}", termion::clear::All);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         write!(out, "{}", termion::cursor::Goto(self.boardLeft(), row + self.boardTop()));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let _ = write!(out, "{}", termion::cursor::Goto(self.boardLeft(), row + self.boardTop()));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         write!(out, "{}", termion::color::Bg(termion::color::Rgb(96, 96, 96)));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let _ = write!(out, "{}", termion::color::Bg(termion::color::Rgb(96, 96, 96)));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         write!(out, "{}", termion::color::Bg(termion::color::Rgb(96, 96, 128)));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let _ = write!(out, "{}", termion::color::Bg(termion::color::Rgb(96, 96, 128)));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         write!(out, "[]");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let _ = write!(out, "[]");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         write!(out, "--");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let _ = write!(out, "--");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:73:7
[INFO] [stdout]    |
[INFO] [stdout] 73 |       write!(out, "{}", termion::color::Bg(termion::color::Reset));
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |       let _ = write!(out, "{}", termion::color::Bg(termion::color::Reset));
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     write!(out, "{}", termion::cursor::Goto(1, 18));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let _ = write!(out, "{}", termion::cursor::Goto(1, 18));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handleEvent` should have a snake case name
[INFO] [stdout]   --> src/main.rs:79:6
[INFO] [stdout]    |
[INFO] [stdout] 79 |   fn handleEvent<W: Write>(&mut self, event: Event, stdout: &mut RawTerminal<W>) {
[INFO] [stdout]    |      ^^^^^^^^^^^ help: convert the identifier to snake case: `handle_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `boardLeft` should have a snake case name
[INFO] [stdout]    --> src/main.rs:101:6
[INFO] [stdout]     |
[INFO] [stdout] 101 |   fn boardLeft(&self) -> u16 {
[INFO] [stdout]     |      ^^^^^^^^^ help: convert the identifier to snake case: `board_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `boardTop` should have a snake case name
[INFO] [stdout]    --> src/main.rs:105:6
[INFO] [stdout]     |
[INFO] [stdout] 105 |   fn boardTop(&self) -> u16 { 2 }
[INFO] [stdout]     |      ^^^^^^^^ help: convert the identifier to snake case: `board_top`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `toggleNote` should have a snake case name
[INFO] [stdout]    --> src/main.rs:107:6
[INFO] [stdout]     |
[INFO] [stdout] 107 |   fn toggleNote(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^^ help: convert the identifier to snake case: `toggle_note`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `playNotes` should have a snake case name
[INFO] [stdout]    --> src/main.rs:124:6
[INFO] [stdout]     |
[INFO] [stdout] 124 |   fn playNotes(&self) {
[INFO] [stdout]     |      ^^^^^^^^^ help: convert the identifier to snake case: `play_notes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `noteNums` should have a snake case name
[INFO] [stdout]    --> src/main.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let noteNums = [-12, -10, -9, -7, -5, -4, -2, 0, 2, 3, 5, 7, 8, 10, 12, 14];
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case: `note_nums`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `noteNum` should have a snake case name
[INFO] [stdout]    --> src/main.rs:132:15
[INFO] [stdout]     |
[INFO] [stdout] 132 |           let noteNum = noteNums[15 - row] as f32;
[INFO] [stdout]     |               ^^^^^^^ help: convert the identifier to snake case: `note_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:167:3
[INFO] [stdout]     |
[INFO] [stdout] 167 |   write!(stdout, "{}", termion::clear::All);
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 167 |   let _ = write!(stdout, "{}", termion::clear::All);
[INFO] [stdout]     |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drawScreen` should have a snake case name
[INFO] [stdout]    --> src/main.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn drawScreen() {
[INFO] [stdout]     |    ^^^^^^^^^^ help: convert the identifier to snake case: `draw_screen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `termion::screen::AlternateScreen`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use termion::screen::AlternateScreen;
[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 import: `stdin`
[INFO] [stdout]  --> src/main.rs:9:30
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{Write, stdout, stdin};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time`
[INFO] [stdout]   --> src/main.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{time, thread};
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stdout`
[INFO] [stdout]   --> src/main.rs:79:53
[INFO] [stdout]    |
[INFO] [stdout] 79 |   fn handleEvent<W: Write>(&mut self, event: Event, stdout: &mut RawTerminal<W>) {
[INFO] [stdout]    |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdout`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut layer = &mut self.layers[self.currentLayerIndex];
[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/main.rs:125:10
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let (mut controller, mixer) = rodio::dynamic_mixer::mixer(16, 48000);
[INFO] [stdout]     |          ----^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:165:7
[INFO] [stdout]     |
[INFO] [stdout] 165 |   let mut n = 0;
[INFO] [stdout]     |       ----^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/main.rs:165:7
[INFO] [stdout]     |
[INFO] [stdout] 165 |   let mut n = 0;
[INFO] [stdout]     |       ^^^^^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `currentTime` is never read
[INFO] [stdout]   --> src/main.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Player {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |   currentTime: usize,
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drawScreen` is never used
[INFO] [stdout]    --> src/main.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn drawScreen() {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `currentTime` should have a snake case name
[INFO] [stdout]   --> src/main.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 15 |   currentTime: usize,
[INFO] [stdout]    |   ^^^^^^^^^^^ help: convert the identifier to snake case: `current_time`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `currentLayerIndex` should have a snake case name
[INFO] [stdout]   --> src/main.rs:16:3
[INFO] [stdout]    |
[INFO] [stdout] 16 |   currentLayerIndex: usize,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `current_layer_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `cursorVisible` should have a snake case name
[INFO] [stdout]   --> src/main.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 19 |   cursorVisible: bool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^ help: convert the identifier to snake case: `cursor_visible`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `msecInBeat` should have a snake case name
[INFO] [stdout]   --> src/main.rs:21:3
[INFO] [stdout]    |
[INFO] [stdout] 21 |   msecInBeat: u32,
[INFO] [stdout]    |   ^^^^^^^^^^ help: convert the identifier to snake case: `msec_in_beat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `shouldExit` should have a snake case name
[INFO] [stdout]   --> src/main.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 |   shouldExit: bool,
[INFO] [stdout]    |   ^^^^^^^^^^ help: convert the identifier to snake case: `should_exit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `prevSize` should have a snake case name
[INFO] [stdout]   --> src/main.rs:23:3
[INFO] [stdout]    |
[INFO] [stdout] 23 |   prevSize: (u16, u16),
[INFO] [stdout]    |   ^^^^^^^^ help: convert the identifier to snake case: `prev_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     write!(out, "{}", termion::cursor::Hide);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let _ = write!(out, "{}", termion::cursor::Hide);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 |       write!(out, "{}", termion::clear::All);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 54 |       let _ = write!(out, "{}", termion::clear::All);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         write!(out, "{}", termion::cursor::Goto(self.boardLeft(), row + self.boardTop()));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let _ = write!(out, "{}", termion::cursor::Goto(self.boardLeft(), row + self.boardTop()));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         write!(out, "{}", termion::color::Bg(termion::color::Rgb(96, 96, 96)));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let _ = write!(out, "{}", termion::color::Bg(termion::color::Rgb(96, 96, 96)));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         write!(out, "{}", termion::color::Bg(termion::color::Rgb(96, 96, 128)));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let _ = write!(out, "{}", termion::color::Bg(termion::color::Rgb(96, 96, 128)));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         write!(out, "[]");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let _ = write!(out, "[]");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         write!(out, "--");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let _ = write!(out, "--");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:73:7
[INFO] [stdout]    |
[INFO] [stdout] 73 |       write!(out, "{}", termion::color::Bg(termion::color::Reset));
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |       let _ = write!(out, "{}", termion::color::Bg(termion::color::Reset));
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     write!(out, "{}", termion::cursor::Goto(1, 18));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let _ = write!(out, "{}", termion::cursor::Goto(1, 18));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handleEvent` should have a snake case name
[INFO] [stdout]   --> src/main.rs:79:6
[INFO] [stdout]    |
[INFO] [stdout] 79 |   fn handleEvent<W: Write>(&mut self, event: Event, stdout: &mut RawTerminal<W>) {
[INFO] [stdout]    |      ^^^^^^^^^^^ help: convert the identifier to snake case: `handle_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `boardLeft` should have a snake case name
[INFO] [stdout]    --> src/main.rs:101:6
[INFO] [stdout]     |
[INFO] [stdout] 101 |   fn boardLeft(&self) -> u16 {
[INFO] [stdout]     |      ^^^^^^^^^ help: convert the identifier to snake case: `board_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `boardTop` should have a snake case name
[INFO] [stdout]    --> src/main.rs:105:6
[INFO] [stdout]     |
[INFO] [stdout] 105 |   fn boardTop(&self) -> u16 { 2 }
[INFO] [stdout]     |      ^^^^^^^^ help: convert the identifier to snake case: `board_top`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `toggleNote` should have a snake case name
[INFO] [stdout]    --> src/main.rs:107:6
[INFO] [stdout]     |
[INFO] [stdout] 107 |   fn toggleNote(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^^ help: convert the identifier to snake case: `toggle_note`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `playNotes` should have a snake case name
[INFO] [stdout]    --> src/main.rs:124:6
[INFO] [stdout]     |
[INFO] [stdout] 124 |   fn playNotes(&self) {
[INFO] [stdout]     |      ^^^^^^^^^ help: convert the identifier to snake case: `play_notes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `noteNums` should have a snake case name
[INFO] [stdout]    --> src/main.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let noteNums = [-12, -10, -9, -7, -5, -4, -2, 0, 2, 3, 5, 7, 8, 10, 12, 14];
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case: `note_nums`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `noteNum` should have a snake case name
[INFO] [stdout]    --> src/main.rs:132:15
[INFO] [stdout]     |
[INFO] [stdout] 132 |           let noteNum = noteNums[15 - row] as f32;
[INFO] [stdout]     |               ^^^^^^^ help: convert the identifier to snake case: `note_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:167:3
[INFO] [stdout]     |
[INFO] [stdout] 167 |   write!(stdout, "{}", termion::clear::All);
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 167 |   let _ = write!(stdout, "{}", termion::clear::All);
[INFO] [stdout]     |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drawScreen` should have a snake case name
[INFO] [stdout]    --> src/main.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn drawScreen() {
[INFO] [stdout]     |    ^^^^^^^^^^ help: convert the identifier to snake case: `draw_screen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.67s
[INFO] running `Command { std: "docker" "inspect" "f7dc07f3920a93140f120475a325f12253f64c4e6daf2ce86e5e5178aaabc8b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f7dc07f3920a93140f120475a325f12253f64c4e6daf2ce86e5e5178aaabc8b5", kill_on_drop: false }`
[INFO] [stdout] f7dc07f3920a93140f120475a325f12253f64c4e6daf2ce86e5e5178aaabc8b5
