[INFO] cloning repository https://github.com/Nimrodium/louisbotrs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Nimrodium/louisbotrs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNimrodium%2Flouisbotrs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNimrodium%2Flouisbotrs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 02140672b614f44c79b6d5ed6f322b0dc6043d32 [INFO] building Nimrodium/louisbotrs/02140672b614f44c79b6d5ed6f322b0dc6043d32 against master#eb171a227f9e5de5d376b6edb56b174bc8235fb3 for pr-149937 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNimrodium%2Flouisbotrs" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Nimrodium/louisbotrs [INFO] finished tweaking git repo https://github.com/Nimrodium/louisbotrs [INFO] tweaked toml for git repo https://github.com/Nimrodium/louisbotrs written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Nimrodium/louisbotrs on toolchain eb171a227f9e5de5d376b6edb56b174bc8235fb3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eb171a227f9e5de5d376b6edb56b174bc8235fb3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Nimrodium/louisbotrs 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" "+eb171a227f9e5de5d376b6edb56b174bc8235fb3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tokio-macros v2.6.0 [INFO] [stderr] Downloaded typesize-derive v0.1.11 [INFO] [stderr] Downloaded option-ext v0.2.0 [INFO] [stderr] Downloaded plotters-backend v0.3.7 [INFO] [stderr] Downloaded serde_cow v0.1.2 [INFO] [stderr] Downloaded secrecy v0.8.0 [INFO] [stderr] Downloaded zerocopy-derive v0.8.31 [INFO] [stderr] Downloaded dirs v6.0.0 [INFO] [stderr] Downloaded poise_macros v0.6.1 [INFO] [stderr] Downloaded skeptic v0.13.7 [INFO] [stderr] Downloaded tagptr v0.2.0 [INFO] [stderr] Downloaded time-core v0.1.6 [INFO] [stderr] Downloaded float-ord v0.3.2 [INFO] [stderr] Downloaded yeslogic-fontconfig-sys v6.0.0 [INFO] [stderr] Downloaded plotters-svg v0.3.7 [INFO] [stderr] Downloaded webpki-roots v0.26.11 [INFO] [stderr] Downloaded core-text v20.1.0 [INFO] [stderr] Downloaded pathfinder_geometry v0.5.1 [INFO] [stderr] Downloaded wasm-bindgen v0.2.106 [INFO] [stderr] Downloaded triomphe v0.1.15 [INFO] [stderr] Downloaded plotters-bitmap v0.3.7 [INFO] [stderr] Downloaded js-sys v0.3.83 [INFO] [stderr] Downloaded font-kit v0.14.3 [INFO] [stderr] Downloaded time v0.3.44 [INFO] [stderr] Downloaded pulldown-cmark v0.9.6 [INFO] [stderr] Downloaded poise v0.6.1 [INFO] [stderr] Downloaded plotters v0.3.7 [INFO] [stderr] Downloaded cc v1.2.48 [INFO] [stderr] Downloaded camino v1.2.1 [INFO] [stderr] Downloaded rustls-webpki v0.102.8 [INFO] [stderr] Downloaded zerocopy v0.8.31 [INFO] [stderr] Downloaded mini-moka v0.10.3 [INFO] [stderr] Downloaded webpki-roots v1.0.4 [INFO] [stderr] Downloaded tracing v0.1.43 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.106 [INFO] [stderr] Downloaded bytecount v0.6.9 [INFO] [stderr] Downloaded cargo_metadata v0.14.2 [INFO] [stderr] Downloaded deranged v0.5.5 [INFO] [stderr] Downloaded typesize v0.1.14 [INFO] [stderr] Downloaded redox_users v0.5.2 [INFO] [stderr] Downloaded dirs-sys v0.5.0 [INFO] [stderr] Downloaded dwrote v0.11.5 [INFO] [stderr] Downloaded pathfinder_simd v0.5.5 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.56 [INFO] [stderr] Downloaded serenity v0.12.4 [INFO] [stderr] Downloaded tokio-rustls v0.25.0 [INFO] [stderr] Downloaded crypto-common v0.1.7 [INFO] [stderr] Downloaded time-macros v0.2.24 [INFO] [stderr] Downloaded typemap_rev v0.3.0 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.106 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.106 [INFO] [stderr] Downloaded cargo-platform v0.1.9 [INFO] [stderr] Downloaded gif v0.12.0 [INFO] [stderr] Downloaded web-sys v0.3.83 [INFO] [stderr] Downloaded jpeg-decoder v0.3.2 [INFO] [stderr] Downloaded freetype-sys v0.20.1 [INFO] [stderr] Downloaded image v0.24.9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+eb171a227f9e5de5d376b6edb56b174bc8235fb3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fc94b0dafe905065fe9dfbd75b185c6b7ff60d75871e21c0501f3039629584aa [INFO] running `Command { std: "docker" "start" "-a" "fc94b0dafe905065fe9dfbd75b185c6b7ff60d75871e21c0501f3039629584aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fc94b0dafe905065fe9dfbd75b185c6b7ff60d75871e21c0501f3039629584aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fc94b0dafe905065fe9dfbd75b185c6b7ff60d75871e21c0501f3039629584aa", kill_on_drop: false }` [INFO] [stdout] fc94b0dafe905065fe9dfbd75b185c6b7ff60d75871e21c0501f3039629584aa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+eb171a227f9e5de5d376b6edb56b174bc8235fb3" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 70c934d43d7d17ba250f9340a0f7eb2f7255f06e7ac88289e54f47ecad4f667d [INFO] running `Command { std: "docker" "start" "-a" "70c934d43d7d17ba250f9340a0f7eb2f7255f06e7ac88289e54f47ecad4f667d", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling quote v1.0.42 [INFO] [stderr] Compiling unicode-ident v1.0.22 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling find-msvc-tools v0.1.5 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling log v0.4.28 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling bytes v1.11.0 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling icu_properties_data v2.1.1 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling cc v1.2.48 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling zerocopy v0.8.31 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling rustls-pki-types v1.13.1 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling tracing-core v0.1.35 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling rustls v0.22.4 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling flate2 v1.1.5 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling yeslogic-fontconfig-sys v6.0.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Compiling http v0.2.12 [INFO] [stderr] Compiling pathfinder_simd v0.5.5 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling indexmap v2.12.1 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling webpki-roots v1.0.4 [INFO] [stderr] Compiling libloading v0.8.9 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling socket2 v0.6.1 [INFO] [stderr] Compiling mio v1.1.0 [INFO] [stderr] Compiling socket2 v0.5.10 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling freetype-sys v0.20.1 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling color_quant v1.1.0 [INFO] [stderr] Compiling iana-time-zone v0.1.64 [INFO] [stderr] Compiling rustls-pemfile v1.0.4 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling http-body v0.4.6 [INFO] [stderr] Compiling png v0.17.16 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling dlib v0.5.2 [INFO] [stderr] Compiling webpki-roots v0.26.11 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling font-kit v0.14.3 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling jpeg-decoder v0.3.2 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling webpki-roots v0.25.4 [INFO] [stderr] Compiling bytemuck v1.24.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling sync_wrapper v0.1.2 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling serenity v0.12.4 [INFO] [stderr] Compiling time-core v0.1.6 [INFO] [stderr] Compiling weezl v0.1.12 [INFO] [stderr] Compiling pathfinder_geometry v0.5.1 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling gif v0.12.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling image v0.24.9 [INFO] [stderr] Compiling fxhash v0.2.1 [INFO] [stderr] Compiling float-ord v0.3.2 [INFO] [stderr] Compiling deranged v0.5.5 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling typemap_rev v0.3.0 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling ttf-parser v0.20.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling plotters-bitmap v0.3.7 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling rustls-webpki v0.101.7 [INFO] [stderr] Compiling sct v0.7.1 [INFO] [stderr] Compiling rustls-webpki v0.102.8 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling tracing v0.1.43 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling poise_macros v0.6.1 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling time v0.3.44 [INFO] [stderr] Compiling secrecy v0.8.0 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling serde_cow v0.1.2 [INFO] [stderr] Compiling dashmap v5.5.3 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling tungstenite v0.21.0 [INFO] [stderr] Compiling tokio-util v0.7.17 [INFO] [stderr] Compiling tokio-rustls v0.24.1 [INFO] [stderr] Compiling tokio-rustls v0.25.0 [INFO] [stderr] Compiling tokio-tungstenite v0.21.0 [INFO] [stderr] Compiling h2 v0.3.27 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling hyper-rustls v0.24.2 [INFO] [stderr] Compiling reqwest v0.11.27 [INFO] [stderr] Compiling poise v0.6.1 [INFO] [stderr] Compiling louisbotrs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `config::Config` and `database::epoch::LouisEpoch` [INFO] [stdout] --> src/analysis/color.rs:2:13 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{config::Config, database::epoch::LouisEpoch}; [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: `hash_map::Entry` [INFO] [stdout] --> src/analysis/color.rs:5:28 [INFO] [stdout] | [INFO] [stdout] 5 | collections::{HashMap, hash_map::Entry}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `slice` [INFO] [stdout] --> src/analysis/plotting/plot.rs:1:43 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{env, ops::Range, path::PathBuf, slice}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/database/server.rs:2:28 [INFO] [stdout] | [INFO] [stdout] 2 | collections::{HashMap, HashSet, hash_map::Entry}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `server` [INFO] [stdout] --> src/database/server.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | server, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `element::Drawable` [INFO] [stdout] --> src/analysis/plotting/plot.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use plotters::{element::Drawable, prelude::*}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/database/server.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | let mut file = [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: unused variable: `vacant_entry` [INFO] [stdout] --> src/database/server.rs:218:27 [INFO] [stdout] | [INFO] [stdout] 218 | Entry::Vacant(vacant_entry) => ServerFile::load_serverfile(&self.server_name, year), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vacant_entry` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ColorConfig` is never constructed [INFO] [stdout] --> src/analysis/color.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct ColorConfig { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `flush`, `get_color`, `set_color`, and `get_colors` are never used [INFO] [stdout] --> src/analysis/color.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl ColorConfig { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 15 | pub fn new(database_directory: &Path) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn flush(&self) -> Result<(), String> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn get_color(&self, user_id: usize) -> Option<&String> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | fn set_color(&mut self, user_id: usize, color: &str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | fn get_colors<'a>(&self, users: &'a [User]) -> Vec<(&'a User, String)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Slice` is never used [INFO] [stdout] --> src/analysis/plotting/plot.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub type Slice<'a> = (&'a str, RGBColor, f64); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `slice_unzip` is never used [INFO] [stdout] --> src/analysis/plotting/plot.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn slice_unzip<'a>(slices: &'a [Slice]) -> (Vec<&'a str>, Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pie_chart` is never used [INFO] [stdout] --> src/analysis/plotting/plot.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn pie_chart<'a>(slices: &'a [Slice]) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Line` is never used [INFO] [stdout] --> src/analysis/plotting/plot.rs:38:6 [INFO] [stdout] | [INFO] [stdout] 38 | type Line<'a> = (&'a str, RGBColor, Vec<(LouisEpoch, usize)>); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `line_chart` is never used [INFO] [stdout] --> src/analysis/plotting/plot.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn line_chart<'a>( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLOT_DIMENSIONS` is never used [INFO] [stdout] --> src/analysis/plotting/plot.rs:74:7 [INFO] [stdout] | [INFO] [stdout] 74 | const PLOT_DIMENSIONS: (u32, u32) = (100, 100); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_plot_path` is never used [INFO] [stdout] --> src/analysis/plotting/plot.rs:79:4 [INFO] [stdout] | [INFO] [stdout] 79 | fn get_plot_path() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hexcolor_to_rgbcolor` is never used [INFO] [stdout] --> src/analysis/plotting/plot.rs:92:4 [INFO] [stdout] | [INFO] [stdout] 92 | fn hexcolor_to_rgbcolor(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Config` is never constructed [INFO] [stdout] --> src/config.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct Config {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Day` is never constructed [INFO] [stdout] --> src/database/day.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Day { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/database/day.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Day { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 15 | pub fn new(date: f64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn new_with_epoch(epoch: LouisEpoch) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn new_now() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn new_from_timeof(t: LouisEpoch) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn increment(&mut self, hour: usize, value: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn total(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn total_reactions_of(&self, reaction: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn increment_reaction(&mut self, reaction: &str, hour: usize, count: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | fn get_reaction(&self, reaction: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | fn avg_hours(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn avg_reactions_of(&self, reaction: &str) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_empty_hours` is never used [INFO] [stdout] --> src/database/day.rs:78:4 [INFO] [stdout] | [INFO] [stdout] 78 | fn generate_empty_hours() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LouisEpoch` is never used [INFO] [stdout] --> src/database/epoch.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub type LouisEpoch = u64; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `UnixEpoch` is never used [INFO] [stdout] --> src/database/epoch.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub type UnixEpoch = DateTime; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LOUIS_EPOCH` is never used [INFO] [stdout] --> src/database/epoch.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub static LOUIS_EPOCH: LazyLock = [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `now` is never used [INFO] [stdout] --> src/database/epoch.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn now() -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `now_louis_epoch` is never used [INFO] [stdout] --> src/database/epoch.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn now_louis_epoch() -> LouisEpoch { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `epoch_to_unix` is never used [INFO] [stdout] --> src/database/epoch.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn epoch_to_unix(e: LouisEpoch) -> UnixEpoch { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unix_to_epoch` is never used [INFO] [stdout] --> src/database/epoch.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn unix_to_epoch(u: &UnixEpoch) -> LouisEpoch { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `UserUpdate` is never used [INFO] [stdout] --> src/database/server.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | pub type UserUpdate<'a> = (usize, &'a str, usize, &'a [(&'a str, usize)], UnixEpoch); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerFileInit` is never constructed [INFO] [stdout] --> src/database/server.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | struct ServerFileInit { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_server_file` and `to_server_file` are never used [INFO] [stdout] --> src/database/server.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 26 | impl ServerFileInit { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 27 | fn from_server_file(from: ServerFile) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | fn to_server_file(self, path: PathBuf, read_only: bool) -> ServerFile { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Meta` is never constructed [INFO] [stdout] --> src/database/server.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | struct Meta { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `new_now` are never used [INFO] [stdout] --> src/database/server.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 49 | impl Meta { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 50 | fn new(first_day: u64, last_day: u64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | fn new_now() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerFile` is never constructed [INFO] [stdout] --> src/database/server.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct ServerFile { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/database/server.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl ServerFile { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 69 | pub fn new(path: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn load(path: &Path, read_only: bool) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | fn flush(&self) -> Result<(), String> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | fn get_user(&self, id: usize) -> Option<&User> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn get_mut_user(&mut self, id: usize) -> Option<&mut User> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | fn create_user(&mut self, id: usize, name: &str) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | fn get_or_create_user(&mut self, id: usize, name: &str) -> &mut User { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn get_all_users(&self) -> Vec<&User> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | fn get_all_reactions(&self) -> &[String] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | fn update_last_day(&mut self, day: LouisEpoch) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | fn update_last_day_now(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn file_name(server_name: &str, year: &str) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | fn file_path(server_name: &str, year: &str) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | fn update_message_count(&mut self, user_id: usize, name: &str, date: &UnixEpoch, count: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | fn update_reaction_count( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | fn load_serverfile(server_name: &str, year: usize) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerFiles` is never constructed [INFO] [stdout] --> src/database/server.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | struct ServerFiles { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `open_server`, `open_server_ro`, `open_server_to_database`, and `open_server_owned` are never used [INFO] [stdout] --> src/database/server.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 168 | impl<'a> ServerFiles { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 169 | fn new(directory: &Path, server_name: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn open_server(&'a mut self, year: usize) -> Result<&'a mut ServerFile, String> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | fn open_server_ro(&'a mut self, year: usize) -> Result<&'a ServerFile, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | fn open_server_to_database(&mut self, year: usize) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | fn open_server_owned(&mut self, year: usize) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerDatabase` is never constructed [INFO] [stdout] --> src/database/server.rs:223:12 [INFO] [stdout] | [INFO] [stdout] 223 | pub struct ServerDatabase { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `update_users`, and `collect_data` are never used [INFO] [stdout] --> src/database/server.rs:228:12 [INFO] [stdout] | [INFO] [stdout] 227 | impl ServerDatabase { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 228 | pub fn new(path: &Path) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn update_users( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn collect_data( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BatchCache` is never constructed [INFO] [stdout] --> src/database/server.rs:308:12 [INFO] [stdout] | [INFO] [stdout] 308 | pub struct BatchCache { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `flush`, `log_pointer`, and `clear` are never used [INFO] [stdout] --> src/database/server.rs:314:8 [INFO] [stdout] | [INFO] [stdout] 313 | impl BatchCache { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 314 | fn new(path: &Path) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 332 | fn flush(&self) -> Result<(), String> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 339 | fn log_pointer(&mut self, server_id: usize, channel_id: usize, ptr: f64) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 349 | fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `User` is never constructed [INFO] [stdout] --> src/database/user.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct User { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/database/user.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl User { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 14 | pub fn new(id: u64, name: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | fn get_day(&self, day: u64) -> Option<&Day> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn update_message_count(&mut self, day: LouisEpoch, hour: usize, messages: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | fn create_new_day(&mut self, day: LouisEpoch) -> &mut Day { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn update_reaction_count( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn combine(self, other: Self, min: Option, max: Option) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn filter(mut self, min: Option, max: Option) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | fn sum(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | fn sum_reactions(&self, reaction: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/analysis/plotting/plot.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | root.fill(&WHITE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 30 | let _ = root.fill(&WHITE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/analysis/plotting/plot.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | root.draw(&pie); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 32 | let _ = root.draw(&pie); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/database/server.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | self.open_server_to_database(year); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 203 | let _ = self.open_server_to_database(year); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 05s [INFO] running `Command { std: "docker" "inspect" "70c934d43d7d17ba250f9340a0f7eb2f7255f06e7ac88289e54f47ecad4f667d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "70c934d43d7d17ba250f9340a0f7eb2f7255f06e7ac88289e54f47ecad4f667d", kill_on_drop: false }` [INFO] [stdout] 70c934d43d7d17ba250f9340a0f7eb2f7255f06e7ac88289e54f47ecad4f667d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+eb171a227f9e5de5d376b6edb56b174bc8235fb3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e6a4a4c78064450b67c974d9d961143f2f376104bd806f47fd25ed76b157e107 [INFO] running `Command { std: "docker" "start" "-a" "e6a4a4c78064450b67c974d9d961143f2f376104bd806f47fd25ed76b157e107", kill_on_drop: false }` [INFO] [stderr] Compiling louisbotrs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `config::Config` and `database::epoch::LouisEpoch` [INFO] [stdout] --> src/analysis/color.rs:2:13 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{config::Config, database::epoch::LouisEpoch}; [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: `hash_map::Entry` [INFO] [stdout] --> src/analysis/color.rs:5:28 [INFO] [stdout] | [INFO] [stdout] 5 | collections::{HashMap, hash_map::Entry}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `slice` [INFO] [stdout] --> src/analysis/plotting/plot.rs:1:43 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{env, ops::Range, path::PathBuf, slice}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/database/server.rs:2:28 [INFO] [stdout] | [INFO] [stdout] 2 | collections::{HashMap, HashSet, hash_map::Entry}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `server` [INFO] [stdout] --> src/database/server.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | server, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `element::Drawable` [INFO] [stdout] --> src/analysis/plotting/plot.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use plotters::{element::Drawable, prelude::*}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/database/server.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | let mut file = [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: unused variable: `vacant_entry` [INFO] [stdout] --> src/database/server.rs:218:27 [INFO] [stdout] | [INFO] [stdout] 218 | Entry::Vacant(vacant_entry) => ServerFile::load_serverfile(&self.server_name, year), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vacant_entry` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ColorConfig` is never constructed [INFO] [stdout] --> src/analysis/color.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct ColorConfig { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `flush`, `get_color`, `set_color`, and `get_colors` are never used [INFO] [stdout] --> src/analysis/color.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl ColorConfig { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 15 | pub fn new(database_directory: &Path) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn flush(&self) -> Result<(), String> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn get_color(&self, user_id: usize) -> Option<&String> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | fn set_color(&mut self, user_id: usize, color: &str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | fn get_colors<'a>(&self, users: &'a [User]) -> Vec<(&'a User, String)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Slice` is never used [INFO] [stdout] --> src/analysis/plotting/plot.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub type Slice<'a> = (&'a str, RGBColor, f64); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `slice_unzip` is never used [INFO] [stdout] --> src/analysis/plotting/plot.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn slice_unzip<'a>(slices: &'a [Slice]) -> (Vec<&'a str>, Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pie_chart` is never used [INFO] [stdout] --> src/analysis/plotting/plot.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn pie_chart<'a>(slices: &'a [Slice]) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Line` is never used [INFO] [stdout] --> src/analysis/plotting/plot.rs:38:6 [INFO] [stdout] | [INFO] [stdout] 38 | type Line<'a> = (&'a str, RGBColor, Vec<(LouisEpoch, usize)>); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `line_chart` is never used [INFO] [stdout] --> src/analysis/plotting/plot.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn line_chart<'a>( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLOT_DIMENSIONS` is never used [INFO] [stdout] --> src/analysis/plotting/plot.rs:74:7 [INFO] [stdout] | [INFO] [stdout] 74 | const PLOT_DIMENSIONS: (u32, u32) = (100, 100); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_plot_path` is never used [INFO] [stdout] --> src/analysis/plotting/plot.rs:79:4 [INFO] [stdout] | [INFO] [stdout] 79 | fn get_plot_path() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hexcolor_to_rgbcolor` is never used [INFO] [stdout] --> src/analysis/plotting/plot.rs:92:4 [INFO] [stdout] | [INFO] [stdout] 92 | fn hexcolor_to_rgbcolor(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Config` is never constructed [INFO] [stdout] --> src/config.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct Config {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Day` is never constructed [INFO] [stdout] --> src/database/day.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Day { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/database/day.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Day { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 15 | pub fn new(date: f64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn new_with_epoch(epoch: LouisEpoch) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn new_now() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn new_from_timeof(t: LouisEpoch) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn increment(&mut self, hour: usize, value: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn total(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn total_reactions_of(&self, reaction: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn increment_reaction(&mut self, reaction: &str, hour: usize, count: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | fn get_reaction(&self, reaction: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | fn avg_hours(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn avg_reactions_of(&self, reaction: &str) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_empty_hours` is never used [INFO] [stdout] --> src/database/day.rs:78:4 [INFO] [stdout] | [INFO] [stdout] 78 | fn generate_empty_hours() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LouisEpoch` is never used [INFO] [stdout] --> src/database/epoch.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub type LouisEpoch = u64; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `UnixEpoch` is never used [INFO] [stdout] --> src/database/epoch.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub type UnixEpoch = DateTime; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LOUIS_EPOCH` is never used [INFO] [stdout] --> src/database/epoch.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub static LOUIS_EPOCH: LazyLock = [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `now` is never used [INFO] [stdout] --> src/database/epoch.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn now() -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `now_louis_epoch` is never used [INFO] [stdout] --> src/database/epoch.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn now_louis_epoch() -> LouisEpoch { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `epoch_to_unix` is never used [INFO] [stdout] --> src/database/epoch.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn epoch_to_unix(e: LouisEpoch) -> UnixEpoch { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unix_to_epoch` is never used [INFO] [stdout] --> src/database/epoch.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn unix_to_epoch(u: &UnixEpoch) -> LouisEpoch { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `UserUpdate` is never used [INFO] [stdout] --> src/database/server.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | pub type UserUpdate<'a> = (usize, &'a str, usize, &'a [(&'a str, usize)], UnixEpoch); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerFileInit` is never constructed [INFO] [stdout] --> src/database/server.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | struct ServerFileInit { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_server_file` and `to_server_file` are never used [INFO] [stdout] --> src/database/server.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 26 | impl ServerFileInit { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 27 | fn from_server_file(from: ServerFile) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | fn to_server_file(self, path: PathBuf, read_only: bool) -> ServerFile { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Meta` is never constructed [INFO] [stdout] --> src/database/server.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | struct Meta { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `new_now` are never used [INFO] [stdout] --> src/database/server.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 49 | impl Meta { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 50 | fn new(first_day: u64, last_day: u64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | fn new_now() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerFile` is never constructed [INFO] [stdout] --> src/database/server.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct ServerFile { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/database/server.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl ServerFile { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 69 | pub fn new(path: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn load(path: &Path, read_only: bool) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | fn flush(&self) -> Result<(), String> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | fn get_user(&self, id: usize) -> Option<&User> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn get_mut_user(&mut self, id: usize) -> Option<&mut User> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | fn create_user(&mut self, id: usize, name: &str) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | fn get_or_create_user(&mut self, id: usize, name: &str) -> &mut User { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn get_all_users(&self) -> Vec<&User> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | fn get_all_reactions(&self) -> &[String] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | fn update_last_day(&mut self, day: LouisEpoch) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | fn update_last_day_now(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn file_name(server_name: &str, year: &str) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | fn file_path(server_name: &str, year: &str) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | fn update_message_count(&mut self, user_id: usize, name: &str, date: &UnixEpoch, count: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | fn update_reaction_count( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | fn load_serverfile(server_name: &str, year: usize) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerFiles` is never constructed [INFO] [stdout] --> src/database/server.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | struct ServerFiles { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `open_server`, `open_server_ro`, `open_server_to_database`, and `open_server_owned` are never used [INFO] [stdout] --> src/database/server.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 168 | impl<'a> ServerFiles { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 169 | fn new(directory: &Path, server_name: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn open_server(&'a mut self, year: usize) -> Result<&'a mut ServerFile, String> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | fn open_server_ro(&'a mut self, year: usize) -> Result<&'a ServerFile, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | fn open_server_to_database(&mut self, year: usize) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | fn open_server_owned(&mut self, year: usize) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerDatabase` is never constructed [INFO] [stdout] --> src/database/server.rs:223:12 [INFO] [stdout] | [INFO] [stdout] 223 | pub struct ServerDatabase { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `update_users`, and `collect_data` are never used [INFO] [stdout] --> src/database/server.rs:228:12 [INFO] [stdout] | [INFO] [stdout] 227 | impl ServerDatabase { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 228 | pub fn new(path: &Path) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn update_users( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn collect_data( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BatchCache` is never constructed [INFO] [stdout] --> src/database/server.rs:308:12 [INFO] [stdout] | [INFO] [stdout] 308 | pub struct BatchCache { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `flush`, `log_pointer`, and `clear` are never used [INFO] [stdout] --> src/database/server.rs:314:8 [INFO] [stdout] | [INFO] [stdout] 313 | impl BatchCache { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 314 | fn new(path: &Path) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 332 | fn flush(&self) -> Result<(), String> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 339 | fn log_pointer(&mut self, server_id: usize, channel_id: usize, ptr: f64) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 349 | fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `User` is never constructed [INFO] [stdout] --> src/database/user.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct User { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/database/user.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl User { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 14 | pub fn new(id: u64, name: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | fn get_day(&self, day: u64) -> Option<&Day> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn update_message_count(&mut self, day: LouisEpoch, hour: usize, messages: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | fn create_new_day(&mut self, day: LouisEpoch) -> &mut Day { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn update_reaction_count( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn combine(self, other: Self, min: Option, max: Option) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn filter(mut self, min: Option, max: Option) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | fn sum(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | fn sum_reactions(&self, reaction: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/analysis/plotting/plot.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | root.fill(&WHITE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 30 | let _ = root.fill(&WHITE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/analysis/plotting/plot.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | root.draw(&pie); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 32 | let _ = root.draw(&pie); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/database/server.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | self.open_server_to_database(year); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 203 | let _ = self.open_server_to_database(year); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.72s [INFO] running `Command { std: "docker" "inspect" "e6a4a4c78064450b67c974d9d961143f2f376104bd806f47fd25ed76b157e107", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e6a4a4c78064450b67c974d9d961143f2f376104bd806f47fd25ed76b157e107", kill_on_drop: false }` [INFO] [stdout] e6a4a4c78064450b67c974d9d961143f2f376104bd806f47fd25ed76b157e107