[INFO] cloning repository https://github.com/sonelAshutosh/consoleSnakeGame
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sonelAshutosh/consoleSnakeGame" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsonelAshutosh%2FconsoleSnakeGame", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsonelAshutosh%2FconsoleSnakeGame'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0e9cba1f358dd54c565c76a2fab8f5ab5c90d4c6
[INFO] testing sonelAshutosh/consoleSnakeGame against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsonelAshutosh%2FconsoleSnakeGame" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sonelAshutosh/consoleSnakeGame
[INFO] finished tweaking git repo https://github.com/sonelAshutosh/consoleSnakeGame
[INFO] tweaked toml for git repo https://github.com/sonelAshutosh/consoleSnakeGame written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sonelAshutosh/consoleSnakeGame on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sonelAshutosh/consoleSnakeGame 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quote v1.0.41
[INFO] [stderr]   Downloaded convert_case v0.7.1
[INFO] [stderr]   Downloaded derive_more v2.0.1
[INFO] [stderr]   Downloaded log v0.4.28
[INFO] [stderr]   Downloaded mio v1.1.0
[INFO] [stderr]   Downloaded derive_more-impl v2.0.1
[INFO] [stderr]   Downloaded syn v2.0.108
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6bc19ef9a72caf5182ec8df2f23b5afa8d2ad598d0223e1c78fde0b272eb0b2c
[INFO] running `Command { std: "docker" "start" "-a" "6bc19ef9a72caf5182ec8df2f23b5afa8d2ad598d0223e1c78fde0b272eb0b2c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6bc19ef9a72caf5182ec8df2f23b5afa8d2ad598d0223e1c78fde0b272eb0b2c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6bc19ef9a72caf5182ec8df2f23b5afa8d2ad598d0223e1c78fde0b272eb0b2c", kill_on_drop: false }`
[INFO] [stdout] 6bc19ef9a72caf5182ec8df2f23b5afa8d2ad598d0223e1c78fde0b272eb0b2c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9f14f9f5c9e3e2c5df080ffea3b38264ab64220ee2862e3714b57c85085881e5
[INFO] running `Command { std: "docker" "start" "-a" "9f14f9f5c9e3e2c5df080ffea3b38264ab64220ee2862e3714b57c85085881e5", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling convert_case v0.7.1
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling app v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/fruit.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/fruit.rs:24:29
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/fruit.rs:17:26
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let cord_X = rng.gen_range(1..=SCREEN_WIDTH - 1);
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/fruit.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let cord_Y = rng.gen_range(1..=SCREEN_HEIGHT - 1);
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/fruit.rs:25:27
[INFO] [stdout]    |
[INFO] [stdout] 25 |         self.cord_X = rng.gen_range(1..=SCREEN_WIDTH - 1);
[INFO] [stdout]    |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/fruit.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |         self.cord_Y = rng.gen_range(1..=SCREEN_HEIGHT - 1);
[INFO] [stdout]    |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_fruit_location` is never used
[INFO] [stdout]   --> src/fruit.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Fruit {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 11 |     pub fn get_fruit_location(&self) -> (i32, i32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_canvas_params` is never used
[INFO] [stdout]   --> src/canvas.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Canvas {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn get_canvas_params(&self) -> (i32, i32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `userPressedKey` should have a snake case name
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | mod userPressedKey;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `user_pressed_key`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `snakeDirectionEnum` should have a snake case name
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod snakeDirectionEnum;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `snake_direction_enum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentDirection` should have a snake case name
[INFO] [stdout]   --> src/main.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut currentDirection: (i32, i32) = (0, 0);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `current_direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `temp_pos_X` should have a snake case name
[INFO] [stdout]   --> src/main.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (temp_pos_X, temp_pos_Y) = snake.get_snake_pos();
[INFO] [stdout]    |              ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `temp_pos_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `temp_pos_Y` should have a snake case name
[INFO] [stdout]   --> src/main.rs:62:26
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (temp_pos_X, temp_pos_Y) = snake.get_snake_pos();
[INFO] [stdout]    |                          ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `temp_pos_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dir_X` should have a snake case name
[INFO] [stdout]   --> src/main.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let (dir_X, dir_Y) = currentDirection;
[INFO] [stdout]    |              ^^^^^ help: convert the identifier to snake case (notice the capitalization): `dir_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dir_Y` should have a snake case name
[INFO] [stdout]   --> src/main.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let (dir_X, dir_Y) = currentDirection;
[INFO] [stdout]    |                     ^^^^^ help: convert the identifier to snake case (notice the capitalization): `dir_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `updated_snake_X` should have a snake case name
[INFO] [stdout]   --> src/main.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let updated_snake_X = temp_pos_X + SNAKE_SPEED * dir_X;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `updated_snake_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `updated_snake_Y` should have a snake case name
[INFO] [stdout]   --> src/main.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let updated_snake_Y = temp_pos_Y + SNAKE_SPEED * dir_Y;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `updated_snake_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `head_X` should have a snake case name
[INFO] [stdout]  --> src/snake.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn init_snake(head_X: i32, head_Y: i32) -> Self {
[INFO] [stdout]   |                       ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `head_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `head_Y` should have a snake case name
[INFO] [stdout]  --> src/snake.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn init_snake(head_X: i32, head_Y: i32) -> Self {
[INFO] [stdout]   |                                    ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `head_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `head_X` should have a snake case name
[INFO] [stdout]   --> src/snake.rs:17:40
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn update_snake_pos(&mut self, head_X: i32, head_Y: i32) {
[INFO] [stdout]    |                                        ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `head_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `head_Y` should have a snake case name
[INFO] [stdout]   --> src/snake.rs:17:53
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn update_snake_pos(&mut self, head_X: i32, head_Y: i32) {
[INFO] [stdout]    |                                                     ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `head_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `cord_X` should have a snake case name
[INFO] [stdout]  --> src/fruit.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub cord_X: i32,
[INFO] [stdout]   |         ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cord_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `cord_Y` should have a snake case name
[INFO] [stdout]  --> src/fruit.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub cord_Y: i32,
[INFO] [stdout]   |         ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cord_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SCREEN_WIDTH` should have a snake case name
[INFO] [stdout]   --> src/fruit.rs:15:36
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn generate_fruit_location(SCREEN_WIDTH: i32, SCREEN_HEIGHT: i32) -> Fruit {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^ help: convert the identifier to snake case: `screen_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SCREEN_HEIGHT` should have a snake case name
[INFO] [stdout]   --> src/fruit.rs:15:55
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn generate_fruit_location(SCREEN_WIDTH: i32, SCREEN_HEIGHT: i32) -> Fruit {
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `screen_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cord_X` should have a snake case name
[INFO] [stdout]   --> src/fruit.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let cord_X = rng.gen_range(1..=SCREEN_WIDTH - 1);
[INFO] [stdout]    |             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cord_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cord_Y` should have a snake case name
[INFO] [stdout]   --> src/fruit.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let cord_Y = rng.gen_range(1..=SCREEN_HEIGHT - 1);
[INFO] [stdout]    |             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cord_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SCREEN_WIDTH` should have a snake case name
[INFO] [stdout]   --> src/fruit.rs:23:45
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn udpate_fruit_location(&mut self, SCREEN_WIDTH: i32, SCREEN_HEIGHT: i32) {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^ help: convert the identifier to snake case: `screen_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SCREEN_HEIGHT` should have a snake case name
[INFO] [stdout]   --> src/fruit.rs:23:64
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn udpate_fruit_location(&mut self, SCREEN_WIDTH: i32, SCREEN_HEIGHT: i32) {
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^ help: convert the identifier to snake case: `screen_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `userPressedKey` should have a snake case name
[INFO] [stdout]  --> src/userPressedKey.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn userPressedKey() -> io::Result<Option<char>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `user_pressed_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.39s
[INFO] running `Command { std: "docker" "inspect" "9f14f9f5c9e3e2c5df080ffea3b38264ab64220ee2862e3714b57c85085881e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f14f9f5c9e3e2c5df080ffea3b38264ab64220ee2862e3714b57c85085881e5", kill_on_drop: false }`
[INFO] [stdout] 9f14f9f5c9e3e2c5df080ffea3b38264ab64220ee2862e3714b57c85085881e5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d2595939a887a3fda7e36834a28c9f5acca50956eda2f2acc91fa393c6a327af
[INFO] running `Command { std: "docker" "start" "-a" "d2595939a887a3fda7e36834a28c9f5acca50956eda2f2acc91fa393c6a327af", kill_on_drop: false }`
[INFO] [stderr]    Compiling app v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/fruit.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/fruit.rs:24:29
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/fruit.rs:17:26
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let cord_X = rng.gen_range(1..=SCREEN_WIDTH - 1);
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/fruit.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let cord_Y = rng.gen_range(1..=SCREEN_HEIGHT - 1);
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/fruit.rs:25:27
[INFO] [stdout]    |
[INFO] [stdout] 25 |         self.cord_X = rng.gen_range(1..=SCREEN_WIDTH - 1);
[INFO] [stdout]    |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/fruit.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |         self.cord_Y = rng.gen_range(1..=SCREEN_HEIGHT - 1);
[INFO] [stdout]    |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_fruit_location` is never used
[INFO] [stdout]   --> src/fruit.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Fruit {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 11 |     pub fn get_fruit_location(&self) -> (i32, i32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_canvas_params` is never used
[INFO] [stdout]   --> src/canvas.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Canvas {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn get_canvas_params(&self) -> (i32, i32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `userPressedKey` should have a snake case name
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | mod userPressedKey;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `user_pressed_key`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `snakeDirectionEnum` should have a snake case name
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod snakeDirectionEnum;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `snake_direction_enum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentDirection` should have a snake case name
[INFO] [stdout]   --> src/main.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut currentDirection: (i32, i32) = (0, 0);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `current_direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `temp_pos_X` should have a snake case name
[INFO] [stdout]   --> src/main.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (temp_pos_X, temp_pos_Y) = snake.get_snake_pos();
[INFO] [stdout]    |              ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `temp_pos_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `temp_pos_Y` should have a snake case name
[INFO] [stdout]   --> src/main.rs:62:26
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (temp_pos_X, temp_pos_Y) = snake.get_snake_pos();
[INFO] [stdout]    |                          ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `temp_pos_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dir_X` should have a snake case name
[INFO] [stdout]   --> src/main.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let (dir_X, dir_Y) = currentDirection;
[INFO] [stdout]    |              ^^^^^ help: convert the identifier to snake case (notice the capitalization): `dir_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dir_Y` should have a snake case name
[INFO] [stdout]   --> src/main.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let (dir_X, dir_Y) = currentDirection;
[INFO] [stdout]    |                     ^^^^^ help: convert the identifier to snake case (notice the capitalization): `dir_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `updated_snake_X` should have a snake case name
[INFO] [stdout]   --> src/main.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let updated_snake_X = temp_pos_X + SNAKE_SPEED * dir_X;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `updated_snake_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `updated_snake_Y` should have a snake case name
[INFO] [stdout]   --> src/main.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let updated_snake_Y = temp_pos_Y + SNAKE_SPEED * dir_Y;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `updated_snake_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `head_X` should have a snake case name
[INFO] [stdout]  --> src/snake.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn init_snake(head_X: i32, head_Y: i32) -> Self {
[INFO] [stdout]   |                       ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `head_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `head_Y` should have a snake case name
[INFO] [stdout]  --> src/snake.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn init_snake(head_X: i32, head_Y: i32) -> Self {
[INFO] [stdout]   |                                    ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `head_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `head_X` should have a snake case name
[INFO] [stdout]   --> src/snake.rs:17:40
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn update_snake_pos(&mut self, head_X: i32, head_Y: i32) {
[INFO] [stdout]    |                                        ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `head_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `head_Y` should have a snake case name
[INFO] [stdout]   --> src/snake.rs:17:53
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn update_snake_pos(&mut self, head_X: i32, head_Y: i32) {
[INFO] [stdout]    |                                                     ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `head_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `cord_X` should have a snake case name
[INFO] [stdout]  --> src/fruit.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub cord_X: i32,
[INFO] [stdout]   |         ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cord_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `cord_Y` should have a snake case name
[INFO] [stdout]  --> src/fruit.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub cord_Y: i32,
[INFO] [stdout]   |         ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cord_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SCREEN_WIDTH` should have a snake case name
[INFO] [stdout]   --> src/fruit.rs:15:36
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn generate_fruit_location(SCREEN_WIDTH: i32, SCREEN_HEIGHT: i32) -> Fruit {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^ help: convert the identifier to snake case: `screen_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SCREEN_HEIGHT` should have a snake case name
[INFO] [stdout]   --> src/fruit.rs:15:55
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn generate_fruit_location(SCREEN_WIDTH: i32, SCREEN_HEIGHT: i32) -> Fruit {
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `screen_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cord_X` should have a snake case name
[INFO] [stdout]   --> src/fruit.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let cord_X = rng.gen_range(1..=SCREEN_WIDTH - 1);
[INFO] [stdout]    |             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cord_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cord_Y` should have a snake case name
[INFO] [stdout]   --> src/fruit.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let cord_Y = rng.gen_range(1..=SCREEN_HEIGHT - 1);
[INFO] [stdout]    |             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cord_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SCREEN_WIDTH` should have a snake case name
[INFO] [stdout]   --> src/fruit.rs:23:45
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn udpate_fruit_location(&mut self, SCREEN_WIDTH: i32, SCREEN_HEIGHT: i32) {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^ help: convert the identifier to snake case: `screen_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SCREEN_HEIGHT` should have a snake case name
[INFO] [stdout]   --> src/fruit.rs:23:64
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn udpate_fruit_location(&mut self, SCREEN_WIDTH: i32, SCREEN_HEIGHT: i32) {
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^ help: convert the identifier to snake case: `screen_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `userPressedKey` should have a snake case name
[INFO] [stdout]  --> src/userPressedKey.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn userPressedKey() -> io::Result<Option<char>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `user_pressed_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s
[INFO] running `Command { std: "docker" "inspect" "d2595939a887a3fda7e36834a28c9f5acca50956eda2f2acc91fa393c6a327af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2595939a887a3fda7e36834a28c9f5acca50956eda2f2acc91fa393c6a327af", kill_on_drop: false }`
[INFO] [stdout] d2595939a887a3fda7e36834a28c9f5acca50956eda2f2acc91fa393c6a327af
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8b6ba7aa06af7492d5d683e3126bf42351189f92a6cee334fb792da9e2379894
[INFO] running `Command { std: "docker" "start" "-a" "8b6ba7aa06af7492d5d683e3126bf42351189f92a6cee334fb792da9e2379894", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]   --> src/fruit.rs:16:29
[INFO] [stderr]    |
[INFO] [stderr] 16 |         let mut rng = rand::thread_rng();
[INFO] [stderr]    |                             ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]   --> src/fruit.rs:24:29
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let mut rng = rand::thread_rng();
[INFO] [stderr]    |                             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stderr]   --> src/fruit.rs:17:26
[INFO] [stderr]    |
[INFO] [stderr] 17 |         let cord_X = rng.gen_range(1..=SCREEN_WIDTH - 1);
[INFO] [stderr]    |                          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stderr]   --> src/fruit.rs:18:26
[INFO] [stderr]    |
[INFO] [stderr] 18 |         let cord_Y = rng.gen_range(1..=SCREEN_HEIGHT - 1);
[INFO] [stderr]    |                          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stderr]   --> src/fruit.rs:25:27
[INFO] [stderr]    |
[INFO] [stderr] 25 |         self.cord_X = rng.gen_range(1..=SCREEN_WIDTH - 1);
[INFO] [stderr]    |                           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stderr]   --> src/fruit.rs:26:27
[INFO] [stderr]    |
[INFO] [stderr] 26 |         self.cord_Y = rng.gen_range(1..=SCREEN_HEIGHT - 1);
[INFO] [stderr]    |                           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_fruit_location` is never used
[INFO] [stderr]   --> src/fruit.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl Fruit {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] 11 |     pub fn get_fruit_location(&self) -> (i32, i32) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_canvas_params` is never used
[INFO] [stderr]   --> src/canvas.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl Canvas {
[INFO] [stderr]    | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 15 |     pub fn get_canvas_params(&self) -> (i32, i32) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: module `userPressedKey` should have a snake case name
[INFO] [stderr]  --> src/main.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | mod userPressedKey;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `user_pressed_key`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: module `snakeDirectionEnum` should have a snake case name
[INFO] [stderr]  --> src/main.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | mod snakeDirectionEnum;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `snake_direction_enum`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `currentDirection` should have a snake case name
[INFO] [stderr]   --> src/main.rs:26:13
[INFO] [stderr]    |
[INFO] [stderr] 26 |     let mut currentDirection: (i32, i32) = (0, 0);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `current_direction`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `temp_pos_X` should have a snake case name
[INFO] [stderr]   --> src/main.rs:62:14
[INFO] [stderr]    |
[INFO] [stderr] 62 |         let (temp_pos_X, temp_pos_Y) = snake.get_snake_pos();
[INFO] [stderr]    |              ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `temp_pos_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `temp_pos_Y` should have a snake case name
[INFO] [stderr]   --> src/main.rs:62:26
[INFO] [stderr]    |
[INFO] [stderr] 62 |         let (temp_pos_X, temp_pos_Y) = snake.get_snake_pos();
[INFO] [stderr]    |                          ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `temp_pos_y`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `dir_X` should have a snake case name
[INFO] [stderr]   --> src/main.rs:63:14
[INFO] [stderr]    |
[INFO] [stderr] 63 |         let (dir_X, dir_Y) = currentDirection;
[INFO] [stderr]    |              ^^^^^ help: convert the identifier to snake case (notice the capitalization): `dir_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `dir_Y` should have a snake case name
[INFO] [stderr]   --> src/main.rs:63:21
[INFO] [stderr]    |
[INFO] [stderr] 63 |         let (dir_X, dir_Y) = currentDirection;
[INFO] [stderr]    |                     ^^^^^ help: convert the identifier to snake case (notice the capitalization): `dir_y`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `updated_snake_X` should have a snake case name
[INFO] [stderr]   --> src/main.rs:64:13
[INFO] [stderr]    |
[INFO] [stderr] 64 |         let updated_snake_X = temp_pos_X + SNAKE_SPEED * dir_X;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `updated_snake_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `updated_snake_Y` should have a snake case name
[INFO] [stderr]   --> src/main.rs:65:13
[INFO] [stderr]    |
[INFO] [stderr] 65 |         let updated_snake_Y = temp_pos_Y + SNAKE_SPEED * dir_Y;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `updated_snake_y`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `head_X` should have a snake case name
[INFO] [stderr]  --> src/snake.rs:9:23
[INFO] [stderr]   |
[INFO] [stderr] 9 |     pub fn init_snake(head_X: i32, head_Y: i32) -> Self {
[INFO] [stderr]   |                       ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `head_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `head_Y` should have a snake case name
[INFO] [stderr]  --> src/snake.rs:9:36
[INFO] [stderr]   |
[INFO] [stderr] 9 |     pub fn init_snake(head_X: i32, head_Y: i32) -> Self {
[INFO] [stderr]   |                                    ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `head_y`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `head_X` should have a snake case name
[INFO] [stderr]   --> src/snake.rs:17:40
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub fn update_snake_pos(&mut self, head_X: i32, head_Y: i32) {
[INFO] [stderr]    |                                        ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `head_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `head_Y` should have a snake case name
[INFO] [stderr]   --> src/snake.rs:17:53
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub fn update_snake_pos(&mut self, head_X: i32, head_Y: i32) {
[INFO] [stderr]    |                                                     ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `head_y`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `cord_X` should have a snake case name
[INFO] [stderr]  --> src/fruit.rs:6:9
[INFO] [stderr]   |
[INFO] [stderr] 6 |     pub cord_X: i32,
[INFO] [stderr]   |         ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cord_x`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `cord_Y` should have a snake case name
[INFO] [stderr]  --> src/fruit.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 7 |     pub cord_Y: i32,
[INFO] [stderr]   |         ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cord_y`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `SCREEN_WIDTH` should have a snake case name
[INFO] [stderr]   --> src/fruit.rs:15:36
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub fn generate_fruit_location(SCREEN_WIDTH: i32, SCREEN_HEIGHT: i32) -> Fruit {
[INFO] [stderr]    |                                    ^^^^^^^^^^^^ help: convert the identifier to snake case: `screen_width`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `SCREEN_HEIGHT` should have a snake case name
[INFO] [stderr]   --> src/fruit.rs:15:55
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub fn generate_fruit_location(SCREEN_WIDTH: i32, SCREEN_HEIGHT: i32) -> Fruit {
[INFO] [stderr]    |                                                       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `screen_height`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cord_X` should have a snake case name
[INFO] [stderr]   --> src/fruit.rs:17:13
[INFO] [stderr]    |
[INFO] [stderr] 17 |         let cord_X = rng.gen_range(1..=SCREEN_WIDTH - 1);
[INFO] [stderr]    |             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cord_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cord_Y` should have a snake case name
[INFO] [stderr]   --> src/fruit.rs:18:13
[INFO] [stderr]    |
[INFO] [stderr] 18 |         let cord_Y = rng.gen_range(1..=SCREEN_HEIGHT - 1);
[INFO] [stderr]    |             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cord_y`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `SCREEN_WIDTH` should have a snake case name
[INFO] [stderr]   --> src/fruit.rs:23:45
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub fn udpate_fruit_location(&mut self, SCREEN_WIDTH: i32, SCREEN_HEIGHT: i32) {
[INFO] [stderr]    |                                             ^^^^^^^^^^^^ help: convert the identifier to snake case: `screen_width`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `SCREEN_HEIGHT` should have a snake case name
[INFO] [stderr]   --> src/fruit.rs:23:64
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub fn udpate_fruit_location(&mut self, SCREEN_WIDTH: i32, SCREEN_HEIGHT: i32) {
[INFO] [stderr]    |                                                                ^^^^^^^^^^^^^ help: convert the identifier to snake case: `screen_height`
[INFO] [stderr] 
[INFO] [stderr] warning: function `userPressedKey` should have a snake case name
[INFO] [stderr]  --> src/userPressedKey.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn userPressedKey() -> io::Result<Option<char>> {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `user_pressed_key`
[INFO] [stderr] 
[INFO] [stderr] warning: `app` (bin "app" test) generated 30 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/app-fd774cc091801cfd)
[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" "8b6ba7aa06af7492d5d683e3126bf42351189f92a6cee334fb792da9e2379894", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8b6ba7aa06af7492d5d683e3126bf42351189f92a6cee334fb792da9e2379894", kill_on_drop: false }`
[INFO] [stdout] 8b6ba7aa06af7492d5d683e3126bf42351189f92a6cee334fb792da9e2379894
