[INFO] cloning repository https://github.com/shadowflower64/scoretracker-core
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shadowflower64/scoretracker-core" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshadowflower64%2Fscoretracker-core", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshadowflower64%2Fscoretracker-core'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6c0b07679c95f0016442f61329a018f751c404d8
[INFO] checking shadowflower64/scoretracker-core/6c0b07679c95f0016442f61329a018f751c404d8 against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshadowflower64%2Fscoretracker-core" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/shadowflower64/scoretracker-core
[INFO] finished tweaking git repo https://github.com/shadowflower64/scoretracker-core
[INFO] tweaked toml for git repo https://github.com/shadowflower64/scoretracker-core written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/shadowflower64/scoretracker-core on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/shadowflower64/scoretracker-core 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libyaml-rs v0.3.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.128
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.128
[INFO] [stderr]   Downloaded yaml_serde v0.10.7
[INFO] [stderr]   Downloaded cookie v0.16.2
[INFO] [stderr]   Downloaded derive_arbitrary v1.4.2
[INFO] [stderr]   Downloaded bytestring v1.5.1
[INFO] [stderr]   Downloaded local-waker v0.1.4
[INFO] [stderr]   Downloaded actix-macros v0.2.4
[INFO] [stderr]   Downloaded local-channel v0.1.5
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.128
[INFO] [stderr]   Downloaded impl-more v0.3.5
[INFO] [stderr]   Downloaded sha1 v0.11.0
[INFO] [stderr]   Downloaded windows-interface v0.56.0
[INFO] [stderr]   Downloaded actix-utils v3.0.1
[INFO] [stderr]   Downloaded actix-codec v0.5.2
[INFO] [stderr]   Downloaded windows-implement v0.56.0
[INFO] [stderr]   Downloaded actix-rt v2.11.0
[INFO] [stderr]   Downloaded actix-web-codegen v4.3.0
[INFO] [stderr]   Downloaded actix-service v2.0.3
[INFO] [stderr]   Downloaded actix-router v0.5.4
[INFO] [stderr]   Downloaded actix-server v2.7.0
[INFO] [stderr]   Downloaded windows-core v0.56.0
[INFO] [stderr]   Downloaded postgres-derive v0.4.9
[INFO] [stderr]   Downloaded utoipa-swagger-ui v9.0.2
[INFO] [stderr]   Downloaded language-tags v0.3.2
[INFO] [stderr]   Downloaded tungstenite v0.30.0
[INFO] [stderr]   Downloaded trash v5.2.6
[INFO] [stderr]   Downloaded tinyvec v1.13.2
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.128
[INFO] [stderr]   Downloaded js-sys v0.3.105
[INFO] [stderr]   Downloaded zip v3.0.0
[INFO] [stderr]   Downloaded linkme-impl v0.3.37
[INFO] [stderr]   Downloaded sha256 v1.6.0
[INFO] [stderr]   Downloaded md5 v0.8.1
[INFO] [stderr]   Downloaded iso8601-duration v0.2.0
[INFO] [stderr]   Downloaded serde_derive_internals v0.30.0
[INFO] [stderr]   Downloaded actix-http v3.13.3
[INFO] [stderr]   Downloaded serde-jsonlines v0.7.0
[INFO] [stderr]   Downloaded schemars_derive v1.2.2
[INFO] [stderr]   Downloaded relative-path v2.0.1
[INFO] [stderr]   Downloaded kqueue v1.2.0
[INFO] [stderr]   Downloaded linkme v0.3.37
[INFO] [stderr]   Downloaded ctrlc v3.5.2
[INFO] [stderr]   Downloaded constcat v0.6.1
[INFO] [stderr]   Downloaded codepage v0.1.2
[INFO] [stderr]   Downloaded debug_unsafe v0.1.4
[INFO] [stderr]   Downloaded v_htmlescape v0.17.0
[INFO] [stderr]   Downloaded http-range v0.1.5
[INFO] [stderr]   Downloaded function_name v0.3.0
[INFO] [stderr]   Downloaded function_name-proc-macro v0.3.0
[INFO] [stderr]   Downloaded atoi_simd v0.18.1
[INFO] [stderr]   Downloaded fast-float2 v0.2.3
[INFO] [stderr]   Downloaded actix-ws v0.4.0
[INFO] [stderr]   Downloaded actix-files v0.7.0
[INFO] [stderr]   Downloaded v_escape-base v0.1.0
[INFO] [stderr]   Downloaded zlib-rs v0.6.6
[INFO] [stderr]   Downloaded actix-web v4.15.0
[INFO] [stderr]   Downloaded calamine v0.36.1
[INFO] [stderr]   Downloaded web-sys v0.3.105
[INFO] [stderr]   Downloaded utoipa-swagger-ui-vendored v0.1.2
[INFO] [stderr]   Downloaded windows v0.56.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8a3fb62face1b334e32e985a8e030e88e7a7d4412cb464db709649fc8a287994
[INFO] running `Command { std: "docker" "start" "8a3fb62face1b334e32e985a8e030e88e7a7d4412cb464db709649fc8a287994", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8a3fb62face1b334e32e985a8e030e88e7a7d4412cb464db709649fc8a287994", 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" "8a3fb62face1b334e32e985a8e030e88e7a7d4412cb464db709649fc8a287994" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8a3fb62face1b334e32e985a8e030e88e7a7d4412cb464db709649fc8a287994", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8a3fb62face1b334e32e985a8e030e88e7a7d4412cb464db709649fc8a287994" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]     Checking futures-core v0.3.33
[INFO] [stderr]     Checking memchr v2.8.3
[INFO] [stderr]     Checking log v0.4.33
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]     Checking bitflags v2.13.1
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]     Checking cmov v0.5.4
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]     Checking const-oid v0.10.2
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]     Checking cpufeatures v0.3.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]     Checking ctutils v0.4.2
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]     Checking futures-sink v0.3.33
[INFO] [stderr]     Checking rand_core v0.10.1
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]     Checking parking v2.2.1
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]     Checking futures-task v0.3.33
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]     Checking litemap v0.8.2
[INFO] [stderr]     Checking writeable v0.6.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking chacha20 v0.10.1
[INFO] [stderr]     Checking futures-io v0.3.33
[INFO] [stderr]     Checking simd-adler32 v0.3.10
[INFO] [stderr]     Checking fastrand v2.5.0
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking event-listener v5.4.2
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]     Checking zlib-rs v0.6.6
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking hybrid-array v0.4.14
[INFO] [stderr]     Checking local-waker v0.1.4
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]     Checking alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking alloc-stdlib v0.2.4
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling bytes v1.12.1
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking block-buffer v0.12.1
[INFO] [stderr]     Checking crypto-common v0.2.2
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling bytestring v1.5.1
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking mio v1.2.2
[INFO] [stderr]     Checking socket2 v0.6.5
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]    Compiling cc v1.4.0
[INFO] [stderr]     Checking rand v0.10.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking sha1 v0.11.0
[INFO] [stderr]     Checking sha2 v0.11.0
[INFO] [stderr]    Compiling time-macros v0.2.32
[INFO] [stderr]     Checking brotli-decompressor v5.0.3
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]    Compiling async-io v2.6.0
[INFO] [stderr]     Checking actix-service v2.0.3
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]    Compiling regex-lite v0.1.9
[INFO] [stderr]     Checking async-task v4.7.1
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking siphasher v1.0.3
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking tinyvec v1.13.2
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking brotli v8.0.4
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking local-channel v0.1.5
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking language-tags v0.3.2
[INFO] [stderr]    Compiling bumpalo v3.20.3
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling actix-router v0.5.4
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]     Checking piper v0.2.5
[INFO] [stderr]     Checking time v0.3.55
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]    Compiling typeid v1.0.3
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking unicode-properties v0.1.4
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling cfg_aliases v0.2.2
[INFO] [stderr]    Compiling inotify-sys v0.1.8
[INFO] [stderr]     Checking unicode-bidi v0.3.18
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]     Checking impl-more v0.3.5
[INFO] [stderr]    Compiling rust-embed-utils v8.12.0
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking stringprep v0.1.5
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking md-5 v0.11.0
[INFO] [stderr]     Checking hmac v0.13.0
[INFO] [stderr]     Checking async-lock v3.4.2
[INFO] [stderr]     Checking fallible-iterator v0.2.0
[INFO] [stderr]    Compiling erased-serde v0.4.10
[INFO] [stderr]    Compiling linkme-impl v0.3.37
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling utoipa-swagger-ui-vendored v0.1.2
[INFO] [stderr]    Compiling ref-cast v1.0.26
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]     Checking winnow v1.0.4
[INFO] [stderr]     Checking postgres-protocol v0.6.12
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling ref-cast-impl v1.0.26
[INFO] [stderr]    Compiling async-trait v0.1.91
[INFO] [stderr]    Compiling serde_derive_internals v0.30.0
[INFO] [stderr]     Checking phf_shared v0.13.1
[INFO] [stderr]     Checking phf_shared v0.12.1
[INFO] [stderr]     Checking toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]     Checking uuid v1.26.0
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling typetag v0.2.23
[INFO] [stderr]    Compiling linkme v0.3.37
[INFO] [stderr]     Checking typed-path v0.12.3
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking debug_unsafe v0.1.4
[INFO] [stderr]     Checking v_escape-base v0.1.0
[INFO] [stderr]    Compiling chrono-tz v0.10.4
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking v_htmlescape v0.17.0
[INFO] [stderr]     Checking async-signal v0.2.14
[INFO] [stderr]     Checking async-net v2.0.0
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]     Checking atoi_simd v0.18.1
[INFO] [stderr]     Checking async-process v2.5.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking phf v0.12.1
[INFO] [stderr]     Checking phf v0.13.1
[INFO] [stderr]    Compiling schemars_derive v1.2.2
[INFO] [stderr]     Checking inotify v0.11.4
[INFO] [stderr]     Checking async-fs v2.2.0
[INFO] [stderr]    Compiling typetag-impl v0.2.23
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling futures-macro v0.3.33
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]    Compiling utoipa-gen v5.5.0
[INFO] [stderr]    Compiling postgres-derive v0.4.9
[INFO] [stderr]    Compiling rust-embed-impl v8.12.0
[INFO] [stderr]     Checking futures-util v0.3.33
[INFO] [stderr]     Checking rust-embed v8.12.0
[INFO] [stderr]     Checking zip v8.6.0
[INFO] [stderr]     Checking async-executor v1.14.0
[INFO] [stderr]     Checking whoami v2.1.3
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking postgres-types v0.2.14
[INFO] [stderr]     Checking rmp v0.8.15
[INFO] [stderr]     Checking quick-xml v0.41.0
[INFO] [stderr]     Checking codepage v0.1.2
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]    Compiling zip v3.0.0
[INFO] [stderr]     Checking futures-channel v0.3.33
[INFO] [stderr]     Checking notify-types v2.1.0
[INFO] [stderr]     Checking http v1.5.0
[INFO] [stderr]     Checking http-range v0.1.5
[INFO] [stderr]     Checking inventory v0.3.24
[INFO] [stderr]     Checking data-encoding v2.11.1
[INFO] [stderr]    Compiling function_name-proc-macro v0.3.0
[INFO] [stderr]     Checking libyaml-rs v0.3.0
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking fast-float2 v0.2.3
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking dyn-clone v1.0.20
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]     Checking calamine v0.36.1
[INFO] [stderr]     Checking trash v5.2.6
[INFO] [stderr]     Checking schemars v1.2.2
[INFO] [stderr]     Checking function_name v0.3.0
[INFO] [stderr]     Checking serde-jsonlines v0.7.0
[INFO] [stderr]     Checking relative-path v2.0.1
[INFO] [stderr]     Checking rmp-serde v1.3.1
[INFO] [stderr]     Checking tungstenite v0.30.0
[INFO] [stderr]     Checking notify v8.2.0
[INFO] [stderr]     Checking yaml_serde v0.10.7
[INFO] [stderr]     Checking iso8601-duration v0.2.0
[INFO] [stderr]     Checking smol v2.0.2
[INFO] [stderr]     Checking ctrlc v3.5.2
[INFO] [stderr]     Checking toml v1.1.4+spec-1.1.0
[INFO] [stderr]     Checking toml_edit v0.25.13+spec-1.1.0
[INFO] [stderr]     Checking directories v6.0.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.16
[INFO] [stderr]     Checking fs_extra v1.3.0
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking md5 v0.8.1
[INFO] [stderr]     Checking constcat v0.6.1
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking actix-rt v2.11.0
[INFO] [stderr]     Checking sha256 v1.6.0
[INFO] [stderr]     Checking tokio-util v0.7.19
[INFO] [stderr]     Checking actix-server v2.7.0
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking tokio-postgres v0.7.18
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking utoipa v5.5.0
[INFO] [stderr]    Compiling utoipa-swagger-ui v9.0.2
[INFO] [stderr]     Checking actix-http v3.13.3
[INFO] [stderr]     Checking actix-web v4.15.0
[INFO] [stderr]     Checking actix-files v0.7.0
[INFO] [stderr]     Checking actix-ws v0.4.0
[INFO] [stderr]     Checking scoretracker v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::data::scoreboard::r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/adofai.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::data::scoreboard::r#match::Match;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::scoreboard::performance::Performance`
[INFO] [stdout]  --> src/lib/data/games/adofai.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::performance::Performance;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/arcaea.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/arcaea.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/beatstar.rs:3:40
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/beatstar.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::scoreboard::r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/bh.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::r#match::Match;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::scoreboard::performance::Performance`
[INFO] [stdout]  --> src/lib/data/games/bh.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::data::scoreboard::performance::Performance;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/ch.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/cytus.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/cytus.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/cytus2.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/cytus2.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/deemo2.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/deemo2.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/fnfest.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/gh3.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/gh3.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/gh5.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/gharcade.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/gharcade.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/ghsh.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/ghvh.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/ghwor.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/ghwt.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/in_falsus.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/in_falsus.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/phigros.rs:3:40
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/phigros.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/pjd_megamix_plus.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/pjd_megamix_plus.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/rb3.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/rb4.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/rizline.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/rizline.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/vs.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/vs.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::scoreboard::player::Player`
[INFO] [stdout]  --> src/lib/spreadsheet/context.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::data::scoreboard::player::Player;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::scoreboard::r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/adofai.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::data::scoreboard::r#match::Match;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::scoreboard::performance::Performance`
[INFO] [stdout]  --> src/lib/data/games/adofai.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::performance::Performance;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/arcaea.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/arcaea.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/beatstar.rs:3:40
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/beatstar.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::scoreboard::r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/bh.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::r#match::Match;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::scoreboard::performance::Performance`
[INFO] [stdout]  --> src/lib/data/games/bh.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::data::scoreboard::performance::Performance;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/ch.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/cytus.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/cytus.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/cytus2.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/cytus2.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/deemo2.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/deemo2.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/fnfest.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/gh3.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/gh3.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/gh5.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/gharcade.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/gharcade.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/ghsh.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/ghvh.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/ghwor.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/ghwt.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/in_falsus.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/in_falsus.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/phigros.rs:3:40
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/phigros.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/pjd_megamix_plus.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/pjd_megamix_plus.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/rb3.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `performance::Performance` and `r#match::Match`
[INFO] [stdout]  --> src/lib/data/games/rb4.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::data::scoreboard::{r#match::Match, performance::Performance};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/rizline.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/rizline.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/lib/data/games/vs.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::data::scoreboard::r#match::{Match, MatchDetails};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Performance`
[INFO] [stdout]  --> src/lib/data/games/vs.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data::scoreboard::performance::{Performance, PerformanceDetails};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::scoreboard::player::Player`
[INFO] [stdout]  --> src/lib/spreadsheet/context.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::data::scoreboard::player::Player;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]   --> src/lib/data/library/cache.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::util::file_ex::{self, FileEx};
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]    --> src/lib/data/library/cache.rs:198:23
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn _inner_read<F: FileEx + ?Sized>(file_ex: &F) -> file_ex::Result<Option<Self>> {
[INFO] [stdout]     |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]    --> src/lib/data/library/cache.rs:216:24
[INFO] [stdout]     |
[INFO] [stdout] 216 |     fn _inner_write<F: FileEx + ?Sized>(&self, file_ex: &F) -> file_ex::Result<()> {
[INFO] [stdout]     |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]  --> src/lib/data/library/index.rs:6:35
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::util::file_ex::{Error, FileEx};
[INFO] [stdout]   |                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]  --> src/lib/hive/queue.rs:2:34
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::util::file_ex::{self, FileEx};
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]    --> src/lib/hive/queue.rs:126:23
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn _inner_read<F: FileEx + ?Sized>(file_ex: &F) -> file_ex::Result<Option<Self>> {
[INFO] [stdout]     |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]    --> src/lib/hive/queue.rs:129:24
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn _inner_write<F: FileEx + ?Sized>(&self, file_ex: &F) -> file_ex::Result<()> {
[INFO] [stdout]     |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:139:6
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl FileEx for Path {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]  --> src/lib/util/filelocked.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::util::file_ex::{self, FileEx};
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]   --> src/lib/util/filelocked.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn _inner_read<F: FileEx + ?Sized>(file_ex: &F) -> file_ex::Result<Option<Self>>;
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]   --> src/lib/util/filelocked.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn _inner_write<F: FileEx + ?Sized>(&self, file_ex: &F) -> file_ex::Result<()>;
[INFO] [stdout]    |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]   --> src/lib/util/filelocked.rs:41:23
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn _inner_read<F: FileEx + ?Sized>(file_ex: &F) -> file_ex::Result<Option<Self>> {
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]   --> src/lib/util/filelocked.rs:45:24
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn _inner_write<F: FileEx + ?Sized>(&self, file_ex: &F) -> file_ex::Result<()> {
[INFO] [stdout]    |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]  --> src/lib/util/lockfile.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::util::file_ex::{self, FileEx};
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]    --> src/lib/util/lockfile.rs:355:6
[INFO] [stdout]     |
[INFO] [stdout] 355 | impl FileEx for LockfileHandle {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]   --> src/lib/data/library/cache.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::util::file_ex::{self, FileEx};
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]    --> src/lib/data/library/cache.rs:198:23
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn _inner_read<F: FileEx + ?Sized>(file_ex: &F) -> file_ex::Result<Option<Self>> {
[INFO] [stdout]     |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]    --> src/lib/data/library/cache.rs:216:24
[INFO] [stdout]     |
[INFO] [stdout] 216 |     fn _inner_write<F: FileEx + ?Sized>(&self, file_ex: &F) -> file_ex::Result<()> {
[INFO] [stdout]     |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]  --> src/lib/data/library/index.rs:6:35
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::util::file_ex::{Error, FileEx};
[INFO] [stdout]   |                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]  --> src/lib/hive/queue.rs:2:34
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::util::file_ex::{self, FileEx};
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]    --> src/lib/hive/queue.rs:126:23
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn _inner_read<F: FileEx + ?Sized>(file_ex: &F) -> file_ex::Result<Option<Self>> {
[INFO] [stdout]     |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]    --> src/lib/hive/queue.rs:129:24
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn _inner_write<F: FileEx + ?Sized>(&self, file_ex: &F) -> file_ex::Result<()> {
[INFO] [stdout]     |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:139:6
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl FileEx for Path {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]  --> src/lib/util/filelocked.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::util::file_ex::{self, FileEx};
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]   --> src/lib/util/filelocked.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn _inner_read<F: FileEx + ?Sized>(file_ex: &F) -> file_ex::Result<Option<Self>>;
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]   --> src/lib/util/filelocked.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn _inner_write<F: FileEx + ?Sized>(&self, file_ex: &F) -> file_ex::Result<()>;
[INFO] [stdout]    |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]   --> src/lib/util/filelocked.rs:41:23
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn _inner_read<F: FileEx + ?Sized>(file_ex: &F) -> file_ex::Result<Option<Self>> {
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]   --> src/lib/util/filelocked.rs:45:24
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn _inner_write<F: FileEx + ?Sized>(&self, file_ex: &F) -> file_ex::Result<()> {
[INFO] [stdout]    |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]  --> src/lib/util/lockfile.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::util::file_ex::{self, FileEx};
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `util::file_ex::FileEx`
[INFO] [stdout]    --> src/lib/util/lockfile.rs:355:6
[INFO] [stdout]     |
[INFO] [stdout] 355 | impl FileEx for LockfileHandle {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib/data/library/mod.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let mut index = LibraryIndex::default();
[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/lib/data/library/mod.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let mut db = todo!();
[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/lib/data/library/mod.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let mut index = LibraryIndex::default();
[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/lib/data/library/mod.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let mut db = todo!();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::read_from_json`
[INFO] [stdout]    --> src/lib/data/library/cache.rs:202:33
[INFO] [stdout]     |
[INFO] [stdout] 202 |         let inner_opt = file_ex.read_from_json()?;
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]    --> src/lib/data/library/cache.rs:203:39
[INFO] [stdout]     |
[INFO] [stdout] 203 |         let cache_file_path = file_ex.file_path();
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::write_as_json_pretty`
[INFO] [stdout]    --> src/lib/data/library/cache.rs:218:21
[INFO] [stdout]     |
[INFO] [stdout] 218 |             file_ex.write_as_json_pretty(self)?;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::write_as_json`
[INFO] [stdout]    --> src/lib/data/library/cache.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 |             file_ex.write_as_json(self)?;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::write_as_json_pretty`
[INFO] [stdout]   --> src/lib/data/library/index.rs:60:14
[INFO] [stdout]    |
[INFO] [stdout] 60 |         path.write_as_json_pretty(self)?;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::read_from_json`
[INFO] [stdout]    --> src/lib/data/library/cache.rs:202:33
[INFO] [stdout]     |
[INFO] [stdout] 202 |         let inner_opt = file_ex.read_from_json()?;
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]    --> src/lib/data/library/cache.rs:203:39
[INFO] [stdout]     |
[INFO] [stdout] 203 |         let cache_file_path = file_ex.file_path();
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::write_as_json_pretty`
[INFO] [stdout]    --> src/lib/data/library/cache.rs:218:21
[INFO] [stdout]     |
[INFO] [stdout] 218 |             file_ex.write_as_json_pretty(self)?;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::write_as_json`
[INFO] [stdout]    --> src/lib/data/library/cache.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 |             file_ex.write_as_json(self)?;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/lib/data/library/mod.rs:489:5
[INFO] [stdout]     |
[INFO] [stdout] 465 |     let mut db = todo!();
[INFO] [stdout]     |                  ------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 489 |     Ok(())
[INFO] [stdout]     |     ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/lib/data/library/mod.rs:575:5
[INFO] [stdout]     |
[INFO] [stdout] 574 |     let db = todo!();
[INFO] [stdout]     |              ------- any code following this expression is unreachable
[INFO] [stdout] 575 |     sync_library_index_with_db_essence(library_dir, &library_index, db, library_domain, worker_info)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::write_as_json_pretty`
[INFO] [stdout]   --> src/lib/data/library/index.rs:60:14
[INFO] [stdout]    |
[INFO] [stdout] 60 |         path.write_as_json_pretty(self)?;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/lib/data/library/mod.rs:489:5
[INFO] [stdout]     |
[INFO] [stdout] 465 |     let mut db = todo!();
[INFO] [stdout]     |                  ------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 489 |     Ok(())
[INFO] [stdout]     |     ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/lib/data/library/mod.rs:575:5
[INFO] [stdout]     |
[INFO] [stdout] 574 |     let db = todo!();
[INFO] [stdout]     |              ------- any code following this expression is unreachable
[INFO] [stdout] 575 |     sync_library_index_with_db_essence(library_dir, &library_index, db, library_domain, worker_info)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::read_from_jsonlines`
[INFO] [stdout]    --> src/lib/hive/queue.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |         file_ex.read_from_jsonlines().map(|x| x.map(|y| Self { tasks: y }))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::write_as_jsonlines`
[INFO] [stdout]    --> src/lib/hive/queue.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |         file_ex.write_as_jsonlines(&self.tasks)
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::read_from_jsonlines`
[INFO] [stdout]    --> src/lib/hive/queue.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |         file_ex.read_from_jsonlines().map(|x| x.map(|y| Self { tasks: y }))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::write_as_jsonlines`
[INFO] [stdout]    --> src/lib/hive/queue.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |         file_ex.write_as_jsonlines(&self.tasks)
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]   --> src/lib/util/file_ex.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |         match fs::read_to_string(self.file_path()) {
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::read_to_string`
[INFO] [stdout]   --> src/lib/util/file_ex.rs:60:28
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let content = self.read_to_string().map_err(|e| Error::CannotReadFile {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]   --> src/lib/util/file_ex.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |             path: self.file_path().to_path_buf(),
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]   --> src/lib/util/file_ex.rs:66:28
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 path: self.file_path().to_path_buf(),
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]   --> src/lib/util/file_ex.rs:77:55
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let result = serde_jsonlines::json_lines(self.file_path());
[INFO] [stdout]    |                                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]   --> src/lib/util/file_ex.rs:84:36
[INFO] [stdout]    |
[INFO] [stdout] 84 |                         path: self.file_path().to_path_buf(),
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]   --> src/lib/util/file_ex.rs:91:32
[INFO] [stdout]    |
[INFO] [stdout] 91 |                     path: self.file_path().to_path_buf(),
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:100:24
[INFO] [stdout]     |
[INFO] [stdout] 100 |         fs::write(self.file_path(), contents)
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:106:24
[INFO] [stdout]     |
[INFO] [stdout] 106 |             path: self.file_path().to_path_buf(),
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::write`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:109:14
[INFO] [stdout]     |
[INFO] [stdout] 109 |         self.write(&json).map_err(|e| Error::CannotWriteFile {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:110:24
[INFO] [stdout]     |
[INFO] [stdout] 110 |             path: self.file_path().to_path_buf(),
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:119:24
[INFO] [stdout]     |
[INFO] [stdout] 119 |             path: self.file_path().to_path_buf(),
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::write`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:122:14
[INFO] [stdout]     |
[INFO] [stdout] 122 |         self.write(&json).map_err(|e| Error::CannotWriteFile {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:123:24
[INFO] [stdout]     |
[INFO] [stdout] 123 |             path: self.file_path().to_path_buf(),
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:131:48
[INFO] [stdout]     |
[INFO] [stdout] 131 |         serde_jsonlines::write_json_lines(self.file_path(), serializable).map_err(|e| Error::CannotSerializeJSONLines {
[INFO] [stdout]     |                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:132:24
[INFO] [stdout]     |
[INFO] [stdout] 132 |             path: self.file_path().to_path_buf(),
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::read_from_json`
[INFO] [stdout]   --> src/lib/util/filelocked.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |         file_ex.read_from_json()
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::write_as_json_pretty`
[INFO] [stdout]   --> src/lib/util/filelocked.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 |         file_ex.write_as_json_pretty(self)
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]   --> src/lib/util/file_ex.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |         match fs::read_to_string(self.file_path()) {
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::read_to_string`
[INFO] [stdout]   --> src/lib/util/file_ex.rs:60:28
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let content = self.read_to_string().map_err(|e| Error::CannotReadFile {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]   --> src/lib/util/file_ex.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |             path: self.file_path().to_path_buf(),
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]   --> src/lib/util/file_ex.rs:66:28
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 path: self.file_path().to_path_buf(),
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]   --> src/lib/util/file_ex.rs:77:55
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let result = serde_jsonlines::json_lines(self.file_path());
[INFO] [stdout]    |                                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]   --> src/lib/util/file_ex.rs:84:36
[INFO] [stdout]    |
[INFO] [stdout] 84 |                         path: self.file_path().to_path_buf(),
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]   --> src/lib/util/file_ex.rs:91:32
[INFO] [stdout]    |
[INFO] [stdout] 91 |                     path: self.file_path().to_path_buf(),
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:100:24
[INFO] [stdout]     |
[INFO] [stdout] 100 |         fs::write(self.file_path(), contents)
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:106:24
[INFO] [stdout]     |
[INFO] [stdout] 106 |             path: self.file_path().to_path_buf(),
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::write`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:109:14
[INFO] [stdout]     |
[INFO] [stdout] 109 |         self.write(&json).map_err(|e| Error::CannotWriteFile {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:110:24
[INFO] [stdout]     |
[INFO] [stdout] 110 |             path: self.file_path().to_path_buf(),
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:119:24
[INFO] [stdout]     |
[INFO] [stdout] 119 |             path: self.file_path().to_path_buf(),
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::write`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:122:14
[INFO] [stdout]     |
[INFO] [stdout] 122 |         self.write(&json).map_err(|e| Error::CannotWriteFile {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:123:24
[INFO] [stdout]     |
[INFO] [stdout] 123 |             path: self.file_path().to_path_buf(),
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:131:48
[INFO] [stdout]     |
[INFO] [stdout] 131 |         serde_jsonlines::write_json_lines(self.file_path(), serializable).map_err(|e| Error::CannotSerializeJSONLines {
[INFO] [stdout]     |                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::file_path`
[INFO] [stdout]    --> src/lib/util/file_ex.rs:132:24
[INFO] [stdout]     |
[INFO] [stdout] 132 |             path: self.file_path().to_path_buf(),
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::read_from_json`
[INFO] [stdout]   --> src/lib/util/filelocked.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |         file_ex.read_from_json()
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `util::file_ex::FileEx::write_as_json_pretty`
[INFO] [stdout]   --> src/lib/util/filelocked.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 |         file_ex.write_as_json_pretty(self)
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:158:52
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub async fn library_scan_full(library_dir: &Path, db: &mut Database, worker_info: Option<&WorkerInfo>) -> Result<(), LibraryScanEr...
[INFO] [stdout]     |                                                    ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scanning_start_timestamp`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let scanning_start_timestamp = Instant::now();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scanning_start_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_domain`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |     let library_domain = library_info.domain;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let mut index = LibraryIndex::default();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sha256_hashes`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:226:9
[INFO] [stdout]     |
[INFO] [stdout] 226 |     let sha256_hashes: HashMap<_, _> = sha256_hashes
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sha256_hashes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let mut db = todo!();
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib/data/library/mod.rs:310:9
[INFO] [stdout]     |
[INFO] [stdout] 310 |     let mut index = LibraryIndex::lock_and_read_or_default(library_dir.join(LibraryIndex::STANDARD_FILENAME), worker_info).expect("...
[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/lib/data/library/mod.rs:391:9
[INFO] [stdout]     |
[INFO] [stdout] 391 |     let mut db = todo!();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_db_path`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:296:5
[INFO] [stdout]     |
[INFO] [stdout] 296 |     library_db_path: &Path,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_db_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry_mutator`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:298:5
[INFO] [stdout]     |
[INFO] [stdout] 298 |     entry_mutator: impl Fn(&mut Proof),
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_mutator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scanning_start_timestamp`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |     let scanning_start_timestamp = Instant::now();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scanning_start_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_domain`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:308:9
[INFO] [stdout]     |
[INFO] [stdout] 308 |     let library_domain = library_info.domain;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:310:9
[INFO] [stdout]     |
[INFO] [stdout] 310 |     let mut index = LibraryIndex::lock_and_read_or_default(library_dir.join(LibraryIndex::STANDARD_FILENAME), worker_info).expect("...
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sha256_hashes`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:367:9
[INFO] [stdout]     |
[INFO] [stdout] 367 |     let sha256_hashes: HashMap<_, _> = sha256_hashes
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sha256_hashes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:391:9
[INFO] [stdout]     |
[INFO] [stdout] 391 |     let mut db = todo!();
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib/data/library/mod.rs:463:9
[INFO] [stdout]     |
[INFO] [stdout] 463 |     let mut library_index =
[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/lib/data/library/mod.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |     let mut db = todo!();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_db_path`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:453:5
[INFO] [stdout]     |
[INFO] [stdout] 453 |     library_db_path: &Path,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_db_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_paths`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:454:5
[INFO] [stdout]     |
[INFO] [stdout] 454 |     file_paths: Vec<&Path>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_paths`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_domain`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |     let library_domain = library_info.domain;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_index`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:463:9
[INFO] [stdout]     |
[INFO] [stdout] 463 |     let mut library_index =
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |     let mut db = todo!();
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_dir`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:503:5
[INFO] [stdout]     |
[INFO] [stdout] 503 |     library_dir: &Path,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:505:5
[INFO] [stdout]     |
[INFO] [stdout] 505 |     db: &Database,
[INFO] [stdout]     |     ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_domain`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:506:5
[INFO] [stdout]     |
[INFO] [stdout] 506 |     library_domain: LibraryDomain,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worker_info`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:507:5
[INFO] [stdout]     |
[INFO] [stdout] 507 |     worker_info: Option<&WorkerInfo>,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worker_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_db_path`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:565:5
[INFO] [stdout]     |
[INFO] [stdout] 565 |     library_db_path: &Path,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_db_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worker_info`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 |     worker_info: Option<&WorkerInfo>,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worker_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_domain`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:570:9
[INFO] [stdout]     |
[INFO] [stdout] 570 |     let library_domain = library_info.domain;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_index`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:571:9
[INFO] [stdout]     |
[INFO] [stdout] 571 |     let library_index =
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:158:52
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub async fn library_scan_full(library_dir: &Path, db: &mut Database, worker_info: Option<&WorkerInfo>) -> Result<(), LibraryScanEr...
[INFO] [stdout]     |                                                    ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scanning_start_timestamp`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let scanning_start_timestamp = Instant::now();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scanning_start_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_domain`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |     let library_domain = library_info.domain;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let mut index = LibraryIndex::default();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sha256_hashes`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:226:9
[INFO] [stdout]     |
[INFO] [stdout] 226 |     let sha256_hashes: HashMap<_, _> = sha256_hashes
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sha256_hashes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let mut db = todo!();
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib/data/library/mod.rs:310:9
[INFO] [stdout]     |
[INFO] [stdout] 310 |     let mut index = LibraryIndex::lock_and_read_or_default(library_dir.join(LibraryIndex::STANDARD_FILENAME), worker_info).expect("...
[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/lib/data/library/mod.rs:391:9
[INFO] [stdout]     |
[INFO] [stdout] 391 |     let mut db = todo!();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_db_path`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:296:5
[INFO] [stdout]     |
[INFO] [stdout] 296 |     library_db_path: &Path,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_db_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry_mutator`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:298:5
[INFO] [stdout]     |
[INFO] [stdout] 298 |     entry_mutator: impl Fn(&mut Proof),
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_mutator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scanning_start_timestamp`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |     let scanning_start_timestamp = Instant::now();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scanning_start_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_domain`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:308:9
[INFO] [stdout]     |
[INFO] [stdout] 308 |     let library_domain = library_info.domain;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:310:9
[INFO] [stdout]     |
[INFO] [stdout] 310 |     let mut index = LibraryIndex::lock_and_read_or_default(library_dir.join(LibraryIndex::STANDARD_FILENAME), worker_info).expect("...
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sha256_hashes`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:367:9
[INFO] [stdout]     |
[INFO] [stdout] 367 |     let sha256_hashes: HashMap<_, _> = sha256_hashes
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sha256_hashes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:391:9
[INFO] [stdout]     |
[INFO] [stdout] 391 |     let mut db = todo!();
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib/data/library/mod.rs:463:9
[INFO] [stdout]     |
[INFO] [stdout] 463 |     let mut library_index =
[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/lib/data/library/mod.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |     let mut db = todo!();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_db_path`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:453:5
[INFO] [stdout]     |
[INFO] [stdout] 453 |     library_db_path: &Path,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_db_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_paths`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:454:5
[INFO] [stdout]     |
[INFO] [stdout] 454 |     file_paths: Vec<&Path>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_paths`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_domain`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |     let library_domain = library_info.domain;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_index`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:463:9
[INFO] [stdout]     |
[INFO] [stdout] 463 |     let mut library_index =
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |     let mut db = todo!();
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_dir`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:503:5
[INFO] [stdout]     |
[INFO] [stdout] 503 |     library_dir: &Path,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:505:5
[INFO] [stdout]     |
[INFO] [stdout] 505 |     db: &Database,
[INFO] [stdout]     |     ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_domain`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:506:5
[INFO] [stdout]     |
[INFO] [stdout] 506 |     library_domain: LibraryDomain,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worker_info`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:507:5
[INFO] [stdout]     |
[INFO] [stdout] 507 |     worker_info: Option<&WorkerInfo>,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worker_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_db_path`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:565:5
[INFO] [stdout]     |
[INFO] [stdout] 565 |     library_db_path: &Path,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_db_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worker_info`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 |     worker_info: Option<&WorkerInfo>,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worker_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_domain`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:570:9
[INFO] [stdout]     |
[INFO] [stdout] 570 |     let library_domain = library_info.domain;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_index`
[INFO] [stdout]    --> src/lib/data/library/mod.rs:571:9
[INFO] [stdout]     |
[INFO] [stdout] 571 |     let library_index =
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_domain`
[INFO] [stdout]    --> src/lib/db/mod.rs:182:59
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub async fn remove_library_domain_from_db(&mut self, library_domain: &LibraryDomain) -> DbResult<()> {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_domain`
[INFO] [stdout]    --> src/lib/db/mod.rs:182:59
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub async fn remove_library_domain_from_db(&mut self, library_domain: &LibraryDomain) -> DbResult<()> {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> src/lib/hive/worker/server_connection.rs:24:61
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub async fn get_library_entry_by_url(self: &Arc<Self>, url: &StplUrl) -> Result<Proof, ServerError> {
[INFO] [stdout]    |                                                             ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_to_upload`
[INFO] [stdout]    --> src/lib/hive/worker/mod.rs:493:9
[INFO] [stdout]     |
[INFO] [stdout] 493 |         file_to_upload: &Path,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_to_upload`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_location`
[INFO] [stdout]    --> src/lib/hive/worker/mod.rs:494:9
[INFO] [stdout]     |
[INFO] [stdout] 494 |         target_location: &StplUrl,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry_mutator`
[INFO] [stdout]    --> src/lib/hive/worker/mod.rs:495:9
[INFO] [stdout]     |
[INFO] [stdout] 495 |         entry_mutator: impl Fn(&mut Proof),
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_mutator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> src/lib/hive/worker/server_connection.rs:24:61
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub async fn get_library_entry_by_url(self: &Arc<Self>, url: &StplUrl) -> Result<Proof, ServerError> {
[INFO] [stdout]    |                                                             ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_to_upload`
[INFO] [stdout]    --> src/lib/hive/worker/mod.rs:493:9
[INFO] [stdout]     |
[INFO] [stdout] 493 |         file_to_upload: &Path,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_to_upload`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_location`
[INFO] [stdout]    --> src/lib/hive/worker/mod.rs:494:9
[INFO] [stdout]     |
[INFO] [stdout] 494 |         target_location: &StplUrl,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry_mutator`
[INFO] [stdout]    --> src/lib/hive/worker/mod.rs:495:9
[INFO] [stdout]     |
[INFO] [stdout] 495 |         entry_mutator: impl Fn(&mut Proof),
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_mutator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uuid`
[INFO] [stdout]   --> src/lib/hive/worker/server_connection.rs:40:56
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub async fn take_task_with_uuid(self: &Arc<Self>, uuid: Uuid) -> Result<Option<Task>, ServerError> {
[INFO] [stdout]    |                                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worker_info`
[INFO] [stdout]   --> src/lib/hive/worker/queue_connection.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         worker_info: Cow<'_, WorkerInfo>,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worker_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uuid`
[INFO] [stdout]   --> src/lib/hive/worker/server_connection.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         uuid: Uuid,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> src/lib/hive/worker/server_connection.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         result: TaskResult,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `finish_timestamp`
[INFO] [stdout]   --> src/lib/hive/worker/server_connection.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         finish_timestamp: NsTimestamp,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_finish_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worker_status_rx`
[INFO] [stdout]   --> src/lib/hive/worker/ws.rs:51:39
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn start_server_connection_thread(worker_status_rx: Arc<Receiver<WorkerStatus>>, task_progress_rx: Arc<Receiver<TaskProgress>>) {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worker_status_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task_progress_rx`
[INFO] [stdout]   --> src/lib/hive/worker/ws.rs:51:86
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn start_server_connection_thread(worker_status_rx: Arc<Receiver<WorkerStatus>>, task_progress_rx: Arc<Receiver<TaskProgress>>) {
[INFO] [stdout]    |                                                                                      ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_task_progress_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worker_status_rx`
[INFO] [stdout]    --> src/lib/hive/worker/mod.rs:279:13
[INFO] [stdout]     |
[INFO] [stdout] 279 |         let worker_status_rx = Arc::new(worker_status_rx);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worker_status_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task_progress_rx`
[INFO] [stdout]    --> src/lib/hive/worker/mod.rs:280:13
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let task_progress_rx = Arc::new(task_progress_rx);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_task_progress_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `proof_uuid`
[INFO] [stdout]    --> src/lib/hive/worker/mod.rs:457:53
[INFO] [stdout]     |
[INFO] [stdout] 457 |     pub async fn fetch_library_entry_by_uuid(&self, proof_uuid: Uuid) -> Result<Option<Proof>, WorkerError> {
[INFO] [stdout]     |                                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_proof_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uuid`
[INFO] [stdout]   --> src/lib/hive/worker/server_connection.rs:40:56
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub async fn take_task_with_uuid(self: &Arc<Self>, uuid: Uuid) -> Result<Option<Task>, ServerError> {
[INFO] [stdout]    |                                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worker_info`
[INFO] [stdout]   --> src/lib/hive/worker/queue_connection.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         worker_info: Cow<'_, WorkerInfo>,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worker_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uuid`
[INFO] [stdout]   --> src/lib/hive/worker/server_connection.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         uuid: Uuid,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> src/lib/hive/worker/server_connection.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         result: TaskResult,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `finish_timestamp`
[INFO] [stdout]   --> src/lib/hive/worker/server_connection.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         finish_timestamp: NsTimestamp,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_finish_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worker_status_rx`
[INFO] [stdout]   --> src/lib/hive/worker/ws.rs:51:39
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn start_server_connection_thread(worker_status_rx: Arc<Receiver<WorkerStatus>>, task_progress_rx: Arc<Receiver<TaskProgress>>) {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worker_status_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task_progress_rx`
[INFO] [stdout]   --> src/lib/hive/worker/ws.rs:51:86
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn start_server_connection_thread(worker_status_rx: Arc<Receiver<WorkerStatus>>, task_progress_rx: Arc<Receiver<TaskProgress>>) {
[INFO] [stdout]    |                                                                                      ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_task_progress_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worker_status_rx`
[INFO] [stdout]    --> src/lib/hive/worker/mod.rs:279:13
[INFO] [stdout]     |
[INFO] [stdout] 279 |         let worker_status_rx = Arc::new(worker_status_rx);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worker_status_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task_progress_rx`
[INFO] [stdout]    --> src/lib/hive/worker/mod.rs:280:13
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let task_progress_rx = Arc::new(task_progress_rx);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_task_progress_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `proof_uuid`
[INFO] [stdout]    --> src/lib/hive/worker/mod.rs:457:53
[INFO] [stdout]     |
[INFO] [stdout] 457 |     pub async fn fetch_library_entry_by_uuid(&self, proof_uuid: Uuid) -> Result<Option<Proof>, WorkerError> {
[INFO] [stdout]     |                                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_proof_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/lib/spreadsheet/mod.rs:474:13
[INFO] [stdout]     |
[INFO] [stdout] 474 |         let db = Database::connect_with_tokio(
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/lib/spreadsheet/mod.rs:474:13
[INFO] [stdout]     |
[INFO] [stdout] 474 |         let db = Database::connect_with_tokio(
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOG_FN_NAME` is never used
[INFO] [stdout]    --> src/lib/util/log.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  18 | macro_rules! log_fn_name {
[INFO] [stdout]  19 |     ($arg:literal : auto) => {
[INFO] [stdout]  20 |         pub const LOG_FN_NAME: &str = concat!($arg, ":", function_name!());
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib/data/library/mod.rs:458:5
[INFO] [stdout]     |
[INFO] [stdout] 458 |     log_fn_name!("library" : auto);
[INFO] [stdout]     |     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `E` is never used
[INFO] [stdout]    --> src/lib/data/library/mod.rs:509:10
[INFO] [stdout]     |
[INFO] [stdout] 509 |     type E = LibraryScanError;
[INFO] [stdout]     |          ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOG_FN_NAME` is never used
[INFO] [stdout]    --> src/lib/util/log.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  18 | macro_rules! log_fn_name {
[INFO] [stdout]  19 |     ($arg:literal : auto) => {
[INFO] [stdout]  20 |         pub const LOG_FN_NAME: &str = concat!($arg, ":", function_name!());
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib/data/library/mod.rs:510:5
[INFO] [stdout]     |
[INFO] [stdout] 510 |     log_fn_name!("library" : auto);
[INFO] [stdout]     |     ------------------------------ in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOG_FN_NAME` is never used
[INFO] [stdout]    --> src/lib/util/log.rs:23:19
[INFO] [stdout]     |
[INFO] [stdout]  18 | macro_rules! log_fn_name {
[INFO] [stdout] ...
[INFO] [stdout]  23 |         pub const LOG_FN_NAME: &str = function_name!();
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib/db/mod.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         log_fn_name!(auto);
[INFO] [stdout]     |         ------------------ in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOG_FN_NAME` is never used
[INFO] [stdout]    --> src/lib/util/log.rs:23:19
[INFO] [stdout]     |
[INFO] [stdout]  18 | macro_rules! log_fn_name {
[INFO] [stdout] ...
[INFO] [stdout]  23 |         pub const LOG_FN_NAME: &str = function_name!();
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib/db/mod.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         log_fn_name!(auto);
[INFO] [stdout]     |         ------------------ in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOG_FN_NAME` is never used
[INFO] [stdout]    --> src/lib/util/log.rs:23:19
[INFO] [stdout]     |
[INFO] [stdout]  18 | macro_rules! log_fn_name {
[INFO] [stdout] ...
[INFO] [stdout]  23 |         pub const LOG_FN_NAME: &str = function_name!();
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib/db/mod.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |         log_fn_name!(auto);
[INFO] [stdout]     |         ------------------ in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOG_FN_NAME` is never used
[INFO] [stdout]    --> src/lib/util/log.rs:23:19
[INFO] [stdout]     |
[INFO] [stdout]  18 | macro_rules! log_fn_name {
[INFO] [stdout] ...
[INFO] [stdout]  23 |         pub const LOG_FN_NAME: &str = function_name!();
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib/db/mod.rs:263:9
[INFO] [stdout]     |
[INFO] [stdout] 263 |         log_fn_name!(auto);
[INFO] [stdout]     |         ------------------ in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOG_FN_NAME` is never used
[INFO] [stdout]    --> src/lib/util/log.rs:23:19
[INFO] [stdout]     |
[INFO] [stdout]  18 | macro_rules! log_fn_name {
[INFO] [stdout] ...
[INFO] [stdout]  23 |         pub const LOG_FN_NAME: &str = function_name!();
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib/db/mod.rs:281:9
[INFO] [stdout]     |
[INFO] [stdout] 281 |         log_fn_name!(auto);
[INFO] [stdout]     |         ------------------ in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `player_name`, `match_uuid`, `youtube_ids`, `metadata`, and `details` are never read
[INFO] [stdout]    --> src/lib/spreadsheet/mod.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub struct ParsedPerformance {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 265 |     player_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 266 |     match_uuid: UuidString,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 267 |     youtube_ids: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 268 |     metadata: ArbitraryMetadata,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 269 |     details: Box<AnyPerformanceDetails>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParsedPerformance` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOG_FN_NAME` is never used
[INFO] [stdout]    --> src/lib/util/log.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  18 | macro_rules! log_fn_name {
[INFO] [stdout]  19 |     ($arg:literal : auto) => {
[INFO] [stdout]  20 |         pub const LOG_FN_NAME: &str = concat!($arg, ":", function_name!());
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib/data/library/mod.rs:458:5
[INFO] [stdout]     |
[INFO] [stdout] 458 |     log_fn_name!("library" : auto);
[INFO] [stdout]     |     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `E` is never used
[INFO] [stdout]    --> src/lib/data/library/mod.rs:509:10
[INFO] [stdout]     |
[INFO] [stdout] 509 |     type E = LibraryScanError;
[INFO] [stdout]     |          ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOG_FN_NAME` is never used
[INFO] [stdout]    --> src/lib/util/log.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  18 | macro_rules! log_fn_name {
[INFO] [stdout]  19 |     ($arg:literal : auto) => {
[INFO] [stdout]  20 |         pub const LOG_FN_NAME: &str = concat!($arg, ":", function_name!());
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib/data/library/mod.rs:510:5
[INFO] [stdout]     |
[INFO] [stdout] 510 |     log_fn_name!("library" : auto);
[INFO] [stdout]     |     ------------------------------ in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOG_FN_NAME` is never used
[INFO] [stdout]    --> src/lib/util/log.rs:23:19
[INFO] [stdout]     |
[INFO] [stdout]  18 | macro_rules! log_fn_name {
[INFO] [stdout] ...
[INFO] [stdout]  23 |         pub const LOG_FN_NAME: &str = function_name!();
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib/db/mod.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         log_fn_name!(auto);
[INFO] [stdout]     |         ------------------ in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOG_FN_NAME` is never used
[INFO] [stdout]    --> src/lib/util/log.rs:23:19
[INFO] [stdout]     |
[INFO] [stdout]  18 | macro_rules! log_fn_name {
[INFO] [stdout] ...
[INFO] [stdout]  23 |         pub const LOG_FN_NAME: &str = function_name!();
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib/db/mod.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         log_fn_name!(auto);
[INFO] [stdout]     |         ------------------ in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOG_FN_NAME` is never used
[INFO] [stdout]    --> src/lib/util/log.rs:23:19
[INFO] [stdout]     |
[INFO] [stdout]  18 | macro_rules! log_fn_name {
[INFO] [stdout] ...
[INFO] [stdout]  23 |         pub const LOG_FN_NAME: &str = function_name!();
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib/db/mod.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |         log_fn_name!(auto);
[INFO] [stdout]     |         ------------------ in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOG_FN_NAME` is never used
[INFO] [stdout]    --> src/lib/util/log.rs:23:19
[INFO] [stdout]     |
[INFO] [stdout]  18 | macro_rules! log_fn_name {
[INFO] [stdout] ...
[INFO] [stdout]  23 |         pub const LOG_FN_NAME: &str = function_name!();
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib/db/mod.rs:263:9
[INFO] [stdout]     |
[INFO] [stdout] 263 |         log_fn_name!(auto);
[INFO] [stdout]     |         ------------------ in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOG_FN_NAME` is never used
[INFO] [stdout]    --> src/lib/util/log.rs:23:19
[INFO] [stdout]     |
[INFO] [stdout]  18 | macro_rules! log_fn_name {
[INFO] [stdout] ...
[INFO] [stdout]  23 |         pub const LOG_FN_NAME: &str = function_name!();
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib/db/mod.rs:281:9
[INFO] [stdout]     |
[INFO] [stdout] 281 |         log_fn_name!(auto);
[INFO] [stdout]     |         ------------------ in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `player_name`, `match_uuid`, `youtube_ids`, `metadata`, and `details` are never read
[INFO] [stdout]    --> src/lib/spreadsheet/mod.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub struct ParsedPerformance {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 265 |     player_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 266 |     match_uuid: UuidString,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 267 |     youtube_ids: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 268 |     metadata: ArbitraryMetadata,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 269 |     details: Box<AnyPerformanceDetails>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParsedPerformance` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `scoretracker::util::file_ex::FileEx`
[INFO] [stdout]   --> src/playground/main.rs:14:35
[INFO] [stdout]    |
[INFO] [stdout] 14 | use scoretracker::util::{file_ex::FileEx, lockfile::LockfileHandle};
[INFO] [stdout]    |                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> src/bin/server/http/api/match.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/bin/server/http/api/match.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `globals::ServerGlobals`
[INFO] [stdout]  --> src/bin/server/http/api/performance.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::server::{globals::ServerGlobals, http::api::ApiResult};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> src/bin/server/http/api/match.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/bin/server/http/api/match.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `globals::ServerGlobals`
[INFO] [stdout]  --> src/bin/server/http/api/performance.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::server::{globals::ServerGlobals, http::api::ApiResult};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `scoretracker::util::file_ex::FileEx`
[INFO] [stdout]   --> src/playground/main.rs:14:35
[INFO] [stdout]    |
[INFO] [stdout] 14 | use scoretracker::util::{file_ex::FileEx, lockfile::LockfileHandle};
[INFO] [stdout]    |                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scoretracker::util::file_ex::FileEx::read_from_json`
[INFO] [stdout]   --> src/playground/main.rs:48:50
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut test_counter: TestCounter = lockfile.read_from_json().unwrap().unwrap_or_default();
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scoretracker::util::file_ex::FileEx::write_as_json`
[INFO] [stdout]   --> src/playground/main.rs:64:14
[INFO] [stdout]    |
[INFO] [stdout] 64 |     lockfile.write_as_json(test_counter).unwrap();
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scoretracker::util::file_ex::FileEx::write_as_json_pretty`
[INFO] [stdout]    --> src/playground/main.rs:112:10
[INFO] [stdout]     |
[INFO] [stdout] 112 |         .write_as_json_pretty(test_timestamp)
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scoretracker::util::file_ex::FileEx::write_as_json_pretty`
[INFO] [stdout]    --> src/playground/main.rs:200:10
[INFO] [stdout]     |
[INFO] [stdout] 200 |         .write_as_json_pretty(vec![test_result_1, test_result_2])
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info_npr`
[INFO] [stdout]   --> src/bin/toolkit/cmd/mod.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 | use scoretracker::{info_npr, success_npr};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scoretracker::db::Database`
[INFO] [stdout]  --> src/bin/toolkit/cmd/db/performance.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use scoretracker::db::Database;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scoretracker::success_npr`
[INFO] [stdout]  --> src/bin/toolkit/cmd/db/performance.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use scoretracker::success_npr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scoretracker::config::LegacyConfig`
[INFO] [stdout]  --> src/bin/toolkit/cmd/library.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use scoretracker::config::LegacyConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> src/bin/server/http/api/match.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/bin/server/http/api/match.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `globals::ServerGlobals`
[INFO] [stdout]  --> src/bin/server/http/api/performance.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::server::{globals::ServerGlobals, http::api::ApiResult};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scoretracker::util::file_ex::FileEx::read_from_json`
[INFO] [stdout]   --> src/playground/main.rs:48:50
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut test_counter: TestCounter = lockfile.read_from_json().unwrap().unwrap_or_default();
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scoretracker::util::file_ex::FileEx::write_as_json`
[INFO] [stdout]   --> src/playground/main.rs:64:14
[INFO] [stdout]    |
[INFO] [stdout] 64 |     lockfile.write_as_json(test_counter).unwrap();
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `scoretracker::util::file_ex::FileEx`
[INFO] [stdout]  --> src/bin/toolkit/cmd/config.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use scoretracker::util::file_ex::FileEx;
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info_npr`
[INFO] [stdout]   --> src/bin/toolkit/cmd/mod.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 | use scoretracker::{info_npr, success_npr};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scoretracker::db::Database`
[INFO] [stdout]  --> src/bin/toolkit/cmd/db/performance.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use scoretracker::db::Database;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scoretracker::success_npr`
[INFO] [stdout]  --> src/bin/toolkit/cmd/db/performance.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use scoretracker::success_npr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scoretracker::config::LegacyConfig`
[INFO] [stdout]  --> src/bin/toolkit/cmd/library.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use scoretracker::config::LegacyConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> src/bin/server/http/api/match.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/bin/server/http/api/match.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `globals::ServerGlobals`
[INFO] [stdout]  --> src/bin/server/http/api/performance.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::server::{globals::ServerGlobals, http::api::ApiResult};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scoretracker::util::file_ex::FileEx::write_as_json_pretty`
[INFO] [stdout]    --> src/playground/main.rs:112:10
[INFO] [stdout]     |
[INFO] [stdout] 112 |         .write_as_json_pretty(test_timestamp)
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scoretracker::util::file_ex::FileEx::write_as_json_pretty`
[INFO] [stdout]    --> src/playground/main.rs:200:10
[INFO] [stdout]     |
[INFO] [stdout] 200 |         .write_as_json_pretty(vec![test_result_1, test_result_2])
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `scoretracker::util::file_ex::FileEx`
[INFO] [stdout]  --> src/bin/toolkit/cmd/config.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use scoretracker::util::file_ex::FileEx;
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/match.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub async fn get_match(req: HttpRequest, path: web::Path<UuidString>) -> ApiResult<Box<AnyMatchDetails>, ()> {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/match.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     req: HttpRequest,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/performance.rs:29:32
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub async fn list_performances(req: HttpRequest) -> ApiResult<ListRes, ()> {
[INFO] [stdout]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/performance.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub async fn get_performance(req: HttpRequest, path: web::Path<UuidString>) -> ApiResult<Box<AnyPerformanceDetails>, ()> {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/performance.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     req: HttpRequest,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `DenyByDefault` and `AllowByDefault` are never constructed
[INFO] [stdout]  --> src/bin/server/access_rules.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum AccessRules {
[INFO] [stdout]   |          ----------- variants in this enum
[INFO] [stdout] 5 |     DenyByDefault { allowlist: Vec<String> }, // TODO: implement authorization
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 6 |     AllowByDefault { denylist: Vec<String> }, // TODO: implement authorization
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `AccessRules` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `public`, `denylist`, `allowlist`, and `private` are never used
[INFO] [stdout]   --> src/bin/server/access_rules.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl AccessRules {
[INFO] [stdout]    | ---------------- associated functions in this implementation
[INFO] [stdout] 10 |     pub fn public() -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn denylist(denylist: Vec<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn allowlist(allowlist: Vec<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn private() -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_command` is never used
[INFO] [stdout]  --> src/bin/server/cmd/mod.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn handle_command(context: &mut CmdlineContext) -> Result<(), ServerError> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `task_queue_path` is never used
[INFO] [stdout]   --> src/bin/server/config.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl ServerConfig {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 29 |     pub fn task_queue_path(&self) -> PathBuf {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `exit_code_num` is never used
[INFO] [stdout]   --> src/bin/server/error.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ServerError {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 20 |     pub fn exit_code_num(&self) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `server_config` is never read
[INFO] [stdout]   --> src/bin/server/globals.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ServerGlobals {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 13 |     pub server_config: Arc<ServerConfig>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `OkWithStatus` is never constructed
[INFO] [stdout]   --> src/bin/server/http/api/mod.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum ApiResult<T: Serialize, E: Serialize> {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 35 |     OkWithStatus {
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnyPerformanceWrapper` is never constructed
[INFO] [stdout]   --> src/bin/server/http/api/performance.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct AnyPerformanceWrapper {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListRes` is never constructed
[INFO] [stdout]   --> src/bin/server/http/api/performance.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct ListRes {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `External` is never constructed
[INFO] [stdout]   --> src/bin/server/library_hall.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum LibraryMirrorLocation {
[INFO] [stdout]    |          --------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16 |     External { url: String },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LibraryMirrorLocation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `status` is never read
[INFO] [stdout]   --> src/bin/server/library_hall.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct LibraryMirror {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub status: MirrorStatus,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LibraryMirror` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scoretracker::util::file_ex::FileEx::read_from_json`
[INFO] [stdout]   --> src/bin/toolkit/cmd/config.rs:23:37
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let has_to_confirm = match path.read_from_json() {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scoretracker::util::file_ex::FileEx::write_as_json_pretty`
[INFO] [stdout]   --> src/bin/toolkit/cmd/config.rs:63:10
[INFO] [stdout]    |
[INFO] [stdout] 63 |     path.write_as_json_pretty(&config)
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scoretracker::util::file_ex::FileEx::read_from_json`
[INFO] [stdout]   --> src/bin/toolkit/cmd/config.rs:23:37
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let has_to_confirm = match path.read_from_json() {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scoretracker::util::file_ex::FileEx::write_as_json_pretty`
[INFO] [stdout]   --> src/bin/toolkit/cmd/config.rs:63:10
[INFO] [stdout]    |
[INFO] [stdout] 63 |     path.write_as_json_pretty(&config)
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/match.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub async fn get_match(req: HttpRequest, path: web::Path<UuidString>) -> ApiResult<Box<AnyMatchDetails>, ()> {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/match.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     req: HttpRequest,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/performance.rs:29:32
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub async fn list_performances(req: HttpRequest) -> ApiResult<ListRes, ()> {
[INFO] [stdout]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/performance.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub async fn get_performance(req: HttpRequest, path: web::Path<UuidString>) -> ApiResult<Box<AnyPerformanceDetails>, ()> {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/performance.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     req: HttpRequest,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `DenyByDefault` and `AllowByDefault` are never constructed
[INFO] [stdout]  --> src/bin/server/access_rules.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum AccessRules {
[INFO] [stdout]   |          ----------- variants in this enum
[INFO] [stdout] 5 |     DenyByDefault { allowlist: Vec<String> }, // TODO: implement authorization
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 6 |     AllowByDefault { denylist: Vec<String> }, // TODO: implement authorization
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `AccessRules` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `public`, `denylist`, `allowlist`, and `private` are never used
[INFO] [stdout]   --> src/bin/server/access_rules.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl AccessRules {
[INFO] [stdout]    | ---------------- associated functions in this implementation
[INFO] [stdout] 10 |     pub fn public() -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn denylist(denylist: Vec<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn allowlist(allowlist: Vec<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn private() -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_command` is never used
[INFO] [stdout]  --> src/bin/server/cmd/mod.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn handle_command(context: &mut CmdlineContext) -> Result<(), ServerError> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `task_queue_path` is never used
[INFO] [stdout]   --> src/bin/server/config.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl ServerConfig {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 29 |     pub fn task_queue_path(&self) -> PathBuf {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `exit_code_num` is never used
[INFO] [stdout]   --> src/bin/server/error.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ServerError {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 20 |     pub fn exit_code_num(&self) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `server_config` is never read
[INFO] [stdout]   --> src/bin/server/globals.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ServerGlobals {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 13 |     pub server_config: Arc<ServerConfig>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `OkWithStatus` is never constructed
[INFO] [stdout]   --> src/bin/server/http/api/mod.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum ApiResult<T: Serialize, E: Serialize> {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 35 |     OkWithStatus {
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnyPerformanceWrapper` is never constructed
[INFO] [stdout]   --> src/bin/server/http/api/performance.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct AnyPerformanceWrapper {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListRes` is never constructed
[INFO] [stdout]   --> src/bin/server/http/api/performance.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct ListRes {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `External` is never constructed
[INFO] [stdout]   --> src/bin/server/library_hall.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum LibraryMirrorLocation {
[INFO] [stdout]    |          --------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16 |     External { url: String },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LibraryMirrorLocation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `status` is never read
[INFO] [stdout]   --> src/bin/server/library_hall.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct LibraryMirror {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub status: MirrorStatus,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LibraryMirror` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_dir`
[INFO] [stdout]   --> src/bin/toolkit/cmd/automark.rs:67:31
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn automark_library_files(library_dir: PathBuf) -> Result<(), CmdError> {
[INFO] [stdout]    |                               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_dir`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_dir`
[INFO] [stdout]   --> src/bin/toolkit/cmd/automark.rs:67:31
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn automark_library_files(library_dir: PathBuf) -> Result<(), CmdError> {
[INFO] [stdout]    |                               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_dir`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_db_path`
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 410 |     player_db_path: &Path,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_db_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `match_db_path`
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:411:5
[INFO] [stdout]     |
[INFO] [stdout] 411 |     match_db_path: &Path,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_match_db_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `performance_db_path`
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:412:5
[INFO] [stdout]     |
[INFO] [stdout] 412 |     performance_db_path: &Path,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_performance_db_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_db_path`
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:413:5
[INFO] [stdout]     |
[INFO] [stdout] 413 |     library_db_path: &Path,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_db_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_db_path`
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 410 |     player_db_path: &Path,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_db_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `match_db_path`
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:411:5
[INFO] [stdout]     |
[INFO] [stdout] 411 |     match_db_path: &Path,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_match_db_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `performance_db_path`
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:412:5
[INFO] [stdout]     |
[INFO] [stdout] 412 |     performance_db_path: &Path,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_performance_db_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_db_path`
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:413:5
[INFO] [stdout]     |
[INFO] [stdout] 413 |     library_db_path: &Path,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_db_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/match.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub async fn get_match(req: HttpRequest, path: web::Path<UuidString>) -> ApiResult<Box<AnyMatchDetails>, ()> {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/match.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     req: HttpRequest,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/performance.rs:29:32
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub async fn list_performances(req: HttpRequest) -> ApiResult<ListRes, ()> {
[INFO] [stdout]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/performance.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub async fn get_performance(req: HttpRequest, path: web::Path<UuidString>) -> ApiResult<Box<AnyPerformanceDetails>, ()> {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/performance.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     req: HttpRequest,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/match.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub async fn get_match(req: HttpRequest, path: web::Path<UuidString>) -> ApiResult<Box<AnyMatchDetails>, ()> {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/match.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     req: HttpRequest,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/performance.rs:29:32
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub async fn list_performances(req: HttpRequest) -> ApiResult<ListRes, ()> {
[INFO] [stdout]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/performance.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub async fn get_performance(req: HttpRequest, path: web::Path<UuidString>) -> ApiResult<Box<AnyPerformanceDetails>, ()> {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/bin/server/http/api/performance.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     req: HttpRequest,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_library_entry` is never used
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:231:4
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn check_library_entry(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_performance` is never used
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:300:4
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn check_performance(performance: &Performance, uuids: &mut HashSet<UuidString>) -> Result<(), PerformanceCheckError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_match` is never used
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:352:4
[INFO] [stdout]     |
[INFO] [stdout] 352 | fn check_match(match_data: &dyn MatchDetails, _db: &Database, _uuids: &mut HashSet<UuidString>) -> Result<(), MatchCheckError> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_player` is never used
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:385:4
[INFO] [stdout]     |
[INFO] [stdout] 385 | fn check_player(player: &Player, uuids: &mut HashSet<UuidString>) -> Result<(), PlayerCheckError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_database` is never used
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:409:4
[INFO] [stdout]     |
[INFO] [stdout] 409 | fn check_database(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_library_entry` is never used
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:231:4
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn check_library_entry(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_performance` is never used
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:300:4
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn check_performance(performance: &Performance, uuids: &mut HashSet<UuidString>) -> Result<(), PerformanceCheckError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_match` is never used
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:352:4
[INFO] [stdout]     |
[INFO] [stdout] 352 | fn check_match(match_data: &dyn MatchDetails, _db: &Database, _uuids: &mut HashSet<UuidString>) -> Result<(), MatchCheckError> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_player` is never used
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:385:4
[INFO] [stdout]     |
[INFO] [stdout] 385 | fn check_player(player: &Player, uuids: &mut HashSet<UuidString>) -> Result<(), PlayerCheckError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_database` is never used
[INFO] [stdout]    --> src/bin/toolkit/cmd/vitals.rs:409:4
[INFO] [stdout]     |
[INFO] [stdout] 409 | fn check_database(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 11s
[INFO] running `Command { std: "docker" "inspect" "8a3fb62face1b334e32e985a8e030e88e7a7d4412cb464db709649fc8a287994", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8a3fb62face1b334e32e985a8e030e88e7a7d4412cb464db709649fc8a287994", kill_on_drop: false }`
[INFO] [stdout] 8a3fb62face1b334e32e985a8e030e88e7a7d4412cb464db709649fc8a287994
