[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] testing randrews/termori-on against beta-2025-10-28 for beta-1.92-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frandrews%2Ftermori-on" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/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-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/randrews/termori-on on toolchain beta-2025-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "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" "+beta-2025-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b7ef0e1e4b623dcf132188a778851c5a910d55dc9592cf242e6ca365833c989f
[INFO] running `Command { std: "docker" "start" "-a" "b7ef0e1e4b623dcf132188a778851c5a910d55dc9592cf242e6ca365833c989f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b7ef0e1e4b623dcf132188a778851c5a910d55dc9592cf242e6ca365833c989f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b7ef0e1e4b623dcf132188a778851c5a910d55dc9592cf242e6ca365833c989f", kill_on_drop: false }`
[INFO] [stdout] b7ef0e1e4b623dcf132188a778851c5a910d55dc9592cf242e6ca365833c989f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2793ce11b618a9ec485dd355c9f5bd8c06e0d3f07c14b04ec27d2437c101ae95
[INFO] running `Command { std: "docker" "start" "-a" "2793ce11b618a9ec485dd355c9f5bd8c06e0d3f07c14b04ec27d2437c101ae95", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.134
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.46
[INFO] [stderr]    Compiling unicode-ident v1.0.4
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling syn v1.0.102
[INFO] [stderr]    Compiling pkg-config v0.3.25
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]    Compiling thiserror v1.0.37
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling smallvec v1.10.0
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]    Compiling tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling cpal v0.14.0
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling numtoa v0.1.0
[INFO] [stderr]    Compiling ogg v0.8.0
[INFO] [stderr]    Compiling hound v3.5.0
[INFO] [stderr]    Compiling claxon v0.4.3
[INFO] [stderr]    Compiling minimp3-sys v0.3.2
[INFO] [stderr]    Compiling nix v0.23.1
[INFO] [stderr]    Compiling slice-deque v0.3.0
[INFO] [stderr]    Compiling lewton v0.10.2
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling termion v1.5.6
[INFO] [stderr]    Compiling thiserror-impl v1.0.37
[INFO] [stderr]    Compiling minimp3 v0.5.1
[INFO] [stderr]    Compiling alsa v0.6.0
[INFO] [stderr]    Compiling rodio v0.16.0
[INFO] [stderr]    Compiling 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.17s
[INFO] running `Command { std: "docker" "inspect" "2793ce11b618a9ec485dd355c9f5bd8c06e0d3f07c14b04ec27d2437c101ae95", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2793ce11b618a9ec485dd355c9f5bd8c06e0d3f07c14b04ec27d2437c101ae95", kill_on_drop: false }`
[INFO] [stdout] 2793ce11b618a9ec485dd355c9f5bd8c06e0d3f07c14b04ec27d2437c101ae95
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 76c29a12431e114a9d3bf21eee2be2c4c702fba43ff0026ff13a07d206b5e881
[INFO] running `Command { std: "docker" "start" "-a" "76c29a12431e114a9d3bf21eee2be2c4c702fba43ff0026ff13a07d206b5e881", kill_on_drop: false }`
[INFO] [stderr]    Compiling 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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.60s
[INFO] running `Command { std: "docker" "inspect" "76c29a12431e114a9d3bf21eee2be2c4c702fba43ff0026ff13a07d206b5e881", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "76c29a12431e114a9d3bf21eee2be2c4c702fba43ff0026ff13a07d206b5e881", kill_on_drop: false }`
[INFO] [stdout] 76c29a12431e114a9d3bf21eee2be2c4c702fba43ff0026ff13a07d206b5e881
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 609f3c86361690266031a5f4a9a36cce4f782e066d417915cfbd69fb02cf639a
[INFO] running `Command { std: "docker" "start" "-a" "609f3c86361690266031a5f4a9a36cce4f782e066d417915cfbd69fb02cf639a", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `termion::screen::AlternateScreen`
[INFO] [stderr]  --> src/main.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use termion::screen::AlternateScreen;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `stdin`
[INFO] [stderr]  --> src/main.rs:9:30
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::io::{Write, stdout, stdin};
[INFO] [stderr]   |                              ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `time`
[INFO] [stderr]   --> src/main.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::{time, thread};
[INFO] [stderr]    |           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stdout`
[INFO] [stderr]   --> src/main.rs:79:53
[INFO] [stderr]    |
[INFO] [stderr] 79 |   fn handleEvent<W: Write>(&mut self, event: Event, stdout: &mut RawTerminal<W>) {
[INFO] [stderr]    |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdout`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:108:9
[INFO] [stderr]     |
[INFO] [stderr] 108 |     let mut layer = &mut self.layers[self.currentLayerIndex];
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:125:10
[INFO] [stderr]     |
[INFO] [stderr] 125 |     let (mut controller, mixer) = rodio::dynamic_mixer::mixer(16, 48000);
[INFO] [stderr]     |          ----^^^^^^^^^^
[INFO] [stderr]     |          |
[INFO] [stderr]     |          help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:165:7
[INFO] [stderr]     |
[INFO] [stderr] 165 |   let mut n = 0;
[INFO] [stderr]     |       ----^
[INFO] [stderr]     |       |
[INFO] [stderr]     |       help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]    --> src/main.rs:165:7
[INFO] [stderr]     |
[INFO] [stderr] 165 |   let mut n = 0;
[INFO] [stderr]     |       ^^^^^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr] 
[INFO] [stderr] warning: field `currentTime` is never read
[INFO] [stderr]   --> src/main.rs:15:3
[INFO] [stderr]    |
[INFO] [stderr] 12 | struct Player {
[INFO] [stderr]    |        ------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 15 |   currentTime: usize,
[INFO] [stderr]    |   ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `drawScreen` is never used
[INFO] [stderr]    --> src/main.rs:184:4
[INFO] [stderr]     |
[INFO] [stderr] 184 | fn drawScreen() {
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `currentTime` should have a snake case name
[INFO] [stderr]   --> src/main.rs:15:3
[INFO] [stderr]    |
[INFO] [stderr] 15 |   currentTime: usize,
[INFO] [stderr]    |   ^^^^^^^^^^^ help: convert the identifier to snake case: `current_time`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `currentLayerIndex` should have a snake case name
[INFO] [stderr]   --> src/main.rs:16:3
[INFO] [stderr]    |
[INFO] [stderr] 16 |   currentLayerIndex: usize,
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `current_layer_index`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `cursorVisible` should have a snake case name
[INFO] [stderr]   --> src/main.rs:19:3
[INFO] [stderr]    |
[INFO] [stderr] 19 |   cursorVisible: bool,
[INFO] [stderr]    |   ^^^^^^^^^^^^^ help: convert the identifier to snake case: `cursor_visible`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `msecInBeat` should have a snake case name
[INFO] [stderr]   --> src/main.rs:21:3
[INFO] [stderr]    |
[INFO] [stderr] 21 |   msecInBeat: u32,
[INFO] [stderr]    |   ^^^^^^^^^^ help: convert the identifier to snake case: `msec_in_beat`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `shouldExit` should have a snake case name
[INFO] [stderr]   --> src/main.rs:22:3
[INFO] [stderr]    |
[INFO] [stderr] 22 |   shouldExit: bool,
[INFO] [stderr]    |   ^^^^^^^^^^ help: convert the identifier to snake case: `should_exit`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `prevSize` should have a snake case name
[INFO] [stderr]   --> src/main.rs:23:3
[INFO] [stderr]    |
[INFO] [stderr] 23 |   prevSize: (u16, u16),
[INFO] [stderr]    |   ^^^^^^^^ help: convert the identifier to snake case: `prev_size`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:49:5
[INFO] [stderr]    |
[INFO] [stderr] 49 |     write!(out, "{}", termion::cursor::Hide);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 49 |     let _ = write!(out, "{}", termion::cursor::Hide);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:54:7
[INFO] [stderr]    |
[INFO] [stderr] 54 |       write!(out, "{}", termion::clear::All);
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 54 |       let _ = write!(out, "{}", termion::clear::All);
[INFO] [stderr]    |       +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:61:9
[INFO] [stderr]    |
[INFO] [stderr] 61 |         write!(out, "{}", termion::cursor::Goto(self.boardLeft(), row + self.boardTop()));
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 61 |         let _ = write!(out, "{}", termion::cursor::Goto(self.boardLeft(), row + self.boardTop()));
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:64:9
[INFO] [stderr]    |
[INFO] [stderr] 64 |         write!(out, "{}", termion::color::Bg(termion::color::Rgb(96, 96, 96)));
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 64 |         let _ = write!(out, "{}", termion::color::Bg(termion::color::Rgb(96, 96, 96)));
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:66:9
[INFO] [stderr]    |
[INFO] [stderr] 66 |         write!(out, "{}", termion::color::Bg(termion::color::Rgb(96, 96, 128)));
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let _ = write!(out, "{}", termion::color::Bg(termion::color::Rgb(96, 96, 128)));
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:69:9
[INFO] [stderr]    |
[INFO] [stderr] 69 |         write!(out, "[]");
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 69 |         let _ = write!(out, "[]");
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:71:9
[INFO] [stderr]    |
[INFO] [stderr] 71 |         write!(out, "--");
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 71 |         let _ = write!(out, "--");
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:73:7
[INFO] [stderr]    |
[INFO] [stderr] 73 |       write!(out, "{}", termion::color::Bg(termion::color::Reset));
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 73 |       let _ = write!(out, "{}", termion::color::Bg(termion::color::Reset));
[INFO] [stderr]    |       +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 76 |     write!(out, "{}", termion::cursor::Goto(1, 18));
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 76 |     let _ = write!(out, "{}", termion::cursor::Goto(1, 18));
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: method `handleEvent` should have a snake case name
[INFO] [stderr]   --> src/main.rs:79:6
[INFO] [stderr]    |
[INFO] [stderr] 79 |   fn handleEvent<W: Write>(&mut self, event: Event, stdout: &mut RawTerminal<W>) {
[INFO] [stderr]    |      ^^^^^^^^^^^ help: convert the identifier to snake case: `handle_event`
[INFO] [stderr] 
[INFO] [stderr] warning: method `boardLeft` should have a snake case name
[INFO] [stderr]    --> src/main.rs:101:6
[INFO] [stderr]     |
[INFO] [stderr] 101 |   fn boardLeft(&self) -> u16 {
[INFO] [stderr]     |      ^^^^^^^^^ help: convert the identifier to snake case: `board_left`
[INFO] [stderr] 
[INFO] [stderr] warning: method `boardTop` should have a snake case name
[INFO] [stderr]    --> src/main.rs:105:6
[INFO] [stderr]     |
[INFO] [stderr] 105 |   fn boardTop(&self) -> u16 { 2 }
[INFO] [stderr]     |      ^^^^^^^^ help: convert the identifier to snake case: `board_top`
[INFO] [stderr] 
[INFO] [stderr] warning: method `toggleNote` should have a snake case name
[INFO] [stderr]    --> src/main.rs:107:6
[INFO] [stderr]     |
[INFO] [stderr] 107 |   fn toggleNote(&mut self) {
[INFO] [stderr]     |      ^^^^^^^^^^ help: convert the identifier to snake case: `toggle_note`
[INFO] [stderr] 
[INFO] [stderr] warning: method `playNotes` should have a snake case name
[INFO] [stderr]    --> src/main.rs:124:6
[INFO] [stderr]     |
[INFO] [stderr] 124 |   fn playNotes(&self) {
[INFO] [stderr]     |      ^^^^^^^^^ help: convert the identifier to snake case: `play_notes`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `noteNums` should have a snake case name
[INFO] [stderr]    --> src/main.rs:127:9
[INFO] [stderr]     |
[INFO] [stderr] 127 |     let noteNums = [-12, -10, -9, -7, -5, -4, -2, 0, 2, 3, 5, 7, 8, 10, 12, 14];
[INFO] [stderr]     |         ^^^^^^^^ help: convert the identifier to snake case: `note_nums`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `noteNum` should have a snake case name
[INFO] [stderr]    --> src/main.rs:132:15
[INFO] [stderr]     |
[INFO] [stderr] 132 |           let noteNum = noteNums[15 - row] as f32;
[INFO] [stderr]     |               ^^^^^^^ help: convert the identifier to snake case: `note_num`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:167:3
[INFO] [stderr]     |
[INFO] [stderr] 167 |   write!(stdout, "{}", termion::clear::All);
[INFO] [stderr]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 167 |   let _ = write!(stdout, "{}", termion::clear::All);
[INFO] [stderr]     |   +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: function `drawScreen` should have a snake case name
[INFO] [stderr]    --> src/main.rs:184:4
[INFO] [stderr]     |
[INFO] [stderr] 184 | fn drawScreen() {
[INFO] [stderr]     |    ^^^^^^^^^^ help: convert the identifier to snake case: `draw_screen`
[INFO] [stderr] 
[INFO] [stderr] warning: `termori-on` (bin "termori-on" test) generated 34 warnings (run `cargo fix --bin "termori-on" -p termori-on --tests` to apply 8 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/termori_on-c79c25e9289390aa)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "609f3c86361690266031a5f4a9a36cce4f782e066d417915cfbd69fb02cf639a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "609f3c86361690266031a5f4a9a36cce4f782e066d417915cfbd69fb02cf639a", kill_on_drop: false }`
[INFO] [stdout] 609f3c86361690266031a5f4a9a36cce4f782e066d417915cfbd69fb02cf639a
