[INFO] cloning repository https://github.com/toasterrepairman/empress [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/toasterrepairman/empress" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftoasterrepairman%2Fempress", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftoasterrepairman%2Fempress'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] bdd3b1eb86d7862fbdba71f144a83d3f9ca31d0a [INFO] linting toasterrepairman/empress against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftoasterrepairman%2Fempress" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/toasterrepairman/empress [INFO] finished tweaking git repo https://github.com/toasterrepairman/empress [INFO] tweaked toml for git repo https://github.com/toasterrepairman/empress written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/toasterrepairman/empress on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/toasterrepairman/empress 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded from_variants v1.0.2 [INFO] [stderr] Downloaded derive_is_enum_variant v0.1.1 [INFO] [stderr] Downloaded pango v0.20.12 [INFO] [stderr] Downloaded pango-sys v0.20.10 [INFO] [stderr] Downloaded graphene-sys v0.20.10 [INFO] [stderr] Downloaded from_variants_impl v1.0.2 [INFO] [stderr] Downloaded gdk-pixbuf-sys v0.20.10 [INFO] [stderr] Downloaded cairo-sys-rs v0.20.10 [INFO] [stderr] Downloaded graphene-rs v0.20.10 [INFO] [stderr] Downloaded gdk-pixbuf v0.20.10 [INFO] [stderr] Downloaded gsk4 v0.9.6 [INFO] [stderr] Downloaded cairo-rs v0.20.12 [INFO] [stderr] Downloaded gdk4 v0.9.6 [INFO] [stderr] Downloaded gtk4-sys v0.9.6 [INFO] [stderr] Downloaded mpris v2.0.1 [INFO] [stderr] Downloaded gio-sys v0.20.10 [INFO] [stderr] Downloaded glib-macros v0.20.12 [INFO] [stderr] Downloaded libadwaita v0.7.2 [INFO] [stderr] Downloaded dbus v0.9.9 [INFO] [stderr] Downloaded gio v0.20.12 [INFO] [stderr] Downloaded gdk4-sys v0.9.6 [INFO] [stderr] Downloaded glib-sys v0.20.10 [INFO] [stderr] Downloaded libadwaita-sys v0.7.2 [INFO] [stderr] Downloaded glib v0.20.12 [INFO] [stderr] Downloaded gtk4-macros v0.9.5 [INFO] [stderr] Downloaded gsk4-sys v0.9.6 [INFO] [stderr] Downloaded gobject-sys v0.20.10 [INFO] [stderr] Downloaded gtk4 v0.9.7 [INFO] [stderr] Downloaded libdbus-sys v0.2.6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f265211c96eec0bb7faf7ac740429faf7162bcc2b813f30ad91ce281ae62858a [INFO] running `Command { std: "docker" "start" "-a" "f265211c96eec0bb7faf7ac740429faf7162bcc2b813f30ad91ce281ae62858a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f265211c96eec0bb7faf7ac740429faf7162bcc2b813f30ad91ce281ae62858a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f265211c96eec0bb7faf7ac740429faf7162bcc2b813f30ad91ce281ae62858a", kill_on_drop: false }` [INFO] [stdout] f265211c96eec0bb7faf7ac740429faf7162bcc2b813f30ad91ce281ae62858a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f56ea2183312d269bdd27bff6a34bfffbeae08771057b079e5a5c91f8fe4f996 [INFO] running `Command { std: "docker" "start" "-a" "f56ea2183312d269bdd27bff6a34bfffbeae08771057b079e5a5c91f8fe4f996", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.178 [INFO] [stderr] Compiling toml v0.9.8 [INFO] [stderr] Compiling gio v0.20.12 [INFO] [stderr] Compiling icu_properties_data v2.1.1 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Compiling toml_edit v0.23.7 [INFO] [stderr] Compiling cc v1.2.48 [INFO] [stderr] Checking http v1.4.0 [INFO] [stderr] Checking tracing-core v0.1.35 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking indexmap v2.12.1 [INFO] [stderr] Compiling libdbus-sys v0.2.6 [INFO] [stderr] Checking iri-string v0.7.9 [INFO] [stderr] Checking rustls-pki-types v1.13.1 [INFO] [stderr] Compiling derive_is_enum_variant v0.1.1 [INFO] [stderr] Compiling system-deps v7.0.7 [INFO] [stderr] Compiling proc-macro-crate v3.4.0 [INFO] [stderr] Compiling glib-sys v0.20.10 [INFO] [stderr] Compiling gobject-sys v0.20.10 [INFO] [stderr] Compiling gio-sys v0.20.10 [INFO] [stderr] Compiling cairo-sys-rs v0.20.10 [INFO] [stderr] Compiling gdk-pixbuf-sys v0.20.10 [INFO] [stderr] Compiling pango-sys v0.20.10 [INFO] [stderr] Compiling gdk4-sys v0.9.6 [INFO] [stderr] Compiling graphene-sys v0.20.10 [INFO] [stderr] Compiling gsk4-sys v0.9.6 [INFO] [stderr] Compiling gtk4-sys v0.9.6 [INFO] [stderr] Checking tracing v0.1.43 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Compiling libadwaita-sys v0.7.2 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Checking socket2 v0.6.1 [INFO] [stderr] Checking mio v1.1.0 [INFO] [stderr] Checking dbus v0.9.9 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Checking tokio v1.48.0 [INFO] [stderr] Compiling darling_core v0.14.4 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling futures-macro v0.3.31 [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 glib-macros v0.20.12 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling gtk4-macros v0.9.5 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling enum-kinds v0.5.1 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling darling_macro v0.14.4 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Compiling darling v0.14.4 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Compiling from_variants_impl v1.0.2 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking from_variants v1.0.2 [INFO] [stderr] Checking mpris v2.0.1 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking tokio-util v0.7.17 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking h2 v0.4.12 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking icu_properties v2.1.1 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking glib v0.20.12 [INFO] [stderr] Checking tower-http v0.6.7 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Checking url v2.5.7 [INFO] [stderr] Checking hyper-util v0.1.19 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.24 [INFO] [stderr] Checking cairo-rs v0.20.12 [INFO] [stderr] Checking graphene-rs v0.20.10 [INFO] [stderr] Checking gdk-pixbuf v0.20.10 [INFO] [stderr] Checking pango v0.20.12 [INFO] [stderr] Checking gdk4 v0.9.6 [INFO] [stderr] Checking gsk4 v0.9.6 [INFO] [stderr] Checking gtk4 v0.9.7 [INFO] [stderr] Checking libadwaita v0.7.2 [INFO] [stderr] Checking empress v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10 [INFO] [stdout] --> src/progress_ring_button.rs:70:44 [INFO] [stdout] | [INFO] [stdout] 70 | let style_context = widget.style_context(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::color`: Since 4.10 [INFO] [stdout] --> src/progress_ring_button.rs:71:43 [INFO] [stdout] | [INFO] [stdout] 71 | let color = style_context.color(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10 [INFO] [stdout] --> src/progress_ring_button.rs:70:44 [INFO] [stdout] | [INFO] [stdout] 70 | let style_context = widget.style_context(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::color`: Since 4.10 [INFO] [stdout] --> src/progress_ring_button.rs:71:43 [INFO] [stdout] | [INFO] [stdout] 71 | let color = style_context.color(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_player_name` is never used [INFO] [stdout] --> src/mpris_client.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl MprisClient { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn get_player_name(player: &Player) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/ui.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | struct StatusHistoryEntry { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | timestamp: Instant, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StatusHistoryEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `container` is never read [INFO] [stdout] --> src/ui.rs:331:5 [INFO] [stdout] | [INFO] [stdout] 330 | struct MediaContent { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 331 | container: gtk::Box, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MediaContent` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_player_name` is never used [INFO] [stdout] --> src/mpris_client.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl MprisClient { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn get_player_name(player: &Player) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/ui.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | struct StatusHistoryEntry { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | timestamp: Instant, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StatusHistoryEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `container` is never read [INFO] [stdout] --> src/ui.rs:331:5 [INFO] [stdout] | [INFO] [stdout] 330 | struct MediaContent { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 331 | container: gtk::Box, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MediaContent` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> src/mpris_client.rs:70:32 [INFO] [stdout] | [INFO] [stdout] 70 | } else if let Some(active_player) = finder.find_active().ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(active_player)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 70 - } else if let Some(active_player) = finder.find_active().ok() { [INFO] [stdout] 70 + } else if let Ok(active_player) = finder.find_active() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> src/mpris_client.rs:70:32 [INFO] [stdout] | [INFO] [stdout] 70 | } else if let Some(active_player) = finder.find_active().ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(active_player)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 70 - } else if let Some(active_player) = finder.find_active().ok() { [INFO] [stdout] 70 + } else if let Ok(active_player) = finder.find_active() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> src/mpris_client.rs:77:25 [INFO] [stdout] | [INFO] [stdout] 77 | if let Some(active_player) = finder.find_active().ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] help: consider matching on `Ok(active_player)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 77 - if let Some(active_player) = finder.find_active().ok() { [INFO] [stdout] 77 + if let Ok(active_player) = finder.find_active() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> src/mpris_client.rs:77:25 [INFO] [stdout] | [INFO] [stdout] 77 | if let Some(active_player) = finder.find_active().ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] help: consider matching on `Ok(active_player)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 77 - if let Some(active_player) = finder.find_active().ok() { [INFO] [stdout] 77 + if let Ok(active_player) = finder.find_active() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::time::Duration` [INFO] [stdout] --> src/mpris_client.rs:189:27 [INFO] [stdout] | [INFO] [stdout] 189 | .and_then(|l| Duration::try_from(l).ok()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing `Duration::try_from()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::time::Duration` [INFO] [stdout] --> src/mpris_client.rs:189:27 [INFO] [stdout] | [INFO] [stdout] 189 | .and_then(|l| Duration::try_from(l).ok()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing `Duration::try_from()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/ui.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | let _ = player_combo_clone.set_selected(current_selected); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 121 - let _ = player_combo_clone.set_selected(current_selected); [INFO] [stdout] 121 + player_combo_clone.set_selected(current_selected); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/ui.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | let _ = player_combo_clone.set_selected(current_selected); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 121 - let _ = player_combo_clone.set_selected(current_selected); [INFO] [stdout] 121 + player_combo_clone.set_selected(current_selected); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/ui.rs:503:12 [INFO] [stdout] | [INFO] [stdout] 503 | if !info.art_url.is_some() || info.art_url.as_ref().map_or(true, |u| u.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `info.art_url.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/ui.rs:483:1 [INFO] [stdout] | [INFO] [stdout] 483 | / fn update_ui_widgets( [INFO] [stdout] 484 | | title_label: >k::Label, [INFO] [stdout] 485 | | artist_label: >k::Label, [INFO] [stdout] 486 | | album_label: >k::Label, [INFO] [stdout] ... | [INFO] [stdout] 491 | | force_art_update: bool, [INFO] [stdout] 492 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/ui.rs:503:39 [INFO] [stdout] | [INFO] [stdout] 503 | if !info.art_url.is_some() || info.art_url.as_ref().map_or(true, |u| u.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 503 - if !info.art_url.is_some() || info.art_url.as_ref().map_or(true, |u| u.is_empty()) { [INFO] [stdout] 503 + if !info.art_url.is_some() || info.art_url.as_ref().is_none_or(|u| u.is_empty()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/ui.rs:503:12 [INFO] [stdout] | [INFO] [stdout] 503 | if !info.art_url.is_some() || info.art_url.as_ref().map_or(true, |u| u.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `info.art_url.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/ui.rs:483:1 [INFO] [stdout] | [INFO] [stdout] 483 | / fn update_ui_widgets( [INFO] [stdout] 484 | | title_label: >k::Label, [INFO] [stdout] 485 | | artist_label: >k::Label, [INFO] [stdout] 486 | | album_label: >k::Label, [INFO] [stdout] ... | [INFO] [stdout] 491 | | force_art_update: bool, [INFO] [stdout] 492 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/ui.rs:605:21 [INFO] [stdout] | [INFO] [stdout] 605 | let is_paused = match info.status { [INFO] [stdout] | _____________________^ [INFO] [stdout] 606 | | PlayerStatus::Playing => false, [INFO] [stdout] 607 | | _ => true, [INFO] [stdout] 608 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 605 - let is_paused = match info.status { [INFO] [stdout] 606 - PlayerStatus::Playing => false, [INFO] [stdout] 607 - _ => true, [INFO] [stdout] 608 - }; [INFO] [stdout] 605 + let is_paused = !matches!(info.status, PlayerStatus::Playing); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/ui.rs:503:39 [INFO] [stdout] | [INFO] [stdout] 503 | if !info.art_url.is_some() || info.art_url.as_ref().map_or(true, |u| u.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 503 - if !info.art_url.is_some() || info.art_url.as_ref().map_or(true, |u| u.is_empty()) { [INFO] [stdout] 503 + if !info.art_url.is_some() || info.art_url.as_ref().is_none_or(|u| u.is_empty()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/ui.rs:605:21 [INFO] [stdout] | [INFO] [stdout] 605 | let is_paused = match info.status { [INFO] [stdout] | _____________________^ [INFO] [stdout] 606 | | PlayerStatus::Playing => false, [INFO] [stdout] 607 | | _ => true, [INFO] [stdout] 608 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 605 - let is_paused = match info.status { [INFO] [stdout] 606 - PlayerStatus::Playing => false, [INFO] [stdout] 607 - _ => true, [INFO] [stdout] 608 - }; [INFO] [stdout] 605 + let is_paused = !matches!(info.status, PlayerStatus::Playing); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f64` -> `f64`) [INFO] [stdout] --> src/progress_ring_button.rs:80:35 [INFO] [stdout] | [INFO] [stdout] 80 | cr.set_line_width(line_width as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `line_width` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f64` -> `f64`) [INFO] [stdout] --> src/progress_ring_button.rs:80:35 [INFO] [stdout] | [INFO] [stdout] 80 | cr.set_line_width(line_width as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `line_width` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 30s [INFO] running `Command { std: "docker" "inspect" "f56ea2183312d269bdd27bff6a34bfffbeae08771057b079e5a5c91f8fe4f996", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f56ea2183312d269bdd27bff6a34bfffbeae08771057b079e5a5c91f8fe4f996", kill_on_drop: false }` [INFO] [stdout] f56ea2183312d269bdd27bff6a34bfffbeae08771057b079e5a5c91f8fe4f996