[INFO] cloning repository https://github.com/ReeceGibbo/gibmon [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ReeceGibbo/gibmon" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FReeceGibbo%2Fgibmon", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FReeceGibbo%2Fgibmon'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 651cc95b79923ea5a81d431211bf1463f28cfdb3 [INFO] testing ReeceGibbo/gibmon against beta-2025-04-13 for beta-1.87-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FReeceGibbo%2Fgibmon" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ReeceGibbo/gibmon on toolchain beta-2025-04-13 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-04-13" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/ReeceGibbo/gibmon [INFO] finished tweaking git repo https://github.com/ReeceGibbo/gibmon [INFO] tweaked toml for git repo https://github.com/ReeceGibbo/gibmon written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/ReeceGibbo/gibmon 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" "+beta-2025-04-13" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-04-13" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5662880539d9c23f7028dff8d6d61c984b8e24948732c44c083da7f02f5cd4e5 [INFO] running `Command { std: "docker" "start" "-a" "5662880539d9c23f7028dff8d6d61c984b8e24948732c44c083da7f02f5cd4e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5662880539d9c23f7028dff8d6d61c984b8e24948732c44c083da7f02f5cd4e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5662880539d9c23f7028dff8d6d61c984b8e24948732c44c083da7f02f5cd4e5", kill_on_drop: false }` [INFO] [stdout] 5662880539d9c23f7028dff8d6d61c984b8e24948732c44c083da7f02f5cd4e5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-04-13" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 13921a3f075fa81f37a3dded6ceb63be72e19f1c9fd3f46efa3c6677bb78222e [INFO] running `Command { std: "docker" "start" "-a" "13921a3f075fa81f37a3dded6ceb63be72e19f1c9fd3f46efa3c6677bb78222e", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.92 [INFO] [stderr] Compiling unicode-ident v1.0.14 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling libc v0.2.169 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling libm v0.2.11 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling pkg-config v0.3.31 [INFO] [stderr] Compiling once_cell v1.20.2 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling pin-project-lite v0.2.15 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling itoa v1.0.14 [INFO] [stderr] Compiling simd-adler32 v0.3.7 [INFO] [stderr] Compiling bytes v1.9.0 [INFO] [stderr] Compiling writeable v0.5.5 [INFO] [stderr] Compiling litemap v0.7.4 [INFO] [stderr] Compiling cc v1.2.5 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling icu_locid_transform_data v1.5.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling adler2 v2.0.0 [INFO] [stderr] Compiling bytemuck v1.20.0 [INFO] [stderr] Compiling anyhow v1.0.94 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling miniz_oxide v0.8.2 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling hashbrown v0.15.2 [INFO] [stderr] Compiling openssl v0.10.68 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling aligned-vec v0.5.0 [INFO] [stderr] Compiling icu_properties_data v1.5.0 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling bitflags v2.6.0 [INFO] [stderr] Compiling syn v2.0.90 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling built v0.7.5 [INFO] [stderr] Compiling serde v1.0.216 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling http v0.2.12 [INFO] [stderr] Compiling tracing-core v0.1.33 [INFO] [stderr] Compiling crc32fast v1.4.2 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling native-tls v0.2.12 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling httparse v1.9.5 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling v_frame v0.3.8 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling rav1e v0.7.1 [INFO] [stderr] Compiling indexmap v2.7.0 [INFO] [stderr] Compiling icu_normalizer_data v1.5.0 [INFO] [stderr] Compiling utf16_iter v1.0.5 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling write16 v1.0.0 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling flate2 v1.0.35 [INFO] [stderr] Compiling simd_helpers v0.1.0 [INFO] [stderr] Compiling socket2 v0.5.8 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling openssl-sys v0.9.104 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling libudev-sys v0.1.4 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling safe_arch v0.7.2 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling matrixmultiply v0.3.9 [INFO] [stderr] Compiling imgref v1.11.0 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Compiling new_debug_unreachable v1.0.6 [INFO] [stderr] Compiling quick-error v2.0.1 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling ryu v1.0.18 [INFO] [stderr] Compiling noop_proc_macro v0.3.0 [INFO] [stderr] Compiling weezl v0.1.8 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling bitstream-io v2.6.0 [INFO] [stderr] Compiling openssl-probe v0.1.5 [INFO] [stderr] Compiling loop9 v0.1.5 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling form_urlencoded v1.2.1 [INFO] [stderr] Compiling wide v0.7.30 [INFO] [stderr] Compiling http-body v0.4.6 [INFO] [stderr] Compiling approx v0.5.1 [INFO] [stderr] Compiling avif-serialize v0.8.2 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling fdeflate v0.3.7 [INFO] [stderr] Compiling zune-inflate v0.2.54 [INFO] [stderr] Compiling half v2.4.1 [INFO] [stderr] Compiling serde_json v1.0.133 [INFO] [stderr] Compiling rgb v0.8.50 [INFO] [stderr] Compiling ttf-parser v0.25.1 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling bit_field v0.10.2 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling lebe v0.5.2 [INFO] [stderr] Compiling jpeg-decoder v0.3.1 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling zune-core v0.4.12 [INFO] [stderr] Compiling byteorder-lite v0.1.0 [INFO] [stderr] Compiling color_quant v1.1.0 [INFO] [stderr] Compiling gif v0.13.1 [INFO] [stderr] Compiling exr v1.73.0 [INFO] [stderr] Compiling png v0.17.15 [INFO] [stderr] Compiling zune-jpeg v0.4.14 [INFO] [stderr] Compiling image-webp v0.2.0 [INFO] [stderr] Compiling tiff v0.9.1 [INFO] [stderr] Compiling av1-grain v0.2.3 [INFO] [stderr] Compiling maybe-rayon v0.1.1 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling qoi v0.4.1 [INFO] [stderr] Compiling ab_glyph_rasterizer v0.1.8 [INFO] [stderr] Compiling base64 v0.21.7 [INFO] [stderr] Compiling num v0.4.3 [INFO] [stderr] Compiling libudev v0.3.0 [INFO] [stderr] Compiling nix v0.26.4 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling ipnet v2.10.1 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling sync_wrapper v0.1.2 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling rustls-pemfile v1.0.4 [INFO] [stderr] Compiling simba v0.8.1 [INFO] [stderr] Compiling owned_ttf_parser v0.25.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.5 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling profiling-procmacros v1.0.16 [INFO] [stderr] Compiling serde_derive v1.0.216 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling profiling v1.0.16 [INFO] [stderr] Compiling arg_enum_proc_macro v0.3.4 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling ab_glyph v0.2.29 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling tokio v1.42.0 [INFO] [stderr] Compiling zerofrom v0.1.5 [INFO] [stderr] Compiling yoke v0.7.5 [INFO] [stderr] Compiling unescaper v0.1.5 [INFO] [stderr] Compiling zerovec v0.10.4 [INFO] [stderr] Compiling ppv-lite86 v0.2.20 [INFO] [stderr] Compiling serialport v4.6.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling tinystr v0.7.6 [INFO] [stderr] Compiling icu_collections v1.5.0 [INFO] [stderr] Compiling icu_locid v1.5.0 [INFO] [stderr] Compiling rand_distr v0.4.3 [INFO] [stderr] Compiling icu_provider v1.5.0 [INFO] [stderr] Compiling icu_locid_transform v1.5.0 [INFO] [stderr] Compiling icu_properties v1.5.1 [INFO] [stderr] Compiling nalgebra v0.32.6 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling icu_normalizer v1.5.0 [INFO] [stderr] Compiling tokio-util v0.7.13 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling idna_adapter v1.2.0 [INFO] [stderr] Compiling h2 v0.3.26 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling ravif v0.11.11 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling image v0.25.5 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling hyper-tls v0.5.0 [INFO] [stderr] Compiling reqwest v0.11.27 [INFO] [stderr] Compiling imageproc v0.25.0 [INFO] [stderr] Compiling gibmon v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::image_extensions::load_png_to_rgb565` [INFO] [stdout] --> src/device.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::image_extensions::load_png_to_rgb565; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Rgba` [INFO] [stdout] --> src/image_extensions.rs:3:47 [INFO] [stdout] | [INFO] [stdout] 3 | use image::{self, ImageBuffer, Rgb, RgbImage, Rgba}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/packets.rs:74:17 [INFO] [stdout] | [INFO] [stdout] 74 | packet[0] = (level_absolute >> 2); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 74 - packet[0] = (level_absolute >> 2); [INFO] [stdout] 74 + packet[0] = level_absolute >> 2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/packets.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | packet[1] = ((level_absolute & 0x03) << 6); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 75 - packet[1] = ((level_absolute & 0x03) << 6); [INFO] [stdout] 75 + packet[1] = (level_absolute & 0x03) << 6; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/spotify.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::r#virtual::display::Display` [INFO] [stdout] --> src/virtual/renderable.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#virtual::display::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::gibmon_config::load_config` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::gibmon_config::load_config; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `create_playing_bar_to_rgb565`, `create_text_image`, and `load_image_from_url_to_rgb565` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | create_playing_bar_to_rgb565, create_text_image, load_image_from_url_to_rgb565, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fetch_currently_playing` and `fetch_spotify_token` [INFO] [stdout] --> src/main.rs:14:22 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::spotify::{fetch_currently_playing, fetch_spotify_token}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GenericImageView` and `Pixel` [INFO] [stdout] --> src/main.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | use image::{GenericImageView, Pixel}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/device.rs:98:23 [INFO] [stdout] | [INFO] [stdout] 98 | .map_err(|err| DeviceError::PortOpenError)?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `order` [INFO] [stdout] --> src/virtual/display.rs:82:14 [INFO] [stdout] | [INFO] [stdout] 82 | for (order, layer) in layers { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Landscape` and `ReversePortrait` are never constructed [INFO] [stdout] --> src/device.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Orientation { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 37 | Portrait, [INFO] [stdout] 38 | Landscape, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 39 | ReversePortrait, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `screen_black`, `screen_white`, and `screen_off` are never used [INFO] [stdout] --> src/device.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl Device { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn screen_black(&mut self) -> Result<(), DeviceError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn screen_white(&mut self) -> Result<(), DeviceError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn screen_off(&mut self) -> Result<(), DeviceError> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `Spotify` is never read [INFO] [stdout] --> src/gibmon_config.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Config { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 6 | Spotify: SpotifyConfig, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_spotify_config` is never used [INFO] [stdout] --> src/gibmon_config.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Config { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 10 | pub fn get_spotify_config(&mut self) -> &SpotifyConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `ClientId` and `ClientSecret` are never read [INFO] [stdout] --> src/gibmon_config.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct SpotifyConfig { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 17 | pub ClientId: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 18 | pub ClientSecret: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_config` is never used [INFO] [stdout] --> src/gibmon_config.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn load_config(file_path: &str) -> Config { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_to_rgb565` is never used [INFO] [stdout] --> src/image_extensions.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn convert_to_rgb565( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_png_to_rgb565` is never used [INFO] [stdout] --> src/image_extensions.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn load_png_to_rgb565>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_image_from_url_to_rgb565` is never used [INFO] [stdout] --> src/image_extensions.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | pub async fn load_image_from_url_to_rgb565( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_playing_bar_to_rgb565` is never used [INFO] [stdout] --> src/image_extensions.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn create_playing_bar_to_rgb565( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_text_image` is never used [INFO] [stdout] --> src/image_extensions.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn create_text_image( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ScreenWhite`, `ScreenBlack`, and `ScreenOff` are never constructed [INFO] [stdout] --> src/packets.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 3 | enum PacketIds { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 4 | Hello, [INFO] [stdout] 5 | ScreenWhite, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 6 | ScreenBlack, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 7 | ScreenOff, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_screen_white_packet` is never used [INFO] [stdout] --> src/packets.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn create_screen_white_packet() -> [u8; 6] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_screen_black_packet` is never used [INFO] [stdout] --> src/packets.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn create_screen_black_packet() -> [u8; 6] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_screen_off_packet` is never used [INFO] [stdout] --> src/packets.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn create_screen_off_packet() -> [u8; 6] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `access_token`, `token_type`, `expires_in`, and `refresh_token` are never read [INFO] [stdout] --> src/spotify.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct SpotifyTokenResponse { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] 10 | pub access_token: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 11 | pub token_type: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 12 | pub expires_in: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 13 | pub refresh_token: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SpotifyTokenResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_spotify_token` is never used [INFO] [stdout] --> src/spotify.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | pub async fn fetch_spotify_token( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `item`, `is_playing`, and `progress_ms` are never read [INFO] [stdout] --> src/spotify.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct SpotifyCurrentlyPlaying { [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] 71 | pub item: Option, // The track currently playing, if any [INFO] [stdout] | ^^^^ [INFO] [stdout] 72 | pub is_playing: bool, // Whether something is playing [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 73 | pub progress_ms: Option, // Progress into the currently playing track [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SpotifyCurrentlyPlaying` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `duration_ms`, `artists`, `album`, and `external_urls` are never read [INFO] [stdout] --> src/spotify.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct Track { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 78 | pub name: String, // Track name [INFO] [stdout] | ^^^^ [INFO] [stdout] 79 | pub duration_ms: u64, // Track duration [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 80 | pub artists: Vec, // List of artists [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 81 | pub album: Album, // Album details [INFO] [stdout] | ^^^^^ [INFO] [stdout] 82 | pub external_urls: ExternalUrls, // External Spotify links [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Track` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `external_urls` are never read [INFO] [stdout] --> src/spotify.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 86 | pub struct Artist { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 87 | pub name: String, // Artist name [INFO] [stdout] | ^^^^ [INFO] [stdout] 88 | pub external_urls: ExternalUrls, // External Spotify links [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Artist` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `images`, and `external_urls` are never read [INFO] [stdout] --> src/spotify.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct Album { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 93 | pub name: String, // Album name [INFO] [stdout] | ^^^^ [INFO] [stdout] 94 | pub images: Vec, // Album cover images [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 95 | pub external_urls: ExternalUrls, // External Spotify links [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Album` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `spotify` is never read [INFO] [stdout] --> src/spotify.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 99 | pub struct ExternalUrls { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 100 | pub spotify: String, // Spotify URL [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExternalUrls` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `url`, `height`, and `width` are never read [INFO] [stdout] --> src/spotify.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 104 | pub struct Image { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 105 | pub url: String, // Image URL [INFO] [stdout] | ^^^ [INFO] [stdout] 106 | pub height: Option, // Image height [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 107 | pub width: Option, // Image width [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Image` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_currently_playing` is never used [INFO] [stdout] --> src/spotify.rs:110:14 [INFO] [stdout] | [INFO] [stdout] 110 | pub async fn fetch_currently_playing( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rects_intersect` is never used [INFO] [stdout] --> src/virtual/display.rs:112:4 [INFO] [stdout] | [INFO] [stdout] 112 | fn rects_intersect(x1: u32, y1: u32, w1: u32, h1: u32, x2: u32, y2: u32, w2: u32, h2: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Spotify` should have a snake case name [INFO] [stdout] --> src/gibmon_config.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Spotify: SpotifyConfig, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `spotify` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `ClientId` should have a snake case name [INFO] [stdout] --> src/gibmon_config.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub ClientId: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `client_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `ClientSecret` should have a snake case name [INFO] [stdout] --> src/gibmon_config.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub ClientSecret: String, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `client_secret` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 39s [INFO] running `Command { std: "docker" "inspect" "13921a3f075fa81f37a3dded6ceb63be72e19f1c9fd3f46efa3c6677bb78222e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "13921a3f075fa81f37a3dded6ceb63be72e19f1c9fd3f46efa3c6677bb78222e", kill_on_drop: false }` [INFO] [stdout] 13921a3f075fa81f37a3dded6ceb63be72e19f1c9fd3f46efa3c6677bb78222e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-04-13" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 64d7ad437a8043cb826a7f9d6b26b179313fd8b313e9ff32ab80b1b198ef3a44 [INFO] running `Command { std: "docker" "start" "-a" "64d7ad437a8043cb826a7f9d6b26b179313fd8b313e9ff32ab80b1b198ef3a44", kill_on_drop: false }` [INFO] [stderr] Compiling gibmon v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::image_extensions::load_png_to_rgb565` [INFO] [stdout] --> src/device.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::image_extensions::load_png_to_rgb565; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Rgba` [INFO] [stdout] --> src/image_extensions.rs:3:47 [INFO] [stdout] | [INFO] [stdout] 3 | use image::{self, ImageBuffer, Rgb, RgbImage, Rgba}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/packets.rs:74:17 [INFO] [stdout] | [INFO] [stdout] 74 | packet[0] = (level_absolute >> 2); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 74 - packet[0] = (level_absolute >> 2); [INFO] [stdout] 74 + packet[0] = level_absolute >> 2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/packets.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | packet[1] = ((level_absolute & 0x03) << 6); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 75 - packet[1] = ((level_absolute & 0x03) << 6); [INFO] [stdout] 75 + packet[1] = (level_absolute & 0x03) << 6; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/spotify.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::r#virtual::display::Display` [INFO] [stdout] --> src/virtual/renderable.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#virtual::display::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::gibmon_config::load_config` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::gibmon_config::load_config; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `create_playing_bar_to_rgb565`, `create_text_image`, and `load_image_from_url_to_rgb565` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | create_playing_bar_to_rgb565, create_text_image, load_image_from_url_to_rgb565, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fetch_currently_playing` and `fetch_spotify_token` [INFO] [stdout] --> src/main.rs:14:22 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::spotify::{fetch_currently_playing, fetch_spotify_token}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GenericImageView` and `Pixel` [INFO] [stdout] --> src/main.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | use image::{GenericImageView, Pixel}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/device.rs:98:23 [INFO] [stdout] | [INFO] [stdout] 98 | .map_err(|err| DeviceError::PortOpenError)?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `order` [INFO] [stdout] --> src/virtual/display.rs:82:14 [INFO] [stdout] | [INFO] [stdout] 82 | for (order, layer) in layers { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Landscape` and `ReversePortrait` are never constructed [INFO] [stdout] --> src/device.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Orientation { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 37 | Portrait, [INFO] [stdout] 38 | Landscape, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 39 | ReversePortrait, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `screen_black`, `screen_white`, and `screen_off` are never used [INFO] [stdout] --> src/device.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl Device { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn screen_black(&mut self) -> Result<(), DeviceError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn screen_white(&mut self) -> Result<(), DeviceError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn screen_off(&mut self) -> Result<(), DeviceError> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `Spotify` is never read [INFO] [stdout] --> src/gibmon_config.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Config { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 6 | Spotify: SpotifyConfig, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_spotify_config` is never used [INFO] [stdout] --> src/gibmon_config.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Config { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 10 | pub fn get_spotify_config(&mut self) -> &SpotifyConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `ClientId` and `ClientSecret` are never read [INFO] [stdout] --> src/gibmon_config.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct SpotifyConfig { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 17 | pub ClientId: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 18 | pub ClientSecret: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_config` is never used [INFO] [stdout] --> src/gibmon_config.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn load_config(file_path: &str) -> Config { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_to_rgb565` is never used [INFO] [stdout] --> src/image_extensions.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn convert_to_rgb565( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_png_to_rgb565` is never used [INFO] [stdout] --> src/image_extensions.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn load_png_to_rgb565>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_image_from_url_to_rgb565` is never used [INFO] [stdout] --> src/image_extensions.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | pub async fn load_image_from_url_to_rgb565( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_playing_bar_to_rgb565` is never used [INFO] [stdout] --> src/image_extensions.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn create_playing_bar_to_rgb565( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_text_image` is never used [INFO] [stdout] --> src/image_extensions.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn create_text_image( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ScreenWhite`, `ScreenBlack`, and `ScreenOff` are never constructed [INFO] [stdout] --> src/packets.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 3 | enum PacketIds { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 4 | Hello, [INFO] [stdout] 5 | ScreenWhite, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 6 | ScreenBlack, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 7 | ScreenOff, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_screen_white_packet` is never used [INFO] [stdout] --> src/packets.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn create_screen_white_packet() -> [u8; 6] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_screen_black_packet` is never used [INFO] [stdout] --> src/packets.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn create_screen_black_packet() -> [u8; 6] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_screen_off_packet` is never used [INFO] [stdout] --> src/packets.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn create_screen_off_packet() -> [u8; 6] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `access_token`, `token_type`, `expires_in`, and `refresh_token` are never read [INFO] [stdout] --> src/spotify.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct SpotifyTokenResponse { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] 10 | pub access_token: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 11 | pub token_type: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 12 | pub expires_in: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 13 | pub refresh_token: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SpotifyTokenResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_spotify_token` is never used [INFO] [stdout] --> src/spotify.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | pub async fn fetch_spotify_token( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `item`, `is_playing`, and `progress_ms` are never read [INFO] [stdout] --> src/spotify.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct SpotifyCurrentlyPlaying { [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] 71 | pub item: Option, // The track currently playing, if any [INFO] [stdout] | ^^^^ [INFO] [stdout] 72 | pub is_playing: bool, // Whether something is playing [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 73 | pub progress_ms: Option, // Progress into the currently playing track [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SpotifyCurrentlyPlaying` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `duration_ms`, `artists`, `album`, and `external_urls` are never read [INFO] [stdout] --> src/spotify.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct Track { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 78 | pub name: String, // Track name [INFO] [stdout] | ^^^^ [INFO] [stdout] 79 | pub duration_ms: u64, // Track duration [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 80 | pub artists: Vec, // List of artists [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 81 | pub album: Album, // Album details [INFO] [stdout] | ^^^^^ [INFO] [stdout] 82 | pub external_urls: ExternalUrls, // External Spotify links [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Track` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `external_urls` are never read [INFO] [stdout] --> src/spotify.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 86 | pub struct Artist { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 87 | pub name: String, // Artist name [INFO] [stdout] | ^^^^ [INFO] [stdout] 88 | pub external_urls: ExternalUrls, // External Spotify links [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Artist` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `images`, and `external_urls` are never read [INFO] [stdout] --> src/spotify.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct Album { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 93 | pub name: String, // Album name [INFO] [stdout] | ^^^^ [INFO] [stdout] 94 | pub images: Vec, // Album cover images [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 95 | pub external_urls: ExternalUrls, // External Spotify links [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Album` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `spotify` is never read [INFO] [stdout] --> src/spotify.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 99 | pub struct ExternalUrls { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 100 | pub spotify: String, // Spotify URL [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExternalUrls` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `url`, `height`, and `width` are never read [INFO] [stdout] --> src/spotify.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 104 | pub struct Image { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 105 | pub url: String, // Image URL [INFO] [stdout] | ^^^ [INFO] [stdout] 106 | pub height: Option, // Image height [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 107 | pub width: Option, // Image width [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Image` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_currently_playing` is never used [INFO] [stdout] --> src/spotify.rs:110:14 [INFO] [stdout] | [INFO] [stdout] 110 | pub async fn fetch_currently_playing( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rects_intersect` is never used [INFO] [stdout] --> src/virtual/display.rs:112:4 [INFO] [stdout] | [INFO] [stdout] 112 | fn rects_intersect(x1: u32, y1: u32, w1: u32, h1: u32, x2: u32, y2: u32, w2: u32, h2: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Spotify` should have a snake case name [INFO] [stdout] --> src/gibmon_config.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Spotify: SpotifyConfig, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `spotify` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `ClientId` should have a snake case name [INFO] [stdout] --> src/gibmon_config.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub ClientId: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `client_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `ClientSecret` should have a snake case name [INFO] [stdout] --> src/gibmon_config.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub ClientSecret: String, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `client_secret` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.82s [INFO] running `Command { std: "docker" "inspect" "64d7ad437a8043cb826a7f9d6b26b179313fd8b313e9ff32ab80b1b198ef3a44", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "64d7ad437a8043cb826a7f9d6b26b179313fd8b313e9ff32ab80b1b198ef3a44", kill_on_drop: false }` [INFO] [stdout] 64d7ad437a8043cb826a7f9d6b26b179313fd8b313e9ff32ab80b1b198ef3a44 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-04-13" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 9eddb541b46ffcd76afa25b55a3824739d0d966f495b62a2540e0b9e65d0918a [INFO] running `Command { std: "docker" "start" "-a" "9eddb541b46ffcd76afa25b55a3824739d0d966f495b62a2540e0b9e65d0918a", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `crate::image_extensions::load_png_to_rgb565` [INFO] [stderr] --> src/device.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::image_extensions::load_png_to_rgb565; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Rgba` [INFO] [stderr] --> src/image_extensions.rs:3:47 [INFO] [stderr] | [INFO] [stderr] 3 | use image::{self, ImageBuffer, Rgb, RgbImage, Rgba}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/packets.rs:74:17 [INFO] [stderr] | [INFO] [stderr] 74 | packet[0] = (level_absolute >> 2); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 74 - packet[0] = (level_absolute >> 2); [INFO] [stderr] 74 + packet[0] = level_absolute >> 2; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/packets.rs:75:17 [INFO] [stderr] | [INFO] [stderr] 75 | packet[1] = ((level_absolute & 0x03) << 6); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 75 - packet[1] = ((level_absolute & 0x03) << 6); [INFO] [stderr] 75 + packet[1] = (level_absolute & 0x03) << 6; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs` [INFO] [stderr] --> src/spotify.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::fs; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::r#virtual::display::Display` [INFO] [stderr] --> src/virtual/renderable.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::r#virtual::display::Display; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::gibmon_config::load_config` [INFO] [stderr] --> src/main.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::gibmon_config::load_config; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `create_playing_bar_to_rgb565`, `create_text_image`, and `load_image_from_url_to_rgb565` [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | create_playing_bar_to_rgb565, create_text_image, load_image_from_url_to_rgb565, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `fetch_currently_playing` and `fetch_spotify_token` [INFO] [stderr] --> src/main.rs:14:22 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::spotify::{fetch_currently_playing, fetch_spotify_token}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `GenericImageView` and `Pixel` [INFO] [stderr] --> src/main.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | use image::{GenericImageView, Pixel}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/main.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/main.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/device.rs:98:23 [INFO] [stderr] | [INFO] [stderr] 98 | .map_err(|err| DeviceError::PortOpenError)?; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `order` [INFO] [stderr] --> src/virtual/display.rs:82:14 [INFO] [stderr] | [INFO] [stderr] 82 | for (order, layer) in layers { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_order` [INFO] [stderr] [INFO] [stderr] warning: variants `Landscape` and `ReversePortrait` are never constructed [INFO] [stderr] --> src/device.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 36 | pub enum Orientation { [INFO] [stderr] | ----------- variants in this enum [INFO] [stderr] 37 | Portrait, [INFO] [stderr] 38 | Landscape, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 39 | ReversePortrait, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: methods `screen_black`, `screen_white`, and `screen_off` are never used [INFO] [stderr] --> src/device.rs:125:12 [INFO] [stderr] | [INFO] [stderr] 62 | impl Device { [INFO] [stderr] | ----------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 125 | pub fn screen_black(&mut self) -> Result<(), DeviceError> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 134 | pub fn screen_white(&mut self) -> Result<(), DeviceError> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 151 | pub fn screen_off(&mut self) -> Result<(), DeviceError> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `Spotify` is never read [INFO] [stderr] --> src/gibmon_config.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Config { [INFO] [stderr] | ------ field in this struct [INFO] [stderr] 6 | Spotify: SpotifyConfig, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get_spotify_config` is never used [INFO] [stderr] --> src/gibmon_config.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 9 | impl Config { [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] 10 | pub fn get_spotify_config(&mut self) -> &SpotifyConfig { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `ClientId` and `ClientSecret` are never read [INFO] [stderr] --> src/gibmon_config.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 16 | pub struct SpotifyConfig { [INFO] [stderr] | ------------- fields in this struct [INFO] [stderr] 17 | pub ClientId: String, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 18 | pub ClientSecret: String, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `load_config` is never used [INFO] [stderr] --> src/gibmon_config.rs:21:8 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn load_config(file_path: &str) -> Config { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `convert_to_rgb565` is never used [INFO] [stderr] --> src/image_extensions.rs:10:4 [INFO] [stderr] | [INFO] [stderr] 10 | fn convert_to_rgb565( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `load_png_to_rgb565` is never used [INFO] [stderr] --> src/image_extensions.rs:28:8 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn load_png_to_rgb565>( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `load_image_from_url_to_rgb565` is never used [INFO] [stderr] --> src/image_extensions.rs:43:14 [INFO] [stderr] | [INFO] [stderr] 43 | pub async fn load_image_from_url_to_rgb565( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_playing_bar_to_rgb565` is never used [INFO] [stderr] --> src/image_extensions.rs:61:8 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn create_playing_bar_to_rgb565( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_text_image` is never used [INFO] [stderr] --> src/image_extensions.rs:92:8 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn create_text_image( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `ScreenWhite`, `ScreenBlack`, and `ScreenOff` are never constructed [INFO] [stderr] --> src/packets.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 3 | enum PacketIds { [INFO] [stderr] | --------- variants in this enum [INFO] [stderr] 4 | Hello, [INFO] [stderr] 5 | ScreenWhite, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 6 | ScreenBlack, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 7 | ScreenOff, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_screen_white_packet` is never used [INFO] [stderr] --> src/packets.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn create_screen_white_packet() -> [u8; 6] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_screen_black_packet` is never used [INFO] [stderr] --> src/packets.rs:44:8 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn create_screen_black_packet() -> [u8; 6] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_screen_off_packet` is never used [INFO] [stderr] --> src/packets.rs:59:8 [INFO] [stderr] | [INFO] [stderr] 59 | pub fn create_screen_off_packet() -> [u8; 6] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `access_token`, `token_type`, `expires_in`, and `refresh_token` are never read [INFO] [stderr] --> src/spotify.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct SpotifyTokenResponse { [INFO] [stderr] | -------------------- fields in this struct [INFO] [stderr] 10 | pub access_token: String, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 11 | pub token_type: String, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 12 | pub expires_in: u64, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 13 | pub refresh_token: String, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SpotifyTokenResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: function `fetch_spotify_token` is never used [INFO] [stderr] --> src/spotify.rs:16:14 [INFO] [stderr] | [INFO] [stderr] 16 | pub async fn fetch_spotify_token( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `item`, `is_playing`, and `progress_ms` are never read [INFO] [stderr] --> src/spotify.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 70 | pub struct SpotifyCurrentlyPlaying { [INFO] [stderr] | ----------------------- fields in this struct [INFO] [stderr] 71 | pub item: Option, // The track currently playing, if any [INFO] [stderr] | ^^^^ [INFO] [stderr] 72 | pub is_playing: bool, // Whether something is playing [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 73 | pub progress_ms: Option, // Progress into the currently playing track [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SpotifyCurrentlyPlaying` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `name`, `duration_ms`, `artists`, `album`, and `external_urls` are never read [INFO] [stderr] --> src/spotify.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 77 | pub struct Track { [INFO] [stderr] | ----- fields in this struct [INFO] [stderr] 78 | pub name: String, // Track name [INFO] [stderr] | ^^^^ [INFO] [stderr] 79 | pub duration_ms: u64, // Track duration [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 80 | pub artists: Vec, // List of artists [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 81 | pub album: Album, // Album details [INFO] [stderr] | ^^^^^ [INFO] [stderr] 82 | pub external_urls: ExternalUrls, // External Spotify links [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Track` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `name` and `external_urls` are never read [INFO] [stderr] --> src/spotify.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 86 | pub struct Artist { [INFO] [stderr] | ------ fields in this struct [INFO] [stderr] 87 | pub name: String, // Artist name [INFO] [stderr] | ^^^^ [INFO] [stderr] 88 | pub external_urls: ExternalUrls, // External Spotify links [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Artist` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `name`, `images`, and `external_urls` are never read [INFO] [stderr] --> src/spotify.rs:93:9 [INFO] [stderr] | [INFO] [stderr] 92 | pub struct Album { [INFO] [stderr] | ----- fields in this struct [INFO] [stderr] 93 | pub name: String, // Album name [INFO] [stderr] | ^^^^ [INFO] [stderr] 94 | pub images: Vec, // Album cover images [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 95 | pub external_urls: ExternalUrls, // External Spotify links [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Album` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `spotify` is never read [INFO] [stderr] --> src/spotify.rs:100:9 [INFO] [stderr] | [INFO] [stderr] 99 | pub struct ExternalUrls { [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] 100 | pub spotify: String, // Spotify URL [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ExternalUrls` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `url`, `height`, and `width` are never read [INFO] [stderr] --> src/spotify.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 104 | pub struct Image { [INFO] [stderr] | ----- fields in this struct [INFO] [stderr] 105 | pub url: String, // Image URL [INFO] [stderr] | ^^^ [INFO] [stderr] 106 | pub height: Option, // Image height [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 107 | pub width: Option, // Image width [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Image` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: function `fetch_currently_playing` is never used [INFO] [stderr] --> src/spotify.rs:110:14 [INFO] [stderr] | [INFO] [stderr] 110 | pub async fn fetch_currently_playing( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `rects_intersect` is never used [INFO] [stderr] --> src/virtual/display.rs:112:4 [INFO] [stderr] | [INFO] [stderr] 112 | fn rects_intersect(x1: u32, y1: u32, w1: u32, h1: u32, x2: u32, y2: u32, w2: u32, h2: u32) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: structure field `Spotify` should have a snake case name [INFO] [stderr] --> src/gibmon_config.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | Spotify: SpotifyConfig, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `spotify` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `ClientId` should have a snake case name [INFO] [stderr] --> src/gibmon_config.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | pub ClientId: String, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `client_id` [INFO] [stderr] [INFO] [stderr] warning: structure field `ClientSecret` should have a snake case name [INFO] [stderr] --> src/gibmon_config.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | pub ClientSecret: String, [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `client_secret` [INFO] [stderr] [INFO] [stderr] warning: `gibmon` (bin "gibmon" test) generated 42 warnings (run `cargo fix --bin "gibmon" --tests` to apply 12 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.47s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gibmon-e66080c186ad4427) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "9eddb541b46ffcd76afa25b55a3824739d0d966f495b62a2540e0b9e65d0918a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9eddb541b46ffcd76afa25b55a3824739d0d966f495b62a2540e0b9e65d0918a", kill_on_drop: false }` [INFO] [stdout] 9eddb541b46ffcd76afa25b55a3824739d0d966f495b62a2540e0b9e65d0918a