[INFO] cloning repository https://github.com/stremin/highloadcup2018
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/stremin/highloadcup2018" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstremin%2Fhighloadcup2018", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstremin%2Fhighloadcup2018'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fac8aa059923e85a4875f3e67aa7d0191a39b631
[INFO] checking stremin/highloadcup2018 against master#4008bbdf34b583ce44a467043aae3703afc0a76f for pr-129249-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstremin%2Fhighloadcup2018" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc1/source/.cargo/config
[INFO] started tweaking git repo https://github.com/stremin/highloadcup2018
[INFO] finished tweaking git repo https://github.com/stremin/highloadcup2018
[INFO] tweaked toml for git repo https://github.com/stremin/highloadcup2018 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/stremin/highloadcup2018 on toolchain 4008bbdf34b583ce44a467043aae3703afc0a76f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4008bbdf34b583ce44a467043aae3703afc0a76f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/stremin/highloadcup2018 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" "+4008bbdf34b583ce44a467043aae3703afc0a76f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded time v0.1.41
[INFO] [stderr]   Downloaded redox_syscall v0.1.49
[INFO] [stderr]   Downloaded libflate v0.1.19
[INFO] [stderr]   Downloaded zip v0.5.0
[INFO] [stderr]   Downloaded enum-map v0.4.1
[INFO] [stderr]   Downloaded enum-map-derive v0.4.0
[INFO] [stderr]   Downloaded textwrap v0.10.0
[INFO] [stderr]   Downloaded unreachable v1.0.0
[INFO] [stderr]   Downloaded chashmap v2.2.0
[INFO] [stderr]   Downloaded winapi-util v0.1.1
[INFO] [stderr]   Downloaded reexport-proc-macro v1.0.5
[INFO] [stderr]   Downloaded owning_ref v0.2.4
[INFO] [stderr]   Downloaded lazycell v1.2.1
[INFO] [stderr]   Downloaded either v1.5.0
[INFO] [stderr]   Downloaded itoa v0.4.3
[INFO] [stderr]   Downloaded quote v0.6.10
[INFO] [stderr]   Downloaded array-macro v1.0.3
[INFO] [stderr]   Downloaded strsim v0.7.0
[INFO] [stderr]   Downloaded byteorder v1.2.7
[INFO] [stderr]   Downloaded termion v1.5.1
[INFO] [stderr]   Downloaded smallvec v0.6.7
[INFO] [stderr]   Downloaded env_logger v0.6.0
[INFO] [stderr]   Downloaded memchr v2.1.2
[INFO] [stderr]   Downloaded aho-corasick v0.6.9
[INFO] [stderr]   Downloaded parking_lot v0.3.8
[INFO] [stderr]   Downloaded parking_lot_core v0.2.14
[INFO] [stderr]   Downloaded proc-macro2 v0.4.24
[INFO] [stderr]   Downloaded serde_derive v1.0.84
[INFO] [stderr]   Downloaded crc32fast v1.1.2
[INFO] [stderr]   Downloaded cc v1.0.28
[INFO] [stderr]   Downloaded ryu v0.2.7
[INFO] [stderr]   Downloaded rand_os v0.1.1
[INFO] [stderr]   Downloaded itertools v0.8.0
[INFO] [stderr]   Downloaded serde_json v1.0.34
[INFO] [stderr]   Downloaded serde v1.0.84
[INFO] [stderr]   Downloaded rand v0.4.5
[INFO] [stderr]   Downloaded rand v0.6.4
[INFO] [stderr]   Downloaded mio v0.6.16
[INFO] [stderr]   Downloaded clap v2.32.0
[INFO] [stderr]   Downloaded syn v0.15.23
[INFO] [stderr]   Downloaded regex v1.1.0
[INFO] [stderr]   Downloaded libc v0.2.47
[INFO] [stderr]   Downloaded regex-syntax v0.6.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f041efd4e7a8416f252f2669de32fe908d815132b3a2d0623f21dc34b6332986
[INFO] running `Command { std: "docker" "start" "f041efd4e7a8416f252f2669de32fe908d815132b3a2d0623f21dc34b6332986", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f041efd4e7a8416f252f2669de32fe908d815132b3a2d0623f21dc34b6332986" "/opt/rustwide/cargo-home/bin/cargo" "+4008bbdf34b583ce44a467043aae3703afc0a76f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f041efd4e7a8416f252f2669de32fe908d815132b3a2d0623f21dc34b6332986", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f041efd4e7a8416f252f2669de32fe908d815132b3a2d0623f21dc34b6332986" "/opt/rustwide/cargo-home/bin/cargo" "+4008bbdf34b583ce44a467043aae3703afc0a76f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.47
[INFO] [stderr]     Checking cfg-if v0.1.6
[INFO] [stderr]    Compiling proc-macro2 v0.4.24
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling autocfg v0.1.2
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]    Compiling cc v1.0.28
[INFO] [stderr]    Compiling crc32fast v1.1.2
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]     Checking smallvec v0.6.7
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling memchr v2.1.2
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]     Checking ucd-util v0.1.3
[INFO] [stderr]    Compiling ryu v0.2.7
[INFO] [stderr]    Compiling regex v1.1.0
[INFO] [stderr]    Compiling serde v1.0.84
[INFO] [stderr]     Checking regex-syntax v0.6.4
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]    Compiling rand v0.6.4
[INFO] [stderr]     Checking log v0.4.6
[INFO] [stderr]     Checking owning_ref v0.2.4
[INFO] [stderr]     Checking utf8-ranges v1.0.2
[INFO] [stderr]    Compiling nix v0.13.0
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking unicode-width v0.1.5
[INFO] [stderr]     Checking rand v0.4.5
[INFO] [stderr]     Checking thread-id v3.3.0
[INFO] [stderr]     Checking time v0.1.41
[INFO] [stderr]    Compiling quote v0.6.10
[INFO] [stderr]    Compiling bzip2-sys v0.1.7
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]    Compiling syn v0.14.9
[INFO] [stderr]     Checking byteorder v1.2.7
[INFO] [stderr]     Checking aho-corasick v0.6.9
[INFO] [stderr]     Checking adler32 v1.0.3
[INFO] [stderr]    Compiling syn v0.15.23
[INFO] [stderr]     Checking textwrap v0.10.0
[INFO] [stderr]     Checking humantime v1.2.0
[INFO] [stderr]     Checking libflate v0.1.19
[INFO] [stderr]     Checking iovec v0.1.2
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking rand_os v0.1.1
[INFO] [stderr]     Checking parking_lot_core v0.2.14
[INFO] [stderr]     Checking parking_lot v0.3.8
[INFO] [stderr]     Checking bzip2 v0.3.3
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking either v1.5.0
[INFO] [stderr]     Checking lazycell v1.2.1
[INFO] [stderr]     Checking slab v0.4.1
[INFO] [stderr]     Checking reexport-proc-macro v1.0.5
[INFO] [stderr]     Checking strsim v0.7.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking array-macro v1.0.3
[INFO] [stderr]     Checking itoa v0.4.3
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking termcolor v1.0.4
[INFO] [stderr]     Checking podio v0.1.6
[INFO] [stderr]     Checking mio v0.6.16
[INFO] [stderr]     Checking clap v2.32.0
[INFO] [stderr]     Checking zip v0.5.0
[INFO] [stderr]     Checking itertools v0.8.0
[INFO] [stderr]     Checking chashmap v2.2.0
[INFO] [stderr]     Checking chrono v0.4.6
[INFO] [stderr]     Checking env_logger v0.6.0
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]    Compiling enum-map-derive v0.4.0
[INFO] [stderr]    Compiling serde_derive v1.0.84
[INFO] [stderr]     Checking enum-map v0.4.1
[INFO] [stderr]     Checking serde_json v1.0.34
[INFO] [stderr]     Checking hlc2018 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/storage.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/storage.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/storage.rs:79:10
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/storage.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/storage.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/storage.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/storage.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/storage.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/storage.rs:123:10
[INFO] [stdout]     |
[INFO] [stdout] 123 | #[derive(Deserialize, Debug)]
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/storage.rs:128:10
[INFO] [stdout]     |
[INFO] [stdout] 128 | #[derive(Deserialize, Debug)]
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::free::kmerge`
[INFO] [stdout]  --> src/filter.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use itertools::free::kmerge;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/group.rs:359:10
[INFO] [stdout]     |
[INFO] [stdout] 359 | #[derive(Serialize, Debug)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/group.rs:364:10
[INFO] [stdout]     |
[INFO] [stdout] 364 | #[derive(Serialize, Debug, Clone)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/storage.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/storage.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/storage.rs:79:10
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/storage.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/storage.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/storage.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/storage.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/storage.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/storage.rs:123:10
[INFO] [stdout]     |
[INFO] [stdout] 123 | #[derive(Deserialize, Debug)]
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/storage.rs:128:10
[INFO] [stdout]     |
[INFO] [stdout] 128 | #[derive(Deserialize, Debug)]
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::free::kmerge`
[INFO] [stdout]  --> src/filter.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use itertools::free::kmerge;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/group.rs:359:10
[INFO] [stdout]     |
[INFO] [stdout] 359 | #[derive(Serialize, Debug)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/group.rs:364:10
[INFO] [stdout]     |
[INFO] [stdout] 364 | #[derive(Serialize, Debug, Clone)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/storage.rs:250:74
[INFO] [stdout]     |
[INFO] [stdout] 250 |     pub fn new_account(&mut self, bytes: &[u8], success_response_f: &mut FnMut(StatusCode) -> ()) -> Result<(), StatusCode> {
[INFO] [stdout]     |                                                                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 250 |     pub fn new_account(&mut self, bytes: &[u8], success_response_f: &mut dyn FnMut(StatusCode) -> ()) -> Result<(), StatusCode> {
[INFO] [stdout]     |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/storage.rs:285:86
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn update_account(&mut self, id: i32, bytes: &[u8], success_response_f: &mut FnMut(StatusCode) -> ()) -> Result<(), StatusC...
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn update_account(&mut self, id: i32, bytes: &[u8], success_response_f: &mut dyn FnMut(StatusCode) -> ()) -> Result<(), StatusCode> {
[INFO] [stdout]     |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/storage.rs:354:75
[INFO] [stdout]     |
[INFO] [stdout] 354 |     pub fn update_likes(&mut self, bytes: &[u8], success_response_f: &mut FnMut(StatusCode) -> ()) -> Result<(), StatusCode> {
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 354 |     pub fn update_likes(&mut self, bytes: &[u8], success_response_f: &mut dyn FnMut(StatusCode) -> ()) -> Result<(), StatusCode> {
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/storage.rs:250:74
[INFO] [stdout]     |
[INFO] [stdout] 250 |     pub fn new_account(&mut self, bytes: &[u8], success_response_f: &mut FnMut(StatusCode) -> ()) -> Result<(), StatusCode> {
[INFO] [stdout]     |                                                                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 250 |     pub fn new_account(&mut self, bytes: &[u8], success_response_f: &mut dyn FnMut(StatusCode) -> ()) -> Result<(), StatusCode> {
[INFO] [stdout]     |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/storage.rs:285:86
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn update_account(&mut self, id: i32, bytes: &[u8], success_response_f: &mut FnMut(StatusCode) -> ()) -> Result<(), StatusC...
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn update_account(&mut self, id: i32, bytes: &[u8], success_response_f: &mut dyn FnMut(StatusCode) -> ()) -> Result<(), StatusCode> {
[INFO] [stdout]     |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/storage.rs:354:75
[INFO] [stdout]     |
[INFO] [stdout] 354 |     pub fn update_likes(&mut self, bytes: &[u8], success_response_f: &mut FnMut(StatusCode) -> ()) -> Result<(), StatusCode> {
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 354 |     pub fn update_likes(&mut self, bytes: &[u8], success_response_f: &mut dyn FnMut(StatusCode) -> ()) -> Result<(), StatusCode> {
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `consts`
[INFO] [stdout]   --> src/filter_index.rs:89:57
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn update_account(&mut self, account: &Account, consts: &Consts) {
[INFO] [stdout]    |                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_consts`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `consts`
[INFO] [stdout]   --> src/filter_index.rs:89:57
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn update_account(&mut self, account: &Account, consts: &Consts) {
[INFO] [stdout]    |                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_consts`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `similarity` is never read
[INFO] [stdout]   --> src/storage.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct Indexes {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub similarity: HashMap<(i32, i32), f32>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StatKey` is never constructed
[INFO] [stdout]    --> src/stats.rs:200:8
[INFO] [stdout]     |
[INFO] [stdout] 200 | struct StatKey {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `other_status1` is never used
[INFO] [stdout]    --> src/filter_index.rs:205:4
[INFO] [stdout]     |
[INFO] [stdout] 205 | fn other_status1(status: i32, consts: &Consts) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `other_status2` is never used
[INFO] [stdout]    --> src/filter_index.rs:217:4
[INFO] [stdout]     |
[INFO] [stdout] 217 | fn other_status2(status: i32, consts: &Consts) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/main.rs:487:17
[INFO] [stdout]     |
[INFO] [stdout] 487 |     pub fn iter(&self) -> EventIter {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 487 |     pub fn iter(&self) -> EventIter<'_> {
[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/storage.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AccountsJson`
[INFO] [stdout] 75 | pub struct AccountsJson {
[INFO] [stdout]    |            ------------ `AccountsJson` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Serialize` (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/storage.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AccountsJson`
[INFO] [stdout] 75 | pub struct AccountsJson {
[INFO] [stdout]    |            ------------ `AccountsJson` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Deserialize` (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/storage.rs:79:10
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AccountJson`
[INFO] [stdout] 80 | pub struct AccountJson {
[INFO] [stdout]    |            ----------- `AccountJson` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Serialize` (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/storage.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AccountJson`
[INFO] [stdout] 80 | pub struct AccountJson {
[INFO] [stdout]    |            ----------- `AccountJson` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Deserialize` (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/storage.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Like`
[INFO] [stdout] 112 | pub struct Like {
[INFO] [stdout]     |            ---- `Like` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Serialize` (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/storage.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
[INFO] [stdout]     |                     ^----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Like`
[INFO] [stdout] 112 | pub struct Like {
[INFO] [stdout]     |            ---- `Like` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Deserialize` (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/storage.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Premium`
[INFO] [stdout] 118 | pub struct Premium {
[INFO] [stdout]     |            ------- `Premium` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Serialize` (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/storage.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]     |                     ^----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Premium`
[INFO] [stdout] 118 | pub struct Premium {
[INFO] [stdout]     |            ------- `Premium` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Deserialize` (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/storage.rs:123:10
[INFO] [stdout]     |
[INFO] [stdout] 123 | #[derive(Deserialize, Debug)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LikesJson`
[INFO] [stdout] 124 | struct LikesJson {
[INFO] [stdout]     |        --------- `LikesJson` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Deserialize` (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/storage.rs:128:10
[INFO] [stdout]     |
[INFO] [stdout] 128 | #[derive(Deserialize, Debug)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LikeJson`
[INFO] [stdout] 129 | struct LikeJson {
[INFO] [stdout]     |        -------- `LikeJson` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `keys_to_filter_mode` should have an upper case name
[INFO] [stdout]   --> src/filter.rs:33:16
[INFO] [stdout]    |
[INFO] [stdout] 33 |     static ref keys_to_filter_mode: HashMap<KeySet, Mode> = {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 33 -     static ref keys_to_filter_mode: HashMap<KeySet, Mode> = {
[INFO] [stdout] 33 +     static ref KEYS_TO_FILTER_MODE: HashMap<KeySet, Mode> = {
[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/group.rs:359:10
[INFO] [stdout]     |
[INFO] [stdout] 359 | #[derive(Serialize, Debug)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GroupsJson`
[INFO] [stdout] 360 | pub struct GroupsJson {
[INFO] [stdout]     |            ---------- `GroupsJson` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Serialize` (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/group.rs:364:10
[INFO] [stdout]     |
[INFO] [stdout] 364 | #[derive(Serialize, Debug, Clone)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GroupJson`
[INFO] [stdout] 365 | struct GroupJson {
[INFO] [stdout]     |        --------- `GroupJson` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `keys_to_group_type` should have an upper case name
[INFO] [stdout]   --> src/group_index.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 53 |     static ref keys_to_group_type: HashMap<KeySet, GroupType> = {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 53 -     static ref keys_to_group_type: HashMap<KeySet, GroupType> = {
[INFO] [stdout] 53 +     static ref KEYS_TO_GROUP_TYPE: HashMap<KeySet, GroupType> = {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `keys_to_filter_type` should have an upper case name
[INFO] [stdout]   --> src/filter_index.rs:48:16
[INFO] [stdout]    |
[INFO] [stdout] 48 |     static ref keys_to_filter_type: HashMap<KeySet, FilterType> = {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 48 -     static ref keys_to_filter_type: HashMap<KeySet, FilterType> = {
[INFO] [stdout] 48 +     static ref KEYS_TO_FILTER_TYPE: HashMap<KeySet, FilterType> = {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/filter_index.rs:115:23
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn get_result(&self, matcher: &Matcher) -> Option<Cow<[i32]>> {
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here   ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn get_result(&self, matcher: &Matcher) -> Option<Cow<'_, [i32]>> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/process.rs:92:21
[INFO] [stdout]    |
[INFO] [stdout] 92 |                     &storage.read().unwrap().stats.register("NEW_EARLY", elapsed_early.unwrap(), &params);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 92 |                     let _ = &storage.read().unwrap().stats.register("NEW_EARLY", elapsed_early.unwrap(), &params);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/process.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 &storage.read().unwrap().stats.register("NEW", start.unwrap().elapsed(), &params);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 let _ = &storage.read().unwrap().stats.register("NEW", start.unwrap().elapsed(), &params);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/process.rs:114:21
[INFO] [stdout]     |
[INFO] [stdout] 114 |                     &storage.read().unwrap().stats.register("UPDATE_EARLY", elapsed_early.unwrap(), &params);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 114 |                     let _ = &storage.read().unwrap().stats.register("UPDATE_EARLY", elapsed_early.unwrap(), &params);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/process.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |                 &storage.read().unwrap().stats.register("UPDATE", start.unwrap().elapsed(), &params);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 116 |                 let _ = &storage.read().unwrap().stats.register("UPDATE", start.unwrap().elapsed(), &params);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/process.rs:135:21
[INFO] [stdout]     |
[INFO] [stdout] 135 |                     &storage.read().unwrap().stats.register("LIKES_EARLY", elapsed_early.unwrap(), &params);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 135 |                     let _ = &storage.read().unwrap().stats.register("LIKES_EARLY", elapsed_early.unwrap(), &params);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/process.rs:137:17
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 &storage.read().unwrap().stats.register("LIKES", start.unwrap().elapsed(), &params);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 let _ = &storage.read().unwrap().stats.register("LIKES", start.unwrap().elapsed(), &params);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/process.rs:158:17
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 &storage.read().unwrap().stats.register(name_cache, start.unwrap().elapsed(), &params);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 let _ = &storage.read().unwrap().stats.register(name_cache, start.unwrap().elapsed(), &params);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/process.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         &storage.read().unwrap().stats.register(name, start.unwrap().elapsed(), &params);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let _ = &storage.read().unwrap().stats.register(name, start.unwrap().elapsed(), &params);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `similarity` is never read
[INFO] [stdout]   --> src/storage.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct Indexes {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub similarity: HashMap<(i32, i32), f32>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StatKey` is never constructed
[INFO] [stdout]    --> src/stats.rs:200:8
[INFO] [stdout]     |
[INFO] [stdout] 200 | struct StatKey {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `other_status1` is never used
[INFO] [stdout]    --> src/filter_index.rs:205:4
[INFO] [stdout]     |
[INFO] [stdout] 205 | fn other_status1(status: i32, consts: &Consts) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `other_status2` is never used
[INFO] [stdout]    --> src/filter_index.rs:217:4
[INFO] [stdout]     |
[INFO] [stdout] 217 | fn other_status2(status: i32, consts: &Consts) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/main.rs:487:17
[INFO] [stdout]     |
[INFO] [stdout] 487 |     pub fn iter(&self) -> EventIter {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 487 |     pub fn iter(&self) -> EventIter<'_> {
[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/storage.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AccountsJson`
[INFO] [stdout] 75 | pub struct AccountsJson {
[INFO] [stdout]    |            ------------ `AccountsJson` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Serialize` (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/storage.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AccountsJson`
[INFO] [stdout] 75 | pub struct AccountsJson {
[INFO] [stdout]    |            ------------ `AccountsJson` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Deserialize` (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/storage.rs:79:10
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AccountJson`
[INFO] [stdout] 80 | pub struct AccountJson {
[INFO] [stdout]    |            ----------- `AccountJson` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Serialize` (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/storage.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AccountJson`
[INFO] [stdout] 80 | pub struct AccountJson {
[INFO] [stdout]    |            ----------- `AccountJson` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Deserialize` (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/storage.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Like`
[INFO] [stdout] 112 | pub struct Like {
[INFO] [stdout]     |            ---- `Like` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Serialize` (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/storage.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
[INFO] [stdout]     |                     ^----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Like`
[INFO] [stdout] 112 | pub struct Like {
[INFO] [stdout]     |            ---- `Like` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Deserialize` (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/storage.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Premium`
[INFO] [stdout] 118 | pub struct Premium {
[INFO] [stdout]     |            ------- `Premium` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Serialize` (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/storage.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]     |                     ^----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Premium`
[INFO] [stdout] 118 | pub struct Premium {
[INFO] [stdout]     |            ------- `Premium` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Deserialize` (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/storage.rs:123:10
[INFO] [stdout]     |
[INFO] [stdout] 123 | #[derive(Deserialize, Debug)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LikesJson`
[INFO] [stdout] 124 | struct LikesJson {
[INFO] [stdout]     |        --------- `LikesJson` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Deserialize` (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/storage.rs:128:10
[INFO] [stdout]     |
[INFO] [stdout] 128 | #[derive(Deserialize, Debug)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LikeJson`
[INFO] [stdout] 129 | struct LikeJson {
[INFO] [stdout]     |        -------- `LikeJson` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `keys_to_filter_mode` should have an upper case name
[INFO] [stdout]   --> src/filter.rs:33:16
[INFO] [stdout]    |
[INFO] [stdout] 33 |     static ref keys_to_filter_mode: HashMap<KeySet, Mode> = {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 33 -     static ref keys_to_filter_mode: HashMap<KeySet, Mode> = {
[INFO] [stdout] 33 +     static ref KEYS_TO_FILTER_MODE: HashMap<KeySet, Mode> = {
[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/group.rs:359:10
[INFO] [stdout]     |
[INFO] [stdout] 359 | #[derive(Serialize, Debug)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GroupsJson`
[INFO] [stdout] 360 | pub struct GroupsJson {
[INFO] [stdout]     |            ---------- `GroupsJson` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Serialize` (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/group.rs:364:10
[INFO] [stdout]     |
[INFO] [stdout] 364 | #[derive(Serialize, Debug, Clone)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GroupJson`
[INFO] [stdout] 365 | struct GroupJson {
[INFO] [stdout]     |        --------- `GroupJson` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `keys_to_group_type` should have an upper case name
[INFO] [stdout]   --> src/group_index.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 53 |     static ref keys_to_group_type: HashMap<KeySet, GroupType> = {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 53 -     static ref keys_to_group_type: HashMap<KeySet, GroupType> = {
[INFO] [stdout] 53 +     static ref KEYS_TO_GROUP_TYPE: HashMap<KeySet, GroupType> = {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `keys_to_filter_type` should have an upper case name
[INFO] [stdout]   --> src/filter_index.rs:48:16
[INFO] [stdout]    |
[INFO] [stdout] 48 |     static ref keys_to_filter_type: HashMap<KeySet, FilterType> = {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 48 -     static ref keys_to_filter_type: HashMap<KeySet, FilterType> = {
[INFO] [stdout] 48 +     static ref KEYS_TO_FILTER_TYPE: HashMap<KeySet, FilterType> = {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/filter_index.rs:115:23
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn get_result(&self, matcher: &Matcher) -> Option<Cow<[i32]>> {
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here   ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn get_result(&self, matcher: &Matcher) -> Option<Cow<'_, [i32]>> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/process.rs:92:21
[INFO] [stdout]    |
[INFO] [stdout] 92 |                     &storage.read().unwrap().stats.register("NEW_EARLY", elapsed_early.unwrap(), &params);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 92 |                     let _ = &storage.read().unwrap().stats.register("NEW_EARLY", elapsed_early.unwrap(), &params);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/process.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 &storage.read().unwrap().stats.register("NEW", start.unwrap().elapsed(), &params);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 let _ = &storage.read().unwrap().stats.register("NEW", start.unwrap().elapsed(), &params);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/process.rs:114:21
[INFO] [stdout]     |
[INFO] [stdout] 114 |                     &storage.read().unwrap().stats.register("UPDATE_EARLY", elapsed_early.unwrap(), &params);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 114 |                     let _ = &storage.read().unwrap().stats.register("UPDATE_EARLY", elapsed_early.unwrap(), &params);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/process.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |                 &storage.read().unwrap().stats.register("UPDATE", start.unwrap().elapsed(), &params);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 116 |                 let _ = &storage.read().unwrap().stats.register("UPDATE", start.unwrap().elapsed(), &params);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/process.rs:135:21
[INFO] [stdout]     |
[INFO] [stdout] 135 |                     &storage.read().unwrap().stats.register("LIKES_EARLY", elapsed_early.unwrap(), &params);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 135 |                     let _ = &storage.read().unwrap().stats.register("LIKES_EARLY", elapsed_early.unwrap(), &params);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/process.rs:137:17
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 &storage.read().unwrap().stats.register("LIKES", start.unwrap().elapsed(), &params);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 let _ = &storage.read().unwrap().stats.register("LIKES", start.unwrap().elapsed(), &params);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/process.rs:158:17
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 &storage.read().unwrap().stats.register(name_cache, start.unwrap().elapsed(), &params);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 let _ = &storage.read().unwrap().stats.register(name_cache, start.unwrap().elapsed(), &params);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/process.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         &storage.read().unwrap().stats.register(name, start.unwrap().elapsed(), &params);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let _ = &storage.read().unwrap().stats.register(name, start.unwrap().elapsed(), &params);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.15s
[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 1`
[INFO] running `Command { std: "docker" "inspect" "f041efd4e7a8416f252f2669de32fe908d815132b3a2d0623f21dc34b6332986", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f041efd4e7a8416f252f2669de32fe908d815132b3a2d0623f21dc34b6332986", kill_on_drop: false }`
[INFO] [stdout] f041efd4e7a8416f252f2669de32fe908d815132b3a2d0623f21dc34b6332986
