[INFO] cloning repository https://github.com/alinGmail/riqi
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/alinGmail/riqi" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FalinGmail%2Friqi", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FalinGmail%2Friqi'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6100135da32577cee5ec688ebe7300fa6de12401
[INFO] testing alinGmail/riqi against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FalinGmail%2Friqi" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/alinGmail/riqi
[INFO] finished tweaking git repo https://github.com/alinGmail/riqi
[INFO] tweaked toml for git repo https://github.com/alinGmail/riqi written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/alinGmail/riqi on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/alinGmail/riqi 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" "+1.97.0-beta.6" "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]  Downloading crates ...
[INFO] [stderr]   Downloaded sys-locale v0.3.2
[INFO] [stderr]   Downloaded tyme4rs v1.3.0
[INFO] [stderr]   Downloaded openssl-probe v0.2.0
[INFO] [stderr]   Downloaded rustls-pki-types v1.12.0
[INFO] [stderr]   Downloaded windows-registry v0.5.3
[INFO] [stderr]   Downloaded slab v0.4.10
[INFO] [stderr]   Downloaded iri-string v0.7.8
[INFO] [stderr]   Downloaded cc v1.2.53
[INFO] [stderr]   Downloaded num_threads v0.1.7
[INFO] [stderr]   Downloaded line-clipping v0.3.5
[INFO] [stderr]   Downloaded time-core v0.1.7
[INFO] [stderr]   Downloaded unicode-truncate v2.0.1
[INFO] [stderr]   Downloaded kasuari v0.4.11
[INFO] [stderr]   Downloaded instability v0.3.7
[INFO] [stderr]   Downloaded ratatui-termwiz v0.1.0
[INFO] [stderr]   Downloaded wezterm-blob-leases v0.1.1
[INFO] [stderr]   Downloaded atomic v0.6.1
[INFO] [stderr]   Downloaded mac_address v1.1.8
[INFO] [stderr]   Downloaded wezterm-dynamic v0.2.1
[INFO] [stderr]   Downloaded hyper-util v0.1.14
[INFO] [stderr]   Downloaded wezterm-dynamic-derive v0.1.1
[INFO] [stderr]   Downloaded wezterm-color-types v0.3.0
[INFO] [stderr]   Downloaded lab v0.11.0
[INFO] [stderr]   Downloaded memmem v0.1.1
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.33
[INFO] [stderr]   Downloaded csscolorparser v0.6.2
[INFO] [stderr]   Downloaded vtparse v0.6.2
[INFO] [stderr]   Downloaded ratatui v0.30.0
[INFO] [stderr]   Downloaded wezterm-input-types v0.1.0
[INFO] [stderr]   Downloaded ordered-float v4.6.0
[INFO] [stderr]   Downloaded pest_generator v2.8.5
[INFO] [stderr]   Downloaded errno v0.3.12
[INFO] [stderr]   Downloaded termios v0.3.3
[INFO] [stderr]   Downloaded pest_derive v2.8.5
[INFO] [stderr]   Downloaded ratatui-macros v0.7.0
[INFO] [stderr]   Downloaded ratatui-crossterm v0.1.0
[INFO] [stderr]   Downloaded uuid v1.19.0
[INFO] [stderr]   Downloaded bytemuck v1.24.0
[INFO] [stderr]   Downloaded terminfo v0.9.0
[INFO] [stderr]   Downloaded pest_meta v2.8.5
[INFO] [stderr]   Downloaded euclid v0.22.11
[INFO] [stderr]   Downloaded wezterm-bidi v0.2.3
[INFO] [stderr]   Downloaded finl_unicode v1.4.0
[INFO] [stderr]   Downloaded aws-lc-rs v1.15.3
[INFO] [stderr]   Downloaded ratatui-core v0.1.0
[INFO] [stderr]   Downloaded include_dir v0.7.4
[INFO] [stderr]   Downloaded syn v2.0.116
[INFO] [stderr]   Downloaded include_dir_macros v0.7.4
[INFO] [stderr]   Downloaded time v0.3.45
[INFO] [stderr]   Downloaded zerocopy v0.8.33
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.8
[INFO] [stderr]   Downloaded ratatui-widgets v0.3.0
[INFO] [stderr]   Downloaded jiff-static v0.2.14
[INFO] [stderr]   Downloaded tracing-error v0.2.1
[INFO] [stderr]   Downloaded owo-colors v4.2.1
[INFO] [stderr]   Downloaded termwiz v0.23.3
[INFO] [stderr]   Downloaded color-spantrace v0.2.2
[INFO] [stderr]   Downloaded jiff v0.2.14
[INFO] [stderr]   Downloaded color-eyre v0.6.4
[INFO] [stderr]   Downloaded deltae v0.3.2
[INFO] [stderr]   Downloaded aws-lc-sys v0.36.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1ea61ecff0354b21aad089822bdb190e17753523704157e0fe109f40802696d0
[INFO] running `Command { std: "docker" "start" "1ea61ecff0354b21aad089822bdb190e17753523704157e0fe109f40802696d0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1ea61ecff0354b21aad089822bdb190e17753523704157e0fe109f40802696d0", 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" "1ea61ecff0354b21aad089822bdb190e17753523704157e0fe109f40802696d0" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1ea61ecff0354b21aad089822bdb190e17753523704157e0fe109f40802696d0", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1ea61ecff0354b21aad089822bdb190e17753523704157e0fe109f40802696d0" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling smallvec v1.15.0
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.8
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling rustversion v1.0.21
[INFO] [stderr]    Compiling syn v2.0.116
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling aws-lc-rs v1.15.3
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling cc v1.2.53
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling rustls v0.23.28
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling slab v0.4.10
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling anstyle-parse v0.2.6
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling thread_local v1.1.8
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling colorchoice v1.0.3
[INFO] [stderr]    Compiling castaway v0.2.3
[INFO] [stderr]    Compiling litrs v0.4.1
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling anstyle v1.0.10
[INFO] [stderr]    Compiling time-core v0.1.7
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling anstyle-query v1.1.2
[INFO] [stderr]    Compiling owo-colors v4.2.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling anstream v0.6.18
[INFO] [stderr]    Compiling line-clipping v0.3.5
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling color-spantrace v0.2.2
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling gimli v0.31.1
[INFO] [stderr]    Compiling rand_core v0.10.0
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling openssl-probe v0.2.0
[INFO] [stderr]    Compiling time v0.3.45
[INFO] [stderr]    Compiling miniz_oxide v0.8.8
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling rustc-demangle v0.1.24
[INFO] [stderr]    Compiling iri-string v0.7.8
[INFO] [stderr]    Compiling clap_lex v0.7.4
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling indenter v0.3.3
[INFO] [stderr]    Compiling clap_builder v4.5.38
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling chacha20 v0.10.0
[INFO] [stderr]    Compiling toml_parser v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling tracing-error v0.2.1
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling serde_spanned v1.0.4
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling include_dir_macros v0.7.4
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling toml_writer v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling aws-lc-sys v0.36.0
[INFO] [stderr]    Compiling jiff v0.2.14
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling rand v0.10.0
[INFO] [stderr]    Compiling include_dir v0.7.4
[INFO] [stderr]    Compiling toml v0.9.11+spec-1.1.0
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling sys-locale v0.3.2
[INFO] [stderr]    Compiling addr2line v0.24.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling backtrace v0.3.75
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]    Compiling tokio v1.45.1
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling color-eyre v0.6.4
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling env_filter v0.1.3
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling kasuari v0.4.11
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling tyme4rs v1.3.0
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling instability v0.3.7
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling clap v4.5.38
[INFO] [stderr]    Compiling env_logger v0.11.8
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling h2 v0.4.10
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling hyper-util v0.1.14
[INFO] [stderr]    Compiling rustls-webpki v0.103.3
[INFO] [stderr]    Compiling tokio-rustls v0.26.2
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.13.1
[INFO] [stderr]    Compiling riqi v0.1.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `parse_holidays_of_year`
[INFO] [stdout]  --> src/data/calendar.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::holiday::modal::{parse_holidays_of_year, Holiday, HolidayOfYearList};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/data/calendar.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::{Datelike, Duration, Local, NaiveDate};
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Wrap`
[INFO] [stdout]  --> src/data/calendar.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Wrap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/data/calendar.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::offset_of`
[INFO] [stdout]  --> src/data/calendar.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::mem::offset_of;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/data/calendar.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]  --> src/events.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use log::{debug, info};
[INFO] [stdout]   |           ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/events.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OptionExt`
[INFO] [stdout]  --> src/holiday/manager.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use color_eyre::eyre::{bail, OptionExt};
[INFO] [stdout]   |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Bytes`
[INFO] [stdout]  --> src/holiday/manager.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::Bytes;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]   --> src/holiday/manager.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::thread::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/holiday/manager.rs:188:20
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 if (old_version < holiday_of_ylc.version) {
[INFO] [stdout]     |                    ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 188 -                 if (old_version < holiday_of_ylc.version) {
[INFO] [stdout] 188 +                 if old_version < holiday_of_ylc.version  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::holiday::utils::get_ylc_code`
[INFO] [stdout]  --> src/holiday/modal.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::holiday::utils::get_ylc_code;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config::model::AppConfig`
[INFO] [stdout]  --> src/state.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::config::model::AppConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]  --> src/state.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WidgetRef`
[INFO] [stdout]  --> src/ui/week_row.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 |     widgets::{Widget, WidgetRef},
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::BorderType::Rounded`
[INFO] [stdout]  --> src/ui/goto_panel_component.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::BorderType::Rounded;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Clear`, `Flex`, and `Frame`
[INFO] [stdout]   --> src/ui/goto_panel_component.rs:7:26
[INFO] [stdout]    |
[INFO] [stdout]  7 |     layout::{Constraint, Flex, Layout, Rect},
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout]  8 |     style::{Color, Style, Stylize},
[INFO] [stdout]  9 |     widgets::{Block, Borders, Clear, Paragraph},
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout] 10 |     Frame,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constraint` and `Layout`
[INFO] [stdout]  --> src/ui/notification_component.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     layout::{Constraint, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveDate`
[INFO] [stdout]   --> src/main.rs:21:31
[INFO] [stdout]    |
[INFO] [stdout] 21 | use chrono::{Datelike, Local, NaiveDate};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arg`
[INFO] [stdout]   --> src/main.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | use clap::{arg, Parser};
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> src/main.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | use log::{debug, info, LevelFilter};
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]   --> src/main.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use serde::Deserialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/main.rs:48:23
[INFO] [stdout]    |
[INFO] [stdout] 48 |     month_component::{self, MonthComponent},
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stylize`
[INFO] [stdout]  --> src/ui/utils.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ratatui::style::{Style, Stylize};
[INFO] [stdout]   |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stylize`
[INFO] [stdout]  --> src/ui/goto_panel_component.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     style::{Color, Style, Stylize},
[INFO] [stdout]   |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `save_res`
[INFO] [stdout]    --> src/holiday/manager.rs:190:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |                     let save_res =
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_save_res`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `save_res`
[INFO] [stdout]    --> src/holiday/manager.rs:194:21
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 let save_res =
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_save_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `load_remote_res`
[INFO] [stdout]    --> src/holiday/manager.rs:266:21
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 let load_remote_res = HolidayManager::load_remote_file(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_load_remote_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `icon_x` is never read
[INFO] [stdout]    --> src/ui/day_cell.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             icon_x -= 2;
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `day_width`
[INFO] [stdout]   --> src/ui/month_component.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let day_width = self.riqi_layout.month_calendar.day_item_column as u16;
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_day_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 197 |                     _ => (),
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 195 |                     RiqiMode::Normal => handle_normal_mode_key_event(key, &mut riqi_state),
[INFO] [stdout]     |                     ---------------- matches some of the same values
[INFO] [stdout] 196 |                     RiqiMode::Goto => handle_goto_mode_key_event(key, &mut riqi_state, tx.clone()),
[INFO] [stdout]     |                     -------------- matches some of the same values
[INFO] [stdout] 197 |                     _ => (),
[INFO] [stdout]     |                     ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx_clone`
[INFO] [stdout]    --> src/main.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let tx_clone = tx.clone();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pre_year`
[INFO] [stdout]    --> src/main.rs:191:21
[INFO] [stdout]     |
[INFO] [stdout] 191 |                 let pre_year = riqi_state.select_day.year();
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_year`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pre_month`
[INFO] [stdout]    --> src/main.rs:192:21
[INFO] [stdout]     |
[INFO] [stdout] 192 |                 let pre_month = riqi_state.select_day.month();
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_month`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ylc_key`
[INFO] [stdout]    --> src/main.rs:201:21
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 let ylc_key = get_ylc_code(
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ylc_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/config/model.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Source {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 10 |     pub fn as_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `data_dir` is never used
[INFO] [stdout]   --> src/config/xdg.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Xdg {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn data_dir() -> Option<PathBuf> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `year` and `month` are never read
[INFO] [stdout]   --> src/data/calendar.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct CalendarDay {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 14 |     pub year: u32,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 15 |     pub month: u32, // 1-12
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CalendarDay` 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: variants `Quit` and `AddNotification` are never constructed
[INFO] [stdout]   --> src/events.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum AppEvent {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 14 |     Quit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     AddNotification(NotificationMessage),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Failed` is never constructed
[INFO] [stdout]   --> src/holiday/manager.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum LoadRemoteState {
[INFO] [stdout]    |          --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     Failed,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `local_cache_time` is never read
[INFO] [stdout]   --> src/holiday/manager.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct YlcHolidayUpdateState {
[INFO] [stdout]    |            --------------------- field in this struct
[INFO] [stdout] 29 |     loaded_local_cache: bool,
[INFO] [stdout] 30 |     local_cache_time: Option<NaiveDate>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HolidayLoadStatus` is never used
[INFO] [stdout]  --> src/holiday/modal.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum HolidayLoadStatus {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `today` is never read
[INFO] [stdout]   --> src/state.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct RiqiState {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 28 |     pub select_day: NaiveDate,
[INFO] [stdout] 29 |     pub today: NaiveDate,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RiqiState` 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 `under_line` and `transparent_bg` are never read
[INFO] [stdout]   --> src/theme/theme_model.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct ItemStyle {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub under_line: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 36 |     pub transparent_bg: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ItemStyle` 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: fields `head` and `content` are never read
[INFO] [stdout]  --> src/ui/layout.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MonthCalendarLayout {
[INFO] [stdout]   |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     pub head: Rect,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 8 |     pub content: Rect,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `MonthCalendarLayout` 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 `title` is never read
[INFO] [stdout]   --> src/ui/layout.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct RiqiLayout {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 16 |     pub title: Rect,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RiqiLayout` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/day_cell.rs:158:27
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn get_lunar_line(&self, style: Style) -> Line {
[INFO] [stdout]     |                           ^^^^^                   ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn get_lunar_line(&self, style: Style) -> Line<'_> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 25s
[INFO] running `Command { std: "docker" "inspect" "1ea61ecff0354b21aad089822bdb190e17753523704157e0fe109f40802696d0", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1ea61ecff0354b21aad089822bdb190e17753523704157e0fe109f40802696d0" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling riqi v0.1.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `parse_holidays_of_year`
[INFO] [stdout]  --> src/data/calendar.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::holiday::modal::{parse_holidays_of_year, Holiday, HolidayOfYearList};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/data/calendar.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::{Datelike, Duration, Local, NaiveDate};
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Wrap`
[INFO] [stdout]  --> src/data/calendar.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Wrap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/data/calendar.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::offset_of`
[INFO] [stdout]  --> src/data/calendar.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::mem::offset_of;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/data/calendar.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]  --> src/events.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use log::{debug, info};
[INFO] [stdout]   |           ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/events.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OptionExt`
[INFO] [stdout]  --> src/holiday/manager.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use color_eyre::eyre::{bail, OptionExt};
[INFO] [stdout]   |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Bytes`
[INFO] [stdout]  --> src/holiday/manager.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::Bytes;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]   --> src/holiday/manager.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::thread::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/holiday/manager.rs:188:20
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 if (old_version < holiday_of_ylc.version) {
[INFO] [stdout]     |                    ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 188 -                 if (old_version < holiday_of_ylc.version) {
[INFO] [stdout] 188 +                 if old_version < holiday_of_ylc.version  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::holiday::utils::get_ylc_code`
[INFO] [stdout]  --> src/holiday/modal.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::holiday::utils::get_ylc_code;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config::model::AppConfig`
[INFO] [stdout]  --> src/state.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::config::model::AppConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]  --> src/state.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WidgetRef`
[INFO] [stdout]  --> src/ui/week_row.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 |     widgets::{Widget, WidgetRef},
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::BorderType::Rounded`
[INFO] [stdout]  --> src/ui/goto_panel_component.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::BorderType::Rounded;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Clear`, `Flex`, and `Frame`
[INFO] [stdout]   --> src/ui/goto_panel_component.rs:7:26
[INFO] [stdout]    |
[INFO] [stdout]  7 |     layout::{Constraint, Flex, Layout, Rect},
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout]  8 |     style::{Color, Style, Stylize},
[INFO] [stdout]  9 |     widgets::{Block, Borders, Clear, Paragraph},
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout] 10 |     Frame,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constraint` and `Layout`
[INFO] [stdout]  --> src/ui/notification_component.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     layout::{Constraint, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveDate`
[INFO] [stdout]   --> src/main.rs:21:31
[INFO] [stdout]    |
[INFO] [stdout] 21 | use chrono::{Datelike, Local, NaiveDate};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arg`
[INFO] [stdout]   --> src/main.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | use clap::{arg, Parser};
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> src/main.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | use log::{debug, info, LevelFilter};
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]   --> src/main.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use serde::Deserialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/main.rs:48:23
[INFO] [stdout]    |
[INFO] [stdout] 48 |     month_component::{self, MonthComponent},
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stylize`
[INFO] [stdout]  --> src/ui/goto_panel_component.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     style::{Color, Style, Stylize},
[INFO] [stdout]   |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stylize`
[INFO] [stdout]  --> src/ui/utils.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ratatui::style::{Style, Stylize};
[INFO] [stdout]   |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/data/calendar.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[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: `holiday_map`
[INFO] [stdout]    --> src/data/calendar.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_holiday_map`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/data/calendar.rs:286:13
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/data/calendar.rs:302:13
[INFO] [stdout]     |
[INFO] [stdout] 302 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/data/calendar.rs:325:13
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/data/calendar.rs:358:13
[INFO] [stdout]     |
[INFO] [stdout] 358 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/data/calendar.rs:388:13
[INFO] [stdout]     |
[INFO] [stdout] 388 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/data/calendar.rs:418:13
[INFO] [stdout]     |
[INFO] [stdout] 418 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/data/calendar.rs:466:17
[INFO] [stdout]     |
[INFO] [stdout] 466 |             let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/data/calendar.rs:488:13
[INFO] [stdout]     |
[INFO] [stdout] 488 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/data/calendar.rs:522:13
[INFO] [stdout]     |
[INFO] [stdout] 522 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `save_res`
[INFO] [stdout]    --> src/holiday/manager.rs:190:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |                     let save_res =
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_save_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `save_res`
[INFO] [stdout]    --> src/holiday/manager.rs:194:21
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 let save_res =
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_save_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `load_remote_res`
[INFO] [stdout]    --> src/holiday/manager.rs:266:21
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 let load_remote_res = HolidayManager::load_remote_file(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_load_remote_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `icon_x` is never read
[INFO] [stdout]    --> src/ui/day_cell.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             icon_x -= 2;
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `day_width`
[INFO] [stdout]   --> src/ui/month_component.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let day_width = self.riqi_layout.month_calendar.day_item_column as u16;
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_day_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 197 |                     _ => (),
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 195 |                     RiqiMode::Normal => handle_normal_mode_key_event(key, &mut riqi_state),
[INFO] [stdout]     |                     ---------------- matches some of the same values
[INFO] [stdout] 196 |                     RiqiMode::Goto => handle_goto_mode_key_event(key, &mut riqi_state, tx.clone()),
[INFO] [stdout]     |                     -------------- matches some of the same values
[INFO] [stdout] 197 |                     _ => (),
[INFO] [stdout]     |                     ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx_clone`
[INFO] [stdout]    --> src/main.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let tx_clone = tx.clone();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pre_year`
[INFO] [stdout]    --> src/main.rs:191:21
[INFO] [stdout]     |
[INFO] [stdout] 191 |                 let pre_year = riqi_state.select_day.year();
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_year`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pre_month`
[INFO] [stdout]    --> src/main.rs:192:21
[INFO] [stdout]     |
[INFO] [stdout] 192 |                 let pre_month = riqi_state.select_day.month();
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_month`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ylc_key`
[INFO] [stdout]    --> src/main.rs:201:21
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 let ylc_key = get_ylc_code(
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ylc_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/config/model.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Source {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 10 |     pub fn as_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `data_dir` is never used
[INFO] [stdout]   --> src/config/xdg.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Xdg {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn data_dir() -> Option<PathBuf> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Quit` and `AddNotification` are never constructed
[INFO] [stdout]   --> src/events.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum AppEvent {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 14 |     Quit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     AddNotification(NotificationMessage),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Failed` is never constructed
[INFO] [stdout]   --> src/holiday/manager.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum LoadRemoteState {
[INFO] [stdout]    |          --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     Failed,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `local_cache_time` is never read
[INFO] [stdout]   --> src/holiday/manager.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct YlcHolidayUpdateState {
[INFO] [stdout]    |            --------------------- field in this struct
[INFO] [stdout] 29 |     loaded_local_cache: bool,
[INFO] [stdout] 30 |     local_cache_time: Option<NaiveDate>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HolidayLoadStatus` is never used
[INFO] [stdout]  --> src/holiday/modal.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum HolidayLoadStatus {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `today` is never read
[INFO] [stdout]   --> src/state.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct RiqiState {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 28 |     pub select_day: NaiveDate,
[INFO] [stdout] 29 |     pub today: NaiveDate,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RiqiState` 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 `under_line` and `transparent_bg` are never read
[INFO] [stdout]   --> src/theme/theme_model.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct ItemStyle {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub under_line: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 36 |     pub transparent_bg: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ItemStyle` 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: fields `head` and `content` are never read
[INFO] [stdout]  --> src/ui/layout.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MonthCalendarLayout {
[INFO] [stdout]   |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     pub head: Rect,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 8 |     pub content: Rect,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `MonthCalendarLayout` 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 `title` is never read
[INFO] [stdout]   --> src/ui/layout.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct RiqiLayout {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 16 |     pub title: Rect,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RiqiLayout` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/day_cell.rs:158:27
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn get_lunar_line(&self, style: Style) -> Line {
[INFO] [stdout]     |                           ^^^^^                   ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn get_lunar_line(&self, style: Style) -> Line<'_> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.26s
[INFO] running `Command { std: "docker" "inspect" "1ea61ecff0354b21aad089822bdb190e17753523704157e0fe109f40802696d0", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1ea61ecff0354b21aad089822bdb190e17753523704157e0fe109f40802696d0" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `parse_holidays_of_year`
[INFO] [stderr]  --> src/data/calendar.rs:1:29
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::holiday::modal::{parse_holidays_of_year, Holiday, HolidayOfYearList};
[INFO] [stderr]   |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Duration`
[INFO] [stderr]  --> src/data/calendar.rs:3:24
[INFO] [stderr]   |
[INFO] [stderr] 3 | use chrono::{Datelike, Duration, Local, NaiveDate};
[INFO] [stderr]   |                        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ratatui::widgets::Wrap`
[INFO] [stderr]  --> src/data/calendar.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ratatui::widgets::Wrap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::format`
[INFO] [stderr]  --> src/data/calendar.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::fmt::format;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem::offset_of`
[INFO] [stderr]  --> src/data/calendar.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::mem::offset_of;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Add`
[INFO] [stderr]  --> src/data/calendar.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::ops::Add;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `debug` and `info`
[INFO] [stderr]  --> src/events.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | use log::{debug, info};
[INFO] [stderr]   |           ^^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread`
[INFO] [stderr]  --> src/events.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::thread;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `OptionExt`
[INFO] [stderr]  --> src/holiday/manager.rs:6:30
[INFO] [stderr]   |
[INFO] [stderr] 6 | use color_eyre::eyre::{bail, OptionExt};
[INFO] [stderr]   |                              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Bytes`
[INFO] [stderr]  --> src/holiday/manager.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::io::Bytes;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread::sleep`
[INFO] [stderr]   --> src/holiday/manager.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::thread::sleep;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/holiday/manager.rs:188:20
[INFO] [stderr]     |
[INFO] [stderr] 188 |                 if (old_version < holiday_of_ylc.version) {
[INFO] [stderr]     |                    ^                                    ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 188 -                 if (old_version < holiday_of_ylc.version) {
[INFO] [stderr] 188 +                 if old_version < holiday_of_ylc.version  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::holiday::utils::get_ylc_code`
[INFO] [stderr]  --> src/holiday/modal.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::holiday::utils::get_ylc_code;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::config::model::AppConfig`
[INFO] [stderr]  --> src/state.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::config::model::AppConfig;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde::Deserialize`
[INFO] [stderr]  --> src/state.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use serde::Deserialize;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `WidgetRef`
[INFO] [stderr]  --> src/ui/week_row.rs:4:23
[INFO] [stderr]   |
[INFO] [stderr] 4 |     widgets::{Widget, WidgetRef},
[INFO] [stderr]   |                       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ratatui::widgets::BorderType::Rounded`
[INFO] [stderr]  --> src/ui/goto_panel_component.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ratatui::widgets::BorderType::Rounded;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Clear`, `Flex`, and `Frame`
[INFO] [stderr]   --> src/ui/goto_panel_component.rs:7:26
[INFO] [stderr]    |
[INFO] [stderr]  7 |     layout::{Constraint, Flex, Layout, Rect},
[INFO] [stderr]    |                          ^^^^
[INFO] [stderr]  8 |     style::{Color, Style, Stylize},
[INFO] [stderr]  9 |     widgets::{Block, Borders, Clear, Paragraph},
[INFO] [stderr]    |                               ^^^^^
[INFO] [stderr] 10 |     Frame,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Constraint` and `Layout`
[INFO] [stderr]  --> src/ui/notification_component.rs:5:14
[INFO] [stderr]   |
[INFO] [stderr] 5 |     layout::{Constraint, Layout, Rect},
[INFO] [stderr]   |              ^^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `NaiveDate`
[INFO] [stderr]   --> src/main.rs:21:31
[INFO] [stderr]    |
[INFO] [stderr] 21 | use chrono::{Datelike, Local, NaiveDate};
[INFO] [stderr]    |                               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `arg`
[INFO] [stderr]   --> src/main.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | use clap::{arg, Parser};
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `debug`
[INFO] [stderr]   --> src/main.rs:32:11
[INFO] [stderr]    |
[INFO] [stderr] 32 | use log::{debug, info, LevelFilter};
[INFO] [stderr]    |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde::Deserialize`
[INFO] [stderr]   --> src/main.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 35 | use serde::Deserialize;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]   --> src/main.rs:48:23
[INFO] [stderr]    |
[INFO] [stderr] 48 |     month_component::{self, MonthComponent},
[INFO] [stderr]    |                       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Stylize`
[INFO] [stderr]  --> src/ui/goto_panel_component.rs:8:27
[INFO] [stderr]   |
[INFO] [stderr] 8 |     style::{Color, Style, Stylize},
[INFO] [stderr]   |                           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Stylize`
[INFO] [stderr]  --> src/ui/utils.rs:1:29
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ratatui::style::{Style, Stylize};
[INFO] [stderr]   |                             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/data/calendar.rs:275:13
[INFO] [stderr]     |
[INFO] [stderr] 275 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stderr]     |             ----^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `holiday_map`
[INFO] [stderr]    --> src/data/calendar.rs:275:13
[INFO] [stderr]     |
[INFO] [stderr] 275 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_holiday_map`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/data/calendar.rs:286:13
[INFO] [stderr]     |
[INFO] [stderr] 286 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stderr]     |             ----^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/data/calendar.rs:302:13
[INFO] [stderr]     |
[INFO] [stderr] 302 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stderr]     |             ----^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/data/calendar.rs:325:13
[INFO] [stderr]     |
[INFO] [stderr] 325 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stderr]     |             ----^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/data/calendar.rs:358:13
[INFO] [stderr]     |
[INFO] [stderr] 358 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stderr]     |             ----^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/data/calendar.rs:388:13
[INFO] [stderr]     |
[INFO] [stderr] 388 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stderr]     |             ----^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/data/calendar.rs:418:13
[INFO] [stderr]     |
[INFO] [stderr] 418 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stderr]     |             ----^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/data/calendar.rs:466:17
[INFO] [stderr]     |
[INFO] [stderr] 466 |             let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stderr]     |                 ----^^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/data/calendar.rs:488:13
[INFO] [stderr]     |
[INFO] [stderr] 488 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stderr]     |             ----^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/data/calendar.rs:522:13
[INFO] [stderr]     |
[INFO] [stderr] 522 |         let mut holiday_map: HashMap<String, HolidayOfYearList> = HashMap::new();
[INFO] [stderr]     |             ----^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `save_res`
[INFO] [stderr]    --> src/holiday/manager.rs:190:25
[INFO] [stderr]     |
[INFO] [stderr] 190 |                     let save_res =
[INFO] [stderr]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_save_res`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `save_res`
[INFO] [stderr]    --> src/holiday/manager.rs:194:21
[INFO] [stderr]     |
[INFO] [stderr] 194 |                 let save_res =
[INFO] [stderr]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_save_res`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `load_remote_res`
[INFO] [stderr]    --> src/holiday/manager.rs:266:21
[INFO] [stderr]     |
[INFO] [stderr] 266 |                 let load_remote_res = HolidayManager::load_remote_file(
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_load_remote_res`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `icon_x` is never read
[INFO] [stderr]    --> src/ui/day_cell.rs:128:13
[INFO] [stderr]     |
[INFO] [stderr] 128 |             icon_x -= 2;
[INFO] [stderr]     |             ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `day_width`
[INFO] [stderr]   --> src/ui/month_component.rs:78:13
[INFO] [stderr]    |
[INFO] [stderr] 78 |         let day_width = self.riqi_layout.month_calendar.day_item_column as u16;
[INFO] [stderr]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_day_width`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/main.rs:197:21
[INFO] [stderr]     |
[INFO] [stderr] 197 |                     _ => (),
[INFO] [stderr]     |                     ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/main.rs:197:21
[INFO] [stderr]     |
[INFO] [stderr] 195 |                     RiqiMode::Normal => handle_normal_mode_key_event(key, &mut riqi_state),
[INFO] [stderr]     |                     ---------------- matches some of the same values
[INFO] [stderr] 196 |                     RiqiMode::Goto => handle_goto_mode_key_event(key, &mut riqi_state, tx.clone()),
[INFO] [stderr]     |                     -------------- matches some of the same values
[INFO] [stderr] 197 |                     _ => (),
[INFO] [stderr]     |                     ^ collectively making this unreachable
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tx_clone`
[INFO] [stderr]    --> src/main.rs:141:13
[INFO] [stderr]     |
[INFO] [stderr] 141 |         let tx_clone = tx.clone();
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_clone`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pre_year`
[INFO] [stderr]    --> src/main.rs:191:21
[INFO] [stderr]     |
[INFO] [stderr] 191 |                 let pre_year = riqi_state.select_day.year();
[INFO] [stderr]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_year`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pre_month`
[INFO] [stderr]    --> src/main.rs:192:21
[INFO] [stderr]     |
[INFO] [stderr] 192 |                 let pre_month = riqi_state.select_day.month();
[INFO] [stderr]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_month`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ylc_key`
[INFO] [stderr]    --> src/main.rs:201:21
[INFO] [stderr]     |
[INFO] [stderr] 201 |                 let ylc_key = get_ylc_code(
[INFO] [stderr]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ylc_key`
[INFO] [stderr] 
[INFO] [stderr] warning: method `as_str` is never used
[INFO] [stderr]   --> src/config/model.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr]  9 | impl Source {
[INFO] [stderr]    | ----------- method in this implementation
[INFO] [stderr] 10 |     pub fn as_str(&self) -> &'static str {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `data_dir` is never used
[INFO] [stderr]   --> src/config/xdg.rs:24:12
[INFO] [stderr]    |
[INFO] [stderr]  6 | impl Xdg {
[INFO] [stderr]    | -------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 24 |     pub fn data_dir() -> Option<PathBuf> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Quit` and `AddNotification` are never constructed
[INFO] [stderr]   --> src/events.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub enum AppEvent {
[INFO] [stderr]    |          -------- variants in this enum
[INFO] [stderr] 14 |     Quit,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 17 |     AddNotification(NotificationMessage),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Failed` is never constructed
[INFO] [stderr]   --> src/holiday/manager.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub enum LoadRemoteState {
[INFO] [stderr]    |          --------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 21 |     Failed,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `local_cache_time` is never read
[INFO] [stderr]   --> src/holiday/manager.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub struct YlcHolidayUpdateState {
[INFO] [stderr]    |            --------------------- field in this struct
[INFO] [stderr] 29 |     loaded_local_cache: bool,
[INFO] [stderr] 30 |     local_cache_time: Option<NaiveDate>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `HolidayLoadStatus` is never used
[INFO] [stderr]  --> src/holiday/modal.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub enum HolidayLoadStatus {
[INFO] [stderr]   |          ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `today` is never read
[INFO] [stderr]   --> src/state.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub struct RiqiState {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] 28 |     pub select_day: NaiveDate,
[INFO] [stderr] 29 |     pub today: NaiveDate,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RiqiState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `under_line` and `transparent_bg` are never read
[INFO] [stderr]   --> src/theme/theme_model.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub struct ItemStyle {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 35 |     pub under_line: Option<bool>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 36 |     pub transparent_bg: Option<bool>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ItemStyle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `head` and `content` are never read
[INFO] [stderr]  --> src/ui/layout.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct MonthCalendarLayout {
[INFO] [stderr]   |            ------------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 7 |     pub head: Rect,
[INFO] [stderr]   |         ^^^^
[INFO] [stderr] 8 |     pub content: Rect,
[INFO] [stderr]   |         ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `MonthCalendarLayout` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `title` is never read
[INFO] [stderr]   --> src/ui/layout.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct RiqiLayout {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] 16 |     pub title: Rect,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RiqiLayout` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ui/day_cell.rs:158:27
[INFO] [stderr]     |
[INFO] [stderr] 158 |     pub fn get_lunar_line(&self, style: Style) -> Line {
[INFO] [stderr]     |                           ^^^^^                   ^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 158 |     pub fn get_lunar_line(&self, style: Style) -> Line<'_> {
[INFO] [stderr]     |                                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `riqi` (bin "riqi" test) generated 58 warnings (run `cargo fix --bin "riqi" -p riqi --tests` to apply 44 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.37s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/riqi-6eae3feb5a63ea77)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test ui::lunar::tests::test_number_to_lunar_day ... ok
[INFO] [stdout] test ui::lunar::tests::test_number_to_lunar_month ... ok
[INFO] [stdout] test data::calendar::tests::test_calendar_day_creation ... ok
[INFO] [stdout] test data::calendar::tests::test_april_30_in_may_calendar ... ok
[INFO] [stdout] test data::calendar::tests::test_calendar_month_transition ... ok
[INFO] [stdout] test data::calendar::tests::test_month_calendar_weeks ... ok
[INFO] [stdout] test data::calendar::tests::test_month_calendar_creation ... ok
[INFO] [stdout] test data::calendar::tests::test_calendar_week_structure ... ok
[INFO] [stdout] test data::calendar::tests::test_month_calendar_days ... ok
[INFO] [stdout] test data::calendar::tests::test_month_calendar_weekdays ... ok
[INFO] [stdout] test data::calendar::tests::test_month_calendar_adjacent_months ... ok
[INFO] [stdout] test data::calendar::tests::test_calendar_always_shows_six_weeks ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1ea61ecff0354b21aad089822bdb190e17753523704157e0fe109f40802696d0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ea61ecff0354b21aad089822bdb190e17753523704157e0fe109f40802696d0", kill_on_drop: false }`
[INFO] [stdout] 1ea61ecff0354b21aad089822bdb190e17753523704157e0fe109f40802696d0
