[INFO] cloning repository https://github.com/pham93/usage-tui
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pham93/usage-tui" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpham93%2Fusage-tui", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpham93%2Fusage-tui'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 69acc14a1fc93a38f426f27a10dda799e3986e4f
[INFO] checking pham93/usage-tui against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpham93%2Fusage-tui" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/pham93/usage-tui
[INFO] finished tweaking git repo https://github.com/pham93/usage-tui
[INFO] tweaked toml for git repo https://github.com/pham93/usage-tui written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/pham93/usage-tui on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/pham93/usage-tui already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded icy_sixel v0.1.3
[INFO] [stderr]   Downloaded ratatui-image v8.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9be27fe5762eaba06302b63c663e0563aedf06861b8d94cf351c1deb2acaacca
[INFO] running `Command { std: "docker" "start" "9be27fe5762eaba06302b63c663e0563aedf06861b8d94cf351c1deb2acaacca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9be27fe5762eaba06302b63c663e0563aedf06861b8d94cf351c1deb2acaacca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9be27fe5762eaba06302b63c663e0563aedf06861b8d94cf351c1deb2acaacca" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9be27fe5762eaba06302b63c663e0563aedf06861b8d94cf351c1deb2acaacca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9be27fe5762eaba06302b63c663e0563aedf06861b8d94cf351c1deb2acaacca" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.55
[INFO] [stderr]     Checking either v1.17.0
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]     Checking mio v1.2.2
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking num-integer v0.1.47
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking bytemuck v1.25.2
[INFO] [stderr]     Checking futures-task v0.3.33
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking futures-channel v0.3.33
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking reborrow v0.5.5
[INFO] [stderr]     Checking ring v0.17.14
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]     Checking imgref v1.12.2
[INFO] [stderr]     Checking futures-util v0.3.33
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking num-bigint v0.4.8
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]     Checking pulp-wasm-simd-flag v0.1.1
[INFO] [stderr]     Checking zune-core v0.5.3
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking avif-serialize v0.8.9
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking gimli v0.32.3
[INFO] [stderr]     Checking zune-jpeg v0.5.15
[INFO] [stderr]     Checking fax v0.2.7
[INFO] [stderr]     Checking rgb v0.8.53
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking gif v0.14.2
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking pulp v0.22.3
[INFO] [stderr]     Checking tracing-error v0.2.1
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking addr2line v0.25.1
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking outref v0.5.2
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking indenter v0.3.4
[INFO] [stderr]     Checking vsimd v0.8.0
[INFO] [stderr]     Checking rustc-demangle v0.1.28
[INFO] [stderr]     Checking serde_json v1.0.151
[INFO] [stderr]     Checking eyre v0.6.12
[INFO] [stderr]     Checking icy_sixel v0.1.3
[INFO] [stderr]     Checking inventory v0.3.24
[INFO] [stderr]     Checking color-spantrace v0.3.0
[INFO] [stderr]     Checking rustls v0.23.43
[INFO] [stderr]     Checking base64-simd v0.8.0
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling zerocopy-derive v0.8.55
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling profiling-procmacros v1.0.18
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking profiling v1.0.18
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking equator v0.4.2
[INFO] [stderr]     Checking thiserror v2.0.19
[INFO] [stderr]     Checking aligned-vec v0.6.4
[INFO] [stderr]     Checking v_frame v0.3.9
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking color-eyre v0.6.5
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking av-scenechange v0.14.1
[INFO] [stderr]     Checking av1-grain v0.2.5
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking rav1e v0.8.1
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking hyper v1.11.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking webbrowser v1.2.4
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking tiff v0.11.3
[INFO] [stderr]     Checking exr v1.74.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking ravif v0.13.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking rand v0.8.7
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]     Checking rusqlite v0.31.0
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking ratatui-image v8.1.1
[INFO] [stderr]     Checking usage-tui v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/auth/oauth.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |     let mut listener = listener;
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/auth/oauth.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |     let mut listener = listener;
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `providers`
[INFO] [stdout]     --> src/ui.rs:1624:5
[INFO] [stdout]      |
[INFO] [stdout] 1624 |     providers: &[ProviderUsage],
[INFO] [stdout]      |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_providers`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/main.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Resize(u16, u16),
[INFO] [stdout]    |     ------ ^^^  ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 27 -     Resize(u16, u16),
[INFO] [stdout] 27 +     Resize((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `provider` is never read
[INFO] [stdout]   --> src/main.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     Failed {
[INFO] [stdout]    |     ------ field in this variant
[INFO] [stdout] 36 |         provider: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `expired` is never used
[INFO] [stdout]   --> src/auth/mod.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl TokenSet {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 26 |     pub fn expired(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_tokens` is never used
[INFO] [stdout]   --> src/auth/mod.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn load_tokens(provider_id: &str) -> Option<TokenSet> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_key` is never used
[INFO] [stdout]    --> src/auth/mod.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn active_key(provider_id: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_active_account` is never used
[INFO] [stdout]    --> src/auth/mod.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn set_active_account(provider_id: &str, key: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_tokens` is never used
[INFO] [stdout]    --> src/auth/mod.rs:213:8
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub fn remove_tokens(provider_id: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `jwt_expired` is never used
[INFO] [stdout]    --> src/auth/oauth.rs:373:8
[INFO] [stdout]     |
[INFO] [stdout] 373 | pub fn jwt_expired(token: &str, now_ms_val: i64) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `placeholder` is never used
[INFO] [stdout]   --> src/model.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl ProviderUsage {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 76 |     pub fn placeholder(name: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reset_label` is never read
[INFO] [stdout]   --> src/providers/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ProviderMeta {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub reset_label: &'static str,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProviderMeta` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `billing_windows` is never used
[INFO] [stdout]   --> src/providers/mod.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl ProviderMeta {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn billing_windows(&self) -> Option<Vec<crate::model::UsageWindow>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `billing_windows` is never used
[INFO] [stdout]   --> src/providers/mod.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub trait Provider: Send + Sync {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 78 |     fn billing_windows(&self) -> Option<Vec<crate::model::UsageWindow>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OmpCredential` is never constructed
[INFO] [stdout]  --> src/providers/creds.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct OmpCredential {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `omp_db_path` is never used
[INFO] [stdout]   --> src/providers/creds.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn omp_db_path() -> Option<PathBuf> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_credential` is never used
[INFO] [stdout]   --> src/providers/creds.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn find_credential(provider: &str) -> Option<OmpCredential> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_credential_in` is never used
[INFO] [stdout]   --> src/providers/creds.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn find_credential_in(db_path: &Path, provider: &str) -> Option<OmpCredential> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_usage_costs` is never used
[INFO] [stdout]   --> src/providers/creds.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn sum_usage_costs(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `names` is never used
[INFO] [stdout]    --> src/theme.rs:156:8
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub fn names() -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_PLUS` is never used
[INFO] [stdout]   --> src/ui.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const ICON_PLUS: &str = "\u{f067}"; //  nf-fa-plus
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `show_add_btn_focus` is never read
[INFO] [stdout]    --> src/ui.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct UiState {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub show_add_btn_focus: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UiState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `provider_icon` is never used
[INFO] [stdout]     --> src/ui.rs:1770:4
[INFO] [stdout]      |
[INFO] [stdout] 1770 | fn provider_icon(name: &str) -> &'static str {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `time_for_provider` is never used
[INFO] [stdout]     --> src/ui.rs:1775:4
[INFO] [stdout]      |
[INFO] [stdout] 1775 | fn time_for_provider(name: &str, _idx: usize) -> &'static str {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pct_color` is never used
[INFO] [stdout]     --> src/ui.rs:1789:4
[INFO] [stdout]      |
[INFO] [stdout] 1789 | fn pct_color(pct: f64) -> Color {
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remaining_of` is never used
[INFO] [stdout]     --> src/ui.rs:1798:4
[INFO] [stdout]      |
[INFO] [stdout] 1798 | fn remaining_of(used: f64) -> f64 {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spaced_ends` is never used
[INFO] [stdout]     --> src/ui.rs:1826:4
[INFO] [stdout]      |
[INFO] [stdout] 1826 | fn spaced_ends(
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_gradient` is never used
[INFO] [stdout]     --> src/ui.rs:1844:4
[INFO] [stdout]      |
[INFO] [stdout] 1844 | fn sample_gradient(stops: &[(f64, (f64, f64, f64))], t: f64) -> Color {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BODY` is never used
[INFO] [stdout]     --> src/ui.rs:1912:7
[INFO] [stdout]      |
[INFO] [stdout] 1912 | const BODY: &str = "▂";
[INFO] [stdout]      |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INDENT` is never used
[INFO] [stdout]     --> src/ui.rs:1913:7
[INFO] [stdout]      |
[INFO] [stdout] 1913 | const INDENT: &str = "  ";
[INFO] [stdout]      |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRACK` is never used
[INFO] [stdout]     --> src/ui.rs:1914:7
[INFO] [stdout]      |
[INFO] [stdout] 1914 | const TRACK: Color = Color::Rgb(55, 55, 62);
[INFO] [stdout]      |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stacked_usage_bar` is never used
[INFO] [stdout]     --> src/ui.rs:1916:4
[INFO] [stdout]      |
[INFO] [stdout] 1916 | fn stacked_usage_bar(segments: &[(String, f64, Color)], total_width: usize) -> Line<'static> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `providers`
[INFO] [stdout]     --> src/ui.rs:1624:5
[INFO] [stdout]      |
[INFO] [stdout] 1624 |     providers: &[ProviderUsage],
[INFO] [stdout]      |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_providers`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/main.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Resize(u16, u16),
[INFO] [stdout]    |     ------ ^^^  ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 27 -     Resize(u16, u16),
[INFO] [stdout] 27 +     Resize((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `provider` is never read
[INFO] [stdout]   --> src/main.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     Failed {
[INFO] [stdout]    |     ------ field in this variant
[INFO] [stdout] 36 |         provider: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_key` is never used
[INFO] [stdout]    --> src/auth/mod.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn active_key(provider_id: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `placeholder` is never used
[INFO] [stdout]   --> src/model.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl ProviderUsage {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 76 |     pub fn placeholder(name: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reset_label` is never read
[INFO] [stdout]   --> src/providers/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ProviderMeta {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub reset_label: &'static str,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProviderMeta` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `billing_windows` is never used
[INFO] [stdout]   --> src/providers/mod.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl ProviderMeta {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn billing_windows(&self) -> Option<Vec<crate::model::UsageWindow>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `billing_windows` is never used
[INFO] [stdout]   --> src/providers/mod.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub trait Provider: Send + Sync {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 78 |     fn billing_windows(&self) -> Option<Vec<crate::model::UsageWindow>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OmpCredential` is never constructed
[INFO] [stdout]  --> src/providers/creds.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct OmpCredential {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `omp_db_path` is never used
[INFO] [stdout]   --> src/providers/creds.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn omp_db_path() -> Option<PathBuf> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_credential` is never used
[INFO] [stdout]   --> src/providers/creds.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn find_credential(provider: &str) -> Option<OmpCredential> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_credential_in` is never used
[INFO] [stdout]   --> src/providers/creds.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn find_credential_in(db_path: &Path, provider: &str) -> Option<OmpCredential> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_usage_costs` is never used
[INFO] [stdout]   --> src/providers/creds.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn sum_usage_costs(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `names` is never used
[INFO] [stdout]    --> src/theme.rs:156:8
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub fn names() -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_PLUS` is never used
[INFO] [stdout]   --> src/ui.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const ICON_PLUS: &str = "\u{f067}"; //  nf-fa-plus
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `show_add_btn_focus` is never read
[INFO] [stdout]    --> src/ui.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct UiState {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub show_add_btn_focus: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UiState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `provider_icon` is never used
[INFO] [stdout]     --> src/ui.rs:1770:4
[INFO] [stdout]      |
[INFO] [stdout] 1770 | fn provider_icon(name: &str) -> &'static str {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `time_for_provider` is never used
[INFO] [stdout]     --> src/ui.rs:1775:4
[INFO] [stdout]      |
[INFO] [stdout] 1775 | fn time_for_provider(name: &str, _idx: usize) -> &'static str {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pct_color` is never used
[INFO] [stdout]     --> src/ui.rs:1789:4
[INFO] [stdout]      |
[INFO] [stdout] 1789 | fn pct_color(pct: f64) -> Color {
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remaining_of` is never used
[INFO] [stdout]     --> src/ui.rs:1798:4
[INFO] [stdout]      |
[INFO] [stdout] 1798 | fn remaining_of(used: f64) -> f64 {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spaced_ends` is never used
[INFO] [stdout]     --> src/ui.rs:1826:4
[INFO] [stdout]      |
[INFO] [stdout] 1826 | fn spaced_ends(
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_gradient` is never used
[INFO] [stdout]     --> src/ui.rs:1844:4
[INFO] [stdout]      |
[INFO] [stdout] 1844 | fn sample_gradient(stops: &[(f64, (f64, f64, f64))], t: f64) -> Color {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.61s
[INFO] running `Command { std: "docker" "inspect" "9be27fe5762eaba06302b63c663e0563aedf06861b8d94cf351c1deb2acaacca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9be27fe5762eaba06302b63c663e0563aedf06861b8d94cf351c1deb2acaacca", kill_on_drop: false }`
[INFO] [stdout] 9be27fe5762eaba06302b63c663e0563aedf06861b8d94cf351c1deb2acaacca
