[INFO] cloning repository https://github.com/Firfi/sstackrr-backend
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Firfi/sstackrr-backend" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFirfi%2Fsstackrr-backend", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFirfi%2Fsstackrr-backend'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5ee2df03974ce0b6a06587d81d093b40f4adfe27
[INFO] checking Firfi/sstackrr-backend against db8f076d2619ce2585b0380dda06e8da25a40da4 for pr-163699
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFirfi%2Fsstackrr-backend" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Firfi/sstackrr-backend
[INFO] finished tweaking git repo https://github.com/Firfi/sstackrr-backend
[INFO] tweaked toml for git repo https://github.com/Firfi/sstackrr-backend written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Firfi/sstackrr-backend on toolchain db8f076d2619ce2585b0380dda06e8da25a40da4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db8f076d2619ce2585b0380dda06e8da25a40da4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Firfi/sstackrr-backend 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" "+db8f076d2619ce2585b0380dda06e8da25a40da4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tower-http v0.2.5
[INFO] [stderr]   Downloaded tracing-core v0.1.26
[INFO] [stderr]   Downloaded tokio-stream v0.1.8
[INFO] [stderr]   Downloaded strum_macros v0.24.0
[INFO] [stderr]   Downloaded rayon-core v1.9.2
[INFO] [stderr]   Downloaded rayon v1.5.2
[INFO] [stderr]   Downloaded libc v0.2.123
[INFO] [stderr]   Downloaded triomphe v0.1.5
[INFO] [stderr]   Downloaded num-bigint v0.4.3
[INFO] [stderr]   Downloaded moka v0.8.2
[INFO] [stderr]   Downloaded pulldown-cmark v0.9.1
[INFO] [stderr]   Downloaded cargo-platform v0.1.2
[INFO] [stderr]   Downloaded bytecount v0.6.2
[INFO] [stderr]   Downloaded scheduled-thread-pool v0.2.5
[INFO] [stderr]   Downloaded semver v1.0.7
[INFO] [stderr]   Downloaded camino v1.0.7
[INFO] [stderr]   Downloaded quanta v0.9.3
[INFO] [stderr]   Downloaded raw-cpuid v10.3.0
[INFO] [stderr]   Downloaded futures-timer v3.0.2
[INFO] [stderr]   Downloaded diesel_migrations v1.4.0
[INFO] [stderr]   Downloaded migrations_macros v1.4.2
[INFO] [stderr]   Downloaded migrations_internals v1.4.1
[INFO] [stderr]   Downloaded r2d2 v0.8.9
[INFO] [stderr]   Downloaded httparse v1.7.0
[INFO] [stderr]   Downloaded sha-1 v0.10.0
[INFO] [stderr]   Downloaded diesel-derive-newtype v0.1.2
[INFO] [stderr]   Downloaded syn v0.14.9
[INFO] [stderr]   Downloaded diesel-derive-enum v1.1.2
[INFO] [stderr]   Downloaded axum v0.5.1
[INFO] [stderr]   Downloaded tokio-tungstenite v0.17.1
[INFO] [stderr]   Downloaded tungstenite v0.17.2
[INFO] [stderr]   Downloaded headers v0.3.7
[INFO] [stderr]   Downloaded spin v0.9.2
[INFO] [stderr]   Downloaded async-graphql-parser v3.0.38
[INFO] [stderr]   Downloaded pest_generator v2.1.3
[INFO] [stderr]   Downloaded pest_meta v2.1.3
[INFO] [stderr]   Downloaded sha-1 v0.8.2
[INFO] [stderr]   Downloaded fake-simd v0.1.2
[INFO] [stderr]   Downloaded axum-core v0.2.1
[INFO] [stderr]   Downloaded async-graphql-axum v3.0.38
[INFO] [stderr]   Downloaded multer v2.0.2
[INFO] [stderr]   Downloaded async-graphql-value v3.0.38
[INFO] [stderr]   Downloaded pest_derive v2.1.0
[INFO] [stderr]   Downloaded async-graphql v3.0.38
[INFO] [stderr]   Downloaded async-graphql-derive v3.0.38
[INFO] [stderr]   Downloaded proc-macro-crate v1.1.3
[INFO] [stderr]   Downloaded toml v0.5.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 71765c6ea0b1019d47cf95b565d30e3802a76ee9cc3a8cd6ea0d22b9e23a3302
[INFO] running `Command { std: "docker" "start" "71765c6ea0b1019d47cf95b565d30e3802a76ee9cc3a8cd6ea0d22b9e23a3302", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "71765c6ea0b1019d47cf95b565d30e3802a76ee9cc3a8cd6ea0d22b9e23a3302", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "71765c6ea0b1019d47cf95b565d30e3802a76ee9cc3a8cd6ea0d22b9e23a3302" "/opt/rustwide/cargo-home/bin/cargo" "+db8f076d2619ce2585b0380dda06e8da25a40da4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "71765c6ea0b1019d47cf95b565d30e3802a76ee9cc3a8cd6ea0d22b9e23a3302", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "71765c6ea0b1019d47cf95b565d30e3802a76ee9cc3a8cd6ea0d22b9e23a3302" "/opt/rustwide/cargo-home/bin/cargo" "+db8f076d2619ce2585b0380dda06e8da25a40da4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.37
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.91
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]    Compiling libc v0.2.123
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling log v0.4.16
[INFO] [stderr]     Checking smallvec v1.8.0
[INFO] [stderr]     Checking itoa v1.0.1
[INFO] [stderr]     Checking pin-project-lite v0.2.8
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.2
[INFO] [stderr]     Checking once_cell v1.10.0
[INFO] [stderr]     Checking futures-io v0.3.21
[INFO] [stderr]    Compiling futures-util v0.3.21
[INFO] [stderr]    Compiling typenum v1.15.0
[INFO] [stderr]    Compiling indexmap v1.8.1
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling httparse v1.7.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.8
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking tracing-core v0.1.26
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling generic-array v0.14.5
[INFO] [stderr]     Checking tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stderr]     Checking tinyvec v1.5.1
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]     Checking ryu v1.0.9
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]    Compiling serde_json v1.0.79
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking unicode-bidi v0.3.7
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking getrandom v0.2.6
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking socket2 v0.4.4
[INFO] [stderr]     Checking mio v0.8.2
[INFO] [stderr]     Checking cpufeatures v0.2.2
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]     Checking parking_lot v0.12.0
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]    Compiling async-trait v0.1.53
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.8
[INFO] [stderr]    Compiling pq-sys v0.4.6
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling multer v2.0.2
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling quote v1.0.18
[INFO] [stderr]     Checking scheduled-thread-pool v0.2.5
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling rayon-core v1.9.2
[INFO] [stderr]     Checking r2d2 v0.8.9
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.4
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling pest_meta v2.1.3
[INFO] [stderr]     Checking spin v0.9.2
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking unicode-normalization v0.1.19
[INFO] [stderr]     Checking ascii_utils v0.9.3
[INFO] [stderr]    Compiling rustversion v1.0.6
[INFO] [stderr]     Checking fastrand v1.7.0
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking fast_chemail v0.9.6
[INFO] [stderr]     Checking tempfile v3.3.0
[INFO] [stderr]     Checking raw-cpuid v10.3.0
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]    Compiling rayon v1.5.2
[INFO] [stderr]    Compiling moka v0.8.2
[INFO] [stderr]    Compiling syn v0.14.9
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking triomphe v0.1.5
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking tagptr v0.2.0
[INFO] [stderr]     Checking futures-timer v3.0.2
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking crypto-common v0.1.3
[INFO] [stderr]     Checking block-buffer v0.10.2
[INFO] [stderr]     Checking digest v0.10.3
[INFO] [stderr]     Checking sha-1 v0.10.0
[INFO] [stderr]     Checking url v2.2.2
[INFO] [stderr]    Compiling regex v1.5.5
[INFO] [stderr]     Checking quanta v0.9.3
[INFO] [stderr]    Compiling Inflector v0.11.4
[INFO] [stderr]    Compiling pest_generator v2.1.3
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]    Compiling futures-macro v0.3.21
[INFO] [stderr]    Compiling tokio-macros v1.7.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling tracing-attributes v0.1.20
[INFO] [stderr]    Compiling diesel_derives v1.4.1
[INFO] [stderr]    Compiling pin-project-internal v1.0.10
[INFO] [stderr]    Compiling async-stream-impl v0.3.3
[INFO] [stderr]    Compiling diesel-derive-enum v1.1.2
[INFO] [stderr]    Compiling strum_macros v0.24.0
[INFO] [stderr]    Compiling pest_derive v2.1.0
[INFO] [stderr]     Checking async-stream v0.3.3
[INFO] [stderr]     Checking tracing v0.1.34
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]     Checking thiserror v1.0.30
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]     Checking pin-project v1.0.10
[INFO] [stderr]    Compiling diesel v1.4.8
[INFO] [stderr]     Checking bytes v1.1.0
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking http v0.2.6
[INFO] [stderr]     Checking tokio v1.17.0
[INFO] [stderr]    Compiling toml v0.5.9
[INFO] [stderr]     Checking async-graphql-value v3.0.38
[INFO] [stderr]     Checking async-graphql-parser v3.0.38
[INFO] [stderr]    Compiling proc-macro-crate v1.1.3
[INFO] [stderr]     Checking http-body v0.4.4
[INFO] [stderr]     Checking headers-core v0.2.0
[INFO] [stderr]     Checking tungstenite v0.17.2
[INFO] [stderr]     Checking headers v0.3.7
[INFO] [stderr]     Checking axum-core v0.2.1
[INFO] [stderr]    Compiling async-graphql-derive v3.0.38
[INFO] [stderr]    Compiling migrations_internals v1.4.1
[INFO] [stderr]    Compiling diesel-derive-newtype v0.1.2
[INFO] [stderr]     Checking tokio-util v0.7.1
[INFO] [stderr]     Checking tokio-tungstenite v0.17.1
[INFO] [stderr]     Checking tokio-util v0.6.9
[INFO] [stderr]     Checking tokio-stream v0.1.8
[INFO] [stderr]    Compiling migrations_macros v1.4.2
[INFO] [stderr]     Checking h2 v0.3.13
[INFO] [stderr]     Checking tower v0.4.12
[INFO] [stderr]     Checking tower-http v0.2.5
[INFO] [stderr]     Checking async-graphql v3.0.38
[INFO] [stderr]     Checking hyper v0.14.18
[INFO] [stderr]     Checking axum v0.5.1
[INFO] [stderr]     Checking diesel_migrations v1.4.0
[INFO] [stderr]     Checking async-graphql-axum v3.0.38
[INFO] [stderr]     Checking sstackrr-backend v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `fetch_game_state`
[INFO] [stdout]  --> src/adversary.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::db::{fetch_game_state};
[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 import: `std::cell::Cell`
[INFO] [stdout]  --> src/adversary_minimax.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::Cell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/adversary_minimax.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::db::GameStateSerialized`
[INFO] [stdout]  --> src/adversary_minimax.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::db::GameStateSerialized;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fetch_game_state`
[INFO] [stdout]  --> src/adversary.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::db::{fetch_game_state};
[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 import: `std::cell::Cell`
[INFO] [stdout]  --> src/adversary_minimax.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::Cell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/adversary_minimax.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::db::GameStateSerialized`
[INFO] [stdout]  --> src/adversary_minimax.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::db::GameStateSerialized;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Blue`
[INFO] [stdout]    --> src/adversary_minimax.rs:155:31
[INFO] [stdout]     |
[INFO] [stdout] 155 |     use crate::game::Player::{Blue, Red};
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]   --> src/game.rs:82:30
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let (size_x, size_y, field) = (self.size_x, self.size_y, &self.field);
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]   --> src/game.rs:82:30
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let (size_x, size_y, field) = (self.size_x, self.size_y, &self.field);
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]   --> src/adversary.rs:97:20
[INFO] [stdout]    |
[INFO] [stdout] 97 |                 Ok(player) => {
[INFO] [stdout]    |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/adversary_minimax.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let mut try_game = &mut game.clone();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/adversary_minimax.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |                      mut alpha: i32,
[INFO] [stdout]    |                      ----^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/adversary_minimax.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let mut possible_moves = game.possible_moves(); // so the caller won't trick us with a wrong depth
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/adversary_minimax.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut max = (game.size_x() as i32 * game.size_y() as i32 - 1 - game.current_depth() as i32) / 2;
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/adversary_minimax.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let mut best_move: Mutex<Option<Move>> = Mutex::new(None);
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/adversary_minimax.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut new_alpha: AtomicI32 = AtomicI32::new(alpha.clone());
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/adversary_minimax.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let r = minimax(&State::deserialize(&GameStateSerialized(PERFORMANCE_TEST.to_string())).unwrap());
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_turn_winning` is never used
[INFO] [stdout]    --> src/game.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub trait GameOperations<T: MatrixOperations = Self> {
[INFO] [stdout]     |           -------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn is_turn_winning(&self, turn: &Turn) -> bool;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` in tuple element 1 that must be used
[INFO] [stdout]   --> src/main.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | /     tokio::join!(run_subscribe_bots(), axum::Server::bind(&format!("0.0.0.0:{}", &port).parse().unwrap())
[INFO] [stdout] 73 | |         .serve(app.into_make_service()));
[INFO] [stdout]    | |________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/game.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn split_row(s: &str) -> SplitWhitespace {
[INFO] [stdout]    |                 ^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn split_row(s: &str) -> SplitWhitespace<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/db.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     embedded_migrations::run(&STATICS.db_connection.get().unwrap());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let _unused = embedded_migrations::run(&STATICS.db_connection.get().unwrap());
[INFO] [stdout]    |     +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `ToSql` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stdout] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stdout]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `AsExpression` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stdout] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stdout]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                 -^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `AsExpression` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stdout] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stdout]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `FromSql` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stdout] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stdout]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `FromSqlRow` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stdout] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stdout]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Queryable` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stdout] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stdout]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `QueryId` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stdout] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stdout]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/db.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         f.write_str("GameStateSerialized(\n");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let _ = f.write_str("GameStateSerialized(\n");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:79:33
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `ToSql` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stdout] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stdout]    |            ----------- `PlayerToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:79:33
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `AsExpression` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stdout] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stdout]    |            ----------- `PlayerToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:79:33
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 -^^^^^^^^^^^^
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `AsExpression` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stdout] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stdout]    |            ----------- `PlayerToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:79:33
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `FromSql` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stdout] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stdout]    |            ----------- `PlayerToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:79:33
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `FromSqlRow` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stdout] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stdout]    |            ----------- `PlayerToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:79:33
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `Queryable` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stdout] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stdout]    |            ----------- `PlayerToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:79:33
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `QueryId` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stdout] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stdout]    |            ----------- `PlayerToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `ToSql` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stdout] 82 | pub struct GameToken(pub Uuid);
[INFO] [stdout]    |            --------- `GameToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `AsExpression` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stdout] 82 | pub struct GameToken(pub Uuid);
[INFO] [stdout]    |            --------- `GameToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 -^^^^^^^^^^^^
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `AsExpression` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stdout] 82 | pub struct GameToken(pub Uuid);
[INFO] [stdout]    |            --------- `GameToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `FromSql` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stdout] 82 | pub struct GameToken(pub Uuid);
[INFO] [stdout]    |            --------- `GameToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `FromSqlRow` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stdout] 82 | pub struct GameToken(pub Uuid);
[INFO] [stdout]    |            --------- `GameToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `Queryable` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stdout] 82 | pub struct GameToken(pub Uuid);
[INFO] [stdout]    |            --------- `GameToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `QueryId` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stdout] 82 | pub struct GameToken(pub Uuid);
[INFO] [stdout]    |            --------- `GameToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db_schema.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stdout]   |          ^--------
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Queryable` is not local
[INFO] [stdout]   |          move the `impl` block outside of this function `_impl_queryable_for_dbgame`
[INFO] [stdout] 8 | #[table_name="games"]
[INFO] [stdout] 9 | pub struct DbGame {
[INFO] [stdout]   |            ------ `DbGame` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Queryable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Queryable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: this warning originates in the derive macro `Queryable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db_schema.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stdout]   |                     ^---------
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     `Insertable` is not local
[INFO] [stdout]   |                     `table` is not local
[INFO] [stdout]   |                     move the `impl` block outside of this function `_impl_insertable_for_dbgame`
[INFO] [stdout] 8 | #[table_name="games"]
[INFO] [stdout] 9 | pub struct DbGame {
[INFO] [stdout]   |            ------ `DbGame` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Insertable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Insertable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: this warning originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db_schema.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stdout]   |                     -^^^^^^^^^
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     `Insertable` is not local
[INFO] [stdout]   |                     `table` is not local
[INFO] [stdout]   |                     move the `impl` block outside of this function `_impl_insertable_for_dbgame`
[INFO] [stdout] 8 | #[table_name="games"]
[INFO] [stdout] 9 | pub struct DbGame {
[INFO] [stdout]   |            ------ `DbGame` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Insertable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Insertable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: this warning originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db_schema.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stdout]   |                     ^---------
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     `UndecoratedInsertRecord` is not local
[INFO] [stdout]   |                     `table` is not local
[INFO] [stdout]   |                     move the `impl` block outside of this function `_impl_insertable_for_dbgame`
[INFO] [stdout] 8 | #[table_name="games"]
[INFO] [stdout] 9 | pub struct DbGame {
[INFO] [stdout]   |            ------ `DbGame` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Insertable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Insertable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: this warning originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db_schema.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stdout]   |                                 ^-----------
[INFO] [stdout]   |                                 |
[INFO] [stdout]   |                                 `HasTable` is not local
[INFO] [stdout]   |                                 move the `impl` block outside of this function `_impl_identifiable_for_dbgame`
[INFO] [stdout] 8 | #[table_name="games"]
[INFO] [stdout] 9 | pub struct DbGame {
[INFO] [stdout]   |            ------ `DbGame` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Identifiable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db_schema.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stdout]   |                                 ^^^^^^^^^^^^
[INFO] [stdout]   |                                 |
[INFO] [stdout]   |                                 `Identifiable` is not local
[INFO] [stdout]   |                                 move the `impl` block outside of this function `_impl_identifiable_for_dbgame`
[INFO] [stdout] 8 | #[table_name="games"]
[INFO] [stdout] 9 | pub struct DbGame {
[INFO] [stdout]   |            ------ `DbGame` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Identifiable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db_schema.rs:7:47
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stdout]   |                                               ^^^^^^^^^^^
[INFO] [stdout]   |                                               |
[INFO] [stdout]   |                                               `AsChangeset` is not local
[INFO] [stdout]   |                                               move the `impl` block outside of this function `_impl_as_changeset_for_dbgame`
[INFO] [stdout] 8 | #[table_name="games"]
[INFO] [stdout] 9 | pub struct DbGame {
[INFO] [stdout]   |            ------ `DbGame` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `AsChangeset` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db_schema.rs:7:47
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stdout]   |                                               ^----------
[INFO] [stdout]   |                                               |
[INFO] [stdout]   |                                               `AsChangeset` is not local
[INFO] [stdout]   |                                               move the `impl` block outside of this function `_impl_as_changeset_for_dbgame`
[INFO] [stdout] 8 | #[table_name="games"]
[INFO] [stdout] 9 | pub struct DbGame {
[INFO] [stdout]   |            ------ `DbGame` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `AsChangeset` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stdout]    |          ^-----------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `HasTable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this function `_impl_identifiable_for_dbgameplayerredupdate`
[INFO] [stdout] 47 | #[table_name="games"]
[INFO] [stdout] 48 | pub struct DbGamePlayerRedUpdate {
[INFO] [stdout]    |            --------------------- `DbGamePlayerRedUpdate` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Identifiable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Identifiable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this function `_impl_identifiable_for_dbgameplayerredupdate`
[INFO] [stdout] 47 | #[table_name="games"]
[INFO] [stdout] 48 | pub struct DbGamePlayerRedUpdate {
[INFO] [stdout]    |            --------------------- `DbGamePlayerRedUpdate` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Identifiable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema.rs:46:24
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `AsChangeset` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this function `_impl_as_changeset_for_dbgameplayerredupdate`
[INFO] [stdout] 47 | #[table_name="games"]
[INFO] [stdout] 48 | pub struct DbGamePlayerRedUpdate {
[INFO] [stdout]    |            --------------------- `DbGamePlayerRedUpdate` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `AsChangeset` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]   --> src/adversary.rs:97:20
[INFO] [stdout]    |
[INFO] [stdout] 97 |                 Ok(player) => {
[INFO] [stdout]    |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema.rs:46:24
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stdout]    |                        ^----------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `AsChangeset` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this function `_impl_as_changeset_for_dbgameplayerredupdate`
[INFO] [stdout] 47 | #[table_name="games"]
[INFO] [stdout] 48 | pub struct DbGamePlayerRedUpdate {
[INFO] [stdout]    |            --------------------- `DbGamePlayerRedUpdate` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `AsChangeset` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stdout]    |          ^-----------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `HasTable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this function `_impl_identifiable_for_dbgameplayerblueupdate`
[INFO] [stdout] 54 | #[table_name="games"]
[INFO] [stdout] 55 | pub struct DbGamePlayerBlueUpdate {
[INFO] [stdout]    |            ---------------------- `DbGamePlayerBlueUpdate` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Identifiable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Identifiable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this function `_impl_identifiable_for_dbgameplayerblueupdate`
[INFO] [stdout] 54 | #[table_name="games"]
[INFO] [stdout] 55 | pub struct DbGamePlayerBlueUpdate {
[INFO] [stdout]    |            ---------------------- `DbGamePlayerBlueUpdate` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Identifiable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema.rs:53:24
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `AsChangeset` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this function `_impl_as_changeset_for_dbgameplayerblueupdate`
[INFO] [stdout] 54 | #[table_name="games"]
[INFO] [stdout] 55 | pub struct DbGamePlayerBlueUpdate {
[INFO] [stdout]    |            ---------------------- `DbGamePlayerBlueUpdate` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `AsChangeset` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema.rs:53:24
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stdout]    |                        ^----------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `AsChangeset` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this function `_impl_as_changeset_for_dbgameplayerblueupdate`
[INFO] [stdout] 54 | #[table_name="games"]
[INFO] [stdout] 55 | pub struct DbGamePlayerBlueUpdate {
[INFO] [stdout]    |            ---------------------- `DbGamePlayerBlueUpdate` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `AsChangeset` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/adversary_minimax.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | /     possible_moves.into_par_iter().try_for_each(|m| {
[INFO] [stdout] 118 | |         let mut try_game = &mut game.clone();
[INFO] [stdout] 119 | |         try_game.push_move(m).unwrap();
[INFO] [stdout] 120 | |         let hash = try_game.hash_non_historical();
[INFO] [stdout] ...   |
[INFO] [stdout] 141 | |         return Ok(());
[INFO] [stdout] 142 | |     });
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let _ = possible_moves.into_par_iter().try_for_each(|m| {
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema_macro.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / table! {
[INFO] [stdout]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stdout]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stdout]  4 | |     games {
[INFO] [stdout] ...  |
[INFO] [stdout] 11 | | }
[INFO] [stdout]    | | ^
[INFO] [stdout]    | | |
[INFO] [stdout]    | | `table` is not local
[INFO] [stdout]    | |_`QueryId` is not local
[INFO] [stdout]    |   move the `impl` block outside of this function `_impl_query_id_for_table`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema_macro.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / table! {
[INFO] [stdout]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stdout]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stdout]  4 | |     games {
[INFO] [stdout]  5 | |         id -> Uuid,
[INFO] [stdout]    | |         -- `id` is not local
[INFO] [stdout] ...  |
[INFO] [stdout] 11 | | }
[INFO] [stdout]    | | ^
[INFO] [stdout]    | | |
[INFO] [stdout]    | |_`QueryId` is not local
[INFO] [stdout]    |   move the `impl` block outside of this function `_impl_query_id_for_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/adversary_minimax.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let mut try_game = &mut game.clone();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema_macro.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / table! {
[INFO] [stdout]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stdout]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stdout]  4 | |     games {
[INFO] [stdout]  5 | |         id -> Uuid,
[INFO] [stdout]  6 | |         state -> Text,
[INFO] [stdout]    | |         ----- `state` is not local
[INFO] [stdout] ...  |
[INFO] [stdout] 11 | | }
[INFO] [stdout]    | | ^
[INFO] [stdout]    | | |
[INFO] [stdout]    | |_`QueryId` is not local
[INFO] [stdout]    |   move the `impl` block outside of this function `_impl_query_id_for_state`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/adversary_minimax.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |                      mut alpha: i32,
[INFO] [stdout]    |                      ----^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/adversary_minimax.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let mut possible_moves = game.possible_moves(); // so the caller won't trick us with a wrong depth
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/adversary_minimax.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut max = (game.size_x() as i32 * game.size_y() as i32 - 1 - game.current_depth() as i32) / 2;
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/adversary_minimax.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let mut best_move: Mutex<Option<Move>> = Mutex::new(None);
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/adversary_minimax.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut new_alpha: AtomicI32 = AtomicI32::new(alpha.clone());
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema_macro.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / table! {
[INFO] [stdout]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stdout]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stdout]  4 | |     games {
[INFO] [stdout] ...  |
[INFO] [stdout]  7 | |         player_red -> Nullable<Uuid>,
[INFO] [stdout]    | |         ---------- `player_red` is not local
[INFO] [stdout] ...  |
[INFO] [stdout] 11 | | }
[INFO] [stdout]    | | ^
[INFO] [stdout]    | | |
[INFO] [stdout]    | |_`QueryId` is not local
[INFO] [stdout]    |   move the `impl` block outside of this function `_impl_query_id_for_player_red`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema_macro.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / table! {
[INFO] [stdout]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stdout]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stdout]  4 | |     games {
[INFO] [stdout] ...  |
[INFO] [stdout]  8 | |         player_blue -> Nullable<Uuid>,
[INFO] [stdout]    | |         ----------- `player_blue` is not local
[INFO] [stdout] ...  |
[INFO] [stdout] 11 | | }
[INFO] [stdout]    | | ^
[INFO] [stdout]    | | |
[INFO] [stdout]    | |_`QueryId` is not local
[INFO] [stdout]    |   move the `impl` block outside of this function `_impl_query_id_for_player_blue`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema_macro.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / table! {
[INFO] [stdout]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stdout]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stdout]  4 | |     games {
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | |         bot_id -> Nullable<BotIdMapping>,
[INFO] [stdout]    | |         ------ `bot_id` is not local
[INFO] [stdout] 10 | |     }
[INFO] [stdout] 11 | | }
[INFO] [stdout]    | | ^
[INFO] [stdout]    | | |
[INFO] [stdout]    | |_`QueryId` is not local
[INFO] [stdout]    |   move the `impl` block outside of this function `_impl_query_id_for_bot_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `line_iterators` and `lines` are never used
[INFO] [stdout]   --> src/game.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait MatrixOperations {
[INFO] [stdout]    |           ---------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 71 |     fn line_iterators(&self) -> Vec<fn(u8, u8) -> Vec<Vec<Coords>>>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 72 |     fn lines(&self) -> Vec<Vec<Vec<Coords>>>;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_turn_winning` is never used
[INFO] [stdout]    --> src/game.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub trait GameOperations<T: MatrixOperations = Self> {
[INFO] [stdout]     |           -------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn is_turn_winning(&self, turn: &Turn) -> bool;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_rows_iterator` is never used
[INFO] [stdout]    --> src/game.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn make_rows_iterator(width: u8, height: u8) -> Vec<Vec<Coords>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_columns_iterator` is never used
[INFO] [stdout]    --> src/game.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn make_columns_iterator(width: u8, height: u8) -> Vec<Vec<Coords>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_diagonal_l_iterator` is never used
[INFO] [stdout]    --> src/game.rs:166:4
[INFO] [stdout]     |
[INFO] [stdout] 166 | fn make_diagonal_l_iterator(width: u8, height: u8) -> Vec<Vec<Coords>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_diagonal_r_iterator` is never used
[INFO] [stdout]    --> src/game.rs:181:4
[INFO] [stdout]     |
[INFO] [stdout] 181 | fn make_diagonal_r_iterator(width: u8, height: u8) -> Vec<Vec<Coords>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expectimax` is never used
[INFO] [stdout]   --> src/adversary_minimax.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn expectimax(game: &State, player: Player) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` in tuple element 1 that must be used
[INFO] [stdout]   --> src/main.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | /     tokio::join!(run_subscribe_bots(), axum::Server::bind(&format!("0.0.0.0:{}", &port).parse().unwrap())
[INFO] [stdout] 73 | |         .serve(app.into_make_service()));
[INFO] [stdout]    | |________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/game.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn split_row(s: &str) -> SplitWhitespace {
[INFO] [stdout]    |                 ^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn split_row(s: &str) -> SplitWhitespace<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/db.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     embedded_migrations::run(&STATICS.db_connection.get().unwrap());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let _unused = embedded_migrations::run(&STATICS.db_connection.get().unwrap());
[INFO] [stdout]    |     +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `ToSql` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stdout] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stdout]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `AsExpression` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stdout] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stdout]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                 -^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `AsExpression` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stdout] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stdout]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `FromSql` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stdout] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stdout]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `FromSqlRow` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stdout] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stdout]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Queryable` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stdout] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stdout]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `QueryId` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stdout] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stdout]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/db.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         f.write_str("GameStateSerialized(\n");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let _ = f.write_str("GameStateSerialized(\n");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:79:33
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `ToSql` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stdout] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stdout]    |            ----------- `PlayerToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:79:33
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `AsExpression` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stdout] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stdout]    |            ----------- `PlayerToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:79:33
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 -^^^^^^^^^^^^
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `AsExpression` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stdout] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stdout]    |            ----------- `PlayerToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:79:33
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `FromSql` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stdout] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stdout]    |            ----------- `PlayerToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:79:33
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `FromSqlRow` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stdout] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stdout]    |            ----------- `PlayerToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:79:33
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `Queryable` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stdout] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stdout]    |            ----------- `PlayerToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:79:33
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `QueryId` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stdout] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stdout]    |            ----------- `PlayerToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `ToSql` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stdout] 82 | pub struct GameToken(pub Uuid);
[INFO] [stdout]    |            --------- `GameToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `AsExpression` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stdout] 82 | pub struct GameToken(pub Uuid);
[INFO] [stdout]    |            --------- `GameToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 -^^^^^^^^^^^^
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `AsExpression` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stdout] 82 | pub struct GameToken(pub Uuid);
[INFO] [stdout]    |            --------- `GameToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `FromSql` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stdout] 82 | pub struct GameToken(pub Uuid);
[INFO] [stdout]    |            --------- `GameToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `FromSqlRow` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stdout] 82 | pub struct GameToken(pub Uuid);
[INFO] [stdout]    |            --------- `GameToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `Queryable` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stdout] 82 | pub struct GameToken(pub Uuid);
[INFO] [stdout]    |            --------- `GameToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                 ^------------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `QueryId` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stdout] 82 | pub struct GameToken(pub Uuid);
[INFO] [stdout]    |            --------- `GameToken` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `DieselNewType` may come from an old version of the `diesel_derive_newtype` crate, try updating your dependency with `cargo update -p diesel_derive_newtype`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db_schema.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stdout]   |          ^--------
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Queryable` is not local
[INFO] [stdout]   |          move the `impl` block outside of this function `_impl_queryable_for_dbgame`
[INFO] [stdout] 8 | #[table_name="games"]
[INFO] [stdout] 9 | pub struct DbGame {
[INFO] [stdout]   |            ------ `DbGame` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Queryable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Queryable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: this warning originates in the derive macro `Queryable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db_schema.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stdout]   |                     ^---------
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     `Insertable` is not local
[INFO] [stdout]   |                     `table` is not local
[INFO] [stdout]   |                     move the `impl` block outside of this function `_impl_insertable_for_dbgame`
[INFO] [stdout] 8 | #[table_name="games"]
[INFO] [stdout] 9 | pub struct DbGame {
[INFO] [stdout]   |            ------ `DbGame` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Insertable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Insertable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: this warning originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db_schema.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stdout]   |                     -^^^^^^^^^
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     `Insertable` is not local
[INFO] [stdout]   |                     `table` is not local
[INFO] [stdout]   |                     move the `impl` block outside of this function `_impl_insertable_for_dbgame`
[INFO] [stdout] 8 | #[table_name="games"]
[INFO] [stdout] 9 | pub struct DbGame {
[INFO] [stdout]   |            ------ `DbGame` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Insertable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Insertable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: this warning originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db_schema.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stdout]   |                     ^---------
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     `UndecoratedInsertRecord` is not local
[INFO] [stdout]   |                     `table` is not local
[INFO] [stdout]   |                     move the `impl` block outside of this function `_impl_insertable_for_dbgame`
[INFO] [stdout] 8 | #[table_name="games"]
[INFO] [stdout] 9 | pub struct DbGame {
[INFO] [stdout]   |            ------ `DbGame` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Insertable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Insertable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: this warning originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db_schema.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stdout]   |                                 ^-----------
[INFO] [stdout]   |                                 |
[INFO] [stdout]   |                                 `HasTable` is not local
[INFO] [stdout]   |                                 move the `impl` block outside of this function `_impl_identifiable_for_dbgame`
[INFO] [stdout] 8 | #[table_name="games"]
[INFO] [stdout] 9 | pub struct DbGame {
[INFO] [stdout]   |            ------ `DbGame` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Identifiable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db_schema.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stdout]   |                                 ^^^^^^^^^^^^
[INFO] [stdout]   |                                 |
[INFO] [stdout]   |                                 `Identifiable` is not local
[INFO] [stdout]   |                                 move the `impl` block outside of this function `_impl_identifiable_for_dbgame`
[INFO] [stdout] 8 | #[table_name="games"]
[INFO] [stdout] 9 | pub struct DbGame {
[INFO] [stdout]   |            ------ `DbGame` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Identifiable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db_schema.rs:7:47
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stdout]   |                                               ^^^^^^^^^^^
[INFO] [stdout]   |                                               |
[INFO] [stdout]   |                                               `AsChangeset` is not local
[INFO] [stdout]   |                                               move the `impl` block outside of this function `_impl_as_changeset_for_dbgame`
[INFO] [stdout] 8 | #[table_name="games"]
[INFO] [stdout] 9 | pub struct DbGame {
[INFO] [stdout]   |            ------ `DbGame` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `AsChangeset` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/db_schema.rs:7:47
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stdout]   |                                               ^----------
[INFO] [stdout]   |                                               |
[INFO] [stdout]   |                                               `AsChangeset` is not local
[INFO] [stdout]   |                                               move the `impl` block outside of this function `_impl_as_changeset_for_dbgame`
[INFO] [stdout] 8 | #[table_name="games"]
[INFO] [stdout] 9 | pub struct DbGame {
[INFO] [stdout]   |            ------ `DbGame` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `AsChangeset` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stdout]    |          ^-----------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `HasTable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this function `_impl_identifiable_for_dbgameplayerredupdate`
[INFO] [stdout] 47 | #[table_name="games"]
[INFO] [stdout] 48 | pub struct DbGamePlayerRedUpdate {
[INFO] [stdout]    |            --------------------- `DbGamePlayerRedUpdate` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Identifiable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Identifiable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this function `_impl_identifiable_for_dbgameplayerredupdate`
[INFO] [stdout] 47 | #[table_name="games"]
[INFO] [stdout] 48 | pub struct DbGamePlayerRedUpdate {
[INFO] [stdout]    |            --------------------- `DbGamePlayerRedUpdate` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Identifiable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema.rs:46:24
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `AsChangeset` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this function `_impl_as_changeset_for_dbgameplayerredupdate`
[INFO] [stdout] 47 | #[table_name="games"]
[INFO] [stdout] 48 | pub struct DbGamePlayerRedUpdate {
[INFO] [stdout]    |            --------------------- `DbGamePlayerRedUpdate` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `AsChangeset` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema.rs:46:24
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stdout]    |                        ^----------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `AsChangeset` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this function `_impl_as_changeset_for_dbgameplayerredupdate`
[INFO] [stdout] 47 | #[table_name="games"]
[INFO] [stdout] 48 | pub struct DbGamePlayerRedUpdate {
[INFO] [stdout]    |            --------------------- `DbGamePlayerRedUpdate` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `AsChangeset` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stdout]    |          ^-----------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `HasTable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this function `_impl_identifiable_for_dbgameplayerblueupdate`
[INFO] [stdout] 54 | #[table_name="games"]
[INFO] [stdout] 55 | pub struct DbGamePlayerBlueUpdate {
[INFO] [stdout]    |            ---------------------- `DbGamePlayerBlueUpdate` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Identifiable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Identifiable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this function `_impl_identifiable_for_dbgameplayerblueupdate`
[INFO] [stdout] 54 | #[table_name="games"]
[INFO] [stdout] 55 | pub struct DbGamePlayerBlueUpdate {
[INFO] [stdout]    |            ---------------------- `DbGamePlayerBlueUpdate` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Identifiable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema.rs:53:24
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `AsChangeset` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this function `_impl_as_changeset_for_dbgameplayerblueupdate`
[INFO] [stdout] 54 | #[table_name="games"]
[INFO] [stdout] 55 | pub struct DbGamePlayerBlueUpdate {
[INFO] [stdout]    |            ---------------------- `DbGamePlayerBlueUpdate` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `AsChangeset` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema.rs:53:24
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stdout]    |                        ^----------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `AsChangeset` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this function `_impl_as_changeset_for_dbgameplayerblueupdate`
[INFO] [stdout] 54 | #[table_name="games"]
[INFO] [stdout] 55 | pub struct DbGamePlayerBlueUpdate {
[INFO] [stdout]    |            ---------------------- `DbGamePlayerBlueUpdate` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `AsChangeset` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/adversary_minimax.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | /     possible_moves.into_par_iter().try_for_each(|m| {
[INFO] [stdout] 118 | |         let mut try_game = &mut game.clone();
[INFO] [stdout] 119 | |         try_game.push_move(m).unwrap();
[INFO] [stdout] 120 | |         let hash = try_game.hash_non_historical();
[INFO] [stdout] ...   |
[INFO] [stdout] 141 | |         return Ok(());
[INFO] [stdout] 142 | |     });
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let _ = possible_moves.into_par_iter().try_for_each(|m| {
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema_macro.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / table! {
[INFO] [stdout]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stdout]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stdout]  4 | |     games {
[INFO] [stdout] ...  |
[INFO] [stdout] 11 | | }
[INFO] [stdout]    | | ^
[INFO] [stdout]    | | |
[INFO] [stdout]    | | `table` is not local
[INFO] [stdout]    | |_`QueryId` is not local
[INFO] [stdout]    |   move the `impl` block outside of this function `_impl_query_id_for_table`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema_macro.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / table! {
[INFO] [stdout]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stdout]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stdout]  4 | |     games {
[INFO] [stdout]  5 | |         id -> Uuid,
[INFO] [stdout]    | |         -- `id` is not local
[INFO] [stdout] ...  |
[INFO] [stdout] 11 | | }
[INFO] [stdout]    | | ^
[INFO] [stdout]    | | |
[INFO] [stdout]    | |_`QueryId` is not local
[INFO] [stdout]    |   move the `impl` block outside of this function `_impl_query_id_for_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema_macro.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / table! {
[INFO] [stdout]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stdout]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stdout]  4 | |     games {
[INFO] [stdout]  5 | |         id -> Uuid,
[INFO] [stdout]  6 | |         state -> Text,
[INFO] [stdout]    | |         ----- `state` is not local
[INFO] [stdout] ...  |
[INFO] [stdout] 11 | | }
[INFO] [stdout]    | | ^
[INFO] [stdout]    | | |
[INFO] [stdout]    | |_`QueryId` is not local
[INFO] [stdout]    |   move the `impl` block outside of this function `_impl_query_id_for_state`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema_macro.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / table! {
[INFO] [stdout]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stdout]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stdout]  4 | |     games {
[INFO] [stdout] ...  |
[INFO] [stdout]  7 | |         player_red -> Nullable<Uuid>,
[INFO] [stdout]    | |         ---------- `player_red` is not local
[INFO] [stdout] ...  |
[INFO] [stdout] 11 | | }
[INFO] [stdout]    | | ^
[INFO] [stdout]    | | |
[INFO] [stdout]    | |_`QueryId` is not local
[INFO] [stdout]    |   move the `impl` block outside of this function `_impl_query_id_for_player_red`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema_macro.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / table! {
[INFO] [stdout]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stdout]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stdout]  4 | |     games {
[INFO] [stdout] ...  |
[INFO] [stdout]  8 | |         player_blue -> Nullable<Uuid>,
[INFO] [stdout]    | |         ----------- `player_blue` is not local
[INFO] [stdout] ...  |
[INFO] [stdout] 11 | | }
[INFO] [stdout]    | | ^
[INFO] [stdout]    | | |
[INFO] [stdout]    | |_`QueryId` is not local
[INFO] [stdout]    |   move the `impl` block outside of this function `_impl_query_id_for_player_blue`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/db_schema_macro.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / table! {
[INFO] [stdout]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stdout]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stdout]  4 | |     games {
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | |         bot_id -> Nullable<BotIdMapping>,
[INFO] [stdout]    | |         ------ `bot_id` is not local
[INFO] [stdout] 10 | |     }
[INFO] [stdout] 11 | | }
[INFO] [stdout]    | | ^
[INFO] [stdout]    | | |
[INFO] [stdout]    | |_`QueryId` is not local
[INFO] [stdout]    |   move the `impl` block outside of this function `_impl_query_id_for_bot_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `chrono`
[INFO] [stderr]  --> Cargo.toml:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | chrono = "0.4.19"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `chrono`
[INFO] [stderr] warning: unused dependency `futures-timer`
[INFO] [stderr]  --> Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | futures-timer = "3.0.2"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `futures-timer`
[INFO] [stderr] warning: unused dependency `num-bigint`
[INFO] [stderr]   --> Cargo.toml:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | num-bigint = "0.4"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `num-bigint`
[INFO] [stderr] warning: `sstackrr-backend` (manifest) generated 3 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 20s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: migrations_internals v1.4.1, syn v0.14.9
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] running `Command { std: "docker" "inspect" "71765c6ea0b1019d47cf95b565d30e3802a76ee9cc3a8cd6ea0d22b9e23a3302", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "71765c6ea0b1019d47cf95b565d30e3802a76ee9cc3a8cd6ea0d22b9e23a3302", kill_on_drop: false }`
[INFO] [stdout] 71765c6ea0b1019d47cf95b565d30e3802a76ee9cc3a8cd6ea0d22b9e23a3302
