[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#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFirfi%2Fsstackrr-backend" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/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-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Firfi/sstackrr-backend on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] da20116924c779ea54a7720dc43a092fc41d63dbf58dd66e9dd2b8219aee2749
[INFO] running `Command { std: "docker" "start" "-a" "da20116924c779ea54a7720dc43a092fc41d63dbf58dd66e9dd2b8219aee2749", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "da20116924c779ea54a7720dc43a092fc41d63dbf58dd66e9dd2b8219aee2749", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da20116924c779ea54a7720dc43a092fc41d63dbf58dd66e9dd2b8219aee2749", kill_on_drop: false }`
[INFO] [stdout] da20116924c779ea54a7720dc43a092fc41d63dbf58dd66e9dd2b8219aee2749
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b595071b6667ffae7ce9882bf3a74ce9c24dfd281d33c5f495312c5f8d0ac2b0
[INFO] running `Command { std: "docker" "start" "-a" "b595071b6667ffae7ce9882bf3a74ce9c24dfd281d33c5f495312c5f8d0ac2b0", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.91
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]    Compiling futures-core v0.3.21
[INFO] [stderr]    Compiling libc v0.2.123
[INFO] [stderr]    Compiling pin-project-lite v0.2.8
[INFO] [stderr]    Compiling once_cell v1.10.0
[INFO] [stderr]    Compiling futures-sink v0.3.21
[INFO] [stderr]    Compiling futures-task v0.3.21
[INFO] [stderr]    Compiling futures-io v0.3.21
[INFO] [stderr]    Compiling futures-util v0.3.21
[INFO] [stderr]    Compiling generic-array v0.14.5
[INFO] [stderr]    Compiling slab v0.4.6
[INFO] [stderr]    Compiling indexmap v1.8.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.8
[INFO] [stderr]    Compiling httparse v1.7.0
[INFO] [stderr]    Compiling tracing-core v0.1.26
[INFO] [stderr]    Compiling tinyvec v1.5.1
[INFO] [stderr]    Compiling serde_json v1.0.79
[INFO] [stderr]    Compiling cpufeatures v0.2.2
[INFO] [stderr]    Compiling async-trait v0.1.53
[INFO] [stderr]    Compiling encoding_rs v0.8.31
[INFO] [stderr]    Compiling futures-channel v0.3.21
[INFO] [stderr]    Compiling pq-sys v0.4.6
[INFO] [stderr]    Compiling multer v2.0.2
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling rayon-core v1.9.2
[INFO] [stderr]    Compiling tower-layer v0.3.1
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling Inflector v0.11.4
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling ascii_utils v0.9.3
[INFO] [stderr]    Compiling fastrand v1.7.0
[INFO] [stderr]    Compiling http-range-header v0.3.0
[INFO] [stderr]    Compiling rustversion v1.0.6
[INFO] [stderr]    Compiling fast_chemail v0.9.6
[INFO] [stderr]    Compiling crossbeam-channel v0.5.4
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.8
[INFO] [stderr]    Compiling raw-cpuid v10.3.0
[INFO] [stderr]    Compiling num_cpus v1.13.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.2
[INFO] [stderr]    Compiling getrandom v0.2.6
[INFO] [stderr]    Compiling socket2 v0.4.4
[INFO] [stderr]    Compiling mio v0.8.2
[INFO] [stderr]    Compiling parking_lot v0.12.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling block-buffer v0.10.2
[INFO] [stderr]    Compiling crypto-common v0.1.3
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling unicode-normalization v0.1.19
[INFO] [stderr]    Compiling crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling tempfile v3.3.0
[INFO] [stderr]    Compiling digest v0.10.3
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling sha-1 v0.10.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rayon v1.5.2
[INFO] [stderr]    Compiling scheduled-thread-pool v0.2.5
[INFO] [stderr]    Compiling moka v0.8.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling r2d2 v0.8.9
[INFO] [stderr]    Compiling sync_wrapper v0.1.1
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling matchit v0.5.0
[INFO] [stderr]    Compiling heck v0.4.0
[INFO] [stderr]    Compiling quanta v0.9.3
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling syn v0.14.9
[INFO] [stderr]    Compiling triomphe v0.1.5
[INFO] [stderr]    Compiling tagptr v0.2.0
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]    Compiling futures-timer v3.0.2
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling pest_generator v2.1.3
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]    Compiling futures-macro v0.3.21
[INFO] [stderr]    Compiling tokio-macros v1.7.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling tracing-attributes v0.1.20
[INFO] [stderr]    Compiling diesel_derives v1.4.1
[INFO] [stderr]    Compiling pin-project-internal v1.0.10
[INFO] [stderr]    Compiling pest_derive v2.1.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.3
[INFO] [stderr]    Compiling diesel-derive-enum v1.1.2
[INFO] [stderr]    Compiling strum_macros v0.24.0
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]    Compiling async-stream v0.3.3
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]    Compiling thiserror v1.0.30
[INFO] [stderr]    Compiling pin-project v1.0.10
[INFO] [stderr]    Compiling diesel v1.4.8
[INFO] [stderr]    Compiling tracing v0.1.34
[INFO] [stderr]    Compiling bytes v1.1.0
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling toml v0.5.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling http v0.2.6
[INFO] [stderr]    Compiling tokio v1.17.0
[INFO] [stderr]    Compiling proc-macro-crate v1.1.3
[INFO] [stderr]    Compiling async-graphql-value v3.0.38
[INFO] [stderr]    Compiling async-graphql-parser v3.0.38
[INFO] [stderr]    Compiling http-body v0.4.4
[INFO] [stderr]    Compiling tungstenite v0.17.2
[INFO] [stderr]    Compiling headers-core v0.2.0
[INFO] [stderr]    Compiling headers v0.3.7
[INFO] [stderr]    Compiling axum-core v0.2.1
[INFO] [stderr]    Compiling migrations_internals v1.4.1
[INFO] [stderr]    Compiling diesel-derive-newtype v0.1.2
[INFO] [stderr]    Compiling migrations_macros v1.4.2
[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 h2 v0.3.13
[INFO] [stderr]    Compiling tower v0.4.12
[INFO] [stderr]    Compiling tower-http v0.2.5
[INFO] [stderr]    Compiling async-graphql-derive 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 v3.0.38
[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)]` 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)]` 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)]` 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)]` 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)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `$crate::join` which comes from the expansion of the macro `tokio::join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/game.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn split_row(s: &str) -> SplitWhitespace {
[INFO] [stdout]    |                 ^^^^     --------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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 5m 58s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: 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 2`
[INFO] running `Command { std: "docker" "inspect" "b595071b6667ffae7ce9882bf3a74ce9c24dfd281d33c5f495312c5f8d0ac2b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b595071b6667ffae7ce9882bf3a74ce9c24dfd281d33c5f495312c5f8d0ac2b0", kill_on_drop: false }`
[INFO] [stdout] b595071b6667ffae7ce9882bf3a74ce9c24dfd281d33c5f495312c5f8d0ac2b0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 14b12c546f071e19912f249605f889ce6fbea7c8b8a58453df56572aa27d7fc7
[INFO] running `Command { std: "docker" "start" "-a" "14b12c546f071e19912f249605f889ce6fbea7c8b8a58453df56572aa27d7fc7", 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)]` 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)]` 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)]` 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)]` 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)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `$crate::join` which comes from the expansion of the macro `tokio::join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/game.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn split_row(s: &str) -> SplitWhitespace {
[INFO] [stdout]    |                 ^^^^     --------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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 7.79s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: 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 2`
[INFO] running `Command { std: "docker" "inspect" "14b12c546f071e19912f249605f889ce6fbea7c8b8a58453df56572aa27d7fc7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "14b12c546f071e19912f249605f889ce6fbea7c8b8a58453df56572aa27d7fc7", kill_on_drop: false }`
[INFO] [stdout] 14b12c546f071e19912f249605f889ce6fbea7c8b8a58453df56572aa27d7fc7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] aa44ffbddce1a995345ac46b17639c7c1dab141375b75d6d42524e49eb2cc7ef
[INFO] running `Command { std: "docker" "start" "-a" "aa44ffbddce1a995345ac46b17639c7c1dab141375b75d6d42524e49eb2cc7ef", 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)]` 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)]` 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)]` 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)]` 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)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `$crate::join` which comes from the expansion of the macro `tokio::join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/game.rs:15:17
[INFO] [stderr]    |
[INFO] [stderr] 15 | fn split_row(s: &str) -> SplitWhitespace {
[INFO] [stderr]    |                 ^^^^     --------------- the lifetime gets resolved as `'_`
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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" --tests` to apply 11 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: 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 2`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sstackrr_backend-051ae45d128076db)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test adversary_minimax::tests::expectimax_three_better_than_many_two ... ok
[INFO] [stdout] test adversary_minimax::tests::expectimax_winning_windows_aint_equal ... ok
[INFO] [stdout] test adversary_minimax::tests::expectimax_none ... ok
[INFO] [stdout] test game::tests::calc_field_index_rect_test ... ok
[INFO] [stdout] test game::tests::bug1 ... ok
[INFO] [stdout] test adversary_minimax::tests::minimax_real_opportunity ... ok
[INFO] [stdout] test adversary_minimax::tests::minimax_opportunity ... ok
[INFO] [stdout] test adversary_minimax::tests::minimax_opportunity2 ... ok
[INFO] [stdout] test game::tests::game_ongoing ... ok
[INFO] [stdout] test game::tests::game_stalemate ... ok
[INFO] [stdout] test game::tests::not_a_square - should panic ... FAILED
[INFO] [stdout] test game::tests::serializations ... ok
[INFO] [stdout] test game::tests::possible_moves_cloggedgame ... ok
[INFO] [stdout] test game::tests::possible_moves_nogame ... ok
[INFO] [stdout] test game::tests::winner_diagonal ... ok
[INFO] [stdout] test game::tests::winner_vertical ... ok
[INFO] [stdout] test game::tests::winner_vertical_blue ... ok
[INFO] [stdout] test game::tests::winning_turn ... ok
[INFO] [stdout] test game::tests::many_turns ... ok
[INFO] [stdout] test game::tests::winner_diagonal_alternative ... ok
[INFO] [stdout] test game::tests::winner_horizontal ... ok
[INFO] [stdout] test game::tests::hashing ... ok
[INFO] [stdout] test adversary_minimax::tests::minimax_bigger_opportunity ... ok
[INFO] [stdout] test game::tests::possible_moves_empty ... ok
[INFO] [stdout] test adversary_minimax::tests::performance ... ok
[INFO] [stdout] test adversary_minimax::tests::bug_1 ... ok
[INFO] [stdout] test adversary_minimax::tests::minimax_blocker ... 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 8.66s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin sstackrr-backend`
[INFO] running `Command { std: "docker" "inspect" "aa44ffbddce1a995345ac46b17639c7c1dab141375b75d6d42524e49eb2cc7ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa44ffbddce1a995345ac46b17639c7c1dab141375b75d6d42524e49eb2cc7ef", kill_on_drop: false }`
[INFO] [stdout] aa44ffbddce1a995345ac46b17639c7c1dab141375b75d6d42524e49eb2cc7ef
