[INFO] cloning repository https://github.com/NotRocket/rustysnake
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NotRocket/rustysnake" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNotRocket%2Frustysnake", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNotRocket%2Frustysnake'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bb877d16aedc456a5a43d283323b8324041ce17b
[INFO] checking NotRocket/rustysnake against try#4e55a504843955c97eb06907c71f6f3e99208021 for pr-146978
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNotRocket%2Frustysnake" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/NotRocket/rustysnake
[INFO] finished tweaking git repo https://github.com/NotRocket/rustysnake
[INFO] tweaked toml for git repo https://github.com/NotRocket/rustysnake written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/NotRocket/rustysnake on toolchain 4e55a504843955c97eb06907c71f6f3e99208021
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4e55a504843955c97eb06907c71f6f3e99208021" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/NotRocket/rustysnake 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" "+4e55a504843955c97eb06907c71f6f3e99208021" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: file `/workspace/builds/worker-0-tc2/source/src/lib.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `lib` target `rustysnake`
[INFO] [stderr]   * `bin` target `rustysnake`
[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
[ERROR] error running command: no output for 300 seconds
[INFO] checking NotRocket/rustysnake against try#4e55a504843955c97eb06907c71f6f3e99208021 for pr-146978
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNotRocket%2Frustysnake" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/NotRocket/rustysnake
[INFO] finished tweaking git repo https://github.com/NotRocket/rustysnake
[INFO] tweaked toml for git repo https://github.com/NotRocket/rustysnake written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/NotRocket/rustysnake on toolchain 4e55a504843955c97eb06907c71f6f3e99208021
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4e55a504843955c97eb06907c71f6f3e99208021" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/NotRocket/rustysnake 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" "+4e55a504843955c97eb06907c71f6f3e99208021" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: file `/workspace/builds/worker-0-tc2/source/src/lib.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `lib` target `rustysnake`
[INFO] [stderr]   * `bin` target `rustysnake`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded scoped_threadpool v0.1.9
[INFO] [stderr]   Downloaded weezl v0.1.8
[INFO] [stderr]   Downloaded rusttype v0.9.3
[INFO] [stderr]   Downloaded dispatch v0.2.0
[INFO] [stderr]   Downloaded pkg-config v0.3.32
[INFO] [stderr]   Downloaded glutin_wgl_sys v0.1.5
[INFO] [stderr]   Downloaded downcast-rs v1.2.1
[INFO] [stderr]   Downloaded wayland-egl v0.29.5
[INFO] [stderr]   Downloaded android_glue v0.2.3
[INFO] [stderr]   Downloaded cgl v0.3.2
[INFO] [stderr]   Downloaded shared_library v0.1.9
[INFO] [stderr]   Downloaded gl_generator v0.14.0
[INFO] [stderr]   Downloaded slotmap v0.4.3
[INFO] [stderr]   Downloaded glutin v0.28.0
[INFO] [stderr]   Downloaded x11-dl v2.21.0
[INFO] [stderr]   Downloaded deflate v0.8.6
[INFO] [stderr]   Downloaded miniz_oxide v0.3.7
[INFO] [stderr]   Downloaded winit v0.26.1
[INFO] [stderr]   Downloaded cocoa v0.24.1
[INFO] [stderr]   Downloaded core-foundation v0.7.0
[INFO] [stderr]   Downloaded speedy2d v2.1.0
[INFO] [stderr]   Downloaded core-graphics v0.19.2
[INFO] [stderr]   Downloaded parking_lot_core v0.8.6
[INFO] [stderr]   Downloaded raw-window-handle v0.4.3
[INFO] [stderr]   Downloaded memmap2 v0.3.1
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.24
[INFO] [stderr]   Downloaded earcutr v0.2.0
[INFO] [stderr]   Downloaded tiff v0.6.1
[INFO] [stderr]   Downloaded libloading v0.8.6
[INFO] [stderr]   Downloaded miniz_oxide v0.8.7
[INFO] [stderr]   Downloaded gif v0.11.4
[INFO] [stderr]   Downloaded cc v1.2.18
[INFO] [stderr]   Downloaded glow v0.7.2
[INFO] [stderr]   Downloaded jpeg-decoder v0.1.22
[INFO] [stderr]   Downloaded core-graphics v0.22.3
[INFO] [stderr]   Downloaded cocoa-foundation v0.1.2
[INFO] [stderr]   Downloaded zerocopy v0.8.24
[INFO] [stderr]   Downloaded ndk v0.5.0
[INFO] [stderr]   Downloaded ndk-glue v0.5.2
[INFO] [stderr]   Downloaded instant v0.1.13
[INFO] [stderr]   Downloaded cty v0.2.2
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.15.4
[INFO] [stderr]   Downloaded num-iter v0.1.45
[INFO] [stderr]   Downloaded num-rational v0.3.2
[INFO] [stderr]   Downloaded adler32 v1.2.0
[INFO] [stderr]   Downloaded png v0.16.8
[INFO] [stderr]   Downloaded image v0.23.14
[INFO] [stderr]   Downloaded syn v2.0.100
[INFO] [stderr]   Downloaded glutin_egl_sys v0.1.6
[INFO] [stderr]   Downloaded glutin_emscripten_sys v0.1.1
[INFO] [stderr]   Downloaded glutin_gles2_sys v0.1.5
[INFO] [stderr]   Downloaded libc v0.2.171
[INFO] [stderr]   Downloaded glutin_glx_sys v0.1.8
[INFO] [stderr]   Downloaded osmesa-sys v0.1.2
[INFO] [stderr]   Downloaded core-graphics-types v0.1.3
[INFO] [stderr]   Downloaded core-foundation-sys v0.7.0
[INFO] [stderr]   Downloaded ndk-macro v0.3.0
[INFO] [stderr]   Downloaded khronos_api v3.1.0
[INFO] [stderr]   Downloaded calloop v0.9.3
[INFO] [stderr]   Downloaded xcursor v0.3.8
[INFO] [stderr]   Downloaded dlib v0.5.2
[INFO] [stderr]   Downloaded xml-rs v0.8.25
[INFO] [stderr]   Downloaded owned_ttf_parser v0.15.2
[INFO] [stderr]   Downloaded core-video-sys v0.1.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+4e55a504843955c97eb06907c71f6f3e99208021" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 35bc4a2c25f4bbc5f03eabd5124d8c842ad5741593adb96569ae42b919371348
[INFO] running `Command { std: "docker" "start" "-a" "35bc4a2c25f4bbc5f03eabd5124d8c842ad5741593adb96569ae42b919371348", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "35bc4a2c25f4bbc5f03eabd5124d8c842ad5741593adb96569ae42b919371348", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "35bc4a2c25f4bbc5f03eabd5124d8c842ad5741593adb96569ae42b919371348", kill_on_drop: false }`
[INFO] [stdout] 35bc4a2c25f4bbc5f03eabd5124d8c842ad5741593adb96569ae42b919371348
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+4e55a504843955c97eb06907c71f6f3e99208021" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 341f658002800b6de4ba8572b46c349b9526122df3900ca551f92e8243ab33be
[INFO] running `Command { std: "docker" "start" "-a" "341f658002800b6de4ba8572b46c349b9526122df3900ca551f92e8243ab33be", kill_on_drop: false }`
[INFO] [stderr] warning: file `/opt/rustwide/workdir/src/lib.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `lib` target `rustysnake`
[INFO] [stderr]   * `bin` target `rustysnake`
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling xml-rs v0.8.25
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]     Checking libloading v0.8.6
[INFO] [stderr]     Checking scoped-tls v1.0.1
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking xcursor v0.3.8
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]    Compiling zerocopy v0.8.24
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]    Compiling winit v0.26.1
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]     Checking miniz_oxide v0.3.7
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking gimli v0.31.1
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]     Checking ttf-parser v0.15.2
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking miniz_oxide v0.8.7
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking gif v0.11.4
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.15.4
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]     Checking bytemuck v1.22.0
[INFO] [stderr]     Checking rustc-demangle v0.1.24
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.8
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking earcutr v0.2.0
[INFO] [stderr]     Checking glow v0.7.2
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.6
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.8
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]     Checking owned_ttf_parser v0.15.2
[INFO] [stderr]     Checking rusttype v0.9.3
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking nix v0.22.3
[INFO] [stderr]     Checking memmap2 v0.3.1
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]     Checking addr2line v0.24.2
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking tiff v0.6.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking image v0.23.14
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]     Checking calloop v0.9.3
[INFO] [stderr]     Checking backtrace v0.3.74
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]     Checking wayland-egl v0.29.5
[INFO] [stderr]     Checking glutin v0.28.0
[INFO] [stderr]     Checking speedy2d v2.1.0
[INFO] [stderr]     Checking rustysnake v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `UserEventSender`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     UserEventSender,
[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: `UserEventSender`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     UserEventSender,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let mut selectedTile = freepool.choose(&mut rng).unwrap();
[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/lib.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn new(mut board: &mut GameBoard) -> Snake{
[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/lib.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let mut body = VecDeque::from(vec![head]);
[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/lib.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |             let mut removed_tile = self.body.pop_front().unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/lib.rs:175:55
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn on_start(&mut self, helper: &mut WindowHelper, info: WindowStartupInfo) {
[INFO] [stdout]     |                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]    --> src/lib.rs:228:31
[INFO] [stdout]     |
[INFO] [stdout] 228 |     fn on_key_down(&mut self, helper: &mut WindowHelper<()>, virtual_key_code: Option<VirtualKeyCode>, scancode: KeyScancode) {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scancode`
[INFO] [stdout]    --> src/lib.rs:228:104
[INFO] [stdout]     |
[INFO] [stdout] 228 |     fn on_key_down(&mut self, helper: &mut WindowHelper<()>, virtual_key_code: Option<VirtualKeyCode>, scancode: KeyScancode) {
[INFO] [stdout]     |                                                                                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scancode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let mut selectedTile = freepool.choose(&mut rng).unwrap();
[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/lib.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn new(mut board: &mut GameBoard) -> Snake{
[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/lib.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let mut body = VecDeque::from(vec![head]);
[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/lib.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |             let mut removed_tile = self.body.pop_front().unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TileState` is never used
[INFO] [stdout]   --> src/lib.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | enum TileState{
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/lib.rs:175:55
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn on_start(&mut self, helper: &mut WindowHelper, info: WindowStartupInfo) {
[INFO] [stdout]     |                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tile` is never constructed
[INFO] [stdout]   --> src/lib.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct Tile{
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameBoard` is never constructed
[INFO] [stdout]   --> src/lib.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct GameBoard{
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `generate_borders`, and `spawn_food` are never used
[INFO] [stdout]   --> src/lib.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl GameBoard{
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 35 |     fn new(length: usize, width: usize) -> GameBoard{
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     fn generate_borders(&mut self){
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     fn spawn_food(&mut self){
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Snake` is never constructed
[INFO] [stdout]   --> src/lib.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | struct Snake{
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `move_snake` are never used
[INFO] [stdout]    --> src/lib.rs:98:8
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl Snake{
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  98 |     fn new(mut board: &mut GameBoard) -> Snake{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn move_snake(&mut self, board: &mut GameBoard, key: VirtualKeyCode){
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyWindowHandler` is never constructed
[INFO] [stdout]    --> src/lib.rs:153:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | struct MyWindowHandler {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `reset` are never used
[INFO] [stdout]    --> src/lib.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 160 | impl MyWindowHandler{
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 161 |     fn new() -> Self{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn reset(&mut self){
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]    --> src/lib.rs:228:31
[INFO] [stdout]     |
[INFO] [stdout] 228 |     fn on_key_down(&mut self, helper: &mut WindowHelper<()>, virtual_key_code: Option<VirtualKeyCode>, scancode: KeyScancode) {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/lib.rs:235:4
[INFO] [stdout]     |
[INFO] [stdout] 235 | fn main() {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `selectedTile` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let mut selectedTile = freepool.choose(&mut rng).unwrap();
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `selected_tile`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tileVector` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:186:13
[INFO] [stdout]     |
[INFO] [stdout] 186 |         for tileVector in self.game_board.as_mut().unwrap().board.iter_mut() {
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `tile_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scancode`
[INFO] [stdout]    --> src/lib.rs:228:104
[INFO] [stdout]     |
[INFO] [stdout] 228 |     fn on_key_down(&mut self, helper: &mut WindowHelper<()>, virtual_key_code: Option<VirtualKeyCode>, scancode: KeyScancode) {
[INFO] [stdout]     |                                                                                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scancode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tail` is never read
[INFO] [stdout]   --> src/lib.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | struct Snake{
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] 90 |     head: Tile,
[INFO] [stdout] 91 |     tail: Tile,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `selectedTile` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let mut selectedTile = freepool.choose(&mut rng).unwrap();
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `selected_tile`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tileVector` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:186:13
[INFO] [stdout]     |
[INFO] [stdout] 186 |         for tileVector in self.game_board.as_mut().unwrap().board.iter_mut() {
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `tile_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UserEventSender`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     UserEventSender,
[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: `UserEventSender`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     UserEventSender,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let mut selectedTile = freepool.choose(&mut rng).unwrap();
[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/lib.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn new(mut board: &mut GameBoard) -> Snake{
[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/lib.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let mut body = VecDeque::from(vec![head]);
[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/lib.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |             let mut removed_tile = self.body.pop_front().unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/lib.rs:175:55
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn on_start(&mut self, helper: &mut WindowHelper, info: WindowStartupInfo) {
[INFO] [stdout]     |                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]    --> src/lib.rs:228:31
[INFO] [stdout]     |
[INFO] [stdout] 228 |     fn on_key_down(&mut self, helper: &mut WindowHelper<()>, virtual_key_code: Option<VirtualKeyCode>, scancode: KeyScancode) {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scancode`
[INFO] [stdout]    --> src/lib.rs:228:104
[INFO] [stdout]     |
[INFO] [stdout] 228 |     fn on_key_down(&mut self, helper: &mut WindowHelper<()>, virtual_key_code: Option<VirtualKeyCode>, scancode: KeyScancode) {
[INFO] [stdout]     |                                                                                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scancode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let mut selectedTile = freepool.choose(&mut rng).unwrap();
[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/lib.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn new(mut board: &mut GameBoard) -> Snake{
[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/lib.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let mut body = VecDeque::from(vec![head]);
[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/lib.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |             let mut removed_tile = self.body.pop_front().unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/lib.rs:175:55
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn on_start(&mut self, helper: &mut WindowHelper, info: WindowStartupInfo) {
[INFO] [stdout]     |                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tail` is never read
[INFO] [stdout]   --> src/lib.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | struct Snake{
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] 90 |     head: Tile,
[INFO] [stdout] 91 |     tail: Tile,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `selectedTile` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let mut selectedTile = freepool.choose(&mut rng).unwrap();
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `selected_tile`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tileVector` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:186:13
[INFO] [stdout]     |
[INFO] [stdout] 186 |         for tileVector in self.game_board.as_mut().unwrap().board.iter_mut() {
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `tile_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]    --> src/lib.rs:228:31
[INFO] [stdout]     |
[INFO] [stdout] 228 |     fn on_key_down(&mut self, helper: &mut WindowHelper<()>, virtual_key_code: Option<VirtualKeyCode>, scancode: KeyScancode) {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scancode`
[INFO] [stdout]    --> src/lib.rs:228:104
[INFO] [stdout]     |
[INFO] [stdout] 228 |     fn on_key_down(&mut self, helper: &mut WindowHelper<()>, virtual_key_code: Option<VirtualKeyCode>, scancode: KeyScancode) {
[INFO] [stdout]     |                                                                                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scancode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tail` is never read
[INFO] [stdout]   --> src/lib.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | struct Snake{
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] 90 |     head: Tile,
[INFO] [stdout] 91 |     tail: Tile,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `selectedTile` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let mut selectedTile = freepool.choose(&mut rng).unwrap();
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `selected_tile`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tileVector` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:186:13
[INFO] [stdout]     |
[INFO] [stdout] 186 |         for tileVector in self.game_board.as_mut().unwrap().board.iter_mut() {
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `tile_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 52.15s
[INFO] running `Command { std: "docker" "inspect" "341f658002800b6de4ba8572b46c349b9526122df3900ca551f92e8243ab33be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "341f658002800b6de4ba8572b46c349b9526122df3900ca551f92e8243ab33be", kill_on_drop: false }`
[INFO] [stdout] 341f658002800b6de4ba8572b46c349b9526122df3900ca551f92e8243ab33be
