[INFO] cloning repository https://github.com/Nugine/wrong-answer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Nugine/wrong-answer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNugine%2Fwrong-answer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNugine%2Fwrong-answer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b1c5434337685d5e822b505d8aaf195f5e61cf37
[INFO] testing Nugine/wrong-answer against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNugine%2Fwrong-answer" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Nugine/wrong-answer
[INFO] finished tweaking git repo https://github.com/Nugine/wrong-answer
[INFO] tweaked toml for git repo https://github.com/Nugine/wrong-answer written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Nugine/wrong-answer on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Nugine/wrong-answer already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6a8bbae2dab3db25af44c798b388d78db87f53284ee77acc563512aed82d101a
[INFO] running `Command { std: "docker" "start" "-a" "6a8bbae2dab3db25af44c798b388d78db87f53284ee77acc563512aed82d101a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6a8bbae2dab3db25af44c798b388d78db87f53284ee77acc563512aed82d101a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a8bbae2dab3db25af44c798b388d78db87f53284ee77acc563512aed82d101a", kill_on_drop: false }`
[INFO] [stdout] 6a8bbae2dab3db25af44c798b388d78db87f53284ee77acc563512aed82d101a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 00d6af69123592de59fb14aa34d700ff77323791ee1bc9ece666dd583fb3e2d6
[INFO] running `Command { std: "docker" "start" "-a" "00d6af69123592de59fb14aa34d700ff77323791ee1bc9ece666dd583fb3e2d6", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.65
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling autocfg v0.1.6
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.5
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling syn v1.0.5
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling scopeguard v1.0.0
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling futures v0.1.29
[INFO] [stderr]    Compiling unicode-width v0.1.6
[INFO] [stderr]    Compiling unicode-segmentation v1.3.0
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling lock_api v0.3.1
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling quick-error v1.2.2
[INFO] [stderr]    Compiling vec_map v0.8.1
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling slab v0.4.2
[INFO] [stderr]    Compiling smallvec v0.6.14
[INFO] [stderr]    Compiling regex-syntax v0.6.12
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling humantime v1.3.0
[INFO] [stderr]    Compiling crossbeam-utils v0.6.6
[INFO] [stderr]    Compiling serde v1.0.101
[INFO] [stderr]    Compiling ryu v1.0.1
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling heck v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling termcolor v1.0.5
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling aho-corasick v0.7.6
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling atty v0.2.13
[INFO] [stderr]    Compiling bytes v0.4.12
[INFO] [stderr]    Compiling net2 v0.2.38
[INFO] [stderr]    Compiling clap v2.33.0
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling num_cpus v1.10.1
[INFO] [stderr]    Compiling parking_lot_core v0.5.0
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling matches v0.1.8
[INFO] [stderr]    Compiling unicode-bidi v0.3.4
[INFO] [stderr]    Compiling mio v0.6.19
[INFO] [stderr]    Compiling tokio-sync v0.1.7
[INFO] [stderr]    Compiling tokio-executor v0.1.8
[INFO] [stderr]    Compiling tokio-io v0.1.12
[INFO] [stderr]    Compiling parking_lot v0.8.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.8
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling lock_api v0.2.0
[INFO] [stderr]    Compiling either v1.5.3
[INFO] [stderr]    Compiling ascii v0.9.3
[INFO] [stderr]    Compiling mio-uds v0.6.7
[INFO] [stderr]    Compiling tokio-reactor v0.1.10
[INFO] [stderr]    Compiling tokio-codec v0.1.1
[INFO] [stderr]    Compiling combine v3.8.1
[INFO] [stderr]    Compiling scheduled-thread-pool v0.2.2
[INFO] [stderr]    Compiling dtoa v0.4.4
[INFO] [stderr]    Compiling tokio-tcp v0.1.3
[INFO] [stderr]    Compiling tokio-uds v0.2.5
[INFO] [stderr]    Compiling sha1 v0.6.0
[INFO] [stderr]    Compiling regex v1.3.1
[INFO] [stderr]    Compiling r2d2 v0.8.5
[INFO] [stderr]    Compiling crossbeam-channel v0.4.4
[INFO] [stderr]    Compiling idna v0.2.0
[INFO] [stderr]    Compiling url v2.1.0
[INFO] [stderr]    Compiling env_logger v0.7.1
[INFO] [stderr]    Compiling proc-macro-error v0.2.6
[INFO] [stderr]    Compiling redis v0.13.0
[INFO] [stderr]    Compiling structopt-derive v0.3.3
[INFO] [stderr]    Compiling serde_derive v1.0.101
[INFO] [stderr]    Compiling thiserror-impl v1.0.2
[INFO] [stderr]    Compiling num-derive v0.3.0
[INFO] [stderr]    Compiling thiserror v1.0.2
[INFO] [stderr]    Compiling r2d2_redis v0.12.0
[INFO] [stderr]    Compiling structopt v0.3.3
[INFO] [stderr]    Compiling wa-compare v0.1.0 (/opt/rustwide/workdir/wa-compare)
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-compare/src/main.rs:56:32
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 None => panic!(e),
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 None => panic!("{}", e),
[INFO] [stdout]    |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 56 -                 None => panic!(e),
[INFO] [stdout] 56 +                 None => std::panic::panic_any(e),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_json v1.0.41
[INFO] [stderr]    Compiling wa-monitor v0.1.0 (/opt/rustwide/workdir/wa-monitor)
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> wa-monitor/src/types.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-monitor/src/types.rs:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Serialize, Deserialize)]
[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]    = help: 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: 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> wa-monitor/src/types.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, Error, FromPrimitive, ToPrimitive)]
[INFO] [stdout]   |                        ^------------
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        `FromPrimitive` is not local
[INFO] [stdout]   |                        move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MonitorErrorKind`
[INFO] [stdout] 7 | pub enum MonitorErrorKind {
[INFO] [stdout]   |          ---------------- `MonitorErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_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 `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> wa-monitor/src/types.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, Error, FromPrimitive, ToPrimitive)]
[INFO] [stdout]   |                                       ^----------
[INFO] [stdout]   |                                       |
[INFO] [stdout]   |                                       `ToPrimitive` is not local
[INFO] [stdout]   |                                       move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_MonitorErrorKind`
[INFO] [stdout] 7 | pub enum MonitorErrorKind {
[INFO] [stdout]   |          ---------------- `MonitorErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_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 `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa-monitor/src/types.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^--------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TargetStatus`
[INFO] [stdout] 33 | pub struct TargetStatus {
[INFO] [stdout]    |            ------------ `TargetStatus` 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]   --> wa-monitor/src/types.rs:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^----------
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TargetStatus`
[INFO] [stdout] 33 | pub struct TargetStatus {
[INFO] [stdout]    |            ------------ `TargetStatus` 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] [stderr]    Compiling wa-interact v0.1.0 (/opt/rustwide/workdir/wa-interact)
[INFO] [stderr]    Compiling wa-server v0.1.0 (/opt/rustwide/workdir/wa-server)
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> wa-server/src/config.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Deserialize)]
[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]   = help: 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: 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 `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]   --> wa-server/src/config.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Deserialize)]
[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]    = help: 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: 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]  --> wa-server/src/types/judge.rs:3:45
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[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]   = help: 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: 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]  --> wa-server/src/types/judge.rs:3:56
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[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]   = help: 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: 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]   --> wa-server/src/types/judge.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-server/src/types/judge.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-server/src/types/judge.rs:23:45
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-server/src/types/judge.rs:23:56
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-server/src/types/judge.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-server/src/types/judge.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-server/src/types/judge.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-server/src/types/judge.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-server/src/types/judge.rs:57:10
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-server/src/types/judge.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Serialize, Deserialize)]
[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]    = help: 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: 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]  --> wa-server/src/types/lang.rs:3:51
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
[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]   = help: 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: 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]  --> wa-server/src/types/lang.rs:3:62
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
[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]   = help: 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: 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]   --> wa-server/src/types/sandbox.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Deserialize)]
[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]    = help: 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: 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: use of deprecated function `utils::compare::compare`
[INFO] [stdout]  --> wa-server/src/threads/worker.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utils::{compare, mkfifo};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `utils::compare::compare`
[INFO] [stdout]    --> wa-server/src/threads/worker.rs:233:23
[INFO] [stdout]     |
[INFO] [stdout] 233 |             let cmp = compare(ignore_trailing_space, &task.stdout_path, &task.userout_path)?;
[INFO] [stdout]     |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `utils::compare::compare`
[INFO] [stdout]  --> wa-server/src/utils/mod.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use compare::compare;
[INFO] [stdout]   |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]   --> wa-server/src/redis.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn update_submission(&self, update: Update) -> WaResult<()> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]   --> wa-server/src/redis.rs:79:14
[INFO] [stdout]    |
[INFO] [stdout] 79 |         conn.set(key, value)?;
[INFO] [stdout]    |              ^^^
[INFO] [stdout]    = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]    |
[INFO] [stdout] 79 ~         conn.set::<_, _, ()>(key, value)?;
[INFO] [stdout] 80 |
[INFO] [stdout] ...
[INFO] [stdout] 85 |                 .lpush(&self.judge_result_queue_key, id)
[INFO] [stdout] 86 ~                 .query::<()>(conn)?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> wa-server/src/types/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |     Channel(&'static str),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WaError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 46 -     Channel(&'static str),
[INFO] [stdout] 46 +     Channel(()),
[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]  --> wa-server/src/config.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Deserialize)]
[INFO] [stdout]   |          ^----------
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RedisConfig`
[INFO] [stdout] 7 | pub struct RedisConfig {
[INFO] [stdout]   |            ----------- `RedisConfig` 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: `#[warn(non_local_definitions)]` on by default
[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]   --> wa-server/src/config.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Deserialize)]
[INFO] [stdout]    |          ^----------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Config`
[INFO] [stdout] 20 | pub struct Config {
[INFO] [stdout]    |            ------ `Config` 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: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!(e)
[INFO] [stdout]    |                        ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/listener.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |             handle!(self.redis.reload(), "redis error: {}");
[INFO] [stdout]    |             ----------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 17 -                 panic!(e)
[INFO] [stdout] 17 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!(e)
[INFO] [stdout]    |                        ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/listener.rs:22:34
[INFO] [stdout]    |
[INFO] [stdout] 22 |                 let submission = handle!(self.redis.get_submission(), "redis error: {}");
[INFO] [stdout]    |                                  ------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 17 -                 panic!(e)
[INFO] [stdout] 17 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                   panic!(e)
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/listener.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | /                 handle!(
[INFO] [stdout] 27 | |                     self.sync_data(submission.problem_id),
[INFO] [stdout] 28 | |                     "fail to sync data: {}"
[INFO] [stdout] 29 | |                 );
[INFO] [stdout]    | |_________________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 17 -                 panic!(e)
[INFO] [stdout] 17 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                   panic!(e)
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/listener.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | /                 handle!(
[INFO] [stdout] 32 | |                     self.update_sender
[INFO] [stdout] 33 | |                         .send(submission.update(JudgeStatus::Queuing)),
[INFO] [stdout] 34 | |                     "updater is disconnected: {}"
[INFO] [stdout] 35 | |                 );
[INFO] [stdout]    | |_________________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 17 -                 panic!(e)
[INFO] [stdout] 17 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                   panic!(e)
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/listener.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 | /                 handle!(
[INFO] [stdout] 38 | |                     self.submission_sender.send(submission),
[INFO] [stdout] 39 | |                     "workers are disconnected: {}"
[INFO] [stdout] 40 | |                 );
[INFO] [stdout]    | |_________________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 17 -                 panic!(e)
[INFO] [stdout] 17 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                   panic!(e)
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/updater.rs:13:26
[INFO] [stdout]    |
[INFO] [stdout] 13 |               let update = handle!(
[INFO] [stdout]    |  __________________________-
[INFO] [stdout] 14 | |                 self.update_receiver.recv(),
[INFO] [stdout] 15 | |                 "update senders are disconnected: {}"
[INFO] [stdout] 16 | |             );
[INFO] [stdout]    | |_____________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 17 -                 panic!(e)
[INFO] [stdout] 17 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!(e)
[INFO] [stdout]    |                        ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/updater.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             handle!(self.redis.update_submission(update), "redis error: {}");
[INFO] [stdout]    |             ---------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 17 -                 panic!(e)
[INFO] [stdout] 17 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                   panic!(e)
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/worker.rs:29:30
[INFO] [stdout]    |
[INFO] [stdout] 29 |               let submission = handle!(
[INFO] [stdout]    |  ______________________________-
[INFO] [stdout] 30 | |                 self.submission_receiver.recv(),
[INFO] [stdout] 31 | |                 "submission sender is disconnected: {}"
[INFO] [stdout] 32 | |             );
[INFO] [stdout]    | |_____________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 17 -                 panic!(e)
[INFO] [stdout] 17 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |                   panic!(e)
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/worker.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 | /             handle!(@custom
[INFO] [stdout] 38 | |                 std::fs::create_dir_all(&working_dir),
[INFO] [stdout] 39 | |                 "can not create dir: {:?}",
[INFO] [stdout] 40 | |                 &working_dir,
[INFO] [stdout] 41 | |             );
[INFO] [stdout]    | |_____________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 26 -                 panic!(e)
[INFO] [stdout] 26 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |                   panic!(e)
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/worker.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 | /                 handle!(@custom
[INFO] [stdout] 64 | |                     std::fs::remove_dir_all(&working_dir),
[INFO] [stdout] 65 | |                     "can not remove dir: {:?}",
[INFO] [stdout] 66 | |                     &working_dir,
[INFO] [stdout] 67 | |                 );
[INFO] [stdout]    | |_________________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 26 -                 panic!(e)
[INFO] [stdout] 26 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> wa-server/src/main.rs:17:24
[INFO] [stdout]     |
[INFO] [stdout] 17  |                   panic!(e)
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wa-server/src/threads/worker.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 | /         handle!(
[INFO] [stdout] 246 | |             self.update_sender.send(update),
[INFO] [stdout] 247 | |             "updater is disconnected: {}"
[INFO] [stdout] 248 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 17  |                 panic!("{}", e)
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 17  -                 panic!(e)
[INFO] [stdout] 17  +                 std::panic::panic_any(e)
[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]  --> wa-server/src/types/judge.rs:3:45
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[INFO] [stdout]   |                                             ^--------
[INFO] [stdout]   |                                             |
[INFO] [stdout]   |                                             `Serialize` is not local
[INFO] [stdout]   |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_JudgeType`
[INFO] [stdout] 4 | pub enum JudgeType {
[INFO] [stdout]   |          --------- `JudgeType` 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]  --> wa-server/src/types/judge.rs:3:56
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[INFO] [stdout]   |                                                        ^----------
[INFO] [stdout]   |                                                        |
[INFO] [stdout]   |                                                        `Deserialize` is not local
[INFO] [stdout]   |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_JudgeType`
[INFO] [stdout] 4 | pub enum JudgeType {
[INFO] [stdout]   |          --------- `JudgeType` 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]   --> wa-server/src/types/judge.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Submission`
[INFO] [stdout] 12 | pub struct Submission {
[INFO] [stdout]    |            ---------- `Submission` 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]   --> wa-server/src/types/judge.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Submission`
[INFO] [stdout] 12 | pub struct Submission {
[INFO] [stdout]    |            ---------- `Submission` 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]   --> wa-server/src/types/judge.rs:23:45
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[INFO] [stdout]    |                                             ^--------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `Serialize` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_JudgeStatus`
[INFO] [stdout] 24 | pub enum JudgeStatus {
[INFO] [stdout]    |          ----------- `JudgeStatus` 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]   --> wa-server/src/types/judge.rs:23:56
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[INFO] [stdout]    |                                                        ^----------
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        `Deserialize` is not local
[INFO] [stdout]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_JudgeStatus`
[INFO] [stdout] 24 | pub enum JudgeStatus {
[INFO] [stdout]    |          ----------- `JudgeStatus` 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]   --> wa-server/src/types/judge.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_JudgeCaseResult`
[INFO] [stdout] 43 | pub struct JudgeCaseResult {
[INFO] [stdout]    |            --------------- `JudgeCaseResult` 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]   --> wa-server/src/types/judge.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_JudgeCaseResult`
[INFO] [stdout] 43 | pub struct JudgeCaseResult {
[INFO] [stdout]    |            --------------- `JudgeCaseResult` 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]   --> wa-server/src/types/judge.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_JudgeResult`
[INFO] [stdout] 50 | pub struct JudgeResult {
[INFO] [stdout]    |            ----------- `JudgeResult` 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]   --> wa-server/src/types/judge.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_JudgeResult`
[INFO] [stdout] 50 | pub struct JudgeResult {
[INFO] [stdout]    |            ----------- `JudgeResult` 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]   --> wa-server/src/types/judge.rs:57:10
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Update`
[INFO] [stdout] 58 | pub struct Update {
[INFO] [stdout]    |            ------ `Update` 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]   --> wa-server/src/types/judge.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Update`
[INFO] [stdout] 58 | pub struct Update {
[INFO] [stdout]    |            ------ `Update` 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]  --> wa-server/src/types/lang.rs:3:51
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]   |                                                   ^--------
[INFO] [stdout]   |                                                   |
[INFO] [stdout]   |                                                   `Serialize` is not local
[INFO] [stdout]   |                                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Language`
[INFO] [stdout] 4 | pub enum Language {
[INFO] [stdout]   |          -------- `Language` 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]  --> wa-server/src/types/lang.rs:3:62
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]   |                                                              ^----------
[INFO] [stdout]   |                                                              |
[INFO] [stdout]   |                                                              `Deserialize` is not local
[INFO] [stdout]   |                                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Language`
[INFO] [stdout] 4 | pub enum Language {
[INFO] [stdout]   |          -------- `Language` 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]   --> wa-server/src/types/sandbox.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Deserialize)]
[INFO] [stdout]    |          ^----------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Limit`
[INFO] [stdout] 15 | pub struct Limit {
[INFO] [stdout]    |            ----- `Limit` 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 54s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.13.0, wa-server v0.1.0 (/opt/rustwide/workdir/wa-server)
[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" "00d6af69123592de59fb14aa34d700ff77323791ee1bc9ece666dd583fb3e2d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "00d6af69123592de59fb14aa34d700ff77323791ee1bc9ece666dd583fb3e2d6", kill_on_drop: false }`
[INFO] [stdout] 00d6af69123592de59fb14aa34d700ff77323791ee1bc9ece666dd583fb3e2d6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d405ebfdb4def7dbd1bfcc0b50ff021953c9686d4c3ee8e66f6586c224543a26
[INFO] running `Command { std: "docker" "start" "-a" "d405ebfdb4def7dbd1bfcc0b50ff021953c9686d4c3ee8e66f6586c224543a26", kill_on_drop: false }`
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> wa-monitor/src/types.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-monitor/src/types.rs:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Serialize, Deserialize)]
[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]    = help: 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: 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> wa-monitor/src/types.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, Error, FromPrimitive, ToPrimitive)]
[INFO] [stdout]   |                        ^------------
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        `FromPrimitive` is not local
[INFO] [stdout]   |                        move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MonitorErrorKind`
[INFO] [stdout] 7 | pub enum MonitorErrorKind {
[INFO] [stdout]   |          ---------------- `MonitorErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_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 `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> wa-monitor/src/types.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, Error, FromPrimitive, ToPrimitive)]
[INFO] [stdout]   |                                       ^----------
[INFO] [stdout]   |                                       |
[INFO] [stdout]   |                                       `ToPrimitive` is not local
[INFO] [stdout]   |                                       move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_MonitorErrorKind`
[INFO] [stdout] 7 | pub enum MonitorErrorKind {
[INFO] [stdout]   |          ---------------- `MonitorErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_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 `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa-monitor/src/types.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^--------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TargetStatus`
[INFO] [stdout] 33 | pub struct TargetStatus {
[INFO] [stdout]    |            ------------ `TargetStatus` 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]   --> wa-monitor/src/types.rs:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^----------
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TargetStatus`
[INFO] [stdout] 33 | pub struct TargetStatus {
[INFO] [stdout]    |            ------------ `TargetStatus` 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] [stderr]    Compiling wa-monitor v0.1.0 (/opt/rustwide/workdir/wa-monitor)
[INFO] [stderr]    Compiling wa-compare v0.1.0 (/opt/rustwide/workdir/wa-compare)
[INFO] [stderr]    Compiling wa-interact v0.1.0 (/opt/rustwide/workdir/wa-interact)
[INFO] [stderr]    Compiling wa-server v0.1.0 (/opt/rustwide/workdir/wa-server)
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> wa-server/src/config.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Deserialize)]
[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]   = help: 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: 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 `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]   --> wa-server/src/config.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Deserialize)]
[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]    = help: 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: 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]  --> wa-server/src/types/judge.rs:3:45
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[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]   = help: 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: 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]  --> wa-server/src/types/judge.rs:3:56
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[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]   = help: 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: 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]   --> wa-server/src/types/judge.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-server/src/types/judge.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-server/src/types/judge.rs:23:45
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-server/src/types/judge.rs:23:56
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-server/src/types/judge.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-server/src/types/judge.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Serialize, Deserialize)]
[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]    = help: 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: 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: panic message is not a string literal
[INFO] [stdout]   --> wa-compare/src/main.rs:56:32
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 None => panic!(e),
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 None => panic!("{}", e),
[INFO] [stdout]    |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 56 -                 None => panic!(e),
[INFO] [stdout] 56 +                 None => std::panic::panic_any(e),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> wa-server/src/types/judge.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-server/src/types/judge.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-server/src/types/judge.rs:57:10
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-server/src/types/judge.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Serialize, Deserialize)]
[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]    = help: 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: 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]  --> wa-server/src/types/lang.rs:3:51
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
[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]   = help: 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: 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]  --> wa-server/src/types/lang.rs:3:62
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
[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]   = help: 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: 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]   --> wa-server/src/types/sandbox.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Deserialize)]
[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]    = help: 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: 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]   --> wa-monitor/src/types.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Serialize, Deserialize)]
[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]    = help: 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: 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]   --> wa-monitor/src/types.rs:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Serialize, Deserialize)]
[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]    = help: 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: 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: use of deprecated function `utils::compare::compare`
[INFO] [stdout]  --> wa-server/src/threads/worker.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utils::{compare, mkfifo};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `utils::compare::compare`
[INFO] [stdout]    --> wa-server/src/threads/worker.rs:233:23
[INFO] [stdout]     |
[INFO] [stdout] 233 |             let cmp = compare(ignore_trailing_space, &task.stdout_path, &task.userout_path)?;
[INFO] [stdout]     |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `utils::compare::compare`
[INFO] [stdout]  --> wa-server/src/utils/mod.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use compare::compare;
[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]  --> wa-monitor/src/types.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, Error, FromPrimitive, ToPrimitive)]
[INFO] [stdout]   |                        ^------------
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        `FromPrimitive` is not local
[INFO] [stdout]   |                        move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MonitorErrorKind`
[INFO] [stdout] 7 | pub enum MonitorErrorKind {
[INFO] [stdout]   |          ---------------- `MonitorErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_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 `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> wa-monitor/src/types.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, Error, FromPrimitive, ToPrimitive)]
[INFO] [stdout]   |                                       ^----------
[INFO] [stdout]   |                                       |
[INFO] [stdout]   |                                       `ToPrimitive` is not local
[INFO] [stdout]   |                                       move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_MonitorErrorKind`
[INFO] [stdout] 7 | pub enum MonitorErrorKind {
[INFO] [stdout]   |          ---------------- `MonitorErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_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 `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa-monitor/src/types.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^--------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TargetStatus`
[INFO] [stdout] 33 | pub struct TargetStatus {
[INFO] [stdout]    |            ------------ `TargetStatus` 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]   --> wa-monitor/src/types.rs:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^----------
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TargetStatus`
[INFO] [stdout] 33 | pub struct TargetStatus {
[INFO] [stdout]    |            ------------ `TargetStatus` 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: this function depends on never type fallback being `()`
[INFO] [stdout]   --> wa-server/src/redis.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn update_submission(&self, update: Update) -> WaResult<()> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]   --> wa-server/src/redis.rs:79:14
[INFO] [stdout]    |
[INFO] [stdout] 79 |         conn.set(key, value)?;
[INFO] [stdout]    |              ^^^
[INFO] [stdout]    = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]    |
[INFO] [stdout] 79 ~         conn.set::<_, _, ()>(key, value)?;
[INFO] [stdout] 80 |
[INFO] [stdout] ...
[INFO] [stdout] 85 |                 .lpush(&self.judge_result_queue_key, id)
[INFO] [stdout] 86 ~                 .query::<()>(conn)?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> wa-server/src/types/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |     Channel(&'static str),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WaError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 46 -     Channel(&'static str),
[INFO] [stdout] 46 +     Channel(()),
[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]  --> wa-server/src/config.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Deserialize)]
[INFO] [stdout]   |          ^----------
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RedisConfig`
[INFO] [stdout] 7 | pub struct RedisConfig {
[INFO] [stdout]   |            ----------- `RedisConfig` 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: `#[warn(non_local_definitions)]` on by default
[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]   --> wa-server/src/config.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Deserialize)]
[INFO] [stdout]    |          ^----------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Config`
[INFO] [stdout] 20 | pub struct Config {
[INFO] [stdout]    |            ------ `Config` 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: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!(e)
[INFO] [stdout]    |                        ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/listener.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |             handle!(self.redis.reload(), "redis error: {}");
[INFO] [stdout]    |             ----------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 17 -                 panic!(e)
[INFO] [stdout] 17 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!(e)
[INFO] [stdout]    |                        ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/listener.rs:22:34
[INFO] [stdout]    |
[INFO] [stdout] 22 |                 let submission = handle!(self.redis.get_submission(), "redis error: {}");
[INFO] [stdout]    |                                  ------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 17 -                 panic!(e)
[INFO] [stdout] 17 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                   panic!(e)
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/listener.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | /                 handle!(
[INFO] [stdout] 27 | |                     self.sync_data(submission.problem_id),
[INFO] [stdout] 28 | |                     "fail to sync data: {}"
[INFO] [stdout] 29 | |                 );
[INFO] [stdout]    | |_________________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 17 -                 panic!(e)
[INFO] [stdout] 17 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                   panic!(e)
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/listener.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | /                 handle!(
[INFO] [stdout] 32 | |                     self.update_sender
[INFO] [stdout] 33 | |                         .send(submission.update(JudgeStatus::Queuing)),
[INFO] [stdout] 34 | |                     "updater is disconnected: {}"
[INFO] [stdout] 35 | |                 );
[INFO] [stdout]    | |_________________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 17 -                 panic!(e)
[INFO] [stdout] 17 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                   panic!(e)
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/listener.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 | /                 handle!(
[INFO] [stdout] 38 | |                     self.submission_sender.send(submission),
[INFO] [stdout] 39 | |                     "workers are disconnected: {}"
[INFO] [stdout] 40 | |                 );
[INFO] [stdout]    | |_________________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 17 -                 panic!(e)
[INFO] [stdout] 17 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                   panic!(e)
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/updater.rs:13:26
[INFO] [stdout]    |
[INFO] [stdout] 13 |               let update = handle!(
[INFO] [stdout]    |  __________________________-
[INFO] [stdout] 14 | |                 self.update_receiver.recv(),
[INFO] [stdout] 15 | |                 "update senders are disconnected: {}"
[INFO] [stdout] 16 | |             );
[INFO] [stdout]    | |_____________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 17 -                 panic!(e)
[INFO] [stdout] 17 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!(e)
[INFO] [stdout]    |                        ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/updater.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             handle!(self.redis.update_submission(update), "redis error: {}");
[INFO] [stdout]    |             ---------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 17 -                 panic!(e)
[INFO] [stdout] 17 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                   panic!(e)
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/worker.rs:29:30
[INFO] [stdout]    |
[INFO] [stdout] 29 |               let submission = handle!(
[INFO] [stdout]    |  ______________________________-
[INFO] [stdout] 30 | |                 self.submission_receiver.recv(),
[INFO] [stdout] 31 | |                 "submission sender is disconnected: {}"
[INFO] [stdout] 32 | |             );
[INFO] [stdout]    | |_____________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 17 -                 panic!(e)
[INFO] [stdout] 17 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |                   panic!(e)
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/worker.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 | /             handle!(@custom
[INFO] [stdout] 38 | |                 std::fs::create_dir_all(&working_dir),
[INFO] [stdout] 39 | |                 "can not create dir: {:?}",
[INFO] [stdout] 40 | |                 &working_dir,
[INFO] [stdout] 41 | |             );
[INFO] [stdout]    | |_____________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 26 -                 panic!(e)
[INFO] [stdout] 26 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> wa-server/src/main.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |                   panic!(e)
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: wa-server/src/threads/worker.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 | /                 handle!(@custom
[INFO] [stdout] 64 | |                     std::fs::remove_dir_all(&working_dir),
[INFO] [stdout] 65 | |                     "can not remove dir: {:?}",
[INFO] [stdout] 66 | |                     &working_dir,
[INFO] [stdout] 67 | |                 );
[INFO] [stdout]    | |_________________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 panic!("{}", e)
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 26 -                 panic!(e)
[INFO] [stdout] 26 +                 std::panic::panic_any(e)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> wa-server/src/main.rs:17:24
[INFO] [stdout]     |
[INFO] [stdout] 17  |                   panic!(e)
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wa-server/src/threads/worker.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 | /         handle!(
[INFO] [stdout] 246 | |             self.update_sender.send(update),
[INFO] [stdout] 247 | |             "updater is disconnected: {}"
[INFO] [stdout] 248 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 17  |                 panic!("{}", e)
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 17  -                 panic!(e)
[INFO] [stdout] 17  +                 std::panic::panic_any(e)
[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]  --> wa-server/src/types/judge.rs:3:45
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[INFO] [stdout]   |                                             ^--------
[INFO] [stdout]   |                                             |
[INFO] [stdout]   |                                             `Serialize` is not local
[INFO] [stdout]   |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_JudgeType`
[INFO] [stdout] 4 | pub enum JudgeType {
[INFO] [stdout]   |          --------- `JudgeType` 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]  --> wa-server/src/types/judge.rs:3:56
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[INFO] [stdout]   |                                                        ^----------
[INFO] [stdout]   |                                                        |
[INFO] [stdout]   |                                                        `Deserialize` is not local
[INFO] [stdout]   |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_JudgeType`
[INFO] [stdout] 4 | pub enum JudgeType {
[INFO] [stdout]   |          --------- `JudgeType` 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]   --> wa-server/src/types/judge.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Submission`
[INFO] [stdout] 12 | pub struct Submission {
[INFO] [stdout]    |            ---------- `Submission` 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]   --> wa-server/src/types/judge.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Submission`
[INFO] [stdout] 12 | pub struct Submission {
[INFO] [stdout]    |            ---------- `Submission` 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]   --> wa-server/src/types/judge.rs:23:45
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[INFO] [stdout]    |                                             ^--------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `Serialize` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_JudgeStatus`
[INFO] [stdout] 24 | pub enum JudgeStatus {
[INFO] [stdout]    |          ----------- `JudgeStatus` 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]   --> wa-server/src/types/judge.rs:23:56
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[INFO] [stdout]    |                                                        ^----------
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        `Deserialize` is not local
[INFO] [stdout]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_JudgeStatus`
[INFO] [stdout] 24 | pub enum JudgeStatus {
[INFO] [stdout]    |          ----------- `JudgeStatus` 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]   --> wa-server/src/types/judge.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_JudgeCaseResult`
[INFO] [stdout] 43 | pub struct JudgeCaseResult {
[INFO] [stdout]    |            --------------- `JudgeCaseResult` 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]   --> wa-server/src/types/judge.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_JudgeCaseResult`
[INFO] [stdout] 43 | pub struct JudgeCaseResult {
[INFO] [stdout]    |            --------------- `JudgeCaseResult` 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]   --> wa-server/src/types/judge.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_JudgeResult`
[INFO] [stdout] 50 | pub struct JudgeResult {
[INFO] [stdout]    |            ----------- `JudgeResult` 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]   --> wa-server/src/types/judge.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_JudgeResult`
[INFO] [stdout] 50 | pub struct JudgeResult {
[INFO] [stdout]    |            ----------- `JudgeResult` 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]   --> wa-server/src/types/judge.rs:57:10
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Update`
[INFO] [stdout] 58 | pub struct Update {
[INFO] [stdout]    |            ------ `Update` 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]   --> wa-server/src/types/judge.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Update`
[INFO] [stdout] 58 | pub struct Update {
[INFO] [stdout]    |            ------ `Update` 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]  --> wa-server/src/types/lang.rs:3:51
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]   |                                                   ^--------
[INFO] [stdout]   |                                                   |
[INFO] [stdout]   |                                                   `Serialize` is not local
[INFO] [stdout]   |                                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Language`
[INFO] [stdout] 4 | pub enum Language {
[INFO] [stdout]   |          -------- `Language` 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]  --> wa-server/src/types/lang.rs:3:62
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]   |                                                              ^----------
[INFO] [stdout]   |                                                              |
[INFO] [stdout]   |                                                              `Deserialize` is not local
[INFO] [stdout]   |                                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Language`
[INFO] [stdout] 4 | pub enum Language {
[INFO] [stdout]   |          -------- `Language` 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]   --> wa-server/src/types/sandbox.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Deserialize)]
[INFO] [stdout]    |          ^----------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Limit`
[INFO] [stdout] 15 | pub struct Limit {
[INFO] [stdout]    |            ----- `Limit` 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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.34s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.13.0, wa-server v0.1.0 (/opt/rustwide/workdir/wa-server)
[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" "d405ebfdb4def7dbd1bfcc0b50ff021953c9686d4c3ee8e66f6586c224543a26", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d405ebfdb4def7dbd1bfcc0b50ff021953c9686d4c3ee8e66f6586c224543a26", kill_on_drop: false }`
[INFO] [stdout] d405ebfdb4def7dbd1bfcc0b50ff021953c9686d4c3ee8e66f6586c224543a26
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e87807719f3b0dda8b4423d34b7d1cd9534ceca6bd5d8b5a5fb07c30ba903616
[INFO] running `Command { std: "docker" "start" "-a" "e87807719f3b0dda8b4423d34b7d1cd9534ceca6bd5d8b5a5fb07c30ba903616", kill_on_drop: false }`
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> wa-monitor/src/types.rs:32:17
[INFO] [stderr]    |
[INFO] [stderr] 32 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stderr]    |                 ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: 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] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> wa-monitor/src/types.rs:32:28
[INFO] [stderr]    |
[INFO] [stderr] 32 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stderr]    |                            ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: 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] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> wa-monitor/src/types.rs:6:24
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[derive(Debug, Error, FromPrimitive, ToPrimitive)]
[INFO] [stderr]   |                        ^------------
[INFO] [stderr]   |                        |
[INFO] [stderr]   |                        `FromPrimitive` is not local
[INFO] [stderr]   |                        move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MonitorErrorKind`
[INFO] [stderr] 7 | pub enum MonitorErrorKind {
[INFO] [stderr]   |          ---------------- `MonitorErrorKind` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> wa-monitor/src/types.rs:6:39
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[derive(Debug, Error, FromPrimitive, ToPrimitive)]
[INFO] [stderr]   |                                       ^----------
[INFO] [stderr]   |                                       |
[INFO] [stderr]   |                                       `ToPrimitive` is not local
[INFO] [stderr]   |                                       move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_MonitorErrorKind`
[INFO] [stderr] 7 | pub enum MonitorErrorKind {
[INFO] [stderr]   |          ---------------- `MonitorErrorKind` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa-monitor/src/types.rs:32:17
[INFO] [stderr]    |
[INFO] [stderr] 32 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stderr]    |                 ^--------
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Serialize` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TargetStatus`
[INFO] [stderr] 33 | pub struct TargetStatus {
[INFO] [stderr]    |            ------------ `TargetStatus` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa-monitor/src/types.rs:32:28
[INFO] [stderr]    |
[INFO] [stderr] 32 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stderr]    |                            ^----------
[INFO] [stderr]    |                            |
[INFO] [stderr]    |                            `Deserialize` is not local
[INFO] [stderr]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TargetStatus`
[INFO] [stderr] 33 | pub struct TargetStatus {
[INFO] [stderr]    |            ------------ `TargetStatus` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `wa-monitor` (lib) generated 6 warnings
[INFO] [stderr] warning: `wa-monitor` (lib test) generated 6 warnings (6 duplicates)
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> wa-compare/src/main.rs:56:32
[INFO] [stderr]    |
[INFO] [stderr] 56 |                 None => panic!(e),
[INFO] [stderr]    |                                ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 56 |                 None => panic!("{}", e),
[INFO] [stderr]    |                                +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]    |
[INFO] [stderr] 56 -                 None => panic!(e),
[INFO] [stderr] 56 +                 None => std::panic::panic_any(e),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `wa-compare` (bin "wa-compare" test) generated 1 warning (run `cargo fix --bin "wa-compare" --tests` to apply 1 suggestion)
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]  --> wa-server/src/config.rs:6:10
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[derive(Deserialize)]
[INFO] [stderr]   |          ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: no expected values for `feature`
[INFO] [stderr]   = 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] [stderr]   = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]   = help: 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] [stderr]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> wa-server/src/config.rs:19:10
[INFO] [stderr]    |
[INFO] [stderr] 19 | #[derive(Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: 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] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]  --> wa-server/src/types/judge.rs:3:45
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[INFO] [stderr]   |                                             ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: no expected values for `feature`
[INFO] [stderr]   = 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] [stderr]   = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]   = help: 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] [stderr]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]  --> wa-server/src/types/judge.rs:3:56
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[INFO] [stderr]   |                                                        ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: no expected values for `feature`
[INFO] [stderr]   = 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] [stderr]   = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]   = help: 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] [stderr]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> wa-server/src/types/judge.rs:11:10
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: 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] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> wa-server/src/types/judge.rs:11:21
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |                     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: 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] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> wa-server/src/types/judge.rs:23:45
[INFO] [stderr]    |
[INFO] [stderr] 23 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[INFO] [stderr]    |                                             ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: 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] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> wa-server/src/types/judge.rs:23:56
[INFO] [stderr]    |
[INFO] [stderr] 23 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[INFO] [stderr]    |                                                        ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: 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] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> wa-server/src/types/judge.rs:42:10
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: 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] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> wa-server/src/types/judge.rs:42:21
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |                     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: 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] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> wa-server/src/types/judge.rs:49:10
[INFO] [stderr]    |
[INFO] [stderr] 49 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: 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] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> wa-server/src/types/judge.rs:49:21
[INFO] [stderr]    |
[INFO] [stderr] 49 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |                     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: 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] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> wa-server/src/types/judge.rs:57:10
[INFO] [stderr]    |
[INFO] [stderr] 57 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: 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] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> wa-server/src/types/judge.rs:57:21
[INFO] [stderr]    |
[INFO] [stderr] 57 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |                     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: 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] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]  --> wa-server/src/types/lang.rs:3:51
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]   |                                                   ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: no expected values for `feature`
[INFO] [stderr]   = 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] [stderr]   = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]   = help: 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] [stderr]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]  --> wa-server/src/types/lang.rs:3:62
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]   |                                                              ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: no expected values for `feature`
[INFO] [stderr]   = 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] [stderr]   = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]   = help: 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] [stderr]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> wa-server/src/types/sandbox.rs:14:10
[INFO] [stderr]    |
[INFO] [stderr] 14 | #[derive(Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: 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] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `utils::compare::compare`
[INFO] [stderr]  --> wa-server/src/threads/worker.rs:3:20
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::utils::{compare, mkfifo};
[INFO] [stderr]   |                    ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `utils::compare::compare`
[INFO] [stderr]    --> wa-server/src/threads/worker.rs:233:23
[INFO] [stderr]     |
[INFO] [stderr] 233 |             let cmp = compare(ignore_trailing_space, &task.stdout_path, &task.userout_path)?;
[INFO] [stderr]     |                       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `utils::compare::compare`
[INFO] [stderr]  --> wa-server/src/utils/mod.rs:4:18
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub use compare::compare;
[INFO] [stderr]   |                  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: this function depends on never type fallback being `()`
[INFO] [stderr]   --> wa-server/src/redis.rs:68:5
[INFO] [stderr]    |
[INFO] [stderr] 68 |     pub fn update_submission(&self, update: Update) -> WaResult<()> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stderr]    = help: specify the types explicitly
[INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stderr]   --> wa-server/src/redis.rs:79:14
[INFO] [stderr]    |
[INFO] [stderr] 79 |         conn.set(key, value)?;
[INFO] [stderr]    |              ^^^
[INFO] [stderr]    = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default
[INFO] [stderr] help: use `()` annotations to avoid fallback changes
[INFO] [stderr]    |
[INFO] [stderr] 79 ~         conn.set::<_, _, ()>(key, value)?;
[INFO] [stderr] 80 |
[INFO] [stderr] ...
[INFO] [stderr] 85 |                 .lpush(&self.judge_result_queue_key, id)
[INFO] [stderr] 86 ~                 .query::<()>(conn)?;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> wa-server/src/types/mod.rs:46:13
[INFO] [stderr]    |
[INFO] [stderr] 46 |     Channel(&'static str),
[INFO] [stderr]    |     ------- ^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `WaError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 46 -     Channel(&'static str),
[INFO] [stderr] 46 +     Channel(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> wa-server/src/config.rs:6:10
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[derive(Deserialize)]
[INFO] [stderr]   |          ^----------
[INFO] [stderr]   |          |
[INFO] [stderr]   |          `Deserialize` is not local
[INFO] [stderr]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RedisConfig`
[INFO] [stderr] 7 | pub struct RedisConfig {
[INFO] [stderr]   |            ----------- `RedisConfig` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa-server/src/config.rs:19:10
[INFO] [stderr]    |
[INFO] [stderr] 19 | #[derive(Deserialize)]
[INFO] [stderr]    |          ^----------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Config`
[INFO] [stderr] 20 | pub struct Config {
[INFO] [stderr]    |            ------ `Config` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> wa-server/src/main.rs:17:24
[INFO] [stderr]    |
[INFO] [stderr] 17 |                 panic!(e)
[INFO] [stderr]    |                        ^
[INFO] [stderr]    |
[INFO] [stderr]   ::: wa-server/src/threads/listener.rs:17:13
[INFO] [stderr]    |
[INFO] [stderr] 17 |             handle!(self.redis.reload(), "redis error: {}");
[INFO] [stderr]    |             ----------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 17 |                 panic!("{}", e)
[INFO] [stderr]    |                        +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]    |
[INFO] [stderr] 17 -                 panic!(e)
[INFO] [stderr] 17 +                 std::panic::panic_any(e)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> wa-server/src/main.rs:17:24
[INFO] [stderr]    |
[INFO] [stderr] 17 |                 panic!(e)
[INFO] [stderr]    |                        ^
[INFO] [stderr]    |
[INFO] [stderr]   ::: wa-server/src/threads/listener.rs:22:34
[INFO] [stderr]    |
[INFO] [stderr] 22 |                 let submission = handle!(self.redis.get_submission(), "redis error: {}");
[INFO] [stderr]    |                                  ------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 17 |                 panic!("{}", e)
[INFO] [stderr]    |                        +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]    |
[INFO] [stderr] 17 -                 panic!(e)
[INFO] [stderr] 17 +                 std::panic::panic_any(e)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> wa-server/src/main.rs:17:24
[INFO] [stderr]    |
[INFO] [stderr] 17 |                   panic!(e)
[INFO] [stderr]    |                          ^
[INFO] [stderr]    |
[INFO] [stderr]   ::: wa-server/src/threads/listener.rs:26:17
[INFO] [stderr]    |
[INFO] [stderr] 26 | /                 handle!(
[INFO] [stderr] 27 | |                     self.sync_data(submission.problem_id),
[INFO] [stderr] 28 | |                     "fail to sync data: {}"
[INFO] [stderr] 29 | |                 );
[INFO] [stderr]    | |_________________- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 17 |                 panic!("{}", e)
[INFO] [stderr]    |                        +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]    |
[INFO] [stderr] 17 -                 panic!(e)
[INFO] [stderr] 17 +                 std::panic::panic_any(e)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> wa-server/src/main.rs:17:24
[INFO] [stderr]    |
[INFO] [stderr] 17 |                   panic!(e)
[INFO] [stderr]    |                          ^
[INFO] [stderr]    |
[INFO] [stderr]   ::: wa-server/src/threads/listener.rs:31:17
[INFO] [stderr]    |
[INFO] [stderr] 31 | /                 handle!(
[INFO] [stderr] 32 | |                     self.update_sender
[INFO] [stderr] 33 | |                         .send(submission.update(JudgeStatus::Queuing)),
[INFO] [stderr] 34 | |                     "updater is disconnected: {}"
[INFO] [stderr] 35 | |                 );
[INFO] [stderr]    | |_________________- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 17 |                 panic!("{}", e)
[INFO] [stderr]    |                        +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]    |
[INFO] [stderr] 17 -                 panic!(e)
[INFO] [stderr] 17 +                 std::panic::panic_any(e)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> wa-server/src/main.rs:17:24
[INFO] [stderr]    |
[INFO] [stderr] 17 |                   panic!(e)
[INFO] [stderr]    |                          ^
[INFO] [stderr]    |
[INFO] [stderr]   ::: wa-server/src/threads/listener.rs:37:17
[INFO] [stderr]    |
[INFO] [stderr] 37 | /                 handle!(
[INFO] [stderr] 38 | |                     self.submission_sender.send(submission),
[INFO] [stderr] 39 | |                     "workers are disconnected: {}"
[INFO] [stderr] 40 | |                 );
[INFO] [stderr]    | |_________________- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 17 |                 panic!("{}", e)
[INFO] [stderr]    |                        +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]    |
[INFO] [stderr] 17 -                 panic!(e)
[INFO] [stderr] 17 +                 std::panic::panic_any(e)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> wa-server/src/main.rs:17:24
[INFO] [stderr]    |
[INFO] [stderr] 17 |                   panic!(e)
[INFO] [stderr]    |                          ^
[INFO] [stderr]    |
[INFO] [stderr]   ::: wa-server/src/threads/updater.rs:13:26
[INFO] [stderr]    |
[INFO] [stderr] 13 |               let update = handle!(
[INFO] [stderr]    |  __________________________-
[INFO] [stderr] 14 | |                 self.update_receiver.recv(),
[INFO] [stderr] 15 | |                 "update senders are disconnected: {}"
[INFO] [stderr] 16 | |             );
[INFO] [stderr]    | |_____________- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 17 |                 panic!("{}", e)
[INFO] [stderr]    |                        +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]    |
[INFO] [stderr] 17 -                 panic!(e)
[INFO] [stderr] 17 +                 std::panic::panic_any(e)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> wa-server/src/main.rs:17:24
[INFO] [stderr]    |
[INFO] [stderr] 17 |                 panic!(e)
[INFO] [stderr]    |                        ^
[INFO] [stderr]    |
[INFO] [stderr]   ::: wa-server/src/threads/updater.rs:24:13
[INFO] [stderr]    |
[INFO] [stderr] 24 |             handle!(self.redis.update_submission(update), "redis error: {}");
[INFO] [stderr]    |             ---------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 17 |                 panic!("{}", e)
[INFO] [stderr]    |                        +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]    |
[INFO] [stderr] 17 -                 panic!(e)
[INFO] [stderr] 17 +                 std::panic::panic_any(e)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> wa-server/src/main.rs:17:24
[INFO] [stderr]    |
[INFO] [stderr] 17 |                   panic!(e)
[INFO] [stderr]    |                          ^
[INFO] [stderr]    |
[INFO] [stderr]   ::: wa-server/src/threads/worker.rs:29:30
[INFO] [stderr]    |
[INFO] [stderr] 29 |               let submission = handle!(
[INFO] [stderr]    |  ______________________________-
[INFO] [stderr] 30 | |                 self.submission_receiver.recv(),
[INFO] [stderr] 31 | |                 "submission sender is disconnected: {}"
[INFO] [stderr] 32 | |             );
[INFO] [stderr]    | |_____________- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 17 |                 panic!("{}", e)
[INFO] [stderr]    |                        +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]    |
[INFO] [stderr] 17 -                 panic!(e)
[INFO] [stderr] 17 +                 std::panic::panic_any(e)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> wa-server/src/main.rs:26:24
[INFO] [stderr]    |
[INFO] [stderr] 26 |                   panic!(e)
[INFO] [stderr]    |                          ^
[INFO] [stderr]    |
[INFO] [stderr]   ::: wa-server/src/threads/worker.rs:37:13
[INFO] [stderr]    |
[INFO] [stderr] 37 | /             handle!(@custom
[INFO] [stderr] 38 | |                 std::fs::create_dir_all(&working_dir),
[INFO] [stderr] 39 | |                 "can not create dir: {:?}",
[INFO] [stderr] 40 | |                 &working_dir,
[INFO] [stderr] 41 | |             );
[INFO] [stderr]    | |_____________- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 26 |                 panic!("{}", e)
[INFO] [stderr]    |                        +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]    |
[INFO] [stderr] 26 -                 panic!(e)
[INFO] [stderr] 26 +                 std::panic::panic_any(e)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> wa-server/src/main.rs:26:24
[INFO] [stderr]    |
[INFO] [stderr] 26 |                   panic!(e)
[INFO] [stderr]    |                          ^
[INFO] [stderr]    |
[INFO] [stderr]   ::: wa-server/src/threads/worker.rs:63:17
[INFO] [stderr]    |
[INFO] [stderr] 63 | /                 handle!(@custom
[INFO] [stderr] 64 | |                     std::fs::remove_dir_all(&working_dir),
[INFO] [stderr] 65 | |                     "can not remove dir: {:?}",
[INFO] [stderr] 66 | |                     &working_dir,
[INFO] [stderr] 67 | |                 );
[INFO] [stderr]    | |_________________- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 26 |                 panic!("{}", e)
[INFO] [stderr]    |                        +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]    |
[INFO] [stderr] 26 -                 panic!(e)
[INFO] [stderr] 26 +                 std::panic::panic_any(e)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> wa-server/src/main.rs:17:24
[INFO] [stderr]     |
[INFO] [stderr] 17  |                   panic!(e)
[INFO] [stderr]     |                          ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: wa-server/src/threads/worker.rs:245:9
[INFO] [stderr]     |
[INFO] [stderr] 245 | /         handle!(
[INFO] [stderr] 246 | |             self.update_sender.send(update),
[INFO] [stderr] 247 | |             "updater is disconnected: {}"
[INFO] [stderr] 248 | |         );
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this warning originates in the macro `handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 17  |                 panic!("{}", e)
[INFO] [stderr]     |                        +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]     |
[INFO] [stderr] 17  -                 panic!(e)
[INFO] [stderr] 17  +                 std::panic::panic_any(e)
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> wa-server/src/types/judge.rs:3:45
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[INFO] [stderr]   |                                             ^--------
[INFO] [stderr]   |                                             |
[INFO] [stderr]   |                                             `Serialize` is not local
[INFO] [stderr]   |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_JudgeType`
[INFO] [stderr] 4 | pub enum JudgeType {
[INFO] [stderr]   |          --------- `JudgeType` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> wa-server/src/types/judge.rs:3:56
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[INFO] [stderr]   |                                                        ^----------
[INFO] [stderr]   |                                                        |
[INFO] [stderr]   |                                                        `Deserialize` is not local
[INFO] [stderr]   |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_JudgeType`
[INFO] [stderr] 4 | pub enum JudgeType {
[INFO] [stderr]   |          --------- `JudgeType` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa-server/src/types/judge.rs:11:10
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |          ^--------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Submission`
[INFO] [stderr] 12 | pub struct Submission {
[INFO] [stderr]    |            ---------- `Submission` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa-server/src/types/judge.rs:11:21
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |                     ^----------
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     `Deserialize` is not local
[INFO] [stderr]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Submission`
[INFO] [stderr] 12 | pub struct Submission {
[INFO] [stderr]    |            ---------- `Submission` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa-server/src/types/judge.rs:23:45
[INFO] [stderr]    |
[INFO] [stderr] 23 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[INFO] [stderr]    |                                             ^--------
[INFO] [stderr]    |                                             |
[INFO] [stderr]    |                                             `Serialize` is not local
[INFO] [stderr]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_JudgeStatus`
[INFO] [stderr] 24 | pub enum JudgeStatus {
[INFO] [stderr]    |          ----------- `JudgeStatus` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa-server/src/types/judge.rs:23:56
[INFO] [stderr]    |
[INFO] [stderr] 23 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
[INFO] [stderr]    |                                                        ^----------
[INFO] [stderr]    |                                                        |
[INFO] [stderr]    |                                                        `Deserialize` is not local
[INFO] [stderr]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_JudgeStatus`
[INFO] [stderr] 24 | pub enum JudgeStatus {
[INFO] [stderr]    |          ----------- `JudgeStatus` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa-server/src/types/judge.rs:42:10
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |          ^--------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_JudgeCaseResult`
[INFO] [stderr] 43 | pub struct JudgeCaseResult {
[INFO] [stderr]    |            --------------- `JudgeCaseResult` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa-server/src/types/judge.rs:42:21
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |                     ^----------
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     `Deserialize` is not local
[INFO] [stderr]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_JudgeCaseResult`
[INFO] [stderr] 43 | pub struct JudgeCaseResult {
[INFO] [stderr]    |            --------------- `JudgeCaseResult` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa-server/src/types/judge.rs:49:10
[INFO] [stderr]    |
[INFO] [stderr] 49 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |          ^--------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_JudgeResult`
[INFO] [stderr] 50 | pub struct JudgeResult {
[INFO] [stderr]    |            ----------- `JudgeResult` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa-server/src/types/judge.rs:49:21
[INFO] [stderr]    |
[INFO] [stderr] 49 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |                     ^----------
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     `Deserialize` is not local
[INFO] [stderr]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_JudgeResult`
[INFO] [stderr] 50 | pub struct JudgeResult {
[INFO] [stderr]    |            ----------- `JudgeResult` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa-server/src/types/judge.rs:57:10
[INFO] [stderr]    |
[INFO] [stderr] 57 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |          ^--------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Update`
[INFO] [stderr] 58 | pub struct Update {
[INFO] [stderr]    |            ------ `Update` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa-server/src/types/judge.rs:57:21
[INFO] [stderr]    |
[INFO] [stderr] 57 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |                     ^----------
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     `Deserialize` is not local
[INFO] [stderr]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Update`
[INFO] [stderr] 58 | pub struct Update {
[INFO] [stderr]    |            ------ `Update` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> wa-server/src/types/lang.rs:3:51
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]   |                                                   ^--------
[INFO] [stderr]   |                                                   |
[INFO] [stderr]   |                                                   `Serialize` is not local
[INFO] [stderr]   |                                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Language`
[INFO] [stderr] 4 | pub enum Language {
[INFO] [stderr]   |          -------- `Language` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> wa-server/src/types/lang.rs:3:62
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]   |                                                              ^----------
[INFO] [stderr]   |                                                              |
[INFO] [stderr]   |                                                              `Deserialize` is not local
[INFO] [stderr]   |                                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Language`
[INFO] [stderr] 4 | pub enum Language {
[INFO] [stderr]   |          -------- `Language` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa-server/src/types/sandbox.rs:14:10
[INFO] [stderr]    |
[INFO] [stderr] 14 | #[derive(Deserialize)]
[INFO] [stderr]    |          ^----------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Limit`
[INFO] [stderr] 15 | pub struct Limit {
[INFO] [stderr]    |            ----- `Limit` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `wa-server` (bin "wa-server" test) generated 50 warnings (run `cargo fix --bin "wa-server" --tests` to apply 12 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.13.0, wa-server v0.1.0 (/opt/rustwide/workdir/wa-server)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wa_compare-26559f025d53bb79)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_compare ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_compare stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_compare' panicked at wa-compare/src/lib.rs:74:5:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x607039324732 - std::backtrace_rs::backtrace::libunwind::trace::h73a647620bf1c49d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x607039324732 - std::backtrace_rs::backtrace::trace_unsynchronized::hd4d513ed96cb3cb1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x607039324732 - std::sys::backtrace::_print_fmt::h61bb95f7476aafa5
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x607039324732 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha2e7e3a01df69042
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x6070393497f3 - core::fmt::rt::Argument::fmt::hf14163372f0f9a76
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x6070393497f3 - core::fmt::write::h7cb8f63788cd01d2
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/mod.rs:1465:25
[INFO] [stdout]    6:     0x6070393216c3 - std::io::default_write_fmt::h9ed739ccee8a150c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6070393216c3 - std::io::Write::write_fmt::h1c0a32da913b32f1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x607039324582 - std::sys::backtrace::BacktraceLock::print::h3ec4d7883eb25e61
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x607039325c9c - std::panicking::default_hook::{{closure}}::h29548987efd832cb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:300:27
[INFO] [stdout]   10:     0x607039325af2 - std::panicking::default_hook::ha25170a15c643514
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:324:9
[INFO] [stdout]   11:     0x6070392edaf4 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h562adeecbf43c420
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   12:     0x6070392edaf4 - test::test_main_with_exit_callback::{{closure}}::h97dd2a879d27e0e4
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x60703932667b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7e85cbdbda26fdb7
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   14:     0x60703932667b - std::panicking::rust_panic_with_hook::h0d81afcd829aa24b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:841:13
[INFO] [stdout]   15:     0x60703932644a - std::panicking::begin_panic_handler::{{closure}}::hc84a33f1202346cf
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:706:13
[INFO] [stdout]   16:     0x607039324c29 - std::sys::backtrace::__rust_end_short_backtrace::h373067a14f6c59aa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   17:     0x6070393260dd - __rustc[beb0385846a06d21]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:697:5
[INFO] [stdout]   18:     0x607039348370 - core::panicking::panic_fmt::ha33fa2ae772efba9
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x6070393486e6 - core::result::unwrap_failed::hfbbd3c78a73fea3d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/result.rs:1761:5
[INFO] [stdout]   20:     0x6070392aef58 - core::result::Result<T,E>::unwrap::hcf90ffde2b8f2c8f
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/result.rs:1167:23
[INFO] [stdout]   21:     0x6070392aef58 - wa_compare::test_compare_utf8::h16e1bc4b49ade624
[INFO] [stdout]                                at /opt/rustwide/workdir/wa-compare/src/lib.rs:45:43
[INFO] [stdout]   22:     0x6070392aef58 - wa_compare::test_compare::h32d5eb9c79b5cb25
[INFO] [stdout]                                at /opt/rustwide/workdir/wa-compare/src/lib.rs:24:5
[INFO] [stdout]   23:     0x6070392aceb9 - wa_compare::test_compare::{{closure}}::h22dc0c147f55cbae
[INFO] [stdout]                                at /opt/rustwide/workdir/wa-compare/src/lib.rs:23:18
[INFO] [stdout]   24:     0x6070392aceb9 - core::ops::function::FnOnce::call_once::haa65c94b7d8ce80d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6070392f322b - core::ops::function::FnOnce::call_once::hf84b9c3d864a6959
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6070392f322b - test::__rust_begin_short_backtrace::h5724e31441c16fcb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:648:18
[INFO] [stdout]   27:     0x6070392f246e - test::run_test_in_process::{{closure}}::hbc28c9aa91793d7d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:74
[INFO] [stdout]   28:     0x6070392f246e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc17b0e238c0f8f3e
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x6070392f246e - std::panicking::catch_unwind::do_call::hcdbce0d6dd6c83ce
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   30:     0x6070392f246e - std::panicking::catch_unwind::h9477967ceea044e8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   31:     0x6070392f246e - std::panic::catch_unwind::h616a2e249da12e16
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6070392f246e - test::run_test_in_process::h2758deb0f2e54430
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:27
[INFO] [stdout]   33:     0x6070392f246e - test::run_test::{{closure}}::habe5cd2564b18aaa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:592:43
[INFO] [stdout]   34:     0x6070392b6014 - test::run_test::{{closure}}::h9a0a6928f1a15421
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:622:41
[INFO] [stdout]   35:     0x6070392b6014 - std::sys::backtrace::__rust_begin_short_backtrace::hd68b5332434a22ca
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   36:     0x6070392b99ba - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h264ddcc3098eacae
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   37:     0x6070392b99ba - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9fa39489749d6f3c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x6070392b99ba - std::panicking::catch_unwind::do_call::hb9a1944b9f85100f
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   39:     0x6070392b99ba - std::panicking::catch_unwind::h0c6f100786c0dad8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   40:     0x6070392b99ba - std::panic::catch_unwind::hf6084e2723385823
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6070392b99ba - std::thread::Builder::spawn_unchecked_::{{closure}}::hf0af58ce658143ad
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   42:     0x6070392b99ba - core::ops::function::FnOnce::call_once{{vtable.shim}}::h88a14f9b2e79f9de
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6070393295d7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf31256ba38644b65
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   44:     0x6070393295d7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h100ad77f3448041b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   45:     0x6070393295d7 - std::sys::pal::unix::thread::Thread::new::thread_start::h1a22ded422ce395b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stdout]   46:     0x75d30bf88aa4 - <unknown>
[INFO] [stdout]   47:     0x75d30c015a34 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_compare
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p wa-compare --lib`
[INFO] running `Command { std: "docker" "inspect" "e87807719f3b0dda8b4423d34b7d1cd9534ceca6bd5d8b5a5fb07c30ba903616", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e87807719f3b0dda8b4423d34b7d1cd9534ceca6bd5d8b5a5fb07c30ba903616", kill_on_drop: false }`
[INFO] [stdout] e87807719f3b0dda8b4423d34b7d1cd9534ceca6bd5d8b5a5fb07c30ba903616
