[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] testing Firfi/sstackrr-backend against master#f9988fefd3add01f414f52b414308e7872622fee for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFirfi%2Fsstackrr-backend" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-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-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Firfi/sstackrr-backend on toolchain f9988fefd3add01f414f52b414308e7872622fee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "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" "+f9988fefd3add01f414f52b414308e7872622fee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tower-layer v0.3.1
[INFO] [stderr]   Downloaded serde_derive v1.0.136
[INFO] [stderr]   Downloaded httparse v1.7.0
[INFO] [stderr]   Downloaded async-graphql-axum v3.0.38
[INFO] [stderr]   Downloaded migrations_macros v1.4.2
[INFO] [stderr]   Downloaded diesel_migrations v1.4.0
[INFO] [stderr]   Downloaded migrations_internals v1.4.1
[INFO] [stderr]   Downloaded axum-core v0.2.1
[INFO] [stderr]   Downloaded camino v1.0.7
[INFO] [stderr]   Downloaded spin v0.9.2
[INFO] [stderr]   Downloaded pin-project-lite v0.2.8
[INFO] [stderr]   Downloaded parking_lot_core v0.9.2
[INFO] [stderr]   Downloaded strum_macros v0.24.0
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.8
[INFO] [stderr]   Downloaded cargo-platform v0.1.2
[INFO] [stderr]   Downloaded pq-sys v0.4.6
[INFO] [stderr]   Downloaded sync_wrapper v0.1.1
[INFO] [stderr]   Downloaded async-graphql-parser v3.0.38
[INFO] [stderr]   Downloaded async-graphql-derive v3.0.38
[INFO] [stderr]   Downloaded diesel-derive-enum v1.1.2
[INFO] [stderr]   Downloaded tower v0.4.12
[INFO] [stderr]   Downloaded pest_derive v2.1.0
[INFO] [stderr]   Downloaded pest_generator v2.1.3
[INFO] [stderr]   Downloaded diesel-derive-newtype v0.1.2
[INFO] [stderr]   Downloaded tokio-tungstenite v0.17.1
[INFO] [stderr]   Downloaded async-graphql-value v3.0.38
[INFO] [stderr]   Downloaded tracing-attributes v0.1.20
[INFO] [stderr]   Downloaded triomphe v0.1.5
[INFO] [stderr]   Downloaded semver v1.0.7
[INFO] [stderr]   Downloaded tower-http v0.2.5
[INFO] [stderr]   Downloaded socket2 v0.4.4
[INFO] [stderr]   Downloaded pin-project-internal v1.0.10
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.8
[INFO] [stderr]   Downloaded axum v0.5.1
[INFO] [stderr]   Downloaded pin-project v1.0.10
[INFO] [stderr]   Downloaded tungstenite v0.17.2
[INFO] [stderr]   Downloaded rayon-core v1.9.2
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.4
[INFO] [stderr]   Downloaded pest_meta v2.1.3
[INFO] [stderr]   Downloaded tinyvec v1.5.1
[INFO] [stderr]   Downloaded headers v0.3.7
[INFO] [stderr]   Downloaded raw-cpuid v10.3.0
[INFO] [stderr]   Downloaded moka v0.8.2
[INFO] [stderr]   Downloaded http v0.2.6
[INFO] [stderr]   Downloaded pulldown-cmark v0.9.1
[INFO] [stderr]   Downloaded serde_json v1.0.79
[INFO] [stderr]   Downloaded syn v0.14.9
[INFO] [stderr]   Downloaded rayon v1.5.2
[INFO] [stderr]   Downloaded diesel v1.4.8
[INFO] [stderr]   Downloaded async-graphql v3.0.38
[INFO] [stderr]   Downloaded libc v0.2.123
[INFO] [stderr]   Downloaded tokio v1.17.0
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.34.0
[INFO] [stderr]   Downloaded windows_i686_gnu v0.34.0
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.34.0
[INFO] [stderr]   Downloaded windows_i686_msvc v0.34.0
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.34.0
[INFO] [stderr]   Downloaded windows-sys v0.34.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1501ed7ae71f68c4007ebed9c1fbe7c6df826fa65f918592797ad670b8f87944
[INFO] running `Command { std: "docker" "start" "-a" "1501ed7ae71f68c4007ebed9c1fbe7c6df826fa65f918592797ad670b8f87944", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1501ed7ae71f68c4007ebed9c1fbe7c6df826fa65f918592797ad670b8f87944", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1501ed7ae71f68c4007ebed9c1fbe7c6df826fa65f918592797ad670b8f87944", kill_on_drop: false }`
[INFO] [stdout] 1501ed7ae71f68c4007ebed9c1fbe7c6df826fa65f918592797ad670b8f87944
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 61d5a5147fde9068bc9413bb879e27615004fcdb75b8dc85a53eee476f4777a5
[INFO] running `Command { std: "docker" "start" "-a" "61d5a5147fde9068bc9413bb879e27615004fcdb75b8dc85a53eee476f4777a5", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.37
[INFO] [stderr]    Compiling syn v1.0.91
[INFO] [stderr]    Compiling libc v0.2.123
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]    Compiling log v0.4.16
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling smallvec v1.8.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.8
[INFO] [stderr]    Compiling parking_lot_core v0.9.2
[INFO] [stderr]    Compiling futures-util v0.3.21
[INFO] [stderr]    Compiling futures-io v0.3.21
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling indexmap v1.8.1
[INFO] [stderr]    Compiling httparse v1.7.0
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling crossbeam-utils v0.8.8
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stderr]    Compiling tinyvec v1.5.1
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling serde_json v1.0.79
[INFO] [stderr]    Compiling quote v1.0.18
[INFO] [stderr]    Compiling num_cpus v1.13.1
[INFO] [stderr]    Compiling getrandom v0.2.6
[INFO] [stderr]    Compiling socket2 v0.4.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling parking_lot v0.12.0
[INFO] [stderr]    Compiling mio v0.8.2
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling pest_meta v2.1.3
[INFO] [stderr]    Compiling unicode-normalization v0.1.19
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling unicode-bidi v0.3.7
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling async-trait v0.1.53
[INFO] [stderr]    Compiling ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling sha-1 v0.10.0
[INFO] [stderr]    Compiling scheduled-thread-pool v0.2.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.8
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling pq-sys v0.4.6
[INFO] [stderr]    Compiling multer v2.0.2
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling tower-layer v0.3.1
[INFO] [stderr]    Compiling rayon-core v1.9.2
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling Inflector v0.11.4
[INFO] [stderr]    Compiling r2d2 v0.8.9
[INFO] [stderr]    Compiling crossbeam-channel v0.5.4
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling http-range-header v0.3.0
[INFO] [stderr]    Compiling spin v0.9.2
[INFO] [stderr]    Compiling ascii_utils v0.9.3
[INFO] [stderr]    Compiling rustversion v1.0.6
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling fastrand v1.7.0
[INFO] [stderr]    Compiling fast_chemail v0.9.6
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling tempfile v3.3.0
[INFO] [stderr]    Compiling raw-cpuid v10.3.0
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]    Compiling rayon v1.5.2
[INFO] [stderr]    Compiling sync_wrapper v0.1.1
[INFO] [stderr]    Compiling moka v0.8.2
[INFO] [stderr]    Compiling heck v0.4.0
[INFO] [stderr]    Compiling matchit v0.5.0
[INFO] [stderr]    Compiling syn v0.14.9
[INFO] [stderr]    Compiling triomphe v0.1.5
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling tagptr v0.2.0
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling quanta v0.9.3
[INFO] [stderr]    Compiling futures-timer v3.0.2
[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 pest_derive v2.1.0
[INFO] [stderr]    Compiling pin-project-internal v1.0.10
[INFO] [stderr]    Compiling thiserror v1.0.30
[INFO] [stderr]    Compiling async-stream-impl v0.3.3
[INFO] [stderr]    Compiling tracing v0.1.34
[INFO] [stderr]    Compiling strum_macros v0.24.0
[INFO] [stderr]    Compiling diesel-derive-enum v1.1.2
[INFO] [stderr]    Compiling async-stream v0.3.3
[INFO] [stderr]    Compiling pin-project v1.0.10
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]    Compiling diesel v1.4.8
[INFO] [stderr]    Compiling bytes v1.1.0
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling toml v0.5.9
[INFO] [stderr]    Compiling http v0.2.6
[INFO] [stderr]    Compiling tokio v1.17.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling async-graphql-value v3.0.38
[INFO] [stderr]    Compiling proc-macro-crate v1.1.3
[INFO] [stderr]    Compiling async-graphql-parser v3.0.38
[INFO] [stderr]    Compiling http-body v0.4.4
[INFO] [stderr]    Compiling headers-core v0.2.0
[INFO] [stderr]    Compiling tungstenite v0.17.2
[INFO] [stderr]    Compiling axum-core v0.2.1
[INFO] [stderr]    Compiling headers v0.3.7
[INFO] [stderr]    Compiling migrations_internals v1.4.1
[INFO] [stderr]    Compiling migrations_macros v1.4.2
[INFO] [stderr]    Compiling diesel-derive-newtype v0.1.2
[INFO] [stderr]    Compiling async-graphql-derive v3.0.38
[INFO] [stderr]    Compiling tokio-util v0.7.1
[INFO] [stderr]    Compiling tokio-tungstenite v0.17.1
[INFO] [stderr]    Compiling tokio-util v0.6.9
[INFO] [stderr]    Compiling tokio-stream v0.1.8
[INFO] [stderr]    Compiling tower v0.4.12
[INFO] [stderr]    Compiling h2 v0.3.13
[INFO] [stderr]    Compiling tower-http v0.2.5
[INFO] [stderr]    Compiling async-graphql v3.0.38
[INFO] [stderr]    Compiling hyper v0.14.18
[INFO] [stderr]    Compiling diesel_migrations v1.4.0
[INFO] [stderr]    Compiling axum v0.5.1
[INFO] [stderr]    Compiling async-graphql-axum v3.0.38
[INFO] [stderr]    Compiling 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 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: 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 _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let _ = 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]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 37s
[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 4`
[INFO] running `Command { std: "docker" "inspect" "61d5a5147fde9068bc9413bb879e27615004fcdb75b8dc85a53eee476f4777a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61d5a5147fde9068bc9413bb879e27615004fcdb75b8dc85a53eee476f4777a5", kill_on_drop: false }`
[INFO] [stdout] 61d5a5147fde9068bc9413bb879e27615004fcdb75b8dc85a53eee476f4777a5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 39ea882a696367eda1a673423f79eb264c95ab77f6ad9c4e6e1e538b01dd2945
[INFO] running `Command { std: "docker" "start" "-a" "39ea882a696367eda1a673423f79eb264c95ab77f6ad9c4e6e1e538b01dd2945", kill_on_drop: false }`
[INFO] [stderr]    Compiling 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: `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: `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 _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let _ = 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]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.64s
[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 4`
[INFO] running `Command { std: "docker" "inspect" "39ea882a696367eda1a673423f79eb264c95ab77f6ad9c4e6e1e538b01dd2945", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "39ea882a696367eda1a673423f79eb264c95ab77f6ad9c4e6e1e538b01dd2945", kill_on_drop: false }`
[INFO] [stdout] 39ea882a696367eda1a673423f79eb264c95ab77f6ad9c4e6e1e538b01dd2945
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3536c5be06c2dbd17971e41eb16849608b671864d4b997b45eac7ab1782a0735
[INFO] running `Command { std: "docker" "start" "-a" "3536c5be06c2dbd17971e41eb16849608b671864d4b997b45eac7ab1782a0735", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `fetch_game_state`
[INFO] [stderr]  --> src/adversary.rs:2:17
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::db::{fetch_game_state};
[INFO] [stderr]   |                 ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cell::Cell`
[INFO] [stderr]  --> src/adversary_minimax.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::cell::Cell;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/adversary_minimax.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::db::GameStateSerialized`
[INFO] [stderr]  --> src/adversary_minimax.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::db::GameStateSerialized;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Blue`
[INFO] [stderr]    --> src/adversary_minimax.rs:155:31
[INFO] [stderr]     |
[INFO] [stderr] 155 |     use crate::game::Player::{Blue, Red};
[INFO] [stderr]     |                               ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `field`
[INFO] [stderr]   --> src/game.rs:82:30
[INFO] [stderr]    |
[INFO] [stderr] 82 |         let (size_x, size_y, field) = (self.size_x, self.size_y, &self.field);
[INFO] [stderr]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `player`
[INFO] [stderr]   --> src/adversary.rs:97:20
[INFO] [stderr]    |
[INFO] [stderr] 97 |                 Ok(player) => {
[INFO] [stderr]    |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/adversary_minimax.rs:118:13
[INFO] [stderr]     |
[INFO] [stderr] 118 |         let mut try_game = &mut game.clone();
[INFO] [stderr]     |             ----^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/adversary_minimax.rs:69:22
[INFO] [stderr]    |
[INFO] [stderr] 69 |                      mut alpha: i32,
[INFO] [stderr]    |                      ----^^^^^
[INFO] [stderr]    |                      |
[INFO] [stderr]    |                      help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/adversary_minimax.rs:76:9
[INFO] [stderr]    |
[INFO] [stderr] 76 |     let mut possible_moves = game.possible_moves(); // so the caller won't trick us with a wrong depth
[INFO] [stderr]    |         ----^^^^^^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/adversary_minimax.rs:96:9
[INFO] [stderr]    |
[INFO] [stderr] 96 |     let mut max = (game.size_x() as i32 * game.size_y() as i32 - 1 - game.current_depth() as i32) / 2;
[INFO] [stderr]    |         ----^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/adversary_minimax.rs:114:9
[INFO] [stderr]     |
[INFO] [stderr] 114 |     let mut best_move: Mutex<Option<Move>> = Mutex::new(None);
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/adversary_minimax.rs:115:9
[INFO] [stderr]     |
[INFO] [stderr] 115 |     let mut new_alpha: AtomicI32 = AtomicI32::new(alpha.clone());
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `r`
[INFO] [stderr]    --> src/adversary_minimax.rs:274:13
[INFO] [stderr]     |
[INFO] [stderr] 274 |         let r = minimax(&State::deserialize(&GameStateSerialized(PERFORMANCE_TEST.to_string())).unwrap());
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_turn_winning` is never used
[INFO] [stderr]    --> src/game.rs:138:8
[INFO] [stderr]     |
[INFO] [stderr] 127 | pub trait GameOperations<T: MatrixOperations = Self> {
[INFO] [stderr]     |           -------------- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 138 |     fn is_turn_winning(&self, turn: &Turn) -> bool;
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` in tuple element 1 that must be used
[INFO] [stderr]   --> src/main.rs:72:5
[INFO] [stderr]    |
[INFO] [stderr] 72 | /     tokio::join!(run_subscribe_bots(), axum::Server::bind(&format!("0.0.0.0:{}", &port).parse().unwrap())
[INFO] [stderr] 73 | |         .serve(app.into_make_service()));
[INFO] [stderr]    | |________________________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/game.rs:15:17
[INFO] [stderr]    |
[INFO] [stderr] 15 | fn split_row(s: &str) -> SplitWhitespace {
[INFO] [stderr]    |                 ^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 15 | fn split_row(s: &str) -> SplitWhitespace<'_> {
[INFO] [stderr]    |                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/db.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 38 |     embedded_migrations::run(&STATICS.db_connection.get().unwrap());
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 38 |     let _ = embedded_migrations::run(&STATICS.db_connection.get().unwrap());
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:41:17
[INFO] [stderr]    |
[INFO] [stderr] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                 ^------------
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `ToSql` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stderr] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stderr]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:41:17
[INFO] [stderr]    |
[INFO] [stderr] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                 ^------------
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `AsExpression` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stderr] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stderr]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:41:17
[INFO] [stderr]    |
[INFO] [stderr] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                 -^^^^^^^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `AsExpression` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stderr] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stderr]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:41:17
[INFO] [stderr]    |
[INFO] [stderr] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                 ^------------
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `FromSql` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stderr] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stderr]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:41:17
[INFO] [stderr]    |
[INFO] [stderr] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                 ^------------
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `FromSqlRow` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stderr] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stderr]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:41:17
[INFO] [stderr]    |
[INFO] [stderr] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                 ^------------
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Queryable` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stderr] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stderr]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:41:17
[INFO] [stderr]    |
[INFO] [stderr] 41 | #[derive(Clone, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                 ^------------
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `QueryId` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMESTATESERIALIZED`
[INFO] [stderr] 42 | pub struct GameStateSerialized(pub String);
[INFO] [stderr]    |            ------------------- `GameStateSerialized` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/db.rs:47:9
[INFO] [stderr]    |
[INFO] [stderr] 47 |         f.write_str("GameStateSerialized(\n");
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 47 |         let _ = f.write_str("GameStateSerialized(\n");
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:79:33
[INFO] [stderr]    |
[INFO] [stderr] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                                 ^------------
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 `ToSql` is not local
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stderr] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stderr]    |            ----------- `PlayerToken` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:79:33
[INFO] [stderr]    |
[INFO] [stderr] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                                 ^------------
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 `AsExpression` is not local
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stderr] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stderr]    |            ----------- `PlayerToken` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:79:33
[INFO] [stderr]    |
[INFO] [stderr] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                                 -^^^^^^^^^^^^
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 `AsExpression` is not local
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stderr] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stderr]    |            ----------- `PlayerToken` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:79:33
[INFO] [stderr]    |
[INFO] [stderr] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                                 ^------------
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 `FromSql` is not local
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stderr] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stderr]    |            ----------- `PlayerToken` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:79:33
[INFO] [stderr]    |
[INFO] [stderr] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                                 ^------------
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 `FromSqlRow` is not local
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stderr] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stderr]    |            ----------- `PlayerToken` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:79:33
[INFO] [stderr]    |
[INFO] [stderr] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                                 ^------------
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 `Queryable` is not local
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stderr] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stderr]    |            ----------- `PlayerToken` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:79:33
[INFO] [stderr]    |
[INFO] [stderr] 79 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                                 ^------------
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 `QueryId` is not local
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_PLAYERTOKEN`
[INFO] [stderr] 80 | pub struct PlayerToken(pub Uuid);
[INFO] [stderr]    |            ----------- `PlayerToken` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:81:33
[INFO] [stderr]    |
[INFO] [stderr] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                                 ^------------
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 `ToSql` is not local
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stderr] 82 | pub struct GameToken(pub Uuid);
[INFO] [stderr]    |            --------- `GameToken` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:81:33
[INFO] [stderr]    |
[INFO] [stderr] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                                 ^------------
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 `AsExpression` is not local
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stderr] 82 | pub struct GameToken(pub Uuid);
[INFO] [stderr]    |            --------- `GameToken` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:81:33
[INFO] [stderr]    |
[INFO] [stderr] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                                 -^^^^^^^^^^^^
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 `AsExpression` is not local
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stderr] 82 | pub struct GameToken(pub Uuid);
[INFO] [stderr]    |            --------- `GameToken` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:81:33
[INFO] [stderr]    |
[INFO] [stderr] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                                 ^------------
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 `FromSql` is not local
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stderr] 82 | pub struct GameToken(pub Uuid);
[INFO] [stderr]    |            --------- `GameToken` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:81:33
[INFO] [stderr]    |
[INFO] [stderr] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                                 ^------------
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 `FromSqlRow` is not local
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stderr] 82 | pub struct GameToken(pub Uuid);
[INFO] [stderr]    |            --------- `GameToken` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:81:33
[INFO] [stderr]    |
[INFO] [stderr] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                                 ^------------
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 `Queryable` is not local
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stderr] 82 | pub struct GameToken(pub Uuid);
[INFO] [stderr]    |            --------- `GameToken` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db.rs:81:33
[INFO] [stderr]    |
[INFO] [stderr] 81 | #[derive(Clone, Debug, NewType, DieselNewType, PartialEq, Eq, Hash)]
[INFO] [stderr]    |                                 ^------------
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 `QueryId` is not local
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_DIESEL_NEW_TYPE_FOR_GAMETOKEN`
[INFO] [stderr] 82 | pub struct GameToken(pub Uuid);
[INFO] [stderr]    |            --------- `GameToken` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `DieselNewType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `DieselNewType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/db_schema.rs:7:10
[INFO] [stderr]   |
[INFO] [stderr] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stderr]   |          ^--------
[INFO] [stderr]   |          |
[INFO] [stderr]   |          `Queryable` is not local
[INFO] [stderr]   |          move the `impl` block outside of this function `_impl_queryable_for_dbgame`
[INFO] [stderr] 8 | #[table_name="games"]
[INFO] [stderr] 9 | pub struct DbGame {
[INFO] [stderr]   |            ------ `DbGame` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Queryable` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = 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] [stderr]   = note: this warning originates in the derive macro `Queryable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/db_schema.rs:7:21
[INFO] [stderr]   |
[INFO] [stderr] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stderr]   |                     ^---------
[INFO] [stderr]   |                     |
[INFO] [stderr]   |                     `Insertable` is not local
[INFO] [stderr]   |                     `table` is not local
[INFO] [stderr]   |                     move the `impl` block outside of this function `_impl_insertable_for_dbgame`
[INFO] [stderr] 8 | #[table_name="games"]
[INFO] [stderr] 9 | pub struct DbGame {
[INFO] [stderr]   |            ------ `DbGame` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Insertable` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = 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] [stderr]   = note: this warning originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/db_schema.rs:7:21
[INFO] [stderr]   |
[INFO] [stderr] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stderr]   |                     -^^^^^^^^^
[INFO] [stderr]   |                     |
[INFO] [stderr]   |                     `Insertable` is not local
[INFO] [stderr]   |                     `table` is not local
[INFO] [stderr]   |                     move the `impl` block outside of this function `_impl_insertable_for_dbgame`
[INFO] [stderr] 8 | #[table_name="games"]
[INFO] [stderr] 9 | pub struct DbGame {
[INFO] [stderr]   |            ------ `DbGame` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Insertable` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = 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] [stderr]   = note: this warning originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/db_schema.rs:7:21
[INFO] [stderr]   |
[INFO] [stderr] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stderr]   |                     ^---------
[INFO] [stderr]   |                     |
[INFO] [stderr]   |                     `UndecoratedInsertRecord` is not local
[INFO] [stderr]   |                     `table` is not local
[INFO] [stderr]   |                     move the `impl` block outside of this function `_impl_insertable_for_dbgame`
[INFO] [stderr] 8 | #[table_name="games"]
[INFO] [stderr] 9 | pub struct DbGame {
[INFO] [stderr]   |            ------ `DbGame` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Insertable` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = 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] [stderr]   = note: this warning originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/db_schema.rs:7:33
[INFO] [stderr]   |
[INFO] [stderr] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stderr]   |                                 ^-----------
[INFO] [stderr]   |                                 |
[INFO] [stderr]   |                                 `HasTable` is not local
[INFO] [stderr]   |                                 move the `impl` block outside of this function `_impl_identifiable_for_dbgame`
[INFO] [stderr] 8 | #[table_name="games"]
[INFO] [stderr] 9 | pub struct DbGame {
[INFO] [stderr]   |            ------ `DbGame` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = 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] [stderr]   = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/db_schema.rs:7:33
[INFO] [stderr]   |
[INFO] [stderr] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stderr]   |                                 ^^^^^^^^^^^^
[INFO] [stderr]   |                                 |
[INFO] [stderr]   |                                 `Identifiable` is not local
[INFO] [stderr]   |                                 move the `impl` block outside of this function `_impl_identifiable_for_dbgame`
[INFO] [stderr] 8 | #[table_name="games"]
[INFO] [stderr] 9 | pub struct DbGame {
[INFO] [stderr]   |            ------ `DbGame` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = 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] [stderr]   = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/db_schema.rs:7:47
[INFO] [stderr]   |
[INFO] [stderr] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stderr]   |                                               ^^^^^^^^^^^
[INFO] [stderr]   |                                               |
[INFO] [stderr]   |                                               `AsChangeset` is not local
[INFO] [stderr]   |                                               move the `impl` block outside of this function `_impl_as_changeset_for_dbgame`
[INFO] [stderr] 8 | #[table_name="games"]
[INFO] [stderr] 9 | pub struct DbGame {
[INFO] [stderr]   |            ------ `DbGame` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = 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] [stderr]   = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/db_schema.rs:7:47
[INFO] [stderr]   |
[INFO] [stderr] 7 | #[derive(Queryable, Insertable, Identifiable, AsChangeset, Clone)]
[INFO] [stderr]   |                                               ^----------
[INFO] [stderr]   |                                               |
[INFO] [stderr]   |                                               `AsChangeset` is not local
[INFO] [stderr]   |                                               move the `impl` block outside of this function `_impl_as_changeset_for_dbgame`
[INFO] [stderr] 8 | #[table_name="games"]
[INFO] [stderr] 9 | pub struct DbGame {
[INFO] [stderr]   |            ------ `DbGame` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = 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] [stderr]   = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db_schema.rs:46:10
[INFO] [stderr]    |
[INFO] [stderr] 46 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stderr]    |          ^-----------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `HasTable` is not local
[INFO] [stderr]    |          move the `impl` block outside of this function `_impl_identifiable_for_dbgameplayerredupdate`
[INFO] [stderr] 47 | #[table_name="games"]
[INFO] [stderr] 48 | pub struct DbGamePlayerRedUpdate {
[INFO] [stderr]    |            --------------------- `DbGamePlayerRedUpdate` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db_schema.rs:46:10
[INFO] [stderr]    |
[INFO] [stderr] 46 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stderr]    |          ^^^^^^^^^^^^
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Identifiable` is not local
[INFO] [stderr]    |          move the `impl` block outside of this function `_impl_identifiable_for_dbgameplayerredupdate`
[INFO] [stderr] 47 | #[table_name="games"]
[INFO] [stderr] 48 | pub struct DbGamePlayerRedUpdate {
[INFO] [stderr]    |            --------------------- `DbGamePlayerRedUpdate` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db_schema.rs:46:24
[INFO] [stderr]    |
[INFO] [stderr] 46 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stderr]    |                        ^^^^^^^^^^^
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        `AsChangeset` is not local
[INFO] [stderr]    |                        move the `impl` block outside of this function `_impl_as_changeset_for_dbgameplayerredupdate`
[INFO] [stderr] 47 | #[table_name="games"]
[INFO] [stderr] 48 | pub struct DbGamePlayerRedUpdate {
[INFO] [stderr]    |            --------------------- `DbGamePlayerRedUpdate` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db_schema.rs:46:24
[INFO] [stderr]    |
[INFO] [stderr] 46 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stderr]    |                        ^----------
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        `AsChangeset` is not local
[INFO] [stderr]    |                        move the `impl` block outside of this function `_impl_as_changeset_for_dbgameplayerredupdate`
[INFO] [stderr] 47 | #[table_name="games"]
[INFO] [stderr] 48 | pub struct DbGamePlayerRedUpdate {
[INFO] [stderr]    |            --------------------- `DbGamePlayerRedUpdate` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db_schema.rs:53:10
[INFO] [stderr]    |
[INFO] [stderr] 53 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stderr]    |          ^-----------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `HasTable` is not local
[INFO] [stderr]    |          move the `impl` block outside of this function `_impl_identifiable_for_dbgameplayerblueupdate`
[INFO] [stderr] 54 | #[table_name="games"]
[INFO] [stderr] 55 | pub struct DbGamePlayerBlueUpdate {
[INFO] [stderr]    |            ---------------------- `DbGamePlayerBlueUpdate` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db_schema.rs:53:10
[INFO] [stderr]    |
[INFO] [stderr] 53 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stderr]    |          ^^^^^^^^^^^^
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Identifiable` is not local
[INFO] [stderr]    |          move the `impl` block outside of this function `_impl_identifiable_for_dbgameplayerblueupdate`
[INFO] [stderr] 54 | #[table_name="games"]
[INFO] [stderr] 55 | pub struct DbGamePlayerBlueUpdate {
[INFO] [stderr]    |            ---------------------- `DbGamePlayerBlueUpdate` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Identifiable` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Identifiable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db_schema.rs:53:24
[INFO] [stderr]    |
[INFO] [stderr] 53 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stderr]    |                        ^^^^^^^^^^^
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        `AsChangeset` is not local
[INFO] [stderr]    |                        move the `impl` block outside of this function `_impl_as_changeset_for_dbgameplayerblueupdate`
[INFO] [stderr] 54 | #[table_name="games"]
[INFO] [stderr] 55 | pub struct DbGamePlayerBlueUpdate {
[INFO] [stderr]    |            ---------------------- `DbGamePlayerBlueUpdate` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db_schema.rs:53:24
[INFO] [stderr]    |
[INFO] [stderr] 53 | #[derive(Identifiable, AsChangeset, Clone)]
[INFO] [stderr]    |                        ^----------
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        `AsChangeset` is not local
[INFO] [stderr]    |                        move the `impl` block outside of this function `_impl_as_changeset_for_dbgameplayerblueupdate`
[INFO] [stderr] 54 | #[table_name="games"]
[INFO] [stderr] 55 | pub struct DbGamePlayerBlueUpdate {
[INFO] [stderr]    |            ---------------------- `DbGamePlayerBlueUpdate` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `AsChangeset` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/adversary_minimax.rs:117:5
[INFO] [stderr]     |
[INFO] [stderr] 117 | /     possible_moves.into_par_iter().try_for_each(|m| {
[INFO] [stderr] 118 | |         let mut try_game = &mut game.clone();
[INFO] [stderr] 119 | |         try_game.push_move(m).unwrap();
[INFO] [stderr] 120 | |         let hash = try_game.hash_non_historical();
[INFO] [stderr] ...   |
[INFO] [stderr] 141 | |         return Ok(());
[INFO] [stderr] 142 | |     });
[INFO] [stderr]     | |______^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 117 |     let _ = possible_moves.into_par_iter().try_for_each(|m| {
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db_schema_macro.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr]  1 | / table! {
[INFO] [stderr]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stderr]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stderr]  4 | |     games {
[INFO] [stderr] ...  |
[INFO] [stderr] 11 | | }
[INFO] [stderr]    | | ^
[INFO] [stderr]    | | |
[INFO] [stderr]    | | `table` is not local
[INFO] [stderr]    | |_`QueryId` is not local
[INFO] [stderr]    |   move the `impl` block outside of this function `_impl_query_id_for_table`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db_schema_macro.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr]  1 | / table! {
[INFO] [stderr]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stderr]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stderr]  4 | |     games {
[INFO] [stderr]  5 | |         id -> Uuid,
[INFO] [stderr]    | |         -- `id` is not local
[INFO] [stderr] ...  |
[INFO] [stderr] 11 | | }
[INFO] [stderr]    | | ^
[INFO] [stderr]    | | |
[INFO] [stderr]    | |_`QueryId` is not local
[INFO] [stderr]    |   move the `impl` block outside of this function `_impl_query_id_for_id`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db_schema_macro.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr]  1 | / table! {
[INFO] [stderr]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stderr]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stderr]  4 | |     games {
[INFO] [stderr]  5 | |         id -> Uuid,
[INFO] [stderr]  6 | |         state -> Text,
[INFO] [stderr]    | |         ----- `state` is not local
[INFO] [stderr] ...  |
[INFO] [stderr] 11 | | }
[INFO] [stderr]    | | ^
[INFO] [stderr]    | | |
[INFO] [stderr]    | |_`QueryId` is not local
[INFO] [stderr]    |   move the `impl` block outside of this function `_impl_query_id_for_state`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db_schema_macro.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr]  1 | / table! {
[INFO] [stderr]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stderr]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stderr]  4 | |     games {
[INFO] [stderr] ...  |
[INFO] [stderr]  7 | |         player_red -> Nullable<Uuid>,
[INFO] [stderr]    | |         ---------- `player_red` is not local
[INFO] [stderr] ...  |
[INFO] [stderr] 11 | | }
[INFO] [stderr]    | | ^
[INFO] [stderr]    | | |
[INFO] [stderr]    | |_`QueryId` is not local
[INFO] [stderr]    |   move the `impl` block outside of this function `_impl_query_id_for_player_red`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db_schema_macro.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr]  1 | / table! {
[INFO] [stderr]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stderr]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stderr]  4 | |     games {
[INFO] [stderr] ...  |
[INFO] [stderr]  8 | |         player_blue -> Nullable<Uuid>,
[INFO] [stderr]    | |         ----------- `player_blue` is not local
[INFO] [stderr] ...  |
[INFO] [stderr] 11 | | }
[INFO] [stderr]    | | ^
[INFO] [stderr]    | | |
[INFO] [stderr]    | |_`QueryId` is not local
[INFO] [stderr]    |   move the `impl` block outside of this function `_impl_query_id_for_player_blue`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/db_schema_macro.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr]  1 | / table! {
[INFO] [stderr]  2 | |     use crate::adversary::BotIdMapping;
[INFO] [stderr]  3 | |     use diesel::sql_types::{Nullable, Text, Uuid};
[INFO] [stderr]  4 | |     games {
[INFO] [stderr] ...  |
[INFO] [stderr]  9 | |         bot_id -> Nullable<BotIdMapping>,
[INFO] [stderr]    | |         ------ `bot_id` is not local
[INFO] [stderr] 10 | |     }
[INFO] [stderr] 11 | | }
[INFO] [stderr]    | | ^
[INFO] [stderr]    | | |
[INFO] [stderr]    | |_`QueryId` is not local
[INFO] [stderr]    |   move the `impl` block outside of this function `_impl_query_id_for_bot_id`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: `sstackrr-backend` (bin "sstackrr-backend" test) generated 63 warnings (run `cargo fix --bin "sstackrr-backend" -p sstackrr-backend --tests` to apply 15 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s
[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 4`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sstackrr_backend-1b3f481ebe57bce6)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test adversary_minimax::tests::expectimax_none ... ok
[INFO] [stdout] test adversary_minimax::tests::expectimax_winning_windows_aint_equal ... ok
[INFO] [stdout] test adversary_minimax::tests::expectimax_three_better_than_many_two ... ok
[INFO] [stdout] test game::tests::bug1 ... ok
[INFO] [stdout] test game::tests::calc_field_index_rect_test ... ok
[INFO] [stdout] test game::tests::game_ongoing ... ok
[INFO] [stdout] test game::tests::game_stalemate ... ok
[INFO] [stdout] test adversary_minimax::tests::minimax_real_opportunity ... ok
[INFO] [stdout] test adversary_minimax::tests::minimax_bigger_opportunity ... ok
[INFO] [stdout] test adversary_minimax::tests::minimax_opportunity ... ok
[INFO] [stdout] test game::tests::many_turns ... ok
[INFO] [stdout] test game::tests::not_a_square - should panic ... FAILED
[INFO] [stdout] test game::tests::possible_moves_cloggedgame ... ok
[INFO] [stdout] test game::tests::possible_moves_nogame ... ok
[INFO] [stdout] test game::tests::serializations ... ok
[INFO] [stdout] test game::tests::winner_diagonal_alternative ... ok
[INFO] [stdout] test game::tests::winner_diagonal ... ok
[INFO] [stdout] test game::tests::hashing ... ok
[INFO] [stdout] test game::tests::possible_moves_empty ... ok
[INFO] [stdout] test game::tests::winner_horizontal ... ok
[INFO] [stdout] test game::tests::winner_vertical ... ok
[INFO] [stdout] test game::tests::winning_turn ... ok
[INFO] [stdout] test game::tests::winner_vertical_blue ... ok
[INFO] [stdout] test adversary_minimax::tests::minimax_opportunity2 ... ok
[INFO] [stdout] test adversary_minimax::tests::minimax_blocker ... ok
[INFO] [stdout] test adversary_minimax::tests::bug_1 ... ok
[INFO] [stdout] test adversary_minimax::tests::performance ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- game::tests::not_a_square stdout ----
[INFO] [stdout] note: test did not panic as expected at src/game.rs:648:8
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     game::tests::not_a_square
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 26 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 51.56s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin sstackrr-backend`
[INFO] running `Command { std: "docker" "inspect" "3536c5be06c2dbd17971e41eb16849608b671864d4b997b45eac7ab1782a0735", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3536c5be06c2dbd17971e41eb16849608b671864d4b997b45eac7ab1782a0735", kill_on_drop: false }`
[INFO] [stdout] 3536c5be06c2dbd17971e41eb16849608b671864d4b997b45eac7ab1782a0735
