[INFO] cloning repository https://github.com/QPotato/RustTeg
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/QPotato/RustTeg" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FQPotato%2FRustTeg", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FQPotato%2FRustTeg'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0f63adf5692d2b9db1e41326b8caf7850f9b90b0
[INFO] checking QPotato/RustTeg against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FQPotato%2FRustTeg" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/QPotato/RustTeg on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/QPotato/RustTeg
[INFO] finished tweaking git repo https://github.com/QPotato/RustTeg
[INFO] tweaked toml for git repo https://github.com/QPotato/RustTeg written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/QPotato/RustTeg 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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded console_error_panic_hook v0.1.5
[INFO] [stderr]   Downloaded syn v1.0.21
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.34
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.34
[INFO] [stderr]   Downloaded wasm-bindgen-test v0.2.34
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.3.11
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.34
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.34
[INFO] [stderr]   Downloaded wasm-bindgen-test-macro v0.2.34
[INFO] [stderr]   Downloaded js-sys v0.3.11
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.34
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9e71272c0ec4fa29f12678ee16ca54062fa630cb891c42fa17cfb909f191a5cf
[INFO] running `Command { std: "docker" "start" "-a" "9e71272c0ec4fa29f12678ee16ca54062fa630cb891c42fa17cfb909f191a5cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e71272c0ec4fa29f12678ee16ca54062fa630cb891c42fa17cfb909f191a5cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e71272c0ec4fa29f12678ee16ca54062fa630cb891c42fa17cfb909f191a5cf", kill_on_drop: false }`
[INFO] [stdout] 9e71272c0ec4fa29f12678ee16ca54062fa630cb891c42fa17cfb909f191a5cf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 676c6b3fe9a5e2670759885486d649e363b7891c0a4f0283a15785f95b983895
[INFO] running `Command { std: "docker" "start" "-a" "676c6b3fe9a5e2670759885486d649e363b7891c0a4f0283a15785f95b983895", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.12
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling syn v1.0.21
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling serde v1.0.110
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.34
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling libc v0.2.70
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling ryu v1.0.4
[INFO] [stderr]     Checking itoa v0.4.5
[INFO] [stderr]    Compiling wasm-bindgen v0.2.34
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]     Checking matches v0.1.8
[INFO] [stderr]     Checking smallvec v1.4.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.6
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]     Checking unicode-bidi v0.3.4
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking unicode-normalization v0.1.12
[INFO] [stderr]     Checking either v1.5.3
[INFO] [stderr]     Checking futures v0.1.29
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling indexmap v1.3.2
[INFO] [stderr]     Checking uuid v0.7.4
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking scoped-tls v0.1.2
[INFO] [stderr]    Compiling quote v1.0.5
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking idna v0.2.0
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling wasm-bindgen-test-macro v0.2.34
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking url v2.1.1
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking chrono v0.4.11
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.34
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.34
[INFO] [stderr]    Compiling serde_derive v1.0.110
[INFO] [stderr]    Compiling juniper_codegen v0.14.2
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.34
[INFO] [stderr]     Checking serde_json v1.0.53
[INFO] [stderr]     Checking juniper v0.14.2
[INFO] [stderr]     Checking js-sys v0.3.11
[INFO] [stderr]     Checking console_error_panic_hook v0.1.5
[INFO] [stderr]     Checking wasm-bindgen-futures v0.3.11
[INFO] [stderr]     Checking wasm-bindgen-test v0.2.34
[INFO] [stderr]     Checking rusteg v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `player::*`
[INFO] [stdout]  --> src/war.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use player::*;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `player::*`
[INFO] [stdout]  --> src/war.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use player::*;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `country`
[INFO] [stdout]   --> src/map.rs:72:34
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn add_troops(&mut self, country: Country, n: TroopCount) {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_country`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/map.rs:72:52
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn add_troops(&mut self, country: Country, n: TroopCount) {
[INFO] [stdout]    |                                                    ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `country`
[INFO] [stdout]   --> src/map.rs:76:35
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn kill_troops(&mut self, country: Country, n: TroopCount) {
[INFO] [stdout]    |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_country`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/map.rs:76:53
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn kill_troops(&mut self, country: Country, n: TroopCount) {
[INFO] [stdout]    |                                                     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]   --> src/map.rs:80:35
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn move_troops(&mut self, from: Country, to: Continent) {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to`
[INFO] [stdout]   --> src/map.rs:80:50
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn move_troops(&mut self, from: Country, to: Continent) {
[INFO] [stdout]    |                                                  ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d1`
[INFO] [stdout]   --> src/war.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let d1 = vec![1, 1, 1];
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_d1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d2`
[INFO] [stdout]   --> src/war.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let d2 = vec![1, 1, 1];
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_d2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TroopScheme` is more private than the item `Turn::AddTurn::troops`
[INFO] [stdout]   --> src/round.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         troops: TroopScheme,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ field `Turn::AddTurn::troops` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `TroopScheme` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/round.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout] 7  | struct TroopScheme {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AttackResult` is never used
[INFO] [stdout]  --> src/war.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type AttackResult = (usize, usize);
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `attack` is never used
[INFO] [stdout]  --> src/war.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn attack(map: &Map, attacker: Country, defender: Country) -> AttackResult {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `use_card`, and `is_used` are never used
[INFO] [stdout]   --> src/card.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Card {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 24 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn use_card(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn is_used(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TroopScheme` is never constructed
[INFO] [stdout]  --> src/round.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct TroopScheme {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddTurn` is never constructed
[INFO] [stdout]   --> src/round.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct AddTurn {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Turn` is never used
[INFO] [stdout]   --> src/round.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Turn {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_next_turn` and `get_next_round` are never used
[INFO] [stdout]   --> src/round.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl Round {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_next_turn(&mut self, map: &Map) -> Option<Turn> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn get_next_round(self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `country`
[INFO] [stdout]   --> src/map.rs:72:34
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn add_troops(&mut self, country: Country, n: TroopCount) {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_country`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/map.rs:72:52
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn add_troops(&mut self, country: Country, n: TroopCount) {
[INFO] [stdout]    |                                                    ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `country`
[INFO] [stdout]   --> src/map.rs:76:35
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn kill_troops(&mut self, country: Country, n: TroopCount) {
[INFO] [stdout]    |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_country`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/map.rs:76:53
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn kill_troops(&mut self, country: Country, n: TroopCount) {
[INFO] [stdout]    |                                                     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]   --> src/map.rs:80:35
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn move_troops(&mut self, from: Country, to: Continent) {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to`
[INFO] [stdout]   --> src/map.rs:80:50
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn move_troops(&mut self, from: Country, to: Continent) {
[INFO] [stdout]    |                                                  ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d1`
[INFO] [stdout]   --> src/war.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let d1 = vec![1, 1, 1];
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_d1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d2`
[INFO] [stdout]   --> src/war.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let d2 = vec![1, 1, 1];
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_d2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TroopScheme` is more private than the item `Turn::AddTurn::troops`
[INFO] [stdout]   --> src/round.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         troops: TroopScheme,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ field `Turn::AddTurn::troops` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `TroopScheme` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/round.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout] 7  | struct TroopScheme {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AttackResult` is never used
[INFO] [stdout]  --> src/war.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type AttackResult = (usize, usize);
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `attack` is never used
[INFO] [stdout]  --> src/war.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn attack(map: &Map, attacker: Country, defender: Country) -> AttackResult {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `use_card`, and `is_used` are never used
[INFO] [stdout]   --> src/card.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Card {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 24 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn use_card(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn is_used(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TroopScheme` is never constructed
[INFO] [stdout]  --> src/round.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct TroopScheme {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddTurn` is never constructed
[INFO] [stdout]   --> src/round.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct AddTurn {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Turn` is never used
[INFO] [stdout]   --> src/round.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Turn {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_next_turn` and `get_next_round` are never used
[INFO] [stdout]   --> src/round.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl Round {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_next_turn(&mut self, map: &Map) -> Option<Turn> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn get_next_round(self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 11.00s
[INFO] running `Command { std: "docker" "inspect" "676c6b3fe9a5e2670759885486d649e363b7891c0a4f0283a15785f95b983895", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "676c6b3fe9a5e2670759885486d649e363b7891c0a4f0283a15785f95b983895", kill_on_drop: false }`
[INFO] [stdout] 676c6b3fe9a5e2670759885486d649e363b7891c0a4f0283a15785f95b983895
[INFO] checking QPotato/RustTeg against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FQPotato%2FRustTeg" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/QPotato/RustTeg on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/QPotato/RustTeg
[INFO] finished tweaking git repo https://github.com/QPotato/RustTeg
[INFO] tweaked toml for git repo https://github.com/QPotato/RustTeg written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/QPotato/RustTeg 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" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6e640b994b9035e7a001930ff7e5543c844b8cab1bc3ac05d30f7eb8103eea5b
[INFO] running `Command { std: "docker" "start" "-a" "6e640b994b9035e7a001930ff7e5543c844b8cab1bc3ac05d30f7eb8103eea5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6e640b994b9035e7a001930ff7e5543c844b8cab1bc3ac05d30f7eb8103eea5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6e640b994b9035e7a001930ff7e5543c844b8cab1bc3ac05d30f7eb8103eea5b", kill_on_drop: false }`
[INFO] [stdout] 6e640b994b9035e7a001930ff7e5543c844b8cab1bc3ac05d30f7eb8103eea5b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Dnon_local_definitions" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] aa46bc253257da014be263926be14e8bef0734047468d268c5e8f8ed42a7bea5
[INFO] running `Command { std: "docker" "start" "-a" "aa46bc253257da014be263926be14e8bef0734047468d268c5e8f8ed42a7bea5", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.12
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling syn v1.0.21
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling serde v1.0.110
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.34
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling libc v0.2.70
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling ryu v1.0.4
[INFO] [stderr]     Checking itoa v0.4.5
[INFO] [stderr]    Compiling wasm-bindgen v0.2.34
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]     Checking matches v0.1.8
[INFO] [stderr]     Checking smallvec v1.4.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.6
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]     Checking unicode-bidi v0.3.4
[INFO] [stderr]     Checking uuid v0.7.4
[INFO] [stderr]     Checking unicode-normalization v0.1.12
[INFO] [stderr]     Checking futures v0.1.29
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling indexmap v1.3.2
[INFO] [stderr]     Checking either v1.5.3
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking scoped-tls v0.1.2
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]    Compiling quote v1.0.5
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking idna v0.2.0
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling wasm-bindgen-test-macro v0.2.34
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking chrono v0.4.11
[INFO] [stderr]     Checking url v2.1.1
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.34
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.34
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.34
[INFO] [stderr]    Compiling serde_derive v1.0.110
[INFO] [stderr]    Compiling juniper_codegen v0.14.2
[INFO] [stderr]     Checking serde_json v1.0.53
[INFO] [stderr]     Checking juniper v0.14.2
[INFO] [stderr]     Checking js-sys v0.3.11
[INFO] [stderr]     Checking console_error_panic_hook v0.1.5
[INFO] [stderr]     Checking wasm-bindgen-futures v0.3.11
[INFO] [stderr]     Checking wasm-bindgen-test v0.2.34
[INFO] [stderr]     Checking rusteg v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `player::*`
[INFO] [stdout]  --> src/war.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use player::*;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `player::*`
[INFO] [stdout]  --> src/war.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use player::*;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `country`
[INFO] [stdout]   --> src/map.rs:72:34
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn add_troops(&mut self, country: Country, n: TroopCount) {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_country`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/map.rs:72:52
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn add_troops(&mut self, country: Country, n: TroopCount) {
[INFO] [stdout]    |                                                    ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `country`
[INFO] [stdout]   --> src/map.rs:76:35
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn kill_troops(&mut self, country: Country, n: TroopCount) {
[INFO] [stdout]    |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_country`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/map.rs:76:53
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn kill_troops(&mut self, country: Country, n: TroopCount) {
[INFO] [stdout]    |                                                     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]   --> src/map.rs:80:35
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn move_troops(&mut self, from: Country, to: Continent) {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to`
[INFO] [stdout]   --> src/map.rs:80:50
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn move_troops(&mut self, from: Country, to: Continent) {
[INFO] [stdout]    |                                                  ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d1`
[INFO] [stdout]   --> src/war.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let d1 = vec![1, 1, 1];
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_d1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d2`
[INFO] [stdout]   --> src/war.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let d2 = vec![1, 1, 1];
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_d2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `country`
[INFO] [stdout]   --> src/map.rs:72:34
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn add_troops(&mut self, country: Country, n: TroopCount) {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_country`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/map.rs:72:52
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn add_troops(&mut self, country: Country, n: TroopCount) {
[INFO] [stdout]    |                                                    ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `country`
[INFO] [stdout]   --> src/map.rs:76:35
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn kill_troops(&mut self, country: Country, n: TroopCount) {
[INFO] [stdout]    |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_country`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/map.rs:76:53
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn kill_troops(&mut self, country: Country, n: TroopCount) {
[INFO] [stdout]    |                                                     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]   --> src/map.rs:80:35
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn move_troops(&mut self, from: Country, to: Continent) {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to`
[INFO] [stdout]   --> src/map.rs:80:50
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn move_troops(&mut self, from: Country, to: Continent) {
[INFO] [stdout]    |                                                  ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TroopScheme` is more private than the item `Turn::AddTurn::troops`
[INFO] [stdout]   --> src/round.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         troops: TroopScheme,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ field `Turn::AddTurn::troops` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `TroopScheme` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/round.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout] 7  | struct TroopScheme {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AttackResult` is never used
[INFO] [stdout]  --> src/war.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type AttackResult = (usize, usize);
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `attack` is never used
[INFO] [stdout]  --> src/war.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn attack(map: &Map, attacker: Country, defender: Country) -> AttackResult {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `use_card`, and `is_used` are never used
[INFO] [stdout]   --> src/card.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Card {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 24 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn use_card(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn is_used(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TroopScheme` is never constructed
[INFO] [stdout]  --> src/round.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct TroopScheme {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddTurn` is never constructed
[INFO] [stdout]   --> src/round.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct AddTurn {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Turn` is never used
[INFO] [stdout]   --> src/round.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Turn {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_next_turn` and `get_next_round` are never used
[INFO] [stdout]   --> src/round.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl Round {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_next_turn(&mut self, map: &Map) -> Option<Turn> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn get_next_round(self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/player.rs:5:51
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Copy, PartialEq, Eq, Debug, Hash, Serialize, Deserialize)]
[INFO] [stdout]   |                                                   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Player`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/player.rs:5:62
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Copy, PartialEq, Eq, Debug, Hash, Serialize, Deserialize)]
[INFO] [stdout]   |                                                              ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Player`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/player.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Serialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_PlayerInfo`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/map.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Debug, Serialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Ocupation`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/map.rs:16:38
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Hash, PartialEq, Eq, Serialize)]
[INFO] [stdout]    |                                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Continent`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/map.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Serialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Map`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/card.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Symbol`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/card.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Symbol`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/card.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Serialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Card`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/card.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[derive(Debug, Serialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_CardState`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/round.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_RoundType`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/round.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_RoundType`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/round.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Round`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/round.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Round`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/action.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_ActionType`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/action.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_ActionType`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/action.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_ActionResult`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/action.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_ActionResult`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/action.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Action`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/action.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Action`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/game.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Debug, Serialize)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Game`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d1`
[INFO] [stdout]   --> src/war.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let d1 = vec![1, 1, 1];
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_d1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d2`
[INFO] [stdout]   --> src/war.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let d2 = vec![1, 1, 1];
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_d2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 21 previous errors; 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rusteg` (lib) due to 22 previous errors; 17 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: type `TroopScheme` is more private than the item `Turn::AddTurn::troops`
[INFO] [stdout]   --> src/round.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         troops: TroopScheme,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ field `Turn::AddTurn::troops` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `TroopScheme` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/round.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout] 7  | struct TroopScheme {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AttackResult` is never used
[INFO] [stdout]  --> src/war.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type AttackResult = (usize, usize);
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `attack` is never used
[INFO] [stdout]  --> src/war.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn attack(map: &Map, attacker: Country, defender: Country) -> AttackResult {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `use_card`, and `is_used` are never used
[INFO] [stdout]   --> src/card.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Card {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 24 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn use_card(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn is_used(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TroopScheme` is never constructed
[INFO] [stdout]  --> src/round.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct TroopScheme {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddTurn` is never constructed
[INFO] [stdout]   --> src/round.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct AddTurn {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Turn` is never used
[INFO] [stdout]   --> src/round.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Turn {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_next_turn` and `get_next_round` are never used
[INFO] [stdout]   --> src/round.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl Round {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_next_turn(&mut self, map: &Map) -> Option<Turn> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn get_next_round(self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/player.rs:5:51
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Copy, PartialEq, Eq, Debug, Hash, Serialize, Deserialize)]
[INFO] [stdout]   |                                                   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Player`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/player.rs:5:62
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Copy, PartialEq, Eq, Debug, Hash, Serialize, Deserialize)]
[INFO] [stdout]   |                                                              ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Player`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/player.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Serialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_PlayerInfo`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/map.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Debug, Serialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Ocupation`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/map.rs:16:38
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Hash, PartialEq, Eq, Serialize)]
[INFO] [stdout]    |                                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Continent`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/map.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Serialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Map`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/card.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Symbol`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/card.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Symbol`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/card.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Serialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Card`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/card.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[derive(Debug, Serialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_CardState`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/round.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_RoundType`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/round.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_RoundType`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/round.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Round`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/round.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Round`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/action.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_ActionType`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/action.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_ActionType`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/action.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_ActionResult`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/action.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_ActionResult`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/action.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Action`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/action.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Action`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/game.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Debug, Serialize)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Game`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 21 previous errors; 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rusteg` (lib test) due to 22 previous errors; 17 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "aa46bc253257da014be263926be14e8bef0734047468d268c5e8f8ed42a7bea5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa46bc253257da014be263926be14e8bef0734047468d268c5e8f8ed42a7bea5", kill_on_drop: false }`
[INFO] [stdout] aa46bc253257da014be263926be14e8bef0734047468d268c5e8f8ed42a7bea5
