[INFO] cloning repository https://github.com/hjsjhn/MROJ-backend [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hjsjhn/MROJ-backend" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhjsjhn%2FMROJ-backend", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhjsjhn%2FMROJ-backend'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c4ee7dd40a41f61a7c6bfe43b5e4ec6d5d98f378 [INFO] testing hjsjhn/MROJ-backend against 1.99.0-beta.8 for beta-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhjsjhn%2FMROJ-backend" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/hjsjhn/MROJ-backend [INFO] finished tweaking git repo https://github.com/hjsjhn/MROJ-backend [INFO] tweaked toml for git repo https://github.com/hjsjhn/MROJ-backend written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/hjsjhn/MROJ-backend on toolchain 1.99.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/hjsjhn/MROJ-backend already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 48 packages to highest compatible versions [INFO] [stderr] Adding ahash v0.8.12 [INFO] [stderr] Adding allocator-api2 v0.2.21 [INFO] [stderr] Adding android_system_properties v0.1.6 [INFO] [stderr] Updating cc v1.0.73 -> v1.4.0 (available: v1.6.0) [INFO] [stderr] Adding chrono v0.4.45 [INFO] [stderr] Adding clap v3.2.25 (available: v4.6.7) [INFO] [stderr] Adding clap_lex v0.2.4 [INFO] [stderr] Updating core-foundation-sys v0.8.3 -> v0.8.7 [INFO] [stderr] Adding dotenv v0.15.0 [INFO] [stderr] Adding fallible-iterator v0.2.0 [INFO] [stderr] Adding fallible-streaming-iterator v0.1.9 [INFO] [stderr] Adding file_diff v1.0.0 [INFO] [stderr] Adding find-msvc-tools v0.1.14 [INFO] [stderr] Adding hashbrown v0.14.5 [INFO] [stderr] Adding hashlink v0.8.4 [INFO] [stderr] Adding iana-time-zone v0.1.65 [INFO] [stderr] Adding iana-time-zone-haiku v0.1.2 [INFO] [stderr] Updating jobserver v0.1.24 -> v0.1.32 (available: v0.1.35) [INFO] [stderr] Updating js-sys v0.3.59 -> v0.3.76 (available: v0.3.106) [INFO] [stderr] Adding libsqlite3-sys v0.25.2 [INFO] [stderr] Adding num-traits v0.2.19 [INFO] [stderr] Updating once_cell v1.13.1 -> v1.21.4 [INFO] [stderr] Adding os_str_bytes v6.6.1 [INFO] [stderr] Updating proc-macro2 v1.0.43 -> v1.0.107 [INFO] [stderr] Updating quote v1.0.21 -> v1.0.47 [INFO] [stderr] Adding r2d2 v0.8.10 [INFO] [stderr] Adding r2d2_sqlite v0.21.0 (available: v0.35.0) [INFO] [stderr] Adding rusqlite v0.28.0 (available: v0.40.2) [INFO] [stderr] Adding scheduled-thread-pool v0.2.7 [INFO] [stderr] Adding shlex v2.0.1 [INFO] [stderr] Adding strsim v0.10.0 [INFO] [stderr] Adding syn v2.0.119 [INFO] [stderr] Adding textwrap v0.16.4 [INFO] [stderr] Adding tokio-macros v1.8.2 [INFO] [stderr] Adding wait-timeout v0.2.1 [INFO] [stderr] Updating wasm-bindgen v0.2.82 -> v0.2.99 (available: v0.2.129) [INFO] [stderr] Updating wasm-bindgen-backend v0.2.82 -> v0.2.99 (available: v0.2.104) [INFO] [stderr] Updating wasm-bindgen-macro v0.2.82 -> v0.2.99 (available: v0.2.129) [INFO] [stderr] Updating wasm-bindgen-macro-support v0.2.82 -> v0.2.99 (available: v0.2.129) [INFO] [stderr] Updating wasm-bindgen-shared v0.2.82 -> v0.2.99 (available: v0.2.129) [INFO] [stderr] Adding windows-core v0.62.2 [INFO] [stderr] Adding windows-implement v0.60.2 [INFO] [stderr] Adding windows-interface v0.59.3 [INFO] [stderr] Adding windows-link v0.2.1 [INFO] [stderr] Adding windows-result v0.4.1 [INFO] [stderr] Adding windows-strings v0.5.1 [INFO] [stderr] Adding zerocopy v0.8.60 [INFO] [stderr] Adding zerocopy-derive v0.8.60 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded lock_api v0.4.8 [INFO] [stderr] Downloaded tokio-macros v1.8.2 [INFO] [stderr] Downloaded socket2 v0.4.6 [INFO] [stderr] Downloaded bytes v1.2.1 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.99 [INFO] [stderr] Downloaded cpufeatures v0.2.4 [INFO] [stderr] Downloaded scheduled-thread-pool v0.2.7 [INFO] [stderr] Downloaded output_vt100 v0.1.3 [INFO] [stderr] Downloaded r2d2_sqlite v0.21.0 [INFO] [stderr] Downloaded actix-web-codegen v4.0.1 [INFO] [stderr] Downloaded firestorm v0.5.1 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.99 [INFO] [stderr] Downloaded ctor v0.1.23 [INFO] [stderr] Downloaded bytestring v1.1.0 [INFO] [stderr] Downloaded serde_json v1.0.85 [INFO] [stderr] Downloaded os_str_bytes v6.6.1 [INFO] [stderr] Downloaded wasm-bindgen-backend v0.2.99 [INFO] [stderr] Downloaded itoa v1.0.3 [INFO] [stderr] Downloaded paste v1.0.8 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.99 [INFO] [stderr] Downloaded r2d2 v0.8.10 [INFO] [stderr] Downloaded textwrap v0.16.4 [INFO] [stderr] Downloaded semver v1.0.13 [INFO] [stderr] Downloaded wasm-bindgen v0.2.99 [INFO] [stderr] Downloaded js-sys v0.3.76 [INFO] [stderr] Downloaded openssl-sys v0.9.75 [INFO] [stderr] Downloaded tracing-core v0.1.29 [INFO] [stderr] Downloaded pretty_assertions v1.2.1 [INFO] [stderr] Downloaded tracing v0.1.36 [INFO] [stderr] Downloaded time v0.3.14 [INFO] [stderr] Downloaded cc v1.4.0 [INFO] [stderr] Downloaded rusqlite v0.28.0 [INFO] [stderr] Downloaded reqwest v0.11.11 [INFO] [stderr] Downloaded h2 v0.3.14 [INFO] [stderr] Downloaded clap v3.2.25 [INFO] [stderr] Downloaded openssl v0.10.41 [INFO] [stderr] Downloaded file_diff v1.0.0 [INFO] [stderr] Downloaded web-sys v0.3.59 [INFO] [stderr] Downloaded libsqlite3-sys v0.25.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] ba856f4efccce52968634a953c7884912d7322ea617f8b3ee50f9fd43a5df463 [INFO] running `Command { std: "docker" "start" "ba856f4efccce52968634a953c7884912d7322ea617f8b3ee50f9fd43a5df463", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ba856f4efccce52968634a953c7884912d7322ea617f8b3ee50f9fd43a5df463", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ba856f4efccce52968634a953c7884912d7322ea617f8b3ee50f9fd43a5df463" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ba856f4efccce52968634a953c7884912d7322ea617f8b3ee50f9fd43a5df463", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ba856f4efccce52968634a953c7884912d7322ea617f8b3ee50f9fd43a5df463" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.132 [INFO] [stderr] Compiling proc-macro2 v1.0.107 [INFO] [stderr] Compiling quote v1.0.47 [INFO] [stderr] Compiling unicode-ident v1.0.3 [INFO] [stderr] Compiling syn v1.0.99 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling find-msvc-tools v0.1.14 [INFO] [stderr] Compiling lock_api v0.4.8 [INFO] [stderr] Compiling parking_lot_core v0.9.3 [INFO] [stderr] Compiling bytes v1.2.1 [INFO] [stderr] Compiling smallvec v1.9.0 [INFO] [stderr] Compiling futures-core v0.3.23 [INFO] [stderr] Compiling itoa v1.0.3 [INFO] [stderr] Compiling pkg-config v0.3.25 [INFO] [stderr] Compiling tokio v1.20.1 [INFO] [stderr] Compiling futures-task v0.3.23 [INFO] [stderr] Compiling tracing-core v0.1.29 [INFO] [stderr] Compiling futures-util v0.3.23 [INFO] [stderr] Compiling indexmap v1.9.1 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Compiling signal-hook-registry v1.4.0 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling num_cpus v1.13.1 [INFO] [stderr] Compiling cc v1.4.0 [INFO] [stderr] Compiling socket2 v0.4.6 [INFO] [stderr] Compiling mio v0.8.4 [INFO] [stderr] Compiling http v0.2.8 [INFO] [stderr] Compiling tracing v0.1.36 [INFO] [stderr] Compiling serde_derive v1.0.144 [INFO] [stderr] Compiling futures-sink v0.3.23 [INFO] [stderr] Compiling futures-io v0.3.23 [INFO] [stderr] Compiling serde v1.0.144 [INFO] [stderr] Compiling httparse v1.7.1 [INFO] [stderr] Compiling zerocopy v0.8.60 [INFO] [stderr] Compiling percent-encoding v2.1.0 [INFO] [stderr] Compiling aho-corasick v0.7.18 [INFO] [stderr] Compiling getrandom v0.2.7 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling openssl v0.10.41 [INFO] [stderr] Compiling matches v0.1.9 [INFO] [stderr] Compiling regex-syntax v0.6.27 [INFO] [stderr] Compiling bytestring v1.1.0 [INFO] [stderr] Compiling local-waker v0.1.3 [INFO] [stderr] Compiling futures-channel v0.3.23 [INFO] [stderr] Compiling alloc-no-stdlib v2.0.3 [INFO] [stderr] Compiling zstd-safe v5.0.2+zstd.1.5.2 [INFO] [stderr] Compiling native-tls v0.2.10 [INFO] [stderr] Compiling encoding_rs v0.8.31 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Compiling serde_json v1.0.85 [INFO] [stderr] Compiling alloc-stdlib v0.2.1 [INFO] [stderr] Compiling libsqlite3-sys v0.25.2 [INFO] [stderr] Compiling unicode-normalization v0.1.21 [INFO] [stderr] Compiling openssl-sys v0.9.75 [INFO] [stderr] Compiling zstd-sys v2.0.1+zstd.1.5.2 [INFO] [stderr] Compiling form_urlencoded v1.0.1 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling block-buffer v0.10.2 [INFO] [stderr] Compiling ahash v0.7.6 [INFO] [stderr] Compiling paste v1.0.8 [INFO] [stderr] Compiling firestorm v0.5.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.16 [INFO] [stderr] Compiling regex v1.6.0 [INFO] [stderr] Compiling openssl-probe v0.1.5 [INFO] [stderr] Compiling adler v1.0.2 [INFO] [stderr] Compiling miniz_oxide v0.5.3 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling actix-service v2.0.2 [INFO] [stderr] Compiling idna v0.2.3 [INFO] [stderr] Compiling want v0.3.0 [INFO] [stderr] Compiling digest v0.10.3 [INFO] [stderr] Compiling brotli-decompressor v2.3.2 [INFO] [stderr] Compiling actix-utils v3.0.0 [INFO] [stderr] Compiling tokio-macros v1.8.2 [INFO] [stderr] Compiling openssl-macros v0.1.0 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling http-body v0.4.5 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling cookie v0.16.0 [INFO] [stderr] Compiling num_threads v0.1.6 [INFO] [stderr] Compiling convert_case v0.4.0 [INFO] [stderr] Compiling time-macros v0.2.4 [INFO] [stderr] Compiling cpufeatures v0.2.4 [INFO] [stderr] Compiling base64 v0.13.0 [INFO] [stderr] Compiling derive_more v0.99.17 [INFO] [stderr] Compiling sha1 v0.10.1 [INFO] [stderr] Compiling hashlink v0.8.4 [INFO] [stderr] Compiling brotli v3.3.4 [INFO] [stderr] Compiling actix-router v0.5.0 [INFO] [stderr] Compiling time v0.3.14 [INFO] [stderr] Compiling flate2 v1.0.24 [INFO] [stderr] Compiling url v2.2.2 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling local-channel v0.1.3 [INFO] [stderr] Compiling scheduled-thread-pool v0.2.7 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling tokio-util v0.7.3 [INFO] [stderr] Compiling actix-rt v2.7.0 [INFO] [stderr] Compiling tokio-native-tls v0.3.0 [INFO] [stderr] Compiling os_str_bytes v6.6.1 [INFO] [stderr] Compiling fallible-iterator v0.2.0 [INFO] [stderr] Compiling h2 v0.3.14 [INFO] [stderr] Compiling actix-codec v0.5.0 [INFO] [stderr] Compiling language-tags v0.3.2 [INFO] [stderr] Compiling termcolor v1.1.3 [INFO] [stderr] Compiling rusqlite v0.28.0 [INFO] [stderr] Compiling clap_lex v0.2.4 [INFO] [stderr] Compiling actix-server v2.1.1 [INFO] [stderr] Compiling r2d2 v0.8.10 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling actix-web-codegen v4.0.1 [INFO] [stderr] Compiling actix-macros v0.2.3 [INFO] [stderr] Compiling ipnet v2.5.0 [INFO] [stderr] Compiling textwrap v0.16.4 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling env_logger v0.9.0 [INFO] [stderr] Compiling clap v3.2.25 [INFO] [stderr] Compiling pretty_assertions v1.2.1 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling r2d2_sqlite v0.21.0 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling chrono v0.4.45 [INFO] [stderr] Compiling file_diff v1.0.0 [INFO] [stderr] Compiling dotenv v0.15.0 [INFO] [stderr] Compiling hyper v0.14.20 [INFO] [stderr] Compiling hyper-tls v0.5.0 [INFO] [stderr] Compiling reqwest v0.11.11 [INFO] [stderr] Compiling zstd v0.11.2+zstd.1.5.2 [INFO] [stderr] Compiling actix-http v3.2.1 [INFO] [stderr] Compiling actix-web v4.1.0 [INFO] [stderr] Compiling oj v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variant `standard` should have an upper camel case name [INFO] [stdout] --> src/config.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | standard, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Standard` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `strict` should have an upper camel case name [INFO] [stdout] --> src/config.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | strict, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Strict` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `spj` should have an upper camel case name [INFO] [stdout] --> src/config.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | spj, [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Spj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `dynamic_ranking` should have an upper camel case name [INFO] [stdout] --> src/config.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | dynamic_ranking, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DynamicRanking` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/contests/mod.rs:12:21 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::config::{self, Config, Ids}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `INVALID_ARGUMENT` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct INVALID_ARGUMENT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InvalidArgument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `INVALID_STATE` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct INVALID_STATE { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InvalidState` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `NOT_FOUND` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct NOT_FOUND { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `NotFound` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `RATE_LIMIT` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct RATE_LIMIT { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `RateLimit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::http::header::CONTENT_TYPE` [INFO] [stdout] --> src/handler/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use actix_web::http::header::CONTENT_TYPE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::HttpServer` [INFO] [stdout] --> src/handler/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use actix_web::HttpServer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `delete` and `get` [INFO] [stdout] --> src/handler/mod.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use actix_web::{delete, get, post, web}; [INFO] [stdout] | ^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/handler/mod.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `target` [INFO] [stdout] --> src/runner/diff.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | let status = match cfg![target = "windows"] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 34 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(target, values("windows"))'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(target, values(\"windows\"))");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | let mut contest: SerdeContest; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 208 | mut filter: RankFilter, [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | let mut ans: Vec = vec![]; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 281 | let mut status = &mut tbstatus[*user_id_map.get(&user_id).unwrap()]; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/runner/diff.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let mut output; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/contests/mod.rs:127:16 [INFO] [stdout] | [INFO] [stdout] 127 | if let Err(e) = data.execute("UPDATE contests SET (name, from_time, to_time, problem_ids, user_ids, submission_limit) = (?1, ?2... [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ans` [INFO] [stdout] --> src/contests/mod.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | let mut ans: Vec = vec![]; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ans` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `submission_count` is never read [INFO] [stdout] --> src/handler/jobs.rs:149:45 [INFO] [stdout] | [INFO] [stdout] 149 | let mut submission_count: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 152 | / submission_count = stmt [INFO] [stdout] 153 | | .query([]) [INFO] [stdout] 154 | | .unwrap() [INFO] [stdout] 155 | | .next() [INFO] [stdout] ... | [INFO] [stdout] 158 | | .get(0) [INFO] [stdout] 159 | | .unwrap(); [INFO] [stdout] | |_________________________________- `submission_count` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `job_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:188:27 [INFO] [stdout] | [INFO] [stdout] 188 | let mut job_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 189 | match path.parse::() { [INFO] [stdout] 190 | Ok(id) => job_id = id, [INFO] [stdout] | ----------- `job_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `job_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:244:27 [INFO] [stdout] | [INFO] [stdout] 244 | let mut job_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 245 | match path.parse::() { [INFO] [stdout] 246 | Ok(id) => job_id = id, [INFO] [stdout] | ----------- `job_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `real_time` is never read [INFO] [stdout] --> src/runner/mod.rs:600:39 [INFO] [stdout] | [INFO] [stdout] 600 | let mut real_time: u128 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 618 | real_time = now.elapsed().as_micros(); [INFO] [stdout] | ------------------------------------- `real_time` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `contest_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:337:31 [INFO] [stdout] | [INFO] [stdout] 337 | let mut contest_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 338 | match path.parse::() { [INFO] [stdout] 339 | Ok(id) => contest_id = id, [INFO] [stdout] | --------------- `contest_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `contest_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:367:31 [INFO] [stdout] | [INFO] [stdout] 367 | let mut contest_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 368 | match path.parse::() { [INFO] [stdout] 369 | Ok(id) => contest_id = id, [INFO] [stdout] | --------------- `contest_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RESULTS` is never used [INFO] [stdout] --> src/config.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const RESULTS: &[&str] = &[ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ids` is never constructed [INFO] [stdout] --> src/config.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Ids { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Config` is never constructed [INFO] [stdout] --> src/config.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 36 | pub_struct!( Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Server` is never constructed [INFO] [stdout] --> src/config.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | pub_struct!(Server { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Problem` is never constructed [INFO] [stdout] --> src/config.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct Problem { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Misc` is never constructed [INFO] [stdout] --> src/config.rs:57:14 [INFO] [stdout] | [INFO] [stdout] 57 | pub_struct!( Misc { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Case` is never constructed [INFO] [stdout] --> src/config.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | pub_struct!(Case { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Language` is never constructed [INFO] [stdout] --> src/config.rs:70:14 [INFO] [stdout] | [INFO] [stdout] 70 | pub_struct!( Language { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ProbType` is never used [INFO] [stdout] --> src/config.rs:77:10 [INFO] [stdout] | [INFO] [stdout] 77 | pub enum ProbType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_from_file` is never used [INFO] [stdout] --> src/config.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn parse_from_file(config_path: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeContest` is never constructed [INFO] [stdout] --> src/contests/mod.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct SerdeContest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeRank` is never constructed [INFO] [stdout] --> src/contests/mod.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct SerdeRank { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TieBreakerStatus` is never constructed [INFO] [stdout] --> src/contests/mod.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct TieBreakerStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `job_exists` is never used [INFO] [stdout] --> src/contests/mod.rs:44:14 [INFO] [stdout] | [INFO] [stdout] 44 | pub async fn job_exists(pool: Data>>, contest_id: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_contest` is never used [INFO] [stdout] --> src/contests/mod.rs:58:14 [INFO] [stdout] | [INFO] [stdout] 58 | pub async fn get_contest( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contest_exists` is never used [INFO] [stdout] --> src/contests/mod.rs:96:14 [INFO] [stdout] | [INFO] [stdout] 96 | pub async fn contest_exists( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_contest` is never used [INFO] [stdout] --> src/contests/mod.rs:112:14 [INFO] [stdout] | [INFO] [stdout] 112 | pub async fn update_contest( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_contest` is never used [INFO] [stdout] --> src/contests/mod.rs:134:14 [INFO] [stdout] | [INFO] [stdout] 134 | pub async fn create_contest( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_contests` is never used [INFO] [stdout] --> src/contests/mod.rs:162:14 [INFO] [stdout] | [INFO] [stdout] 162 | pub async fn get_contests( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `eq` is never used [INFO] [stdout] --> src/contests/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn eq(s1: &TieBreakerStatus, s2: &TieBreakerStatus, filter: &RankFilter) -> bool { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_ranklist` is never used [INFO] [stdout] --> src/contests/mod.rs:205:14 [INFO] [stdout] | [INFO] [stdout] 205 | pub async fn get_ranklist( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `INVALID_ARGUMENT` is never constructed [INFO] [stdout] --> src/error_log.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct INVALID_ARGUMENT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl INVALID_ARGUMENT { [INFO] [stdout] | --------------------- associated functions in this implementation [INFO] [stdout] 13 | pub fn new(message: &str) -> INVALID_ARGUMENT { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `INVALID_STATE` is never constructed [INFO] [stdout] --> src/error_log.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct INVALID_STATE { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl INVALID_STATE { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] 36 | pub fn new(message: &str) -> INVALID_STATE { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NOT_FOUND` is never constructed [INFO] [stdout] --> src/error_log.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct NOT_FOUND { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl NOT_FOUND { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 59 | pub fn new(message: &str) -> NOT_FOUND { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RATE_LIMIT` is never constructed [INFO] [stdout] --> src/error_log.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct RATE_LIMIT { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 81 | impl RATE_LIMIT { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 82 | pub fn new(message: &str) -> RATE_LIMIT { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EXTERNAL` is never constructed [INFO] [stdout] --> src/error_log.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct EXTERNAL { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 104 | impl EXTERNAL { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 105 | pub fn new(message: &str) -> EXTERNAL { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `INTERNAL` is never constructed [INFO] [stdout] --> src/error_log.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | pub struct INTERNAL { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 127 | impl INTERNAL { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 128 | pub fn new(message: &str) -> INTERNAL { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `route` is never used [INFO] [stdout] --> src/handler/mod.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn route(config: &mut web::ServiceConfig) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_route` is never used [INFO] [stdout] --> src/handler/mod.rs:30:14 [INFO] [stdout] | [INFO] [stdout] 30 | pub async fn default_route() -> impl Responder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PostJob` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct PostJob { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PostUser` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct PostUser { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PostContest` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct PostContest { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JobsFilter` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct JobsFilter { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RankFilter` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct RankFilter { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeRankFilter` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct SerdeRankFilter { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeJob` is never constructed [INFO] [stdout] --> src/runner/mod.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct SerdeJob { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_post` is never used [INFO] [stdout] --> src/runner/mod.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl SerdeJob { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 37 | pub fn get_post(&self) -> PostJob { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeSubmission` is never constructed [INFO] [stdout] --> src/runner/mod.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub struct SerdeSubmission { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeCase` is never constructed [INFO] [stdout] --> src/runner/mod.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | struct SerdeCase { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Job` is never constructed [INFO] [stdout] --> src/runner/mod.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | struct Job { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/runner/mod.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl Job { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 79 | fn new(id: u32, sub_id: u32) -> Job { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `job_exists` is never used [INFO] [stdout] --> src/runner/mod.rs:94:14 [INFO] [stdout] | [INFO] [stdout] 94 | pub async fn job_exists(pool: Data>>, job_id: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_submission` is never used [INFO] [stdout] --> src/runner/mod.rs:105:14 [INFO] [stdout] | [INFO] [stdout] 105 | pub async fn get_submission( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_a_job` is never used [INFO] [stdout] --> src/runner/mod.rs:141:14 [INFO] [stdout] | [INFO] [stdout] 141 | pub async fn get_a_job( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_job` is never used [INFO] [stdout] --> src/runner/mod.rs:232:14 [INFO] [stdout] | [INFO] [stdout] 232 | pub async fn get_job( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_jobs` is never used [INFO] [stdout] --> src/runner/mod.rs:242:14 [INFO] [stdout] | [INFO] [stdout] 242 | pub async fn get_jobs( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reset_job` is never used [INFO] [stdout] --> src/runner/mod.rs:311:14 [INFO] [stdout] | [INFO] [stdout] 311 | pub async fn reset_job( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_task` is never used [INFO] [stdout] --> src/runner/mod.rs:395:10 [INFO] [stdout] | [INFO] [stdout] 395 | async fn create_task( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/runner/mod.rs:434:14 [INFO] [stdout] | [INFO] [stdout] 434 | pub async fn run( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `start` is never used [INFO] [stdout] --> src/runner/mod.rs:747:14 [INFO] [stdout] | [INFO] [stdout] 747 | pub async fn start( [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `diff_strict` is never used [INFO] [stdout] --> src/runner/diff.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn diff_strict(file1: &str, file2: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `diff_standard` is never used [INFO] [stdout] --> src/runner/diff.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn diff_standard(file1: &str, file2: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `diff_spj` is never used [INFO] [stdout] --> src/runner/diff.rs:42:14 [INFO] [stdout] | [INFO] [stdout] 42 | pub async fn diff_spj(spj_info: &Vec) -> Result<(usize, String), ()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeUser` is never constructed [INFO] [stdout] --> src/users/mod.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct SerdeUser { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `user_name_exists` is never used [INFO] [stdout] --> src/users/mod.rs:19:14 [INFO] [stdout] | [INFO] [stdout] 19 | pub async fn user_name_exists( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `user_exists` is never used [INFO] [stdout] --> src/users/mod.rs:34:14 [INFO] [stdout] | [INFO] [stdout] 34 | pub async fn user_exists(pool: Data>>, user_id: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_user_id` is never used [INFO] [stdout] --> src/users/mod.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | pub async fn get_user_id( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_user` is never used [INFO] [stdout] --> src/users/mod.rs:77:14 [INFO] [stdout] | [INFO] [stdout] 77 | pub async fn get_user( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_user` is never used [INFO] [stdout] --> src/users/mod.rs:110:14 [INFO] [stdout] | [INFO] [stdout] 110 | pub async fn update_user( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_user` is never used [INFO] [stdout] --> src/users/mod.rs:145:14 [INFO] [stdout] | [INFO] [stdout] 145 | pub async fn create_user( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_users` is never used [INFO] [stdout] --> src/users/mod.rs:178:14 [INFO] [stdout] | [INFO] [stdout] 178 | pub async fn get_users( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/main.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use actix_web::web::{self, route, Data}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `standard` should have an upper camel case name [INFO] [stdout] --> src/config.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | standard, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Standard` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `strict` should have an upper camel case name [INFO] [stdout] --> src/config.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | strict, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Strict` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `spj` should have an upper camel case name [INFO] [stdout] --> src/config.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | spj, [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Spj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `dynamic_ranking` should have an upper camel case name [INFO] [stdout] --> src/config.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | dynamic_ranking, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DynamicRanking` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/contests/mod.rs:12:21 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::config::{self, Config, Ids}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `INVALID_ARGUMENT` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct INVALID_ARGUMENT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InvalidArgument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `INVALID_STATE` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct INVALID_STATE { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InvalidState` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `NOT_FOUND` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct NOT_FOUND { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `NotFound` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `RATE_LIMIT` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct RATE_LIMIT { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `RateLimit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::http::header::CONTENT_TYPE` [INFO] [stdout] --> src/handler/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use actix_web::http::header::CONTENT_TYPE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::HttpServer` [INFO] [stdout] --> src/handler/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use actix_web::HttpServer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `delete` and `get` [INFO] [stdout] --> src/handler/mod.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use actix_web::{delete, get, post, web}; [INFO] [stdout] | ^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/handler/mod.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `target` [INFO] [stdout] --> src/runner/diff.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | let status = match cfg![target = "windows"] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 34 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(target, values("windows"))'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(target, values(\"windows\"))");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | let mut contest: SerdeContest; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 208 | mut filter: RankFilter, [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | let mut ans: Vec = vec![]; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 281 | let mut status = &mut tbstatus[*user_id_map.get(&user_id).unwrap()]; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/runner/diff.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let mut output; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/contests/mod.rs:127:16 [INFO] [stdout] | [INFO] [stdout] 127 | if let Err(e) = data.execute("UPDATE contests SET (name, from_time, to_time, problem_ids, user_ids, submission_limit) = (?1, ?2... [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ans` [INFO] [stdout] --> src/contests/mod.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | let mut ans: Vec = vec![]; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ans` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `submission_count` is never read [INFO] [stdout] --> src/handler/jobs.rs:149:45 [INFO] [stdout] | [INFO] [stdout] 149 | let mut submission_count: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 152 | / submission_count = stmt [INFO] [stdout] 153 | | .query([]) [INFO] [stdout] 154 | | .unwrap() [INFO] [stdout] 155 | | .next() [INFO] [stdout] ... | [INFO] [stdout] 158 | | .get(0) [INFO] [stdout] 159 | | .unwrap(); [INFO] [stdout] | |_________________________________- `submission_count` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `job_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:188:27 [INFO] [stdout] | [INFO] [stdout] 188 | let mut job_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 189 | match path.parse::() { [INFO] [stdout] 190 | Ok(id) => job_id = id, [INFO] [stdout] | ----------- `job_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `job_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:244:27 [INFO] [stdout] | [INFO] [stdout] 244 | let mut job_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 245 | match path.parse::() { [INFO] [stdout] 246 | Ok(id) => job_id = id, [INFO] [stdout] | ----------- `job_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `real_time` is never read [INFO] [stdout] --> src/runner/mod.rs:600:39 [INFO] [stdout] | [INFO] [stdout] 600 | let mut real_time: u128 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 618 | real_time = now.elapsed().as_micros(); [INFO] [stdout] | ------------------------------------- `real_time` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `contest_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:337:31 [INFO] [stdout] | [INFO] [stdout] 337 | let mut contest_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 338 | match path.parse::() { [INFO] [stdout] 339 | Ok(id) => contest_id = id, [INFO] [stdout] | --------------- `contest_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `contest_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:367:31 [INFO] [stdout] | [INFO] [stdout] 367 | let mut contest_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 368 | match path.parse::() { [INFO] [stdout] 369 | Ok(id) => contest_id = id, [INFO] [stdout] | --------------- `contest_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `job_exists` is never used [INFO] [stdout] --> src/contests/mod.rs:44:14 [INFO] [stdout] | [INFO] [stdout] 44 | pub async fn job_exists(pool: Data>>, contest_id: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `INTERNAL` is never constructed [INFO] [stdout] --> src/error_log.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | pub struct INTERNAL { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 127 | impl INTERNAL { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 128 | pub fn new(message: &str) -> INTERNAL { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 30s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: openssl v0.10.41 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4` [INFO] running `Command { std: "docker" "inspect" "ba856f4efccce52968634a953c7884912d7322ea617f8b3ee50f9fd43a5df463", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ba856f4efccce52968634a953c7884912d7322ea617f8b3ee50f9fd43a5df463" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] warning: variant `standard` should have an upper camel case name [INFO] [stdout] --> src/config.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | standard, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Standard` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `strict` should have an upper camel case name [INFO] [stdout] --> src/config.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | strict, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Strict` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `spj` should have an upper camel case name [INFO] [stdout] --> src/config.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | spj, [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Spj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `dynamic_ranking` should have an upper camel case name [INFO] [stdout] --> src/config.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | dynamic_ranking, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DynamicRanking` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/contests/mod.rs:12:21 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::config::{self, Config, Ids}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `INVALID_ARGUMENT` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct INVALID_ARGUMENT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InvalidArgument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `INVALID_STATE` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct INVALID_STATE { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InvalidState` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `NOT_FOUND` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct NOT_FOUND { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `NotFound` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `RATE_LIMIT` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct RATE_LIMIT { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `RateLimit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::http::header::CONTENT_TYPE` [INFO] [stdout] --> src/handler/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use actix_web::http::header::CONTENT_TYPE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::HttpServer` [INFO] [stdout] --> src/handler/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use actix_web::HttpServer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `delete` and `get` [INFO] [stdout] --> src/handler/mod.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use actix_web::{delete, get, post, web}; [INFO] [stdout] | ^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/handler/mod.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `target` [INFO] [stdout] --> src/runner/diff.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | let status = match cfg![target = "windows"] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 34 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(target, values("windows"))'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(target, values(\"windows\"))");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | let mut contest: SerdeContest; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 208 | mut filter: RankFilter, [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | let mut ans: Vec = vec![]; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 281 | let mut status = &mut tbstatus[*user_id_map.get(&user_id).unwrap()]; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/runner/diff.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let mut output; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/contests/mod.rs:127:16 [INFO] [stdout] | [INFO] [stdout] 127 | if let Err(e) = data.execute("UPDATE contests SET (name, from_time, to_time, problem_ids, user_ids, submission_limit) = (?1, ?2... [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ans` [INFO] [stdout] --> src/contests/mod.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | let mut ans: Vec = vec![]; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ans` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `submission_count` is never read [INFO] [stdout] --> src/handler/jobs.rs:149:45 [INFO] [stdout] | [INFO] [stdout] 149 | let mut submission_count: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 152 | / submission_count = stmt [INFO] [stdout] 153 | | .query([]) [INFO] [stdout] 154 | | .unwrap() [INFO] [stdout] 155 | | .next() [INFO] [stdout] ... | [INFO] [stdout] 158 | | .get(0) [INFO] [stdout] 159 | | .unwrap(); [INFO] [stdout] | |_________________________________- `submission_count` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `job_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:188:27 [INFO] [stdout] | [INFO] [stdout] 188 | let mut job_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 189 | match path.parse::() { [INFO] [stdout] 190 | Ok(id) => job_id = id, [INFO] [stdout] | ----------- `job_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `job_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:244:27 [INFO] [stdout] | [INFO] [stdout] 244 | let mut job_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 245 | match path.parse::() { [INFO] [stdout] 246 | Ok(id) => job_id = id, [INFO] [stdout] | ----------- `job_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `real_time` is never read [INFO] [stdout] --> src/runner/mod.rs:600:39 [INFO] [stdout] | [INFO] [stdout] 600 | let mut real_time: u128 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 618 | real_time = now.elapsed().as_micros(); [INFO] [stdout] | ------------------------------------- `real_time` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `contest_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:337:31 [INFO] [stdout] | [INFO] [stdout] 337 | let mut contest_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 338 | match path.parse::() { [INFO] [stdout] 339 | Ok(id) => contest_id = id, [INFO] [stdout] | --------------- `contest_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `contest_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:367:31 [INFO] [stdout] | [INFO] [stdout] 367 | let mut contest_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 368 | match path.parse::() { [INFO] [stdout] 369 | Ok(id) => contest_id = id, [INFO] [stdout] | --------------- `contest_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RESULTS` is never used [INFO] [stdout] --> src/config.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const RESULTS: &[&str] = &[ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ids` is never constructed [INFO] [stdout] --> src/config.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Ids { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Config` is never constructed [INFO] [stdout] --> src/config.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 36 | pub_struct!( Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Server` is never constructed [INFO] [stdout] --> src/config.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | pub_struct!(Server { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Problem` is never constructed [INFO] [stdout] --> src/config.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct Problem { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Misc` is never constructed [INFO] [stdout] --> src/config.rs:57:14 [INFO] [stdout] | [INFO] [stdout] 57 | pub_struct!( Misc { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Case` is never constructed [INFO] [stdout] --> src/config.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | pub_struct!(Case { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Language` is never constructed [INFO] [stdout] --> src/config.rs:70:14 [INFO] [stdout] | [INFO] [stdout] 70 | pub_struct!( Language { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ProbType` is never used [INFO] [stdout] --> src/config.rs:77:10 [INFO] [stdout] | [INFO] [stdout] 77 | pub enum ProbType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_from_file` is never used [INFO] [stdout] --> src/config.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn parse_from_file(config_path: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeContest` is never constructed [INFO] [stdout] --> src/contests/mod.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct SerdeContest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeRank` is never constructed [INFO] [stdout] --> src/contests/mod.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct SerdeRank { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TieBreakerStatus` is never constructed [INFO] [stdout] --> src/contests/mod.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct TieBreakerStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `job_exists` is never used [INFO] [stdout] --> src/contests/mod.rs:44:14 [INFO] [stdout] | [INFO] [stdout] 44 | pub async fn job_exists(pool: Data>>, contest_id: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_contest` is never used [INFO] [stdout] --> src/contests/mod.rs:58:14 [INFO] [stdout] | [INFO] [stdout] 58 | pub async fn get_contest( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contest_exists` is never used [INFO] [stdout] --> src/contests/mod.rs:96:14 [INFO] [stdout] | [INFO] [stdout] 96 | pub async fn contest_exists( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_contest` is never used [INFO] [stdout] --> src/contests/mod.rs:112:14 [INFO] [stdout] | [INFO] [stdout] 112 | pub async fn update_contest( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_contest` is never used [INFO] [stdout] --> src/contests/mod.rs:134:14 [INFO] [stdout] | [INFO] [stdout] 134 | pub async fn create_contest( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_contests` is never used [INFO] [stdout] --> src/contests/mod.rs:162:14 [INFO] [stdout] | [INFO] [stdout] 162 | pub async fn get_contests( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `eq` is never used [INFO] [stdout] --> src/contests/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn eq(s1: &TieBreakerStatus, s2: &TieBreakerStatus, filter: &RankFilter) -> bool { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_ranklist` is never used [INFO] [stdout] --> src/contests/mod.rs:205:14 [INFO] [stdout] | [INFO] [stdout] 205 | pub async fn get_ranklist( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `INVALID_ARGUMENT` is never constructed [INFO] [stdout] --> src/error_log.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct INVALID_ARGUMENT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl INVALID_ARGUMENT { [INFO] [stdout] | --------------------- associated functions in this implementation [INFO] [stdout] 13 | pub fn new(message: &str) -> INVALID_ARGUMENT { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `INVALID_STATE` is never constructed [INFO] [stdout] --> src/error_log.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct INVALID_STATE { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl INVALID_STATE { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] 36 | pub fn new(message: &str) -> INVALID_STATE { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NOT_FOUND` is never constructed [INFO] [stdout] --> src/error_log.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct NOT_FOUND { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl NOT_FOUND { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 59 | pub fn new(message: &str) -> NOT_FOUND { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RATE_LIMIT` is never constructed [INFO] [stdout] --> src/error_log.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct RATE_LIMIT { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 81 | impl RATE_LIMIT { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 82 | pub fn new(message: &str) -> RATE_LIMIT { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EXTERNAL` is never constructed [INFO] [stdout] --> src/error_log.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct EXTERNAL { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling oj v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 104 | impl EXTERNAL { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 105 | pub fn new(message: &str) -> EXTERNAL { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `INTERNAL` is never constructed [INFO] [stdout] --> src/error_log.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | pub struct INTERNAL { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 127 | impl INTERNAL { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 128 | pub fn new(message: &str) -> INTERNAL { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `route` is never used [INFO] [stdout] --> src/handler/mod.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn route(config: &mut web::ServiceConfig) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_route` is never used [INFO] [stdout] --> src/handler/mod.rs:30:14 [INFO] [stdout] | [INFO] [stdout] 30 | pub async fn default_route() -> impl Responder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PostJob` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct PostJob { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PostUser` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct PostUser { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PostContest` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct PostContest { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JobsFilter` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct JobsFilter { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RankFilter` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct RankFilter { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeRankFilter` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct SerdeRankFilter { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeJob` is never constructed [INFO] [stdout] --> src/runner/mod.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct SerdeJob { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_post` is never used [INFO] [stdout] --> src/runner/mod.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl SerdeJob { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 37 | pub fn get_post(&self) -> PostJob { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeSubmission` is never constructed [INFO] [stdout] --> src/runner/mod.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub struct SerdeSubmission { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeCase` is never constructed [INFO] [stdout] --> src/runner/mod.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | struct SerdeCase { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Job` is never constructed [INFO] [stdout] --> src/runner/mod.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | struct Job { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/runner/mod.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl Job { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 79 | fn new(id: u32, sub_id: u32) -> Job { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `job_exists` is never used [INFO] [stdout] --> src/runner/mod.rs:94:14 [INFO] [stdout] | [INFO] [stdout] 94 | pub async fn job_exists(pool: Data>>, job_id: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_submission` is never used [INFO] [stdout] --> src/runner/mod.rs:105:14 [INFO] [stdout] | [INFO] [stdout] 105 | pub async fn get_submission( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_a_job` is never used [INFO] [stdout] --> src/runner/mod.rs:141:14 [INFO] [stdout] | [INFO] [stdout] 141 | pub async fn get_a_job( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_job` is never used [INFO] [stdout] --> src/runner/mod.rs:232:14 [INFO] [stdout] | [INFO] [stdout] 232 | pub async fn get_job( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_jobs` is never used [INFO] [stdout] --> src/runner/mod.rs:242:14 [INFO] [stdout] | [INFO] [stdout] 242 | pub async fn get_jobs( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reset_job` is never used [INFO] [stdout] --> src/runner/mod.rs:311:14 [INFO] [stdout] | [INFO] [stdout] 311 | pub async fn reset_job( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_task` is never used [INFO] [stdout] --> src/runner/mod.rs:395:10 [INFO] [stdout] | [INFO] [stdout] 395 | async fn create_task( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/runner/mod.rs:434:14 [INFO] [stdout] | [INFO] [stdout] 434 | pub async fn run( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `start` is never used [INFO] [stdout] --> src/runner/mod.rs:747:14 [INFO] [stdout] | [INFO] [stdout] 747 | pub async fn start( [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `diff_strict` is never used [INFO] [stdout] --> src/runner/diff.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn diff_strict(file1: &str, file2: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `diff_standard` is never used [INFO] [stdout] --> src/runner/diff.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn diff_standard(file1: &str, file2: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `diff_spj` is never used [INFO] [stdout] --> src/runner/diff.rs:42:14 [INFO] [stdout] | [INFO] [stdout] 42 | pub async fn diff_spj(spj_info: &Vec) -> Result<(usize, String), ()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeUser` is never constructed [INFO] [stdout] --> src/users/mod.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct SerdeUser { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `user_name_exists` is never used [INFO] [stdout] --> src/users/mod.rs:19:14 [INFO] [stdout] | [INFO] [stdout] 19 | pub async fn user_name_exists( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `user_exists` is never used [INFO] [stdout] --> src/users/mod.rs:34:14 [INFO] [stdout] | [INFO] [stdout] 34 | pub async fn user_exists(pool: Data>>, user_id: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_user_id` is never used [INFO] [stdout] --> src/users/mod.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | pub async fn get_user_id( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_user` is never used [INFO] [stdout] --> src/users/mod.rs:77:14 [INFO] [stdout] | [INFO] [stdout] 77 | pub async fn get_user( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_user` is never used [INFO] [stdout] --> src/users/mod.rs:110:14 [INFO] [stdout] | [INFO] [stdout] 110 | pub async fn update_user( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_user` is never used [INFO] [stdout] --> src/users/mod.rs:145:14 [INFO] [stdout] | [INFO] [stdout] 145 | pub async fn create_user( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_users` is never used [INFO] [stdout] --> src/users/mod.rs:178:14 [INFO] [stdout] | [INFO] [stdout] 178 | pub async fn get_users( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `standard` should have an upper camel case name [INFO] [stdout] --> src/config.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | standard, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Standard` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `strict` should have an upper camel case name [INFO] [stdout] --> src/config.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | strict, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Strict` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `spj` should have an upper camel case name [INFO] [stdout] --> src/config.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | spj, [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Spj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `dynamic_ranking` should have an upper camel case name [INFO] [stdout] --> src/config.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | dynamic_ranking, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DynamicRanking` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/contests/mod.rs:12:21 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::config::{self, Config, Ids}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `INVALID_ARGUMENT` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct INVALID_ARGUMENT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InvalidArgument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `INVALID_STATE` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct INVALID_STATE { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InvalidState` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `NOT_FOUND` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct NOT_FOUND { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `NotFound` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `RATE_LIMIT` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct RATE_LIMIT { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `RateLimit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::http::header::CONTENT_TYPE` [INFO] [stdout] --> src/handler/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use actix_web::http::header::CONTENT_TYPE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::HttpServer` [INFO] [stdout] --> src/handler/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use actix_web::HttpServer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `delete` and `get` [INFO] [stdout] --> src/handler/mod.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use actix_web::{delete, get, post, web}; [INFO] [stdout] | ^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/handler/mod.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `target` [INFO] [stdout] --> src/runner/diff.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | let status = match cfg![target = "windows"] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 34 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(target, values("windows"))'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(target, values(\"windows\"))");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | let mut contest: SerdeContest; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 208 | mut filter: RankFilter, [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | let mut ans: Vec = vec![]; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 281 | let mut status = &mut tbstatus[*user_id_map.get(&user_id).unwrap()]; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/main.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use actix_web::web::{self, route, Data}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `standard` should have an upper camel case name [INFO] [stdout] --> src/config.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | standard, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Standard` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `strict` should have an upper camel case name [INFO] [stdout] --> src/config.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | strict, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Strict` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `spj` should have an upper camel case name [INFO] [stdout] --> src/config.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | spj, [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Spj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `dynamic_ranking` should have an upper camel case name [INFO] [stdout] --> src/config.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | dynamic_ranking, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DynamicRanking` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/contests/mod.rs:12:21 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::config::{self, Config, Ids}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `INVALID_ARGUMENT` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct INVALID_ARGUMENT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InvalidArgument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `INVALID_STATE` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct INVALID_STATE { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InvalidState` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `NOT_FOUND` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct NOT_FOUND { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `NotFound` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `RATE_LIMIT` should have an upper camel case name [INFO] [stdout] --> src/error_log.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct RATE_LIMIT { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `RateLimit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::http::header::CONTENT_TYPE` [INFO] [stdout] --> src/handler/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use actix_web::http::header::CONTENT_TYPE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::HttpServer` [INFO] [stdout] --> src/handler/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use actix_web::HttpServer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `delete` and `get` [INFO] [stdout] --> src/handler/mod.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use actix_web::{delete, get, post, web}; [INFO] [stdout] | ^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/handler/mod.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `target` [INFO] [stdout] --> src/runner/diff.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | let status = match cfg![target = "windows"] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 34 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(target, values("windows"))'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(target, values(\"windows\"))");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/runner/diff.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let mut output; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | let mut contest: SerdeContest; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 208 | mut filter: RankFilter, [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | let mut ans: Vec = vec![]; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contests/mod.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 281 | let mut status = &mut tbstatus[*user_id_map.get(&user_id).unwrap()]; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/contests/mod.rs:127:16 [INFO] [stdout] | [INFO] [stdout] 127 | if let Err(e) = data.execute("UPDATE contests SET (name, from_time, to_time, problem_ids, user_ids, submission_limit) = (?1, ?2... [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ans` [INFO] [stdout] --> src/contests/mod.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | let mut ans: Vec = vec![]; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ans` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/runner/diff.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let mut output; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `submission_count` is never read [INFO] [stdout] --> src/handler/jobs.rs:149:45 [INFO] [stdout] | [INFO] [stdout] 149 | let mut submission_count: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 152 | / submission_count = stmt [INFO] [stdout] 153 | | .query([]) [INFO] [stdout] 154 | | .unwrap() [INFO] [stdout] 155 | | .next() [INFO] [stdout] ... | [INFO] [stdout] 158 | | .get(0) [INFO] [stdout] 159 | | .unwrap(); [INFO] [stdout] | |_________________________________- `submission_count` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `job_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:188:27 [INFO] [stdout] | [INFO] [stdout] 188 | let mut job_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 189 | match path.parse::() { [INFO] [stdout] 190 | Ok(id) => job_id = id, [INFO] [stdout] | ----------- `job_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `job_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:244:27 [INFO] [stdout] | [INFO] [stdout] 244 | let mut job_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 245 | match path.parse::() { [INFO] [stdout] 246 | Ok(id) => job_id = id, [INFO] [stdout] | ----------- `job_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `real_time` is never read [INFO] [stdout] --> src/runner/mod.rs:600:39 [INFO] [stdout] | [INFO] [stdout] 600 | let mut real_time: u128 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 618 | real_time = now.elapsed().as_micros(); [INFO] [stdout] | ------------------------------------- `real_time` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `contest_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:337:31 [INFO] [stdout] | [INFO] [stdout] 337 | let mut contest_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 338 | match path.parse::() { [INFO] [stdout] 339 | Ok(id) => contest_id = id, [INFO] [stdout] | --------------- `contest_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `contest_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:367:31 [INFO] [stdout] | [INFO] [stdout] 367 | let mut contest_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 368 | match path.parse::() { [INFO] [stdout] 369 | Ok(id) => contest_id = id, [INFO] [stdout] | --------------- `contest_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RESULTS` is never used [INFO] [stdout] --> src/config.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const RESULTS: &[&str] = &[ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ids` is never constructed [INFO] [stdout] --> src/config.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Ids { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Config` is never constructed [INFO] [stdout] --> src/config.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 36 | pub_struct!( Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Server` is never constructed [INFO] [stdout] --> src/config.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | pub_struct!(Server { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Problem` is never constructed [INFO] [stdout] --> src/config.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct Problem { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Misc` is never constructed [INFO] [stdout] --> src/config.rs:57:14 [INFO] [stdout] | [INFO] [stdout] 57 | pub_struct!( Misc { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Case` is never constructed [INFO] [stdout] --> src/config.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | pub_struct!(Case { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Language` is never constructed [INFO] [stdout] --> src/config.rs:70:14 [INFO] [stdout] | [INFO] [stdout] 70 | pub_struct!( Language { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ProbType` is never used [INFO] [stdout] --> src/config.rs:77:10 [INFO] [stdout] | [INFO] [stdout] 77 | pub enum ProbType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_from_file` is never used [INFO] [stdout] --> src/config.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn parse_from_file(config_path: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeContest` is never constructed [INFO] [stdout] --> src/contests/mod.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct SerdeContest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeRank` is never constructed [INFO] [stdout] --> src/contests/mod.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct SerdeRank { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TieBreakerStatus` is never constructed [INFO] [stdout] --> src/contests/mod.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct TieBreakerStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `job_exists` is never used [INFO] [stdout] --> src/contests/mod.rs:44:14 [INFO] [stdout] | [INFO] [stdout] 44 | pub async fn job_exists(pool: Data>>, contest_id: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_contest` is never used [INFO] [stdout] --> src/contests/mod.rs:58:14 [INFO] [stdout] | [INFO] [stdout] 58 | pub async fn get_contest( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contest_exists` is never used [INFO] [stdout] --> src/contests/mod.rs:96:14 [INFO] [stdout] | [INFO] [stdout] 96 | pub async fn contest_exists( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_contest` is never used [INFO] [stdout] --> src/contests/mod.rs:112:14 [INFO] [stdout] | [INFO] [stdout] 112 | pub async fn update_contest( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_contest` is never used [INFO] [stdout] --> src/contests/mod.rs:134:14 [INFO] [stdout] | [INFO] [stdout] 134 | pub async fn create_contest( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_contests` is never used [INFO] [stdout] --> src/contests/mod.rs:162:14 [INFO] [stdout] | [INFO] [stdout] 162 | pub async fn get_contests( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `eq` is never used [INFO] [stdout] --> src/contests/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn eq(s1: &TieBreakerStatus, s2: &TieBreakerStatus, filter: &RankFilter) -> bool { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_ranklist` is never used [INFO] [stdout] --> src/contests/mod.rs:205:14 [INFO] [stdout] | [INFO] [stdout] 205 | pub async fn get_ranklist( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `INVALID_ARGUMENT` is never constructed [INFO] [stdout] --> src/error_log.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct INVALID_ARGUMENT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl INVALID_ARGUMENT { [INFO] [stdout] | --------------------- associated functions in this implementation [INFO] [stdout] 13 | pub fn new(message: &str) -> INVALID_ARGUMENT { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `INVALID_STATE` is never constructed [INFO] [stdout] --> src/error_log.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct INVALID_STATE { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl INVALID_STATE { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] 36 | pub fn new(message: &str) -> INVALID_STATE { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NOT_FOUND` is never constructed [INFO] [stdout] --> src/error_log.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct NOT_FOUND { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl NOT_FOUND { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 59 | pub fn new(message: &str) -> NOT_FOUND { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RATE_LIMIT` is never constructed [INFO] [stdout] --> src/error_log.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct RATE_LIMIT { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 81 | impl RATE_LIMIT { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 82 | pub fn new(message: &str) -> RATE_LIMIT { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EXTERNAL` is never constructed [INFO] [stdout] --> src/error_log.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct EXTERNAL { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 104 | impl EXTERNAL { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 105 | pub fn new(message: &str) -> EXTERNAL { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `INTERNAL` is never constructed [INFO] [stdout] --> src/error_log.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | pub struct INTERNAL { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 127 | impl INTERNAL { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 128 | pub fn new(message: &str) -> INTERNAL { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `route` is never used [INFO] [stdout] --> src/handler/mod.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn route(config: &mut web::ServiceConfig) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_route` is never used [INFO] [stdout] --> src/handler/mod.rs:30:14 [INFO] [stdout] | [INFO] [stdout] 30 | pub async fn default_route() -> impl Responder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PostJob` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct PostJob { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PostUser` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct PostUser { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PostContest` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct PostContest { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JobsFilter` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct JobsFilter { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RankFilter` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct RankFilter { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeRankFilter` is never constructed [INFO] [stdout] --> src/handler/jobs.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct SerdeRankFilter { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeJob` is never constructed [INFO] [stdout] --> src/runner/mod.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct SerdeJob { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_post` is never used [INFO] [stdout] --> src/runner/mod.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl SerdeJob { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 37 | pub fn get_post(&self) -> PostJob { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeSubmission` is never constructed [INFO] [stdout] --> src/runner/mod.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub struct SerdeSubmission { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeCase` is never constructed [INFO] [stdout] --> src/runner/mod.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | struct SerdeCase { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Job` is never constructed [INFO] [stdout] --> src/runner/mod.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | struct Job { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/runner/mod.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl Job { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 79 | fn new(id: u32, sub_id: u32) -> Job { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `job_exists` is never used [INFO] [stdout] --> src/runner/mod.rs:94:14 [INFO] [stdout] | [INFO] [stdout] 94 | pub async fn job_exists(pool: Data>>, job_id: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_submission` is never used [INFO] [stdout] --> src/runner/mod.rs:105:14 [INFO] [stdout] | [INFO] [stdout] 105 | pub async fn get_submission( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_a_job` is never used [INFO] [stdout] --> src/runner/mod.rs:141:14 [INFO] [stdout] | [INFO] [stdout] 141 | pub async fn get_a_job( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_job` is never used [INFO] [stdout] --> src/runner/mod.rs:232:14 [INFO] [stdout] | [INFO] [stdout] 232 | pub async fn get_job( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_jobs` is never used [INFO] [stdout] --> src/runner/mod.rs:242:14 [INFO] [stdout] | [INFO] [stdout] 242 | pub async fn get_jobs( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reset_job` is never used [INFO] [stdout] --> src/runner/mod.rs:311:14 [INFO] [stdout] | [INFO] [stdout] 311 | pub async fn reset_job( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_task` is never used [INFO] [stdout] --> src/runner/mod.rs:395:10 [INFO] [stdout] | [INFO] [stdout] 395 | async fn create_task( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/runner/mod.rs:434:14 [INFO] [stdout] | [INFO] [stdout] 434 | pub async fn run( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `start` is never used [INFO] [stdout] --> src/runner/mod.rs:747:14 [INFO] [stdout] | [INFO] [stdout] 747 | pub async fn start( [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `diff_strict` is never used [INFO] [stdout] --> src/runner/diff.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn diff_strict(file1: &str, file2: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `diff_standard` is never used [INFO] [stdout] --> src/runner/diff.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn diff_standard(file1: &str, file2: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `diff_spj` is never used [INFO] [stdout] --> src/runner/diff.rs:42:14 [INFO] [stdout] | [INFO] [stdout] 42 | pub async fn diff_spj(spj_info: &Vec) -> Result<(usize, String), ()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SerdeUser` is never constructed [INFO] [stdout] --> src/users/mod.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct SerdeUser { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `user_name_exists` is never used [INFO] [stdout] --> src/users/mod.rs:19:14 [INFO] [stdout] | [INFO] [stdout] 19 | pub async fn user_name_exists( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `user_exists` is never used [INFO] [stdout] --> src/users/mod.rs:34:14 [INFO] [stdout] | [INFO] [stdout] 34 | pub async fn user_exists(pool: Data>>, user_id: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_user_id` is never used [INFO] [stdout] --> src/users/mod.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | pub async fn get_user_id( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_user` is never used [INFO] [stdout] --> src/users/mod.rs:77:14 [INFO] [stdout] | [INFO] [stdout] 77 | pub async fn get_user( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_user` is never used [INFO] [stdout] --> src/users/mod.rs:110:14 [INFO] [stdout] | [INFO] [stdout] 110 | pub async fn update_user( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_user` is never used [INFO] [stdout] --> src/users/mod.rs:145:14 [INFO] [stdout] | [INFO] [stdout] 145 | pub async fn create_user( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_users` is never used [INFO] [stdout] --> src/users/mod.rs:178:14 [INFO] [stdout] | [INFO] [stdout] 178 | pub async fn get_users( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/contests/mod.rs:127:16 [INFO] [stdout] | [INFO] [stdout] 127 | if let Err(e) = data.execute("UPDATE contests SET (name, from_time, to_time, problem_ids, user_ids, submission_limit) = (?1, ?2... [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ans` [INFO] [stdout] --> src/contests/mod.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | let mut ans: Vec = vec![]; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ans` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `submission_count` is never read [INFO] [stdout] --> src/handler/jobs.rs:149:45 [INFO] [stdout] | [INFO] [stdout] 149 | let mut submission_count: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 152 | / submission_count = stmt [INFO] [stdout] 153 | | .query([]) [INFO] [stdout] 154 | | .unwrap() [INFO] [stdout] 155 | | .next() [INFO] [stdout] ... | [INFO] [stdout] 158 | | .get(0) [INFO] [stdout] 159 | | .unwrap(); [INFO] [stdout] | |_________________________________- `submission_count` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `job_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:188:27 [INFO] [stdout] | [INFO] [stdout] 188 | let mut job_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 189 | match path.parse::() { [INFO] [stdout] 190 | Ok(id) => job_id = id, [INFO] [stdout] | ----------- `job_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `job_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:244:27 [INFO] [stdout] | [INFO] [stdout] 244 | let mut job_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 245 | match path.parse::() { [INFO] [stdout] 246 | Ok(id) => job_id = id, [INFO] [stdout] | ----------- `job_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `real_time` is never read [INFO] [stdout] --> src/runner/mod.rs:600:39 [INFO] [stdout] | [INFO] [stdout] 600 | let mut real_time: u128 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 618 | real_time = now.elapsed().as_micros(); [INFO] [stdout] | ------------------------------------- `real_time` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `contest_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:337:31 [INFO] [stdout] | [INFO] [stdout] 337 | let mut contest_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 338 | match path.parse::() { [INFO] [stdout] 339 | Ok(id) => contest_id = id, [INFO] [stdout] | --------------- `contest_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `contest_id` is never read [INFO] [stdout] --> src/handler/jobs.rs:367:31 [INFO] [stdout] | [INFO] [stdout] 367 | let mut contest_id: u32 = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] 368 | match path.parse::() { [INFO] [stdout] 369 | Ok(id) => contest_id = id, [INFO] [stdout] | --------------- `contest_id` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `job_exists` is never used [INFO] [stdout] --> src/contests/mod.rs:44:14 [INFO] [stdout] | [INFO] [stdout] 44 | pub async fn job_exists(pool: Data>>, contest_id: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `INTERNAL` is never constructed [INFO] [stdout] --> src/error_log.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | pub struct INTERNAL { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stdout] --> src/error_log.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 127 | impl INTERNAL { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 128 | pub fn new(message: &str) -> INTERNAL { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn msg(message: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 7.27s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: openssl v0.10.41 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4` [INFO] running `Command { std: "docker" "inspect" "ba856f4efccce52968634a953c7884912d7322ea617f8b3ee50f9fd43a5df463", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ba856f4efccce52968634a953c7884912d7322ea617f8b3ee50f9fd43a5df463" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] warning: variant `standard` should have an upper camel case name [INFO] [stderr] --> src/config.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | standard, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Standard` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variant `strict` should have an upper camel case name [INFO] [stderr] --> src/config.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | strict, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Strict` [INFO] [stderr] [INFO] [stderr] warning: variant `spj` should have an upper camel case name [INFO] [stderr] --> src/config.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | spj, [INFO] [stderr] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Spj` [INFO] [stderr] [INFO] [stderr] warning: variant `dynamic_ranking` should have an upper camel case name [INFO] [stderr] --> src/config.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | dynamic_ranking, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DynamicRanking` [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/contests/mod.rs:12:21 [INFO] [stderr] | [INFO] [stderr] 12 | use crate::config::{self, Config, Ids}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: type `INVALID_ARGUMENT` should have an upper camel case name [INFO] [stderr] --> src/error_log.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct INVALID_ARGUMENT { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InvalidArgument` [INFO] [stderr] [INFO] [stderr] warning: type `INVALID_STATE` should have an upper camel case name [INFO] [stderr] --> src/error_log.rs:29:12 [INFO] [stderr] | [INFO] [stderr] 29 | pub struct INVALID_STATE { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InvalidState` [INFO] [stderr] [INFO] [stderr] warning: type `NOT_FOUND` should have an upper camel case name [INFO] [stderr] --> src/error_log.rs:52:12 [INFO] [stderr] | [INFO] [stderr] 52 | pub struct NOT_FOUND { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `NotFound` [INFO] [stderr] [INFO] [stderr] warning: type `RATE_LIMIT` should have an upper camel case name [INFO] [stderr] --> src/error_log.rs:75:12 [INFO] [stderr] | [INFO] [stderr] 75 | pub struct RATE_LIMIT { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `RateLimit` [INFO] [stderr] [INFO] [stderr] warning: unused import: `actix_web::http::header::CONTENT_TYPE` [INFO] [stderr] --> src/handler/mod.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use actix_web::http::header::CONTENT_TYPE; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `actix_web::HttpServer` [INFO] [stderr] --> src/handler/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use actix_web::HttpServer; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `delete` and `get` [INFO] [stderr] --> src/handler/mod.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | use actix_web::{delete, get, post, web}; [INFO] [stderr] | ^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stderr] --> src/handler/mod.rs:5:13 [INFO] [stderr] | [INFO] [stderr] 5 | use serde::{Deserialize, Serialize}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `target` [INFO] [stderr] --> src/runner/diff.rs:16:29 [INFO] [stderr] | [INFO] [stderr] 16 | let status = match cfg![target = "windows"] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: expected names are: `docsrs`, `feature`, and `test` and 34 more [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(target, values("windows"))'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(target, values(\"windows\"))");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/contests/mod.rs:117:9 [INFO] [stderr] | [INFO] [stderr] 117 | let mut contest: SerdeContest; [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/contests/mod.rs:208:5 [INFO] [stderr] | [INFO] [stderr] 208 | mut filter: RankFilter, [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/contests/mod.rs:213:9 [INFO] [stderr] | [INFO] [stderr] 213 | let mut ans: Vec = vec![]; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/contests/mod.rs:281:13 [INFO] [stderr] | [INFO] [stderr] 281 | let mut status = &mut tbstatus[*user_id_map.get(&user_id).unwrap()]; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/runner/diff.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | let mut output; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/contests/mod.rs:127:16 [INFO] [stderr] | [INFO] [stderr] 127 | if let Err(e) = data.execute("UPDATE contests SET (name, from_time, to_time, problem_ids, user_ids, submission_limit) = (?1, ?2... [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ans` [INFO] [stderr] --> src/contests/mod.rs:213:9 [INFO] [stderr] | [INFO] [stderr] 213 | let mut ans: Vec = vec![]; [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ans` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `submission_count` is never read [INFO] [stderr] --> src/handler/jobs.rs:149:45 [INFO] [stderr] | [INFO] [stderr] 149 | let mut submission_count: u32 = 0; [INFO] [stderr] | ^ this value is reassigned later and never used [INFO] [stderr] ... [INFO] [stderr] 152 | / submission_count = stmt [INFO] [stderr] 153 | | .query([]) [INFO] [stderr] 154 | | .unwrap() [INFO] [stderr] 155 | | .next() [INFO] [stderr] ... | [INFO] [stderr] 158 | | .get(0) [INFO] [stderr] 159 | | .unwrap(); [INFO] [stderr] | |_________________________________- `submission_count` is overwritten here before the previous value is read [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `job_id` is never read [INFO] [stderr] --> src/handler/jobs.rs:188:27 [INFO] [stderr] | [INFO] [stderr] 188 | let mut job_id: u32 = 0; [INFO] [stderr] | ^ this value is reassigned later and never used [INFO] [stderr] 189 | match path.parse::() { [INFO] [stderr] 190 | Ok(id) => job_id = id, [INFO] [stderr] | ----------- `job_id` is overwritten here before the previous value is read [INFO] [stderr] [INFO] [stderr] warning: value assigned to `job_id` is never read [INFO] [stderr] --> src/handler/jobs.rs:244:27 [INFO] [stderr] | [INFO] [stderr] 244 | let mut job_id: u32 = 0; [INFO] [stderr] | ^ this value is reassigned later and never used [INFO] [stderr] 245 | match path.parse::() { [INFO] [stderr] 246 | Ok(id) => job_id = id, [INFO] [stderr] | ----------- `job_id` is overwritten here before the previous value is read [INFO] [stderr] [INFO] [stderr] warning: value assigned to `real_time` is never read [INFO] [stderr] --> src/runner/mod.rs:600:39 [INFO] [stderr] | [INFO] [stderr] 600 | let mut real_time: u128 = 0; [INFO] [stderr] | ^ this value is reassigned later and never used [INFO] [stderr] ... [INFO] [stderr] 618 | real_time = now.elapsed().as_micros(); [INFO] [stderr] | ------------------------------------- `real_time` is overwritten here before the previous value is read [INFO] [stderr] [INFO] [stderr] warning: value assigned to `contest_id` is never read [INFO] [stderr] --> src/handler/jobs.rs:337:31 [INFO] [stderr] | [INFO] [stderr] 337 | let mut contest_id: u32 = 0; [INFO] [stderr] | ^ this value is reassigned later and never used [INFO] [stderr] 338 | match path.parse::() { [INFO] [stderr] 339 | Ok(id) => contest_id = id, [INFO] [stderr] | --------------- `contest_id` is overwritten here before the previous value is read [INFO] [stderr] [INFO] [stderr] warning: value assigned to `contest_id` is never read [INFO] [stderr] --> src/handler/jobs.rs:367:31 [INFO] [stderr] | [INFO] [stderr] 367 | let mut contest_id: u32 = 0; [INFO] [stderr] | ^ this value is reassigned later and never used [INFO] [stderr] 368 | match path.parse::() { [INFO] [stderr] 369 | Ok(id) => contest_id = id, [INFO] [stderr] | --------------- `contest_id` is overwritten here before the previous value is read [INFO] [stderr] [INFO] [stderr] warning: constant `RESULTS` is never used [INFO] [stderr] --> src/config.rs:5:11 [INFO] [stderr] | [INFO] [stderr] 5 | pub const RESULTS: &[&str] = &[ [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: struct `Ids` is never constructed [INFO] [stderr] --> src/config.rs:21:12 [INFO] [stderr] | [INFO] [stderr] 21 | pub struct Ids { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Config` is never constructed [INFO] [stderr] --> src/config.rs:36:14 [INFO] [stderr] | [INFO] [stderr] 36 | pub_struct!( Config { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: struct `Server` is never constructed [INFO] [stderr] --> src/config.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | pub_struct!(Server { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: struct `Problem` is never constructed [INFO] [stderr] --> src/config.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 48 | pub struct Problem { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Misc` is never constructed [INFO] [stderr] --> src/config.rs:57:14 [INFO] [stderr] | [INFO] [stderr] 57 | pub_struct!( Misc { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: struct `Case` is never constructed [INFO] [stderr] --> src/config.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | pub_struct!(Case { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: struct `Language` is never constructed [INFO] [stderr] --> src/config.rs:70:14 [INFO] [stderr] | [INFO] [stderr] 70 | pub_struct!( Language { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `pub_struct` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: enum `ProbType` is never used [INFO] [stderr] --> src/config.rs:77:10 [INFO] [stderr] | [INFO] [stderr] 77 | pub enum ProbType { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_from_file` is never used [INFO] [stderr] --> src/config.rs:85:8 [INFO] [stderr] | [INFO] [stderr] 85 | pub fn parse_from_file(config_path: String) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SerdeContest` is never constructed [INFO] [stderr] --> src/contests/mod.rs:19:12 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct SerdeContest { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SerdeRank` is never constructed [INFO] [stderr] --> src/contests/mod.rs:30:12 [INFO] [stderr] | [INFO] [stderr] 30 | pub struct SerdeRank { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `TieBreakerStatus` is never constructed [INFO] [stderr] --> src/contests/mod.rs:37:12 [INFO] [stderr] | [INFO] [stderr] 37 | pub struct TieBreakerStatus { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `job_exists` is never used [INFO] [stderr] --> src/contests/mod.rs:44:14 [INFO] [stderr] | [INFO] [stderr] 44 | pub async fn job_exists(pool: Data>>, contest_id: u32) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_contest` is never used [INFO] [stderr] --> src/contests/mod.rs:58:14 [INFO] [stderr] | [INFO] [stderr] 58 | pub async fn get_contest( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `contest_exists` is never used [INFO] [stderr] --> src/contests/mod.rs:96:14 [INFO] [stderr] | [INFO] [stderr] 96 | pub async fn contest_exists( [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `update_contest` is never used [INFO] [stderr] --> src/contests/mod.rs:112:14 [INFO] [stderr] | [INFO] [stderr] 112 | pub async fn update_contest( [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_contest` is never used [INFO] [stderr] --> src/contests/mod.rs:134:14 [INFO] [stderr] | [INFO] [stderr] 134 | pub async fn create_contest( [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_contests` is never used [INFO] [stderr] --> src/contests/mod.rs:162:14 [INFO] [stderr] | [INFO] [stderr] 162 | pub async fn get_contests( [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `eq` is never used [INFO] [stderr] --> src/contests/mod.rs:193:8 [INFO] [stderr] | [INFO] [stderr] 193 | pub fn eq(s1: &TieBreakerStatus, s2: &TieBreakerStatus, filter: &RankFilter) -> bool { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_ranklist` is never used [INFO] [stderr] --> src/contests/mod.rs:205:14 [INFO] [stderr] | [INFO] [stderr] 205 | pub async fn get_ranklist( [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `INVALID_ARGUMENT` is never constructed [INFO] [stderr] --> src/error_log.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct INVALID_ARGUMENT { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stderr] --> src/error_log.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 12 | impl INVALID_ARGUMENT { [INFO] [stderr] | --------------------- associated functions in this implementation [INFO] [stderr] 13 | pub fn new(message: &str) -> INVALID_ARGUMENT { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 20 | pub fn msg(message: &str) -> String { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 23 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `INVALID_STATE` is never constructed [INFO] [stderr] --> src/error_log.rs:29:12 [INFO] [stderr] | [INFO] [stderr] 29 | pub struct INVALID_STATE { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stderr] --> src/error_log.rs:36:12 [INFO] [stderr] | [INFO] [stderr] 35 | impl INVALID_STATE { [INFO] [stderr] | ------------------ associated functions in this implementation [INFO] [stderr] 36 | pub fn new(message: &str) -> INVALID_STATE { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 43 | pub fn msg(message: &str) -> String { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 46 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `NOT_FOUND` is never constructed [INFO] [stderr] --> src/error_log.rs:52:12 [INFO] [stderr] | [INFO] [stderr] 52 | pub struct NOT_FOUND { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stderr] --> src/error_log.rs:59:12 [INFO] [stderr] | [INFO] [stderr] 58 | impl NOT_FOUND { [INFO] [stderr] | -------------- associated functions in this implementation [INFO] [stderr] 59 | pub fn new(message: &str) -> NOT_FOUND { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 66 | pub fn msg(message: &str) -> String { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 69 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `RATE_LIMIT` is never constructed [INFO] [stderr] --> src/error_log.rs:75:12 [INFO] [stderr] | [INFO] [stderr] 75 | pub struct RATE_LIMIT { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stderr] --> src/error_log.rs:82:12 [INFO] [stderr] | [INFO] [stderr] 81 | impl RATE_LIMIT { [INFO] [stderr] | --------------- associated functions in this implementation [INFO] [stderr] 82 | pub fn new(message: &str) -> RATE_LIMIT { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 89 | pub fn msg(message: &str) -> String { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 92 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `EXTERNAL` is never constructed [INFO] [stderr] --> src/error_log.rs:98:12 [INFO] [stderr] | [INFO] [stderr] 98 | pub struct EXTERNAL { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stderr] --> src/error_log.rs:105:12 [INFO] [stderr] | [INFO] [stderr] 104 | impl EXTERNAL { [INFO] [stderr] | ------------- associated functions in this implementation [INFO] [stderr] 105 | pub fn new(message: &str) -> EXTERNAL { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 112 | pub fn msg(message: &str) -> String { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 115 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `INTERNAL` is never constructed [INFO] [stderr] --> src/error_log.rs:121:12 [INFO] [stderr] | [INFO] [stderr] 121 | pub struct INTERNAL { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated functions `new`, `msg`, and `webmsg` are never used [INFO] [stderr] --> src/error_log.rs:128:12 [INFO] [stderr] | [INFO] [stderr] 127 | impl INTERNAL { [INFO] [stderr] | ------------- associated functions in this implementation [INFO] [stderr] 128 | pub fn new(message: &str) -> INTERNAL { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 135 | pub fn msg(message: &str) -> String { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 138 | pub fn webmsg(message: &str) -> HttpResponse { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `route` is never used [INFO] [stderr] --> src/handler/mod.rs:17:8 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn route(config: &mut web::ServiceConfig) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `default_route` is never used [INFO] [stderr] --> src/handler/mod.rs:30:14 [INFO] [stderr] | [INFO] [stderr] 30 | pub async fn default_route() -> impl Responder { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `PostJob` is never constructed [INFO] [stderr] --> src/handler/jobs.rs:19:12 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct PostJob { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `PostUser` is never constructed [INFO] [stderr] --> src/handler/jobs.rs:28:12 [INFO] [stderr] | [INFO] [stderr] 28 | pub struct PostUser { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `PostContest` is never constructed [INFO] [stderr] --> src/handler/jobs.rs:34:12 [INFO] [stderr] | [INFO] [stderr] 34 | pub struct PostContest { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `JobsFilter` is never constructed [INFO] [stderr] --> src/handler/jobs.rs:45:12 [INFO] [stderr] | [INFO] [stderr] 45 | pub struct JobsFilter { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `RankFilter` is never constructed [INFO] [stderr] --> src/handler/jobs.rs:76:12 [INFO] [stderr] | [INFO] [stderr] 76 | pub struct RankFilter { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SerdeRankFilter` is never constructed [INFO] [stderr] --> src/handler/jobs.rs:82:12 [INFO] [stderr] | [INFO] [stderr] 82 | pub struct SerdeRankFilter { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SerdeJob` is never constructed [INFO] [stderr] --> src/runner/mod.rs:25:12 [INFO] [stderr] | [INFO] [stderr] 25 | pub struct SerdeJob { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get_post` is never used [INFO] [stderr] --> src/runner/mod.rs:37:12 [INFO] [stderr] | [INFO] [stderr] 36 | impl SerdeJob { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] 37 | pub fn get_post(&self) -> PostJob { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SerdeSubmission` is never constructed [INFO] [stderr] --> src/runner/mod.rs:49:12 [INFO] [stderr] | [INFO] [stderr] 49 | pub struct SerdeSubmission { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SerdeCase` is never constructed [INFO] [stderr] --> src/runner/mod.rs:58:8 [INFO] [stderr] | [INFO] [stderr] 58 | struct SerdeCase { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Job` is never constructed [INFO] [stderr] --> src/runner/mod.rs:67:8 [INFO] [stderr] | [INFO] [stderr] 67 | struct Job { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/runner/mod.rs:79:8 [INFO] [stderr] | [INFO] [stderr] 78 | impl Job { [INFO] [stderr] | -------- associated function in this implementation [INFO] [stderr] 79 | fn new(id: u32, sub_id: u32) -> Job { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function `job_exists` is never used [INFO] [stderr] --> src/runner/mod.rs:94:14 [INFO] [stderr] | [INFO] [stderr] 94 | pub async fn job_exists(pool: Data>>, job_id: u32) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_submission` is never used [INFO] [stderr] --> src/runner/mod.rs:105:14 [INFO] [stderr] | [INFO] [stderr] 105 | pub async fn get_submission( [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_a_job` is never used [INFO] [stderr] --> src/runner/mod.rs:141:14 [INFO] [stderr] | [INFO] [stderr] 141 | pub async fn get_a_job( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_job` is never used [INFO] [stderr] --> src/runner/mod.rs:232:14 [INFO] [stderr] | [INFO] [stderr] 232 | pub async fn get_job( [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_jobs` is never used [INFO] [stderr] --> src/runner/mod.rs:242:14 [INFO] [stderr] | [INFO] [stderr] 242 | pub async fn get_jobs( [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `reset_job` is never used [INFO] [stderr] --> src/runner/mod.rs:311:14 [INFO] [stderr] | [INFO] [stderr] 311 | pub async fn reset_job( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_task` is never used [INFO] [stderr] --> src/runner/mod.rs:395:10 [INFO] [stderr] | [INFO] [stderr] 395 | async fn create_task( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `run` is never used [INFO] [stderr] --> src/runner/mod.rs:434:14 [INFO] [stderr] | [INFO] [stderr] 434 | pub async fn run( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function `start` is never used [INFO] [stderr] --> src/runner/mod.rs:747:14 [INFO] [stderr] | [INFO] [stderr] 747 | pub async fn start( [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `diff_strict` is never used [INFO] [stderr] --> src/runner/diff.rs:7:8 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn diff_strict(file1: &str, file2: &str) -> usize { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `diff_standard` is never used [INFO] [stderr] --> src/runner/diff.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn diff_standard(file1: &str, file2: &str) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `diff_spj` is never used [INFO] [stderr] --> src/runner/diff.rs:42:14 [INFO] [stderr] | [INFO] [stderr] 42 | pub async fn diff_spj(spj_info: &Vec) -> Result<(usize, String), ()> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SerdeUser` is never constructed [INFO] [stderr] --> src/users/mod.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub struct SerdeUser { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `user_name_exists` is never used [INFO] [stderr] --> src/users/mod.rs:19:14 [INFO] [stderr] | [INFO] [stderr] 19 | pub async fn user_name_exists( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `user_exists` is never used [INFO] [stderr] --> src/users/mod.rs:34:14 [INFO] [stderr] | [INFO] [stderr] 34 | pub async fn user_exists(pool: Data>>, user_id: u32) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_user_id` is never used [INFO] [stderr] --> src/users/mod.rs:47:14 [INFO] [stderr] | [INFO] [stderr] 47 | pub async fn get_user_id( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_user` is never used [INFO] [stderr] --> src/users/mod.rs:77:14 [INFO] [stderr] | [INFO] [stderr] 77 | pub async fn get_user( [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `update_user` is never used [INFO] [stderr] --> src/users/mod.rs:110:14 [INFO] [stderr] | [INFO] [stderr] 110 | pub async fn update_user( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_user` is never used [INFO] [stderr] --> src/users/mod.rs:145:14 [INFO] [stderr] | [INFO] [stderr] 145 | pub async fn create_user( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_users` is never used [INFO] [stderr] --> src/users/mod.rs:178:14 [INFO] [stderr] | [INFO] [stderr] 178 | pub async fn get_users( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `oj` (lib) generated 94 warnings (run `cargo fix --lib -p oj` to apply 12 suggestions) [INFO] [stderr] warning: `oj` (lib test) generated 94 warnings (94 duplicates) [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/main.rs:1:22 [INFO] [stderr] | [INFO] [stderr] 1 | use actix_web::web::{self, route, Data}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/contests/mod.rs:12:21 [INFO] [stderr] | [INFO] [stderr] 12 | use crate::config::{self, Config, Ids}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `job_exists` is never used [INFO] [stderr] --> src/contests/mod.rs:44:14 [INFO] [stderr] | [INFO] [stderr] 44 | pub async fn job_exists(pool: Data>>, contest_id: u32) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `oj` (bin "oj" test) generated 31 warnings (28 duplicates) (run `cargo fix --bin "oj" -p oj --tests` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: openssl v0.10.41 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4` [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oj-90d273abfee9027c) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/oj-0b8946e231d8e234) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stderr] Doc-tests oj [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] warning: variant `standard` should have an upper camel case name [INFO] [stderr] --> src/config.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | standard, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Standard` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variant `strict` should have an upper camel case name [INFO] [stderr] --> src/config.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | strict, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Strict` [INFO] [stderr] [INFO] [stderr] warning: variant `spj` should have an upper camel case name [INFO] [stderr] --> src/config.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | spj, [INFO] [stderr] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Spj` [INFO] [stderr] [INFO] [stderr] warning: variant `dynamic_ranking` should have an upper camel case name [INFO] [stderr] --> src/config.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | dynamic_ranking, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DynamicRanking` [INFO] [stderr] [INFO] [stderr] warning: type `INVALID_ARGUMENT` should have an upper camel case name [INFO] [stderr] --> src/error_log.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct INVALID_ARGUMENT { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InvalidArgument` [INFO] [stderr] [INFO] [stderr] warning: type `INVALID_STATE` should have an upper camel case name [INFO] [stderr] --> src/error_log.rs:29:12 [INFO] [stderr] | [INFO] [stderr] 29 | pub struct INVALID_STATE { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InvalidState` [INFO] [stderr] [INFO] [stderr] warning: type `NOT_FOUND` should have an upper camel case name [INFO] [stderr] --> src/error_log.rs:52:12 [INFO] [stderr] | [INFO] [stderr] 52 | pub struct NOT_FOUND { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `NotFound` [INFO] [stderr] [INFO] [stderr] warning: type `RATE_LIMIT` should have an upper camel case name [INFO] [stderr] --> src/error_log.rs:75:12 [INFO] [stderr] | [INFO] [stderr] 75 | pub struct RATE_LIMIT { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `RateLimit` [INFO] [stderr] [INFO] [stderr] warning: 8 warnings emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ba856f4efccce52968634a953c7884912d7322ea617f8b3ee50f9fd43a5df463", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ba856f4efccce52968634a953c7884912d7322ea617f8b3ee50f9fd43a5df463", kill_on_drop: false }` [INFO] [stdout] ba856f4efccce52968634a953c7884912d7322ea617f8b3ee50f9fd43a5df463