[INFO] cloning repository https://github.com/FuchanKay/snake
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/FuchanKay/snake" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFuchanKay%2Fsnake", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFuchanKay%2Fsnake'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3a358be73a2d246d6c9be1e2dd0adf895bedf558
[INFO] checking FuchanKay/snake against master#377656d3dd3f9c23a9c8713e163f4365a5261a84 for pr-146470-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFuchanKay%2Fsnake" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/FuchanKay/snake
[INFO] finished tweaking git repo https://github.com/FuchanKay/snake
[INFO] tweaked toml for git repo https://github.com/FuchanKay/snake written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/FuchanKay/snake on toolchain 377656d3dd3f9c23a9c8713e163f4365a5261a84
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/FuchanKay/snake 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" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded shader_version v0.7.0
[INFO] [stderr]   Downloaded piston-float v1.0.1
[INFO] [stderr]   Downloaded piston-viewport v1.0.2
[INFO] [stderr]   Downloaded piston-graphics_api_version v1.0.1
[INFO] [stderr]   Downloaded pistoncore-input v1.0.1
[INFO] [stderr]   Downloaded pistoncore-event_loop v1.0.0
[INFO] [stderr]   Downloaded piston-shaders_graphics2d v0.4.0
[INFO] [stderr]   Downloaded gfx_gl v0.6.1
[INFO] [stderr]   Downloaded piston2d-gfx_graphics v0.81.0
[INFO] [stderr]   Downloaded interpolation v0.3.0
[INFO] [stderr]   Downloaded piston-texture v0.9.0
[INFO] [stderr]   Downloaded gl_generator v0.13.1
[INFO] [stderr]   Downloaded gfx_device_gl v0.16.2
[INFO] [stderr]   Downloaded spin_sleep v1.3.3
[INFO] [stderr]   Downloaded piston v1.0.0
[INFO] [stderr]   Downloaded gfx v0.18.3
[INFO] [stderr]   Downloaded draw_state v0.8.0
[INFO] [stderr]   Downloaded gfx_core v0.9.2
[INFO] [stderr]   Downloaded read_color v1.0.0
[INFO] [stderr]   Downloaded piston2d-graphics v0.44.0
[INFO] [stderr]   Downloaded piston-gfx_texture v0.45.0
[INFO] [stderr]   Downloaded vecmath v1.0.0
[INFO] [stderr]   Downloaded gl v0.13.0
[INFO] [stderr]   Downloaded piston_window v0.132.0
[INFO] [stderr]   Downloaded pistoncore-window v1.0.0
[INFO] [stderr]   Downloaded pistoncore-glutin_window v0.72.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6cfb91f40742e5d3ea2f8d9860eddb75279020cabb2131ff7309bfa684547ecd
[INFO] running `Command { std: "docker" "start" "-a" "6cfb91f40742e5d3ea2f8d9860eddb75279020cabb2131ff7309bfa684547ecd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6cfb91f40742e5d3ea2f8d9860eddb75279020cabb2131ff7309bfa684547ecd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6cfb91f40742e5d3ea2f8d9860eddb75279020cabb2131ff7309bfa684547ecd", kill_on_drop: false }`
[INFO] [stdout] 6cfb91f40742e5d3ea2f8d9860eddb75279020cabb2131ff7309bfa684547ecd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 18786fdf427003b3cf816a9920ac91aec4f76a90f2d5e07f4efa931c77c8a2dd
[INFO] running `Command { std: "docker" "start" "-a" "18786fdf427003b3cf816a9920ac91aec4f76a90f2d5e07f4efa931c77c8a2dd", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking piston-float v1.0.1
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking as-slice v0.2.1
[INFO] [stderr]    Compiling built v0.8.0
[INFO] [stderr]    Compiling av-scenechange v0.14.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]     Checking core2 v0.4.0
[INFO] [stderr]     Checking y4m v0.8.0
[INFO] [stderr]     Checking piston-graphics_api_version v1.0.1
[INFO] [stderr]     Checking aligned v0.4.2
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking piston-viewport v1.0.2
[INFO] [stderr]     Checking bitstream-io v4.9.0
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking draw_state v0.8.0
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking imgref v1.12.0
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]     Checking tiny-skia-path v0.8.4
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]     Checking avif-serialize v0.8.6
[INFO] [stderr]     Checking pxfm v0.1.26
[INFO] [stderr]    Compiling gl_generator v0.13.1
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking gfx_core v0.9.2
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking zune-jpeg v0.4.21
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]     Checking bit_field v0.10.3
[INFO] [stderr]     Checking ttf-parser v0.15.2
[INFO] [stderr]     Checking rgb v0.8.52
[INFO] [stderr]     Checking lebe v0.5.3
[INFO] [stderr]    Compiling glutin_glx_sys v0.4.0
[INFO] [stderr]    Compiling glutin_egl_sys v0.5.1
[INFO] [stderr]     Checking tiny-skia v0.8.4
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking zune-core v0.5.0
[INFO] [stderr]     Checking image-webp v0.2.4
[INFO] [stderr]     Checking png v0.18.0
[INFO] [stderr]    Compiling gl v0.13.0
[INFO] [stderr]     Checking gif v0.14.0
[INFO] [stderr]     Checking zune-jpeg v0.5.5
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling gfx_gl v0.6.1
[INFO] [stderr]     Checking wayland-sys v0.30.1
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking piston-texture v0.9.0
[INFO] [stderr]     Checking shader_version v0.7.0
[INFO] [stderr]     Checking vecmath v1.0.0
[INFO] [stderr]     Checking spin_sleep v1.3.3
[INFO] [stderr]     Checking read_color v1.0.0
[INFO] [stderr]     Checking gfx v0.18.3
[INFO] [stderr]     Checking interpolation v0.3.0
[INFO] [stderr]     Checking piston-shaders_graphics2d v0.4.0
[INFO] [stderr]     Checking moxcms v0.7.10
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking nix v0.25.1
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking owned_ttf_parser v0.15.2
[INFO] [stderr]     Checking rusttype v0.9.3
[INFO] [stderr]     Checking piston2d-graphics v0.44.0
[INFO] [stderr]     Checking gfx_device_gl v0.16.2
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]     Checking wayland-client v0.29.5
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling fax_derive v0.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking wayland-protocols v0.29.5
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]     Checking fax v0.2.6
[INFO] [stderr]     Checking equator v0.4.2
[INFO] [stderr]     Checking aligned-vec v0.6.4
[INFO] [stderr]     Checking v_frame v0.3.9
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking av1-grain v0.2.5
[INFO] [stderr]     Checking calloop v0.10.6
[INFO] [stderr]     Checking glutin v0.30.10
[INFO] [stderr]     Checking pistoncore-input v1.0.1
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking tiff v0.10.3
[INFO] [stderr]     Checking exr v1.74.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking smithay-client-toolkit v0.16.1
[INFO] [stderr]     Checking pistoncore-window v1.0.0
[INFO] [stderr]     Checking pistoncore-event_loop v1.0.0
[INFO] [stderr]     Checking piston v1.0.0
[INFO] [stderr]     Checking sctk-adwaita v0.5.4
[INFO] [stderr]     Checking winit v0.28.7
[INFO] [stderr]     Checking ravif v0.12.0
[INFO] [stderr]     Checking image v0.25.9
[INFO] [stderr]     Checking glutin-winit v0.3.0
[INFO] [stderr]     Checking pistoncore-glutin_window v0.72.0
[INFO] [stderr]     Checking piston-gfx_texture v0.45.0
[INFO] [stderr]     Checking piston2d-gfx_graphics v0.81.0
[INFO] [stderr]     Checking piston_window v0.132.0
[INFO] [stderr]     Checking snake v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: constant `BLOCK_SIZE` is never used
[INFO] [stdout]  --> src/draw.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const BLOCK_SIZE: f64 = 25.0;
[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 `to_coord` is never used
[INFO] [stdout]  --> src/draw.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn to_coord(game_coord: i32) -> f64 {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_block` is never used
[INFO] [stdout]   --> src/draw.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn draw_block(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_rectangle` is never used
[INFO] [stdout]   --> src/draw.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn draw_rectangle(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SNAKE_COLOR` is never used
[INFO] [stdout]  --> src/snake.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const SNAKE_COLOR: Color = [0.00, 0.80, 0.00, 1.0];
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]   --> src/snake.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Direction {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `opposite` is never used
[INFO] [stdout]   --> src/snake.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Direction {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 18 |     pub fn opposite(&self) -> Direction { 
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Block` is never constructed
[INFO] [stdout]   --> src/snake.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct Block {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Snake` is never constructed
[INFO] [stdout]   --> src/snake.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct Snake {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/snake.rs:41:12
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl Snake {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  41 |     pub fn new(x: i32, y: i32) -> Snake {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn draw(&self, con: &Context, g: &mut G2d) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn head_position(&self) -> (i32, i32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn head_direction(&self) -> Direction {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn move_forward(&mut self, dir: Option<Direction>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn next_head(&self, dir: Option<Direction>) -> (i32, i32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn restore_tail(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn overlap_tail(&self, x: i32, y: i32) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_SIZE` is never used
[INFO] [stdout]  --> src/draw.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const BLOCK_SIZE: f64 = 25.0;
[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 `to_coord` is never used
[INFO] [stdout]  --> src/draw.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn to_coord(game_coord: i32) -> f64 {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_block` is never used
[INFO] [stdout]   --> src/draw.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn draw_block(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_rectangle` is never used
[INFO] [stdout]   --> src/draw.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn draw_rectangle(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SNAKE_COLOR` is never used
[INFO] [stdout]  --> src/snake.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const SNAKE_COLOR: Color = [0.00, 0.80, 0.00, 1.0];
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]   --> src/snake.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Direction {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `opposite` is never used
[INFO] [stdout]   --> src/snake.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Direction {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 18 |     pub fn opposite(&self) -> Direction { 
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Block` is never constructed
[INFO] [stdout]   --> src/snake.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct Block {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Snake` is never constructed
[INFO] [stdout]   --> src/snake.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct Snake {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/snake.rs:41:12
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl Snake {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  41 |     pub fn new(x: i32, y: i32) -> Snake {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn draw(&self, con: &Context, g: &mut G2d) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn head_position(&self) -> (i32, i32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn head_direction(&self) -> Direction {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn move_forward(&mut self, dir: Option<Direction>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn next_head(&self, dir: Option<Direction>) -> (i32, i32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn restore_tail(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn overlap_tail(&self, x: i32, y: i32) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 48.88s
[INFO] running `Command { std: "docker" "inspect" "18786fdf427003b3cf816a9920ac91aec4f76a90f2d5e07f4efa931c77c8a2dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "18786fdf427003b3cf816a9920ac91aec4f76a90f2d5e07f4efa931c77c8a2dd", kill_on_drop: false }`
[INFO] [stdout] 18786fdf427003b3cf816a9920ac91aec4f76a90f2d5e07f4efa931c77c8a2dd
