[INFO] cloning repository https://github.com/drdozer/snekrs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/drdozer/snekrs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdrdozer%2Fsnekrs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdrdozer%2Fsnekrs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 538c4c629a504a1d9880cadfb55553704526109c
[INFO] checking drdozer/snekrs against try#14731909456ca628a194900c35659dfdcb359e77 for pr-149195-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdrdozer%2Fsnekrs" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/drdozer/snekrs
[INFO] finished tweaking git repo https://github.com/drdozer/snekrs
[INFO] tweaked toml for git repo https://github.com/drdozer/snekrs written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/drdozer/snekrs on toolchain 14731909456ca628a194900c35659dfdcb359e77
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+14731909456ca628a194900c35659dfdcb359e77" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/drdozer/snekrs 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" "+14731909456ca628a194900c35659dfdcb359e77" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+14731909456ca628a194900c35659dfdcb359e77" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e0b49055f170ada6097ae349229a7f9d191e6e5ca9def7d4cec632fe2b6c3780
[INFO] running `Command { std: "docker" "start" "-a" "e0b49055f170ada6097ae349229a7f9d191e6e5ca9def7d4cec632fe2b6c3780", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e0b49055f170ada6097ae349229a7f9d191e6e5ca9def7d4cec632fe2b6c3780", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e0b49055f170ada6097ae349229a7f9d191e6e5ca9def7d4cec632fe2b6c3780", kill_on_drop: false }`
[INFO] [stdout] e0b49055f170ada6097ae349229a7f9d191e6e5ca9def7d4cec632fe2b6c3780
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+14731909456ca628a194900c35659dfdcb359e77" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 56d939fb2f72c556044fcef723aba61d11ada0e54dc16f39db0acc8d598e2a87
[INFO] running `Command { std: "docker" "start" "-a" "56d939fb2f72c556044fcef723aba61d11ada0e54dc16f39db0acc8d598e2a87", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.161
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling rustversion v1.0.18
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling rustix v0.38.38
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking foldhash v0.1.3
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]    Compiling time-macros v0.2.18
[INFO] [stderr]    Compiling indoc v2.0.5
[INFO] [stderr]     Checking hashbrown v0.15.0
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking castaway v0.2.3
[INFO] [stderr]     Checking compact_str v0.8.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking simplelog v0.12.2
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling instability v0.3.2
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking snekrs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/main.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use log::{error, info, warn};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Style` and `Stylize`
[INFO] [stdout]   --> src/main.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     style::{Style, Stylize},
[INFO] [stdout]    |             ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/main.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::io::{self, Read, Write};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/main.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::io::{self, Read, Write};
[INFO] [stdout]    |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:573:20
[INFO] [stdout]     |
[INFO] [stdout] 573 |         assert_eq!(Direction::North.opposite(), Direction::South, "North should be opposite of South");
[INFO] [stdout]     |                    ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:573:49
[INFO] [stdout]     |
[INFO] [stdout] 573 |         assert_eq!(Direction::North.opposite(), Direction::South, "North should be opposite of South");
[INFO] [stdout]     |                                                 ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:574:20
[INFO] [stdout]     |
[INFO] [stdout] 574 |         assert_eq!(Direction::South.opposite(), Direction::North, "South should be opposite of North");
[INFO] [stdout]     |                    ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:574:49
[INFO] [stdout]     |
[INFO] [stdout] 574 |         assert_eq!(Direction::South.opposite(), Direction::North, "South should be opposite of North");
[INFO] [stdout]     |                                                 ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:575:20
[INFO] [stdout]     |
[INFO] [stdout] 575 |         assert_eq!(Direction::East.opposite(), Direction::West, "East should be opposite of West");
[INFO] [stdout]     |                    ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:575:48
[INFO] [stdout]     |
[INFO] [stdout] 575 |         assert_eq!(Direction::East.opposite(), Direction::West, "East should be opposite of West");
[INFO] [stdout]     |                                                ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:576:20
[INFO] [stdout]     |
[INFO] [stdout] 576 |         assert_eq!(Direction::West.opposite(), Direction::East, "West should be opposite of East");
[INFO] [stdout]     |                    ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:576:48
[INFO] [stdout]     |
[INFO] [stdout] 576 |         assert_eq!(Direction::West.opposite(), Direction::East, "West should be opposite of East");
[INFO] [stdout]     |                                                ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:579:20
[INFO] [stdout]     |
[INFO] [stdout] 579 |         assert_eq!(Direction::North.opposite().opposite(), Direction::North, "Double opposite of North should return to North");
[INFO] [stdout]     |                    ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:579:60
[INFO] [stdout]     |
[INFO] [stdout] 579 |         assert_eq!(Direction::North.opposite().opposite(), Direction::North, "Double opposite of North should return to North");
[INFO] [stdout]     |                                                            ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:580:20
[INFO] [stdout]     |
[INFO] [stdout] 580 |         assert_eq!(Direction::South.opposite().opposite(), Direction::South, "Double opposite of South should return to South");
[INFO] [stdout]     |                    ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:580:60
[INFO] [stdout]     |
[INFO] [stdout] 580 |         assert_eq!(Direction::South.opposite().opposite(), Direction::South, "Double opposite of South should return to South");
[INFO] [stdout]     |                                                            ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:581:20
[INFO] [stdout]     |
[INFO] [stdout] 581 |         assert_eq!(Direction::East.opposite().opposite(), Direction::East, "Double opposite of East should return to East");
[INFO] [stdout]     |                    ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:581:59
[INFO] [stdout]     |
[INFO] [stdout] 581 |         assert_eq!(Direction::East.opposite().opposite(), Direction::East, "Double opposite of East should return to East");
[INFO] [stdout]     |                                                           ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:582:20
[INFO] [stdout]     |
[INFO] [stdout] 582 |         assert_eq!(Direction::West.opposite().opposite(), Direction::West, "Double opposite of West should return to West");
[INFO] [stdout]     |                    ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:582:59
[INFO] [stdout]     |
[INFO] [stdout] 582 |         assert_eq!(Direction::West.opposite().opposite(), Direction::West, "Double opposite of West should return to West");
[INFO] [stdout]     |                                                           ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Size` is ambiguous
[INFO] [stdout]    --> src/main.rs:587:26
[INFO] [stdout]     |
[INFO] [stdout] 587 |         let arena_size = Size {
[INFO] [stdout]     |                          ^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Size` could refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] note: `Size` could also refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Size` is ambiguous
[INFO] [stdout]    --> src/main.rs:609:26
[INFO] [stdout]     |
[INFO] [stdout] 609 |         let arena_size = Size {
[INFO] [stdout]     |                          ^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Size` could refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] note: `Size` could also refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Size` is ambiguous
[INFO] [stdout]    --> src/main.rs:613:37
[INFO] [stdout]     |
[INFO] [stdout] 613 |         let non_square_arena_size = Size {
[INFO] [stdout]     |                                     ^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Size` could refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] note: `Size` could also refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Size` is ambiguous
[INFO] [stdout]    --> src/main.rs:638:26
[INFO] [stdout]     |
[INFO] [stdout] 638 |         let arena_size = Size {
[INFO] [stdout]     |                          ^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Size` could refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] note: `Size` could also refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Size` is ambiguous
[INFO] [stdout]    --> src/main.rs:661:26
[INFO] [stdout]     |
[INFO] [stdout] 661 |         let arena_size = Size {
[INFO] [stdout]     |                          ^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Size` could refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] note: `Size` could also refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Size` is ambiguous
[INFO] [stdout]    --> src/main.rs:674:26
[INFO] [stdout]     |
[INFO] [stdout] 674 |         let arena_size = Size {
[INFO] [stdout]     |                          ^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Size` could refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] note: `Size` could also refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:680:31
[INFO] [stdout]     |
[INFO] [stdout] 680 |         let delta: PosDelta = Direction::North.into();
[INFO] [stdout]     |                               ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Size` is ambiguous
[INFO] [stdout]    --> src/main.rs:687:26
[INFO] [stdout]     |
[INFO] [stdout] 687 |         let arena_size = Size {
[INFO] [stdout]     |                          ^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Size` could refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] note: `Size` could also refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:693:31
[INFO] [stdout]     |
[INFO] [stdout] 693 |         let delta: PosDelta = Direction::North.into();
[INFO] [stdout]     |                               ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:698:31
[INFO] [stdout]     |
[INFO] [stdout] 698 |         let delta: PosDelta = Direction::West.into();
[INFO] [stdout]     |                               ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Size` is ambiguous
[INFO] [stdout]    --> src/main.rs:705:26
[INFO] [stdout]     |
[INFO] [stdout] 705 |         let arena_size = Size {
[INFO] [stdout]     |                          ^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Size` could refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] note: `Size` could also refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:711:31
[INFO] [stdout]     |
[INFO] [stdout] 711 |         let delta: PosDelta = Direction::South.into();
[INFO] [stdout]     |                               ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:716:31
[INFO] [stdout]     |
[INFO] [stdout] 716 |         let delta: PosDelta = Direction::East.into();
[INFO] [stdout]     |                               ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Size` is ambiguous
[INFO] [stdout]    --> src/main.rs:723:26
[INFO] [stdout]     |
[INFO] [stdout] 723 |         let arena_size = Size {
[INFO] [stdout]     |                          ^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Size` could refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] note: `Size` could also refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:731:29
[INFO] [stdout]     |
[INFO] [stdout] 731 |             pos.wrapped_add(Direction::North.into(), arena_size),
[INFO] [stdout]     |                             ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:736:29
[INFO] [stdout]     |
[INFO] [stdout] 736 |             pos.wrapped_add(Direction::South.into(), arena_size),
[INFO] [stdout]     |                             ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:741:29
[INFO] [stdout]     |
[INFO] [stdout] 741 |             pos.wrapped_add(Direction::East.into(), arena_size),
[INFO] [stdout]     |                             ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:746:29
[INFO] [stdout]     |
[INFO] [stdout] 746 |             pos.wrapped_add(Direction::West.into(), arena_size),
[INFO] [stdout]     |                             ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:757:24
[INFO] [stdout]     |
[INFO] [stdout] 757 |             direction: Direction::North,
[INFO] [stdout]     |                        ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:772:24
[INFO] [stdout]     |
[INFO] [stdout] 772 |             direction: Direction::North,
[INFO] [stdout]     |                        ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Size` is ambiguous
[INFO] [stdout]    --> src/main.rs:793:20
[INFO] [stdout]     |
[INFO] [stdout] 793 |         let size = Size {
[INFO] [stdout]     |                    ^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Size` could refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] note: `Size` could also refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Size` is ambiguous
[INFO] [stdout]    --> src/main.rs:818:20
[INFO] [stdout]     |
[INFO] [stdout] 818 |         let size = Size {
[INFO] [stdout]     |                    ^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Size` could refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] note: `Size` could also refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:838:36
[INFO] [stdout]     |
[INFO] [stdout] 838 |         assert_eq!(snek.direction, Direction::East, "Snake should start facing East");
[INFO] [stdout]     |                                    ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Size` is ambiguous
[INFO] [stdout]    --> src/main.rs:844:20
[INFO] [stdout]     |
[INFO] [stdout] 844 |         let size = Size {
[INFO] [stdout]     |                    ^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Size` could refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] note: `Size` could also refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Size` is ambiguous
[INFO] [stdout]    --> src/main.rs:888:20
[INFO] [stdout]     |
[INFO] [stdout] 888 |         let size = Size {
[INFO] [stdout]     |                    ^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Size` could refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] note: `Size` could also refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Size` is ambiguous
[INFO] [stdout]    --> src/main.rs:902:20
[INFO] [stdout]     |
[INFO] [stdout] 902 |         let size = Size {
[INFO] [stdout]     |                    ^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Size` could refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] note: `Size` could also refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Size` is ambiguous
[INFO] [stdout]    --> src/main.rs:925:20
[INFO] [stdout]     |
[INFO] [stdout] 925 |         let size = Size {
[INFO] [stdout]     |                    ^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Size` could refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] note: `Size` could also refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Size` is ambiguous
[INFO] [stdout]    --> src/main.rs:950:20
[INFO] [stdout]     |
[INFO] [stdout] 950 |         let size = Size {
[INFO] [stdout]     |                    ^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Size` could refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] note: `Size` could also refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:956:31
[INFO] [stdout]     |
[INFO] [stdout] 956 |         haus.change_direction(Direction::East);
[INFO] [stdout]     |                               ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:957:41
[INFO] [stdout]     |
[INFO] [stdout] 957 |         assert_eq!(haus.snek.direction, Direction::East, "Snake should change to valid new direction");
[INFO] [stdout]     |                                         ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:959:31
[INFO] [stdout]     |
[INFO] [stdout] 959 |         haus.change_direction(Direction::West);
[INFO] [stdout]     |                               ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Direction` is ambiguous
[INFO] [stdout]    --> src/main.rs:960:41
[INFO] [stdout]     |
[INFO] [stdout] 960 |         assert_eq!(haus.snek.direction, Direction::East, "Snake should not be able to reverse direction");
[INFO] [stdout]     |                                         ^^^^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Direction` could refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] note: `Direction` could also refer to the enum imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Direction` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Size` is ambiguous
[INFO] [stdout]    --> src/main.rs:965:20
[INFO] [stdout]     |
[INFO] [stdout] 965 |         let size = Size {
[INFO] [stdout]     |                    ^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Size` could refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] note: `Size` could also refer to the struct imported here
[INFO] [stdout]    --> src/main.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Size` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/main.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use log::{error, info, warn};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Style` and `Stylize`
[INFO] [stdout]   --> src/main.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     style::{Style, Stylize},
[INFO] [stdout]    |             ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `North` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:573:31
[INFO] [stdout]     |
[INFO] [stdout] 573 |         assert_eq!(Direction::North.opposite(), Direction::South, "North should be opposite of South");
[INFO] [stdout]     |                               ^^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `South` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:573:60
[INFO] [stdout]     |
[INFO] [stdout] 573 |         assert_eq!(Direction::North.opposite(), Direction::South, "North should be opposite of South");
[INFO] [stdout]     |                                                            ^^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `South` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:574:31
[INFO] [stdout]     |
[INFO] [stdout] 574 |         assert_eq!(Direction::South.opposite(), Direction::North, "South should be opposite of North");
[INFO] [stdout]     |                               ^^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `North` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:574:60
[INFO] [stdout]     |
[INFO] [stdout] 574 |         assert_eq!(Direction::South.opposite(), Direction::North, "South should be opposite of North");
[INFO] [stdout]     |                                                            ^^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `East` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:575:31
[INFO] [stdout]     |
[INFO] [stdout] 575 |         assert_eq!(Direction::East.opposite(), Direction::West, "East should be opposite of West");
[INFO] [stdout]     |                               ^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `West` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:575:59
[INFO] [stdout]     |
[INFO] [stdout] 575 |         assert_eq!(Direction::East.opposite(), Direction::West, "East should be opposite of West");
[INFO] [stdout]     |                                                           ^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `West` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:576:31
[INFO] [stdout]     |
[INFO] [stdout] 576 |         assert_eq!(Direction::West.opposite(), Direction::East, "West should be opposite of East");
[INFO] [stdout]     |                               ^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `East` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:576:59
[INFO] [stdout]     |
[INFO] [stdout] 576 |         assert_eq!(Direction::West.opposite(), Direction::East, "West should be opposite of East");
[INFO] [stdout]     |                                                           ^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `North` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:579:31
[INFO] [stdout]     |
[INFO] [stdout] 579 |         assert_eq!(Direction::North.opposite().opposite(), Direction::North, "Double opposite of North should return to North");
[INFO] [stdout]     |                               ^^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `North` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:579:71
[INFO] [stdout]     |
[INFO] [stdout] 579 |         assert_eq!(Direction::North.opposite().opposite(), Direction::North, "Double opposite of North should return to North");
[INFO] [stdout]     |                                                                       ^^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `South` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:580:31
[INFO] [stdout]     |
[INFO] [stdout] 580 |         assert_eq!(Direction::South.opposite().opposite(), Direction::South, "Double opposite of South should return to South");
[INFO] [stdout]     |                               ^^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `South` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:580:71
[INFO] [stdout]     |
[INFO] [stdout] 580 |         assert_eq!(Direction::South.opposite().opposite(), Direction::South, "Double opposite of South should return to South");
[INFO] [stdout]     |                                                                       ^^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `East` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:581:31
[INFO] [stdout]     |
[INFO] [stdout] 581 |         assert_eq!(Direction::East.opposite().opposite(), Direction::East, "Double opposite of East should return to East");
[INFO] [stdout]     |                               ^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `East` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:581:70
[INFO] [stdout]     |
[INFO] [stdout] 581 |         assert_eq!(Direction::East.opposite().opposite(), Direction::East, "Double opposite of East should return to East");
[INFO] [stdout]     |                                                                      ^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `West` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:582:31
[INFO] [stdout]     |
[INFO] [stdout] 582 |         assert_eq!(Direction::West.opposite().opposite(), Direction::West, "Double opposite of West should return to West");
[INFO] [stdout]     |                               ^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `West` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:582:70
[INFO] [stdout]     |
[INFO] [stdout] 582 |         assert_eq!(Direction::West.opposite().opposite(), Direction::West, "Double opposite of West should return to West");
[INFO] [stdout]     |                                                                      ^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:594:46
[INFO] [stdout]     |
[INFO] [stdout] 594 |         let new_pos = pos.wrapped_add(delta, arena_size);
[INFO] [stdout]     |                           -----------        ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:599:46
[INFO] [stdout]     |
[INFO] [stdout] 599 |         let new_pos = pos.wrapped_add(delta, arena_size);
[INFO] [stdout]     |                           -----------        ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:603:46
[INFO] [stdout]     |
[INFO] [stdout] 603 |         let new_pos = pos.wrapped_add(delta, arena_size);
[INFO] [stdout]     |                           -----------        ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:621:46
[INFO] [stdout]     |
[INFO] [stdout] 621 |         let new_pos = pos.wrapped_add(delta, arena_size);
[INFO] [stdout]     |                           -----------        ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:626:46
[INFO] [stdout]     |
[INFO] [stdout] 626 |         let new_pos = pos.wrapped_add(delta, arena_size);
[INFO] [stdout]     |                           -----------        ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:632:46
[INFO] [stdout]     |
[INFO] [stdout] 632 |         let new_pos = pos.wrapped_add(delta, non_square_arena_size);
[INFO] [stdout]     |                           -----------        ^^^^^^^^^^^^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:645:46
[INFO] [stdout]     |
[INFO] [stdout] 645 |         let new_pos = pos.wrapped_add(delta, arena_size);
[INFO] [stdout]     |                           -----------        ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:650:46
[INFO] [stdout]     |
[INFO] [stdout] 650 |         let new_pos = pos.wrapped_add(delta, arena_size);
[INFO] [stdout]     |                           -----------        ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:655:46
[INFO] [stdout]     |
[INFO] [stdout] 655 |         let new_pos = pos.wrapped_add(delta, arena_size);
[INFO] [stdout]     |                           -----------        ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:668:46
[INFO] [stdout]     |
[INFO] [stdout] 668 |         let new_pos = pos.wrapped_add(delta, arena_size);
[INFO] [stdout]     |                           -----------        ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `North` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:680:42
[INFO] [stdout]     |
[INFO] [stdout] 680 |         let delta: PosDelta = Direction::North.into();
[INFO] [stdout]     |                                          ^^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:681:46
[INFO] [stdout]     |
[INFO] [stdout] 681 |         let new_pos = pos.wrapped_add(delta, arena_size);
[INFO] [stdout]     |                           -----------        ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `North` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:693:42
[INFO] [stdout]     |
[INFO] [stdout] 693 |         let delta: PosDelta = Direction::North.into();
[INFO] [stdout]     |                                          ^^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:694:46
[INFO] [stdout]     |
[INFO] [stdout] 694 |         let new_pos = pos.wrapped_add(delta, arena_size);
[INFO] [stdout]     |                           -----------        ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `West` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:698:42
[INFO] [stdout]     |
[INFO] [stdout] 698 |         let delta: PosDelta = Direction::West.into();
[INFO] [stdout]     |                                          ^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:699:46
[INFO] [stdout]     |
[INFO] [stdout] 699 |         let new_pos = pos.wrapped_add(delta, arena_size);
[INFO] [stdout]     |                           -----------        ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `South` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:711:42
[INFO] [stdout]     |
[INFO] [stdout] 711 |         let delta: PosDelta = Direction::South.into();
[INFO] [stdout]     |                                          ^^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:712:46
[INFO] [stdout]     |
[INFO] [stdout] 712 |         let new_pos = pos.wrapped_add(delta, arena_size);
[INFO] [stdout]     |                           -----------        ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `East` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:716:42
[INFO] [stdout]     |
[INFO] [stdout] 716 |         let delta: PosDelta = Direction::East.into();
[INFO] [stdout]     |                                          ^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:717:46
[INFO] [stdout]     |
[INFO] [stdout] 717 |         let new_pos = pos.wrapped_add(delta, arena_size);
[INFO] [stdout]     |                           -----------        ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `North` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:731:40
[INFO] [stdout]     |
[INFO] [stdout] 731 |             pos.wrapped_add(Direction::North.into(), arena_size),
[INFO] [stdout]     |                                        ^^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:731:54
[INFO] [stdout]     |
[INFO] [stdout] 731 |             pos.wrapped_add(Direction::North.into(), arena_size),
[INFO] [stdout]     |                 -----------                          ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `South` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:736:40
[INFO] [stdout]     |
[INFO] [stdout] 736 |             pos.wrapped_add(Direction::South.into(), arena_size),
[INFO] [stdout]     |                                        ^^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:736:54
[INFO] [stdout]     |
[INFO] [stdout] 736 |             pos.wrapped_add(Direction::South.into(), arena_size),
[INFO] [stdout]     |                 -----------                          ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `East` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:741:40
[INFO] [stdout]     |
[INFO] [stdout] 741 |             pos.wrapped_add(Direction::East.into(), arena_size),
[INFO] [stdout]     |                                        ^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:741:53
[INFO] [stdout]     |
[INFO] [stdout] 741 |             pos.wrapped_add(Direction::East.into(), arena_size),
[INFO] [stdout]     |                 -----------                         ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `West` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:746:40
[INFO] [stdout]     |
[INFO] [stdout] 746 |             pos.wrapped_add(Direction::West.into(), arena_size),
[INFO] [stdout]     |                                        ^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:746:53
[INFO] [stdout]     |
[INFO] [stdout] 746 |             pos.wrapped_add(Direction::West.into(), arena_size),
[INFO] [stdout]     |                 -----------                         ^^^^^^^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn wrapped_add(&self, delta: PosDelta, size: Size) -> Pos {
[INFO] [stdout]     |        ^^^^^^^^^^^                         ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `North` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:757:35
[INFO] [stdout]     |
[INFO] [stdout] 757 |             direction: Direction::North,
[INFO] [stdout]     |                                   ^^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `North` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:772:35
[INFO] [stdout]     |
[INFO] [stdout] 772 |             direction: Direction::North,
[INFO] [stdout]     |                                   ^^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:798:30
[INFO] [stdout]     |
[INFO] [stdout] 798 |         let snek = Snek::new(size, 3);
[INFO] [stdout]     |                    --------- ^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn new(size: Size, initial_length: u16) -> Self {
[INFO] [stdout]     |        ^^^ ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:822:30
[INFO] [stdout]     |
[INFO] [stdout] 822 |         let snek = Snek::new(size, 4);
[INFO] [stdout]     |                    --------- ^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn new(size: Size, initial_length: u16) -> Self {
[INFO] [stdout]     |        ^^^ ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `East` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:838:47
[INFO] [stdout]     |
[INFO] [stdout] 838 |         assert_eq!(snek.direction, Direction::East, "Snake should start facing East");
[INFO] [stdout]     |                                               ^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:848:34
[INFO] [stdout]     |
[INFO] [stdout] 848 |         let mut snek = Snek::new(size, 3);
[INFO] [stdout]     |                        --------- ^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn new(size: Size, initial_length: u16) -> Self {
[INFO] [stdout]     |        ^^^ ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:854:22
[INFO] [stdout]     |
[INFO] [stdout] 854 |         snek.slither(size);
[INFO] [stdout]     |              ------- ^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn slither(&mut self, arena_size: Size) {
[INFO] [stdout]     |        ^^^^^^^            ----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:892:38
[INFO] [stdout]     |
[INFO] [stdout] 892 |         let mut haus = SnekHaus::new(size, 3);
[INFO] [stdout]     |                        ------------- ^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn new(size: Size, initial_length: u16) -> Self {
[INFO] [stdout]     |        ^^^ ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:906:38
[INFO] [stdout]     |
[INFO] [stdout] 906 |         let mut haus = SnekHaus::new(size, 3);
[INFO] [stdout]     |                        ------------- ^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn new(size: Size, initial_length: u16) -> Self {
[INFO] [stdout]     |        ^^^ ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:929:38
[INFO] [stdout]     |
[INFO] [stdout] 929 |         let mut haus = SnekHaus::new(size, 3);
[INFO] [stdout]     |                        ------------- ^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn new(size: Size, initial_length: u16) -> Self {
[INFO] [stdout]     |        ^^^ ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:954:38
[INFO] [stdout]     |
[INFO] [stdout] 954 |         let mut haus = SnekHaus::new(size, 3);
[INFO] [stdout]     |                        ------------- ^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn new(size: Size, initial_length: u16) -> Self {
[INFO] [stdout]     |        ^^^ ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `East` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:956:42
[INFO] [stdout]     |
[INFO] [stdout] 956 |         haus.change_direction(Direction::East);
[INFO] [stdout]     |                                          ^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `East` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:957:52
[INFO] [stdout]     |
[INFO] [stdout] 957 |         assert_eq!(haus.snek.direction, Direction::East, "Snake should change to valid new direction");
[INFO] [stdout]     |                                                    ^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `West` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:959:42
[INFO] [stdout]     |
[INFO] [stdout] 959 |         haus.change_direction(Direction::West);
[INFO] [stdout]     |                                          ^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `East` found for enum `ratatui::layout::Direction` in the current scope
[INFO] [stdout]    --> src/main.rs:960:52
[INFO] [stdout]     |
[INFO] [stdout] 960 |         assert_eq!(haus.snek.direction, Direction::East, "Snake should not be able to reverse direction");
[INFO] [stdout]     |                                                    ^^^^ variant or associated item not found in `ratatui::layout::Direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:969:38
[INFO] [stdout]     |
[INFO] [stdout] 969 |         let mut haus = SnekHaus::new(size, 3);
[INFO] [stdout]     |                        ------------- ^^^^ expected `Size`, found `ratatui::layout::Size`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ratatui::layout::Size` and `Size` have similar names, but are actually distinct types
[INFO] [stdout] note: `ratatui::layout::Size` is defined in crate `ratatui`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-0.29.0/src/layout/size.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `Size` is defined in the current crate
[INFO] [stdout]    --> src/main.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout]  84 | struct Size {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn new(size: Size, initial_length: u16) -> Self {
[INFO] [stdout]     |        ^^^ ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/main.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::io::{self, Read, Write};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/main.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::io::{self, Read, Write};
[INFO] [stdout]    |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0599, E0659.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `snekrs` (bin "snekrs" test) due to 109 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "56d939fb2f72c556044fcef723aba61d11ada0e54dc16f39db0acc8d598e2a87", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "56d939fb2f72c556044fcef723aba61d11ada0e54dc16f39db0acc8d598e2a87", kill_on_drop: false }`
[INFO] [stdout] 56d939fb2f72c556044fcef723aba61d11ada0e54dc16f39db0acc8d598e2a87
