[INFO] cloning repository https://github.com/CarlosMendonca/ReversiRust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CarlosMendonca/ReversiRust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCarlosMendonca%2FReversiRust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCarlosMendonca%2FReversiRust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a96b6a3407b12f65cfdb073fb015066473c825ae
[INFO] checking CarlosMendonca/ReversiRust against beta-2020-07-24 for pr-75494-beta
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCarlosMendonca%2FReversiRust" "/workspace/builds/worker-13/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/CarlosMendonca/ReversiRust on toolchain beta-2020-07-24
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-07-24" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/CarlosMendonca/ReversiRust
[INFO] finished tweaking git repo https://github.com/CarlosMendonca/ReversiRust
[INFO] tweaked toml for git repo https://github.com/CarlosMendonca/ReversiRust written to /workspace/builds/worker-13/source/Cargo.toml
[INFO] crate git repo https://github.com/CarlosMendonca/ReversiRust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-07-24" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 06d1d0b604434ecc79f34c645c3b865151dd7e40008fbc13eb10a57423cffac7
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "06d1d0b604434ecc79f34c645c3b865151dd7e40008fbc13eb10a57423cffac7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "06d1d0b604434ecc79f34c645c3b865151dd7e40008fbc13eb10a57423cffac7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "06d1d0b604434ecc79f34c645c3b865151dd7e40008fbc13eb10a57423cffac7", kill_on_drop: false }`
[INFO] [stdout] 06d1d0b604434ecc79f34c645c3b865151dd7e40008fbc13eb10a57423cffac7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d3e53af50d273df647d326ac83d860f3d4fbb81835beab0ac3b9bde03dbcf9a2
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "d3e53af50d273df647d326ac83d860f3d4fbb81835beab0ac3b9bde03dbcf9a2", kill_on_drop: false }`
[INFO] [stderr]     Checking array2d v0.2.1
[INFO] [stderr]     Checking reversi v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `board::Reversi`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use board::Reversi;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `N` is named the same as one of the variants of the type `board::Direction`
[INFO] [stdout]   --> src/board.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             ^ help: to match on the variant, qualify the path: `board::Direction::N`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bindings_with_variant_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `NE` is named the same as one of the variants of the type `board::Direction`
[INFO] [stdout]   --> src/board.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |             NE => Coord { x:  1, y: -1 },
[INFO] [stdout]    |             ^^ help: to match on the variant, qualify the path: `board::Direction::NE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `E` is named the same as one of the variants of the type `board::Direction`
[INFO] [stdout]   --> src/board.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |             E  => Coord { x:  1, y:  0 },
[INFO] [stdout]    |             ^ help: to match on the variant, qualify the path: `board::Direction::E`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `SE` is named the same as one of the variants of the type `board::Direction`
[INFO] [stdout]   --> src/board.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |             SE => Coord { x:  1, y:  1 },
[INFO] [stdout]    |             ^^ help: to match on the variant, qualify the path: `board::Direction::SE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `S` is named the same as one of the variants of the type `board::Direction`
[INFO] [stdout]   --> src/board.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             S  => Coord { x:  0, y:  1 },
[INFO] [stdout]    |             ^ help: to match on the variant, qualify the path: `board::Direction::S`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `SW` is named the same as one of the variants of the type `board::Direction`
[INFO] [stdout]   --> src/board.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |             SW => Coord { x: -1, y:  1 },
[INFO] [stdout]    |             ^^ help: to match on the variant, qualify the path: `board::Direction::SW`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `W` is named the same as one of the variants of the type `board::Direction`
[INFO] [stdout]   --> src/board.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |             W  => Coord { x: -1, y:  0 },
[INFO] [stdout]    |             ^ help: to match on the variant, qualify the path: `board::Direction::W`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `NW` is named the same as one of the variants of the type `board::Direction`
[INFO] [stdout]   --> src/board.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             NW => Coord { x: -1, y: -1 },
[INFO] [stdout]    |             ^^ help: to match on the variant, qualify the path: `board::Direction::NW`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/board.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             - matches any value
[INFO] [stdout] 21 |             NE => Coord { x:  1, y: -1 },
[INFO] [stdout]    |             ^^ unreachable pattern
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/board.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             - matches any value
[INFO] [stdout] 21 |             NE => Coord { x:  1, y: -1 },
[INFO] [stdout] 22 |             E  => Coord { x:  1, y:  0 },
[INFO] [stdout]    |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/board.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             - matches any value
[INFO] [stdout] ...
[INFO] [stdout] 23 |             SE => Coord { x:  1, y:  1 },
[INFO] [stdout]    |             ^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/board.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             - matches any value
[INFO] [stdout] ...
[INFO] [stdout] 24 |             S  => Coord { x:  0, y:  1 },
[INFO] [stdout]    |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/board.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             - matches any value
[INFO] [stdout] ...
[INFO] [stdout] 25 |             SW => Coord { x: -1, y:  1 },
[INFO] [stdout]    |             ^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/board.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             - matches any value
[INFO] [stdout] ...
[INFO] [stdout] 26 |             W  => Coord { x: -1, y:  0 },
[INFO] [stdout]    |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/board.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             - matches any value
[INFO] [stdout] ...
[INFO] [stdout] 27 |             NW => Coord { x: -1, y: -1 },
[INFO] [stdout]    |             ^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `N`
[INFO] [stdout]   --> src/board.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_N`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `NE`
[INFO] [stdout]   --> src/board.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |             NE => Coord { x:  1, y: -1 },
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_NE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `E`
[INFO] [stdout]   --> src/board.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |             E  => Coord { x:  1, y:  0 },
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_E`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `SE`
[INFO] [stdout]   --> src/board.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |             SE => Coord { x:  1, y:  1 },
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_SE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `S`
[INFO] [stdout]   --> src/board.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             S  => Coord { x:  0, y:  1 },
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_S`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `SW`
[INFO] [stdout]   --> src/board.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |             SW => Coord { x: -1, y:  1 },
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_SW`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `W`
[INFO] [stdout]   --> src/board.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |             W  => Coord { x: -1, y:  0 },
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_W`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `NW`
[INFO] [stdout]   --> src/board.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             NW => Coord { x: -1, y: -1 },
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_NW`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `board`
[INFO] [stdout]   --> src/board.rs:61:25
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn is_game_over(board: &Board) -> bool {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `board`
[INFO] [stdout]   --> src/board.rs:68:43
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn count_captured_opponent_pieces(board: &Board, played_coord: Coord, vector: Coord) -> u8 {
[INFO] [stdout]    |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `played_coord`
[INFO] [stdout]   --> src/board.rs:68:58
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn count_captured_opponent_pieces(board: &Board, played_coord: Coord, vector: Coord) -> u8 {
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_played_coord`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vector`
[INFO] [stdout]   --> src/board.rs:68:79
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn count_captured_opponent_pieces(board: &Board, played_coord: Coord, vector: Coord) -> u8 {
[INFO] [stdout]    |                                                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `board::Reversi`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use board::Reversi;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `element`
[INFO] [stdout]   --> src/board.rs:84:32
[INFO] [stdout]    |
[INFO] [stdout] 84 |             for (column_index, element) in column_iter.enumerate() {
[INFO] [stdout]    |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `board`
[INFO] [stdout]    --> src/board.rs:101:31
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn calculate_captures(board: &Board, row: usize, column: usize) -> u8 {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row`
[INFO] [stdout]    --> src/board.rs:101:46
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn calculate_captures(board: &Board, row: usize, column: usize) -> u8 {
[INFO] [stdout]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `column`
[INFO] [stdout]    --> src/board.rs:101:58
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn calculate_captures(board: &Board, row: usize, column: usize) -> u8 {
[INFO] [stdout]     |                                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `current_player`
[INFO] [stdout]  --> src/board.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     current_player: Piece,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Coord`
[INFO] [stdout]  --> src/board.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Coord {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Direction`
[INFO] [stdout]   --> src/board.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Direction { N, NE, E, SE, S, SW, W, NW, }
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `DirectionFactory`
[INFO] [stdout]   --> src/board.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct DirectionFactory { }
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get`
[INFO] [stdout]   --> src/board.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn get(direction: Direction) -> Coord {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `BLACK_PIECE_GLYPH`
[INFO] [stdout]   --> src/board.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | const BLACK_PIECE_GLYPH: char = '*';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Reversi`
[INFO] [stdout]   --> src/board.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct Reversi { }
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_game_over`
[INFO] [stdout]   --> src/board.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn is_game_over(board: &Board) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `count_captured_opponent_pieces`
[INFO] [stdout]   --> src/board.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn count_captured_opponent_pieces(board: &Board, played_coord: Coord, vector: Coord) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `count_available_moves`
[INFO] [stdout]   --> src/board.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn count_available_moves(board: &Board) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_valid_move`
[INFO] [stdout]   --> src/board.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn is_valid_move(board: &Board, row: usize, column: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `calculate_captures`
[INFO] [stdout]    --> src/board.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn calculate_captures(board: &Board, row: usize, column: usize) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]   --> src/board.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NE` should have a snake case name
[INFO] [stdout]   --> src/board.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |             NE => Coord { x:  1, y: -1 },
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `ne`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]   --> src/board.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |             E  => Coord { x:  1, y:  0 },
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SE` should have a snake case name
[INFO] [stdout]   --> src/board.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |             SE => Coord { x:  1, y:  1 },
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `se`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `S` should have a snake case name
[INFO] [stdout]   --> src/board.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             S  => Coord { x:  0, y:  1 },
[INFO] [stdout]    |             ^ help: convert the identifier to snake case (notice the capitalization): `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SW` should have a snake case name
[INFO] [stdout]   --> src/board.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |             SW => Coord { x: -1, y:  1 },
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case (notice the capitalization): `sw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `W` should have a snake case name
[INFO] [stdout]   --> src/board.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |             W  => Coord { x: -1, y:  0 },
[INFO] [stdout]    |             ^ help: convert the identifier to snake case (notice the capitalization): `w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NW` should have a snake case name
[INFO] [stdout]   --> src/board.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             NW => Coord { x: -1, y: -1 },
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `nw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `N` is named the same as one of the variants of the type `board::Direction`
[INFO] [stdout]   --> src/board.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             ^ help: to match on the variant, qualify the path: `board::Direction::N`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bindings_with_variant_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `NE` is named the same as one of the variants of the type `board::Direction`
[INFO] [stdout]   --> src/board.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |             NE => Coord { x:  1, y: -1 },
[INFO] [stdout]    |             ^^ help: to match on the variant, qualify the path: `board::Direction::NE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `E` is named the same as one of the variants of the type `board::Direction`
[INFO] [stdout]   --> src/board.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |             E  => Coord { x:  1, y:  0 },
[INFO] [stdout]    |             ^ help: to match on the variant, qualify the path: `board::Direction::E`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `SE` is named the same as one of the variants of the type `board::Direction`
[INFO] [stdout]   --> src/board.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |             SE => Coord { x:  1, y:  1 },
[INFO] [stdout]    |             ^^ help: to match on the variant, qualify the path: `board::Direction::SE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `S` is named the same as one of the variants of the type `board::Direction`
[INFO] [stdout]   --> src/board.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             S  => Coord { x:  0, y:  1 },
[INFO] [stdout]    |             ^ help: to match on the variant, qualify the path: `board::Direction::S`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `SW` is named the same as one of the variants of the type `board::Direction`
[INFO] [stdout]   --> src/board.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |             SW => Coord { x: -1, y:  1 },
[INFO] [stdout]    |             ^^ help: to match on the variant, qualify the path: `board::Direction::SW`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `W` is named the same as one of the variants of the type `board::Direction`
[INFO] [stdout]   --> src/board.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |             W  => Coord { x: -1, y:  0 },
[INFO] [stdout]    |             ^ help: to match on the variant, qualify the path: `board::Direction::W`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `NW` is named the same as one of the variants of the type `board::Direction`
[INFO] [stdout]   --> src/board.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             NW => Coord { x: -1, y: -1 },
[INFO] [stdout]    |             ^^ help: to match on the variant, qualify the path: `board::Direction::NW`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/board.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             - matches any value
[INFO] [stdout] 21 |             NE => Coord { x:  1, y: -1 },
[INFO] [stdout]    |             ^^ unreachable pattern
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/board.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             - matches any value
[INFO] [stdout] 21 |             NE => Coord { x:  1, y: -1 },
[INFO] [stdout] 22 |             E  => Coord { x:  1, y:  0 },
[INFO] [stdout]    |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/board.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             - matches any value
[INFO] [stdout] ...
[INFO] [stdout] 23 |             SE => Coord { x:  1, y:  1 },
[INFO] [stdout]    |             ^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/board.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             - matches any value
[INFO] [stdout] ...
[INFO] [stdout] 24 |             S  => Coord { x:  0, y:  1 },
[INFO] [stdout]    |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/board.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             - matches any value
[INFO] [stdout] ...
[INFO] [stdout] 25 |             SW => Coord { x: -1, y:  1 },
[INFO] [stdout]    |             ^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/board.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             - matches any value
[INFO] [stdout] ...
[INFO] [stdout] 26 |             W  => Coord { x: -1, y:  0 },
[INFO] [stdout]    |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/board.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             - matches any value
[INFO] [stdout] ...
[INFO] [stdout] 27 |             NW => Coord { x: -1, y: -1 },
[INFO] [stdout]    |             ^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `N`
[INFO] [stdout]   --> src/board.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_N`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `NE`
[INFO] [stdout]   --> src/board.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |             NE => Coord { x:  1, y: -1 },
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_NE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `E`
[INFO] [stdout]   --> src/board.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |             E  => Coord { x:  1, y:  0 },
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_E`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `SE`
[INFO] [stdout]   --> src/board.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |             SE => Coord { x:  1, y:  1 },
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_SE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `S`
[INFO] [stdout]   --> src/board.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             S  => Coord { x:  0, y:  1 },
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_S`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `SW`
[INFO] [stdout]   --> src/board.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |             SW => Coord { x: -1, y:  1 },
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_SW`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `W`
[INFO] [stdout]   --> src/board.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |             W  => Coord { x: -1, y:  0 },
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_W`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `NW`
[INFO] [stdout]   --> src/board.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             NW => Coord { x: -1, y: -1 },
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_NW`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `board`
[INFO] [stdout]   --> src/board.rs:61:25
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn is_game_over(board: &Board) -> bool {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `board`
[INFO] [stdout]   --> src/board.rs:68:43
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn count_captured_opponent_pieces(board: &Board, played_coord: Coord, vector: Coord) -> u8 {
[INFO] [stdout]    |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `played_coord`
[INFO] [stdout]   --> src/board.rs:68:58
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn count_captured_opponent_pieces(board: &Board, played_coord: Coord, vector: Coord) -> u8 {
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_played_coord`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vector`
[INFO] [stdout]   --> src/board.rs:68:79
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn count_captured_opponent_pieces(board: &Board, played_coord: Coord, vector: Coord) -> u8 {
[INFO] [stdout]    |                                                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `element`
[INFO] [stdout]   --> src/board.rs:84:32
[INFO] [stdout]    |
[INFO] [stdout] 84 |             for (column_index, element) in column_iter.enumerate() {
[INFO] [stdout]    |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `board`
[INFO] [stdout]    --> src/board.rs:101:31
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn calculate_captures(board: &Board, row: usize, column: usize) -> u8 {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row`
[INFO] [stdout]    --> src/board.rs:101:46
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn calculate_captures(board: &Board, row: usize, column: usize) -> u8 {
[INFO] [stdout]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `column`
[INFO] [stdout]    --> src/board.rs:101:58
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn calculate_captures(board: &Board, row: usize, column: usize) -> u8 {
[INFO] [stdout]     |                                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `current_player`
[INFO] [stdout]  --> src/board.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     current_player: Piece,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Coord`
[INFO] [stdout]  --> src/board.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Coord {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Direction`
[INFO] [stdout]   --> src/board.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Direction { N, NE, E, SE, S, SW, W, NW, }
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `DirectionFactory`
[INFO] [stdout]   --> src/board.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct DirectionFactory { }
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get`
[INFO] [stdout]   --> src/board.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn get(direction: Direction) -> Coord {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `BLACK_PIECE_GLYPH`
[INFO] [stdout]   --> src/board.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | const BLACK_PIECE_GLYPH: char = '*';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Reversi`
[INFO] [stdout]   --> src/board.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct Reversi { }
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_game_over`
[INFO] [stdout]   --> src/board.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn is_game_over(board: &Board) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `count_captured_opponent_pieces`
[INFO] [stdout]   --> src/board.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn count_captured_opponent_pieces(board: &Board, played_coord: Coord, vector: Coord) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `count_available_moves`
[INFO] [stdout]   --> src/board.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn count_available_moves(board: &Board) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_valid_move`
[INFO] [stdout]   --> src/board.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn is_valid_move(board: &Board, row: usize, column: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `calculate_captures`
[INFO] [stdout]    --> src/board.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn calculate_captures(board: &Board, row: usize, column: usize) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]   --> src/board.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             N  => Coord { x:  0, y: -1 }, 
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NE` should have a snake case name
[INFO] [stdout]   --> src/board.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |             NE => Coord { x:  1, y: -1 },
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `ne`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]   --> src/board.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |             E  => Coord { x:  1, y:  0 },
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SE` should have a snake case name
[INFO] [stdout]   --> src/board.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |             SE => Coord { x:  1, y:  1 },
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `se`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `S` should have a snake case name
[INFO] [stdout]   --> src/board.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             S  => Coord { x:  0, y:  1 },
[INFO] [stdout]    |             ^ help: convert the identifier to snake case (notice the capitalization): `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SW` should have a snake case name
[INFO] [stdout]   --> src/board.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |             SW => Coord { x: -1, y:  1 },
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case (notice the capitalization): `sw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `W` should have a snake case name
[INFO] [stdout]   --> src/board.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |             W  => Coord { x: -1, y:  0 },
[INFO] [stdout]    |             ^ help: convert the identifier to snake case (notice the capitalization): `w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NW` should have a snake case name
[INFO] [stdout]   --> src/board.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             NW => Coord { x: -1, y: -1 },
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `nw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 52 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0170`.
[INFO] [stdout] 
[INFO] [stdout] warning: 52 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0170`.
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1.07s
[INFO] running `Command { std: "docker" "inspect" "d3e53af50d273df647d326ac83d860f3d4fbb81835beab0ac3b9bde03dbcf9a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d3e53af50d273df647d326ac83d860f3d4fbb81835beab0ac3b9bde03dbcf9a2", kill_on_drop: false }`
[INFO] [stdout] d3e53af50d273df647d326ac83d860f3d4fbb81835beab0ac3b9bde03dbcf9a2
