[INFO] fetching crate fido 0.1.8...
[INFO] testing fido-0.1.8 against beta-2026-01-20 for beta-1.94-1
[INFO] extracting crate fido 0.1.8 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate fido 0.1.8
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate fido 0.1.8
[INFO] tweaked toml for crates.io crate fido 0.1.8 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate fido 0.1.8 on toolchain beta-2026-01-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-01-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate fido 0.1.8 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-01-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 81f404754e00a921e0455e09403823524d8dc57793fc852496ffe689451f4811
[INFO] running `Command { std: "docker" "start" "-a" "81f404754e00a921e0455e09403823524d8dc57793fc852496ffe689451f4811", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "81f404754e00a921e0455e09403823524d8dc57793fc852496ffe689451f4811", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81f404754e00a921e0455e09403823524d8dc57793fc852496ffe689451f4811", kill_on_drop: false }`
[INFO] [stdout] 81f404754e00a921e0455e09403823524d8dc57793fc852496ffe689451f4811
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fb03338e1c2a1a1955be4eadd931de81ebf1a4ee38e4ff8449e86a7249f6ffb3
[INFO] running `Command { std: "docker" "start" "-a" "fb03338e1c2a1a1955be4eadd931de81ebf1a4ee38e4ff8449e86a7249f6ffb3", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling find-msvc-tools v0.1.4
[INFO] [stderr]    Compiling icu_properties_data v2.1.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling hashbrown v0.16.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling instability v0.3.9
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling cc v1.2.45
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling clap_builder v4.5.51
[INFO] [stderr]    Compiling indexmap v2.12.0
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling smawk v0.3.2
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling emojis v0.6.4
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling simplelog v0.12.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling clap v4.5.51
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling ratatui v0.28.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling tui-textarea v0.6.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling fido-types v0.1.8
[INFO] [stderr]    Compiling webbrowser v1.0.6
[INFO] [stderr]    Compiling tokio-util v0.7.17
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling fido v0.1.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `dms::handle_dms_keys`
[INFO] [stdout]  --> src/app/handlers/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use dms::handle_dms_keys;
[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: `profile::handle_profile_keys`
[INFO] [stdout]   --> src/app/handlers/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use profile::handle_profile_keys;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `settings::handle_settings_keys`
[INFO] [stdout]   --> src/app/handlers/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use settings::handle_settings_keys;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `log_modal_state` and `log_rendering`
[INFO] [stdout]   --> src/ui/tabs.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{log_modal_state, log_rendering};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_user_profile_view`, `unfollow_hashtag`, `search_hashtags`, `follow_user`, and `unfollow_user` are never used
[INFO] [stdout]    --> src/api/backend.rs:165:18
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl Backend {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub async fn get_user_profile_view(&self, user_id: String) -> ApiResult<UserProfileView> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub async fn unfollow_hashtag(&mut self, name: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub async fn search_hashtags(&self, query: String) -> ApiResult<Vec<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub async fn follow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub async fn unfollow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_user_profile_view`, `unfollow_hashtag`, `search_hashtags`, `follow_user`, and `unfollow_user` are never used
[INFO] [stdout]    --> src/api/client.rs:270:18
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl ApiClient {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub async fn get_user_profile_view(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub async fn unfollow_hashtag(&self, name: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub async fn search_hashtags(&self, query: String) -> ApiResult<Vec<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 400 |     pub async fn follow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 409 |     pub async fn unfollow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expires_in` is never read
[INFO] [stdout]    --> src/api/client.rs:530:9
[INFO] [stdout]     |
[INFO] [stdout] 526 | pub struct GitHubDeviceFlowResponse {
[INFO] [stdout]     |            ------------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 530 |     pub expires_in: i64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GitHubDeviceFlowResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SessionPollResponse` is never constructed
[INFO] [stdout]    --> src/api/client.rs:546:12
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub struct SessionPollResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unfollow_hashtag` is never used
[INFO] [stdout]    --> src/api/mock_backend.rs:695:18
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl MockBackend {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 695 |     pub async fn unfollow_hashtag(&mut self, hashtag: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/app/mod.rs:557:12
[INFO] [stdout]      |
[INFO] [stdout]   17 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  557 |     pub fn needs_tab_data_load(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  882 |     pub fn open_new_post_modal(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  889 |     pub fn close_new_post_modal(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1028 |     pub fn enter_search_mode(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1036 |     pub fn exit_search_mode(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1044 |     pub async fn search_hashtags(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1087 |     pub async fn follow_selected_hashtag(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1146 |     pub async fn toggle_follow_hashtag(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1257 |     pub async fn submit_new_post(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1352 |     pub fn open_edit_bio_modal(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1364 |     pub fn close_edit_bio_modal(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1407 |     pub async fn submit_bio_update(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1711 |     pub async fn unfollow_hashtag(&mut self, name: &str) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1868 |     pub fn open_composer_edit_post(&mut self, post_id: Uuid, current_content: String) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2524 |     fn is_mutual_friend(&self, username: &str) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2532 |     pub fn add_char_to_new_conversation(&mut self, c: char) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2539 |     pub fn remove_char_from_new_conversation(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2577 |     pub async fn open_or_create_dm_conversation(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2820 |     pub fn handle_main_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2825 |     pub fn handle_profile_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2890 |     pub fn handle_dms_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3100 |     pub fn handle_posts_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3105 |     pub fn handle_filter_modal_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3110 |     pub fn handle_post_detail_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3117 |     pub fn handle_full_post_modal_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3199 |     pub fn handle_reply_composer_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3351 |     pub fn poll_event(&mut self, timeout: Duration) -> Result<bool> {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3835 |     pub fn open_reply_composer(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3865 |     pub async fn submit_reply(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3911 |     pub fn get_selected_post_author_id(&self) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3920 |     pub fn get_post_detail_author_id(&self) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3958 |     pub fn toggle_reply_expansion(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4031 |     fn get_selected_post_in_modal(&self) -> Option<Post> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4089 |     fn flatten_modal_tree(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4501 |     pub fn toggle_follow_in_profile_view(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4535 |     pub async fn load_user_profile_view(&mut self, user_id: String) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4570 |     pub async fn follow_user_in_profile_view(&mut self, user_id: String) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4586 |     pub async fn unfollow_user_in_profile_view(&mut self, user_id: String) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4671 |     pub fn user_search_view_profile(&mut self) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4684 |     pub fn user_search_start_dm(&mut self) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_descendant_of_post` is never used
[INFO] [stdout]     --> src/app/mod.rs:4809:4
[INFO] [stdout]      |
[INFO] [stdout] 4809 | fn is_descendant_of_post(reply: &Post, ancestor_id: &Uuid, all_replies: &[Post]) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `EditPost` is never constructed
[INFO] [stdout]   --> src/app/state.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum ComposerMode {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 44 |     EditPost {
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ComposerMode` 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: field `id` is never read
[INFO] [stdout]    --> src/app/state.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct UserInfo {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 107 |     pub id: String,
[INFO] [stdout]     |         ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UserInfo` 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: field `id` is never read
[INFO] [stdout]    --> src/app/state.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct UserSearchResult {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 138 |     pub id: String,
[INFO] [stdout]     |         ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UserSearchResult` 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: field `messages_scroll_offset` is never read
[INFO] [stdout]    --> src/app/state.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct DMsState {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub messages_scroll_offset: usize, // Scroll offset for message history
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_message_time` is never read
[INFO] [stdout]    --> src/app/state.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub struct Conversation {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub last_message_time: chrono::DateTime<chrono::Utc>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Conversation` 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 `user_id`, `join_date`, `loading`, and `error` are never read
[INFO] [stdout]    --> src/app/state.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub struct UserProfileViewState {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] 240 |     pub user_id: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub join_date: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub loading: bool,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 249 |     pub error: Option<String>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Self_`, `MutualFriends`, `Following`, `FollowsYou`, and `None` are never constructed
[INFO] [stdout]    --> src/app/state.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub enum RelationshipStatus {
[INFO] [stdout]     |          ------------------ variants in this enum
[INFO] [stdout] 254 |     Self_,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 255 |     MutualFriends,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 256 |     Following,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 257 |     FollowsYou,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 258 |     None,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RelationshipStatus` 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: field `sort_order` is never read
[INFO] [stdout]    --> src/app/state.rs:352:9
[INFO] [stdout]     |
[INFO] [stdout] 335 | pub struct PostsState {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 352 |     pub sort_order: String,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expanded_posts` is never read
[INFO] [stdout]    --> src/app/state.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout] 414 | pub struct PostDetailState {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 426 |     pub expanded_posts: std::collections::HashMap<Uuid, bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `poll_for_device_authorization` and `delete_session` are never used
[INFO] [stdout]    --> src/auth.rs:139:18
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl AuthFlow {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub async fn poll_for_device_authorization(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn delete_session(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_LOG_FILE` is never used
[INFO] [stdout]  --> src/debug_log.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const DEBUG_LOG_FILE: &str = "fido_modal_debug.log";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_debug_log` is never used
[INFO] [stdout]  --> src/debug_log.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn clear_debug_log() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_to_log` is never used
[INFO] [stdout]   --> src/debug_log.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn append_to_log(message: &str) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_modal_state` is never used
[INFO] [stdout]   --> src/debug_log.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn log_modal_state(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_key_event` is never used
[INFO] [stdout]   --> src/debug_log.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn log_key_event(key_code: &str, modal_context: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_debug` is never used
[INFO] [stdout]   --> src/debug_log.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn log_debug(message: &str) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `api_calls` and `general` are never read
[INFO] [stdout]   --> src/logging.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct LogFeatures {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub api_calls: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub general: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogFeatures` 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: associated function `minimal` is never used
[INFO] [stdout]   --> src/logging.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl LogConfig {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn minimal() -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_reply_log` is never used
[INFO] [stdout]   --> src/reply_debug_log.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn clear_reply_log() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `path` is never used
[INFO] [stdout]    --> src/session.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl SessionStore {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn path(&self) -> &PathBuf {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `flat_index` is never read
[INFO] [stdout]    --> src/ui/modals/posts.rs:636:5
[INFO] [stdout]     |
[INFO] [stdout] 632 | struct ReplyNode {
[INFO] [stdout]     |        --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 636 |     flat_index: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReplyNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_size` are never used
[INFO] [stdout]   --> src/ui/modals/social_components.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl<'a> SocialModalConfig<'a> {
[INFO] [stdout]    | ------------------------------ associated items in this implementation
[INFO] [stdout] 54 |     /// Builder pattern for cleaner configuration
[INFO] [stdout] 55 |     pub fn new(title: &'a str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn with_size(mut self, width_percent: u16, height_percent: u16) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_loading_state` is never used
[INFO] [stdout]   --> src/ui/modals/social_components.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn render_loading_state(frame: &mut Frame, area: Rect, message: &str, theme: &ThemeColors) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchBarConfig` is never constructed
[INFO] [stdout]    --> src/ui/modals/social_components.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct SearchBarConfig<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_search_bar` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn render_search_bar(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_empty_state` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn render_empty_state(frame: &mut Frame, area: Rect, message: &str, theme: &ThemeColors) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserListConfig` is never constructed
[INFO] [stdout]    --> src/ui/modals/social_components.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct UserListConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabBarConfig` is never constructed
[INFO] [stdout]    --> src/ui/modals/social_components.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct TabBarConfig<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `UserListItem` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:162:11
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub trait UserListItem {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ModalResult` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:178:10
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub type ModalResult<T> = Result<T, ModalError>;
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ModalError` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:182:10
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub enum ModalError {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_user_list` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub fn render_user_list<T: UserListItem>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_tab_bar` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub fn render_tab_bar(frame: &mut Frame, area: Rect, config: &TabBarConfig, theme: &ThemeColors) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_modal_footer` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:290:8
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub fn render_modal_footer(frame: &mut Frame, area: Rect, shortcuts: &str, theme: &ThemeColors) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.29s
[INFO] running `Command { std: "docker" "inspect" "fb03338e1c2a1a1955be4eadd931de81ebf1a4ee38e4ff8449e86a7249f6ffb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fb03338e1c2a1a1955be4eadd931de81ebf1a4ee38e4ff8449e86a7249f6ffb3", kill_on_drop: false }`
[INFO] [stdout] fb03338e1c2a1a1955be4eadd931de81ebf1a4ee38e4ff8449e86a7249f6ffb3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 47aacc2153b6ba04f39cdabbab4b557b69c1ea49784113d78f6256a4bd898a5f
[INFO] running `Command { std: "docker" "start" "-a" "47aacc2153b6ba04f39cdabbab4b557b69c1ea49784113d78f6256a4bd898a5f", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stdout] warning: unused import: `dms::handle_dms_keys`
[INFO] [stdout]  --> src/app/handlers/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use dms::handle_dms_keys;
[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: `profile::handle_profile_keys`
[INFO] [stdout]   --> src/app/handlers/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use profile::handle_profile_keys;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `settings::handle_settings_keys`
[INFO] [stdout]   --> src/app/handlers/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use settings::handle_settings_keys;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `log_modal_state` and `log_rendering`
[INFO] [stdout]   --> src/ui/tabs.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{log_modal_state, log_rendering};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_user_profile_view`, `unfollow_hashtag`, `search_hashtags`, `follow_user`, and `unfollow_user` are never used
[INFO] [stdout]    --> src/api/backend.rs:165:18
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl Backend {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub async fn get_user_profile_view(&self, user_id: String) -> ApiResult<UserProfileView> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub async fn unfollow_hashtag(&mut self, name: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub async fn search_hashtags(&self, query: String) -> ApiResult<Vec<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub async fn follow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub async fn unfollow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_user_profile_view`, `unfollow_hashtag`, `search_hashtags`, `follow_user`, and `unfollow_user` are never used
[INFO] [stdout]    --> src/api/client.rs:270:18
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl ApiClient {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub async fn get_user_profile_view(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub async fn unfollow_hashtag(&self, name: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub async fn search_hashtags(&self, query: String) -> ApiResult<Vec<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 400 |     pub async fn follow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 409 |     pub async fn unfollow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expires_in` is never read
[INFO] [stdout]    --> src/api/client.rs:530:9
[INFO] [stdout]     |
[INFO] [stdout] 526 | pub struct GitHubDeviceFlowResponse {
[INFO] [stdout]     |            ------------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 530 |     pub expires_in: i64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GitHubDeviceFlowResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SessionPollResponse` is never constructed
[INFO] [stdout]    --> src/api/client.rs:546:12
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub struct SessionPollResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unfollow_hashtag` is never used
[INFO] [stdout]    --> src/api/mock_backend.rs:695:18
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl MockBackend {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 695 |     pub async fn unfollow_hashtag(&mut self, hashtag: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/app/mod.rs:557:12
[INFO] [stdout]      |
[INFO] [stdout]   17 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  557 |     pub fn needs_tab_data_load(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  882 |     pub fn open_new_post_modal(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  889 |     pub fn close_new_post_modal(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1028 |     pub fn enter_search_mode(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1036 |     pub fn exit_search_mode(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1044 |     pub async fn search_hashtags(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1087 |     pub async fn follow_selected_hashtag(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1146 |     pub async fn toggle_follow_hashtag(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1257 |     pub async fn submit_new_post(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1352 |     pub fn open_edit_bio_modal(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1364 |     pub fn close_edit_bio_modal(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1407 |     pub async fn submit_bio_update(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1711 |     pub async fn unfollow_hashtag(&mut self, name: &str) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1868 |     pub fn open_composer_edit_post(&mut self, post_id: Uuid, current_content: String) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2524 |     fn is_mutual_friend(&self, username: &str) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2532 |     pub fn add_char_to_new_conversation(&mut self, c: char) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2539 |     pub fn remove_char_from_new_conversation(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2577 |     pub async fn open_or_create_dm_conversation(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2820 |     pub fn handle_main_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2825 |     pub fn handle_profile_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2890 |     pub fn handle_dms_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3100 |     pub fn handle_posts_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3105 |     pub fn handle_filter_modal_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3110 |     pub fn handle_post_detail_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3117 |     pub fn handle_full_post_modal_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3199 |     pub fn handle_reply_composer_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3351 |     pub fn poll_event(&mut self, timeout: Duration) -> Result<bool> {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3835 |     pub fn open_reply_composer(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3865 |     pub async fn submit_reply(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3911 |     pub fn get_selected_post_author_id(&self) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3920 |     pub fn get_post_detail_author_id(&self) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3958 |     pub fn toggle_reply_expansion(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4031 |     fn get_selected_post_in_modal(&self) -> Option<Post> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4089 |     fn flatten_modal_tree(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4501 |     pub fn toggle_follow_in_profile_view(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4535 |     pub async fn load_user_profile_view(&mut self, user_id: String) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4570 |     pub async fn follow_user_in_profile_view(&mut self, user_id: String) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4586 |     pub async fn unfollow_user_in_profile_view(&mut self, user_id: String) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4671 |     pub fn user_search_view_profile(&mut self) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4684 |     pub fn user_search_start_dm(&mut self) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_descendant_of_post` is never used
[INFO] [stdout]     --> src/app/mod.rs:4809:4
[INFO] [stdout]      |
[INFO] [stdout] 4809 | fn is_descendant_of_post(reply: &Post, ancestor_id: &Uuid, all_replies: &[Post]) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `EditPost` is never constructed
[INFO] [stdout]   --> src/app/state.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum ComposerMode {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 44 |     EditPost {
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ComposerMode` 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: field `id` is never read
[INFO] [stdout]    --> src/app/state.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct UserInfo {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 107 |     pub id: String,
[INFO] [stdout]     |         ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UserInfo` 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: field `id` is never read
[INFO] [stdout]    --> src/app/state.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct UserSearchResult {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 138 |     pub id: String,
[INFO] [stdout]     |         ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UserSearchResult` 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: field `messages_scroll_offset` is never read
[INFO] [stdout]    --> src/app/state.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct DMsState {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub messages_scroll_offset: usize, // Scroll offset for message history
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_message_time` is never read
[INFO] [stdout]    --> src/app/state.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub struct Conversation {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub last_message_time: chrono::DateTime<chrono::Utc>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Conversation` 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 `user_id`, `join_date`, `loading`, and `error` are never read
[INFO] [stdout]    --> src/app/state.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub struct UserProfileViewState {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] 240 |     pub user_id: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub join_date: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub loading: bool,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 249 |     pub error: Option<String>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Self_`, `MutualFriends`, `Following`, `FollowsYou`, and `None` are never constructed
[INFO] [stdout]    --> src/app/state.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub enum RelationshipStatus {
[INFO] [stdout]     |          ------------------ variants in this enum
[INFO] [stdout] 254 |     Self_,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 255 |     MutualFriends,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 256 |     Following,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 257 |     FollowsYou,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 258 |     None,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RelationshipStatus` 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: field `sort_order` is never read
[INFO] [stdout]    --> src/app/state.rs:352:9
[INFO] [stdout]     |
[INFO] [stdout] 335 | pub struct PostsState {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 352 |     pub sort_order: String,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expanded_posts` is never read
[INFO] [stdout]    --> src/app/state.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout] 414 | pub struct PostDetailState {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 426 |     pub expanded_posts: std::collections::HashMap<Uuid, bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `poll_for_device_authorization` and `delete_session` are never used
[INFO] [stdout]    --> src/auth.rs:139:18
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl AuthFlow {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub async fn poll_for_device_authorization(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn delete_session(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_LOG_FILE` is never used
[INFO] [stdout]  --> src/debug_log.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const DEBUG_LOG_FILE: &str = "fido_modal_debug.log";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_debug_log` is never used
[INFO] [stdout]  --> src/debug_log.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn clear_debug_log() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_to_log` is never used
[INFO] [stdout]   --> src/debug_log.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn append_to_log(message: &str) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_modal_state` is never used
[INFO] [stdout]   --> src/debug_log.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn log_modal_state(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_key_event` is never used
[INFO] [stdout]   --> src/debug_log.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn log_key_event(key_code: &str, modal_context: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_debug` is never used
[INFO] [stdout]   --> src/debug_log.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn log_debug(message: &str) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `api_calls` and `general` are never read
[INFO] [stdout]   --> src/logging.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct LogFeatures {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub api_calls: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub general: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogFeatures` 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: associated function `minimal` is never used
[INFO] [stdout]   --> src/logging.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl LogConfig {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn minimal() -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_reply_log` is never used
[INFO] [stdout]   --> src/reply_debug_log.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn clear_reply_log() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `path` is never used
[INFO] [stdout]    --> src/session.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl SessionStore {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn path(&self) -> &PathBuf {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `flat_index` is never read
[INFO] [stdout]    --> src/ui/modals/posts.rs:636:5
[INFO] [stdout]     |
[INFO] [stdout] 632 | struct ReplyNode {
[INFO] [stdout]     |        --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 636 |     flat_index: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReplyNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_size` are never used
[INFO] [stdout]   --> src/ui/modals/social_components.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl<'a> SocialModalConfig<'a> {
[INFO] [stdout]    | ------------------------------ associated items in this implementation
[INFO] [stdout] 54 |     /// Builder pattern for cleaner configuration
[INFO] [stdout] 55 |     pub fn new(title: &'a str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn with_size(mut self, width_percent: u16, height_percent: u16) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_loading_state` is never used
[INFO] [stdout]   --> src/ui/modals/social_components.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn render_loading_state(frame: &mut Frame, area: Rect, message: &str, theme: &ThemeColors) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchBarConfig` is never constructed
[INFO] [stdout]    --> src/ui/modals/social_components.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct SearchBarConfig<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_search_bar` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn render_search_bar(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_empty_state` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn render_empty_state(frame: &mut Frame, area: Rect, message: &str, theme: &ThemeColors) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserListConfig` is never constructed
[INFO] [stdout]    --> src/ui/modals/social_components.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct UserListConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabBarConfig` is never constructed
[INFO] [stdout]    --> src/ui/modals/social_components.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct TabBarConfig<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `UserListItem` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:162:11
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub trait UserListItem {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ModalResult` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:178:10
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub type ModalResult<T> = Result<T, ModalError>;
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ModalError` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:182:10
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub enum ModalError {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_user_list` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub fn render_user_list<T: UserListItem>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_tab_bar` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub fn render_tab_bar(frame: &mut Frame, area: Rect, config: &TabBarConfig, theme: &ThemeColors) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_modal_footer` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:290:8
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub fn render_modal_footer(frame: &mut Frame, area: Rect, shortcuts: &str, theme: &ThemeColors) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling fido v0.1.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `dms::handle_dms_keys`
[INFO] [stdout]  --> src/app/handlers/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use dms::handle_dms_keys;
[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: `profile::handle_profile_keys`
[INFO] [stdout]   --> src/app/handlers/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use profile::handle_profile_keys;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `settings::handle_settings_keys`
[INFO] [stdout]   --> src/app/handlers/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use settings::handle_settings_keys;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `log_modal_state` and `log_rendering`
[INFO] [stdout]   --> src/ui/tabs.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{log_modal_state, log_rendering};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_user_profile_view`, `unfollow_hashtag`, `search_hashtags`, `follow_user`, and `unfollow_user` are never used
[INFO] [stdout]    --> src/api/backend.rs:165:18
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl Backend {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub async fn get_user_profile_view(&self, user_id: String) -> ApiResult<UserProfileView> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub async fn unfollow_hashtag(&mut self, name: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub async fn search_hashtags(&self, query: String) -> ApiResult<Vec<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub async fn follow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub async fn unfollow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_user_profile_view`, `unfollow_hashtag`, `search_hashtags`, `follow_user`, and `unfollow_user` are never used
[INFO] [stdout]    --> src/api/client.rs:270:18
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl ApiClient {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub async fn get_user_profile_view(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub async fn unfollow_hashtag(&self, name: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub async fn search_hashtags(&self, query: String) -> ApiResult<Vec<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 400 |     pub async fn follow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 409 |     pub async fn unfollow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expires_in` is never read
[INFO] [stdout]    --> src/api/client.rs:530:9
[INFO] [stdout]     |
[INFO] [stdout] 526 | pub struct GitHubDeviceFlowResponse {
[INFO] [stdout]     |            ------------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 530 |     pub expires_in: i64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GitHubDeviceFlowResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SessionPollResponse` is never constructed
[INFO] [stdout]    --> src/api/client.rs:546:12
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub struct SessionPollResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unfollow_hashtag` is never used
[INFO] [stdout]    --> src/api/mock_backend.rs:695:18
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl MockBackend {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 695 |     pub async fn unfollow_hashtag(&mut self, hashtag: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/app/mod.rs:557:12
[INFO] [stdout]      |
[INFO] [stdout]   17 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  557 |     pub fn needs_tab_data_load(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  882 |     pub fn open_new_post_modal(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  889 |     pub fn close_new_post_modal(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1028 |     pub fn enter_search_mode(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1036 |     pub fn exit_search_mode(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1044 |     pub async fn search_hashtags(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1087 |     pub async fn follow_selected_hashtag(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1146 |     pub async fn toggle_follow_hashtag(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1257 |     pub async fn submit_new_post(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1352 |     pub fn open_edit_bio_modal(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1364 |     pub fn close_edit_bio_modal(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1407 |     pub async fn submit_bio_update(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1711 |     pub async fn unfollow_hashtag(&mut self, name: &str) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1868 |     pub fn open_composer_edit_post(&mut self, post_id: Uuid, current_content: String) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2524 |     fn is_mutual_friend(&self, username: &str) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2532 |     pub fn add_char_to_new_conversation(&mut self, c: char) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2539 |     pub fn remove_char_from_new_conversation(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2577 |     pub async fn open_or_create_dm_conversation(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2820 |     pub fn handle_main_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2825 |     pub fn handle_profile_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2890 |     pub fn handle_dms_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3100 |     pub fn handle_posts_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3105 |     pub fn handle_filter_modal_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3110 |     pub fn handle_post_detail_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3117 |     pub fn handle_full_post_modal_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3199 |     pub fn handle_reply_composer_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3351 |     pub fn poll_event(&mut self, timeout: Duration) -> Result<bool> {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3835 |     pub fn open_reply_composer(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3865 |     pub async fn submit_reply(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3911 |     pub fn get_selected_post_author_id(&self) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3920 |     pub fn get_post_detail_author_id(&self) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3958 |     pub fn toggle_reply_expansion(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4031 |     fn get_selected_post_in_modal(&self) -> Option<Post> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4089 |     fn flatten_modal_tree(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4501 |     pub fn toggle_follow_in_profile_view(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4535 |     pub async fn load_user_profile_view(&mut self, user_id: String) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4570 |     pub async fn follow_user_in_profile_view(&mut self, user_id: String) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4586 |     pub async fn unfollow_user_in_profile_view(&mut self, user_id: String) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4671 |     pub fn user_search_view_profile(&mut self) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4684 |     pub fn user_search_start_dm(&mut self) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_descendant_of_post` is never used
[INFO] [stdout]     --> src/app/mod.rs:4809:4
[INFO] [stdout]      |
[INFO] [stdout] 4809 | fn is_descendant_of_post(reply: &Post, ancestor_id: &Uuid, all_replies: &[Post]) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `EditPost` is never constructed
[INFO] [stdout]   --> src/app/state.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum ComposerMode {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 44 |     EditPost {
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ComposerMode` 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: field `id` is never read
[INFO] [stdout]    --> src/app/state.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct UserInfo {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 107 |     pub id: String,
[INFO] [stdout]     |         ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UserInfo` 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: field `id` is never read
[INFO] [stdout]    --> src/app/state.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct UserSearchResult {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 138 |     pub id: String,
[INFO] [stdout]     |         ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UserSearchResult` 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: field `messages_scroll_offset` is never read
[INFO] [stdout]    --> src/app/state.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct DMsState {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub messages_scroll_offset: usize, // Scroll offset for message history
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_message_time` is never read
[INFO] [stdout]    --> src/app/state.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub struct Conversation {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub last_message_time: chrono::DateTime<chrono::Utc>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Conversation` 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 `user_id`, `join_date`, `loading`, and `error` are never read
[INFO] [stdout]    --> src/app/state.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub struct UserProfileViewState {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] 240 |     pub user_id: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub join_date: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub loading: bool,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 249 |     pub error: Option<String>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Self_`, `MutualFriends`, `Following`, `FollowsYou`, and `None` are never constructed
[INFO] [stdout]    --> src/app/state.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub enum RelationshipStatus {
[INFO] [stdout]     |          ------------------ variants in this enum
[INFO] [stdout] 254 |     Self_,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 255 |     MutualFriends,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 256 |     Following,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 257 |     FollowsYou,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 258 |     None,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RelationshipStatus` 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: field `sort_order` is never read
[INFO] [stdout]    --> src/app/state.rs:352:9
[INFO] [stdout]     |
[INFO] [stdout] 335 | pub struct PostsState {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 352 |     pub sort_order: String,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expanded_posts` is never read
[INFO] [stdout]    --> src/app/state.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout] 414 | pub struct PostDetailState {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 426 |     pub expanded_posts: std::collections::HashMap<Uuid, bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `poll_for_device_authorization` and `delete_session` are never used
[INFO] [stdout]    --> src/auth.rs:139:18
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl AuthFlow {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub async fn poll_for_device_authorization(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn delete_session(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_LOG_FILE` is never used
[INFO] [stdout]  --> src/debug_log.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const DEBUG_LOG_FILE: &str = "fido_modal_debug.log";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_debug_log` is never used
[INFO] [stdout]  --> src/debug_log.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn clear_debug_log() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_to_log` is never used
[INFO] [stdout]   --> src/debug_log.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn append_to_log(message: &str) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_modal_state` is never used
[INFO] [stdout]   --> src/debug_log.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn log_modal_state(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_key_event` is never used
[INFO] [stdout]   --> src/debug_log.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn log_key_event(key_code: &str, modal_context: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_debug` is never used
[INFO] [stdout]   --> src/debug_log.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn log_debug(message: &str) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `api_calls` and `general` are never read
[INFO] [stdout]   --> src/logging.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct LogFeatures {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub api_calls: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub general: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogFeatures` 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: associated function `minimal` is never used
[INFO] [stdout]   --> src/logging.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl LogConfig {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn minimal() -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_reply_log` is never used
[INFO] [stdout]   --> src/reply_debug_log.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn clear_reply_log() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `path` is never used
[INFO] [stdout]    --> src/session.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl SessionStore {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn path(&self) -> &PathBuf {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `flat_index` is never read
[INFO] [stdout]    --> src/ui/modals/posts.rs:636:5
[INFO] [stdout]     |
[INFO] [stdout] 632 | struct ReplyNode {
[INFO] [stdout]     |        --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 636 |     flat_index: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReplyNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_size` are never used
[INFO] [stdout]   --> src/ui/modals/social_components.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl<'a> SocialModalConfig<'a> {
[INFO] [stdout]    | ------------------------------ associated items in this implementation
[INFO] [stdout] 54 |     /// Builder pattern for cleaner configuration
[INFO] [stdout] 55 |     pub fn new(title: &'a str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn with_size(mut self, width_percent: u16, height_percent: u16) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_loading_state` is never used
[INFO] [stdout]   --> src/ui/modals/social_components.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn render_loading_state(frame: &mut Frame, area: Rect, message: &str, theme: &ThemeColors) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchBarConfig` is never constructed
[INFO] [stdout]    --> src/ui/modals/social_components.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct SearchBarConfig<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_search_bar` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn render_search_bar(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_empty_state` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn render_empty_state(frame: &mut Frame, area: Rect, message: &str, theme: &ThemeColors) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserListConfig` is never constructed
[INFO] [stdout]    --> src/ui/modals/social_components.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct UserListConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabBarConfig` is never constructed
[INFO] [stdout]    --> src/ui/modals/social_components.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct TabBarConfig<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `UserListItem` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:162:11
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub trait UserListItem {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ModalResult` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:178:10
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub type ModalResult<T> = Result<T, ModalError>;
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ModalError` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:182:10
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub enum ModalError {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_user_list` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub fn render_user_list<T: UserListItem>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_tab_bar` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub fn render_tab_bar(frame: &mut Frame, area: Rect, config: &TabBarConfig, theme: &ThemeColors) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_modal_footer` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:290:8
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub fn render_modal_footer(frame: &mut Frame, area: Rect, shortcuts: &str, theme: &ThemeColors) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.61s
[INFO] running `Command { std: "docker" "inspect" "47aacc2153b6ba04f39cdabbab4b557b69c1ea49784113d78f6256a4bd898a5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "47aacc2153b6ba04f39cdabbab4b557b69c1ea49784113d78f6256a4bd898a5f", kill_on_drop: false }`
[INFO] [stdout] 47aacc2153b6ba04f39cdabbab4b557b69c1ea49784113d78f6256a4bd898a5f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 580f8d0f779c715007218045a934b343eb4e818357858b5f804e9a38a5c5aa02
[INFO] running `Command { std: "docker" "start" "-a" "580f8d0f779c715007218045a934b343eb4e818357858b5f804e9a38a5c5aa02", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `dms::handle_dms_keys`
[INFO] [stderr]  --> src/app/handlers/mod.rs:8:9
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub use dms::handle_dms_keys;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `profile::handle_profile_keys`
[INFO] [stderr]   --> src/app/handlers/mod.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub use profile::handle_profile_keys;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `settings::handle_settings_keys`
[INFO] [stderr]   --> src/app/handlers/mod.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub use settings::handle_settings_keys;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `log_modal_state` and `log_rendering`
[INFO] [stderr]   --> src/ui/tabs.rs:13:13
[INFO] [stderr]    |
[INFO] [stderr] 13 | use crate::{log_modal_state, log_rendering};
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_user_profile_view`, `unfollow_hashtag`, `search_hashtags`, `follow_user`, and `unfollow_user` are never used
[INFO] [stderr]    --> src/api/backend.rs:165:18
[INFO] [stderr]     |
[INFO] [stderr]  12 | impl Backend {
[INFO] [stderr]     | ------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 165 |     pub async fn get_user_profile_view(&self, user_id: String) -> ApiResult<UserProfileView> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 258 |     pub async fn unfollow_hashtag(&mut self, name: String) -> ApiResult<()> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 265 |     pub async fn search_hashtags(&self, query: String) -> ApiResult<Vec<String>> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 277 |     pub async fn follow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stderr]     |                  ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 287 |     pub async fn unfollow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_user_profile_view`, `unfollow_hashtag`, `search_hashtags`, `follow_user`, and `unfollow_user` are never used
[INFO] [stderr]    --> src/api/client.rs:270:18
[INFO] [stderr]     |
[INFO] [stderr]  45 | impl ApiClient {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 270 |     pub async fn get_user_profile_view(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 373 |     pub async fn unfollow_hashtag(&self, name: String) -> ApiResult<()> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 382 |     pub async fn search_hashtags(&self, query: String) -> ApiResult<Vec<String>> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 400 |     pub async fn follow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stderr]     |                  ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 409 |     pub async fn unfollow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `expires_in` is never read
[INFO] [stderr]    --> src/api/client.rs:530:9
[INFO] [stderr]     |
[INFO] [stderr] 526 | pub struct GitHubDeviceFlowResponse {
[INFO] [stderr]     |            ------------------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 530 |     pub expires_in: i64,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `GitHubDeviceFlowResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SessionPollResponse` is never constructed
[INFO] [stderr]    --> src/api/client.rs:546:12
[INFO] [stderr]     |
[INFO] [stderr] 546 | pub struct SessionPollResponse {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `unfollow_hashtag` is never used
[INFO] [stderr]    --> src/api/mock_backend.rs:695:18
[INFO] [stderr]     |
[INFO] [stderr]  34 | impl MockBackend {
[INFO] [stderr]     | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 695 |     pub async fn unfollow_hashtag(&mut self, hashtag: String) -> ApiResult<()> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]     --> src/app/mod.rs:557:12
[INFO] [stderr]      |
[INFO] [stderr]   17 | impl App {
[INFO] [stderr]      | -------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  557 |     pub fn needs_tab_data_load(&self) -> bool {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  882 |     pub fn open_new_post_modal(&mut self) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  889 |     pub fn close_new_post_modal(&mut self) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1028 |     pub fn enter_search_mode(&mut self) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1036 |     pub fn exit_search_mode(&mut self) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1044 |     pub async fn search_hashtags(&mut self) -> Result<()> {
[INFO] [stderr]      |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1087 |     pub async fn follow_selected_hashtag(&mut self) -> Result<()> {
[INFO] [stderr]      |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1146 |     pub async fn toggle_follow_hashtag(&mut self) -> Result<()> {
[INFO] [stderr]      |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1257 |     pub async fn submit_new_post(&mut self) -> Result<()> {
[INFO] [stderr]      |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1352 |     pub fn open_edit_bio_modal(&mut self) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1364 |     pub fn close_edit_bio_modal(&mut self) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1407 |     pub async fn submit_bio_update(&mut self) -> Result<()> {
[INFO] [stderr]      |                  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1711 |     pub async fn unfollow_hashtag(&mut self, name: &str) -> Result<()> {
[INFO] [stderr]      |                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1868 |     pub fn open_composer_edit_post(&mut self, post_id: Uuid, current_content: String) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2524 |     fn is_mutual_friend(&self, username: &str) -> bool {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2532 |     pub fn add_char_to_new_conversation(&mut self, c: char) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2539 |     pub fn remove_char_from_new_conversation(&mut self) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2577 |     pub async fn open_or_create_dm_conversation(
[INFO] [stderr]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2820 |     pub fn handle_main_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2825 |     pub fn handle_profile_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2890 |     pub fn handle_dms_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 3100 |     pub fn handle_posts_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 3105 |     pub fn handle_filter_modal_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 3110 |     pub fn handle_post_detail_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 3117 |     pub fn handle_full_post_modal_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 3199 |     pub fn handle_reply_composer_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 3351 |     pub fn poll_event(&mut self, timeout: Duration) -> Result<bool> {
[INFO] [stderr]      |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 3835 |     pub fn open_reply_composer(&mut self) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 3865 |     pub async fn submit_reply(&mut self) -> Result<()> {
[INFO] [stderr]      |                  ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 3911 |     pub fn get_selected_post_author_id(&self) -> Option<String> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 3920 |     pub fn get_post_detail_author_id(&self) -> Option<String> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 3958 |     pub fn toggle_reply_expansion(&mut self) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 4031 |     fn get_selected_post_in_modal(&self) -> Option<Post> {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 4089 |     fn flatten_modal_tree(
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 4501 |     pub fn toggle_follow_in_profile_view(&mut self) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 4535 |     pub async fn load_user_profile_view(&mut self, user_id: String) -> Result<()> {
[INFO] [stderr]      |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 4570 |     pub async fn follow_user_in_profile_view(&mut self, user_id: String) -> Result<()> {
[INFO] [stderr]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 4586 |     pub async fn unfollow_user_in_profile_view(&mut self, user_id: String) -> Result<()> {
[INFO] [stderr]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 4671 |     pub fn user_search_view_profile(&mut self) -> Option<String> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 4684 |     pub fn user_search_start_dm(&mut self) -> Option<String> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_descendant_of_post` is never used
[INFO] [stderr]     --> src/app/mod.rs:4809:4
[INFO] [stderr]      |
[INFO] [stderr] 4809 | fn is_descendant_of_post(reply: &Post, ancestor_id: &Uuid, all_replies: &[Post]) -> bool {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `EditPost` is never constructed
[INFO] [stderr]   --> src/app/state.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub enum ComposerMode {
[INFO] [stderr]    |          ------------ variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 44 |     EditPost {
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ComposerMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `id` is never read
[INFO] [stderr]    --> src/app/state.rs:107:9
[INFO] [stderr]     |
[INFO] [stderr] 106 | pub struct UserInfo {
[INFO] [stderr]     |            -------- field in this struct
[INFO] [stderr] 107 |     pub id: String,
[INFO] [stderr]     |         ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `UserInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `id` is never read
[INFO] [stderr]    --> src/app/state.rs:138:9
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub struct UserSearchResult {
[INFO] [stderr]     |            ---------------- field in this struct
[INFO] [stderr] 138 |     pub id: String,
[INFO] [stderr]     |         ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `UserSearchResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `messages_scroll_offset` is never read
[INFO] [stderr]    --> src/app/state.rs:193:9
[INFO] [stderr]     |
[INFO] [stderr] 185 | pub struct DMsState {
[INFO] [stderr]     |            -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 193 |     pub messages_scroll_offset: usize, // Scroll offset for message history
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `last_message_time` is never read
[INFO] [stderr]    --> src/app/state.rs:222:9
[INFO] [stderr]     |
[INFO] [stderr] 218 | pub struct Conversation {
[INFO] [stderr]     |            ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 222 |     pub last_message_time: chrono::DateTime<chrono::Utc>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Conversation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `user_id`, `join_date`, `loading`, and `error` are never read
[INFO] [stderr]    --> src/app/state.rs:240:9
[INFO] [stderr]     |
[INFO] [stderr] 239 | pub struct UserProfileViewState {
[INFO] [stderr]     |            -------------------- fields in this struct
[INFO] [stderr] 240 |     pub user_id: String,
[INFO] [stderr]     |         ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 243 |     pub join_date: String,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 248 |     pub loading: bool,
[INFO] [stderr]     |         ^^^^^^^
[INFO] [stderr] 249 |     pub error: Option<String>,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Self_`, `MutualFriends`, `Following`, `FollowsYou`, and `None` are never constructed
[INFO] [stderr]    --> src/app/state.rs:254:5
[INFO] [stderr]     |
[INFO] [stderr] 253 | pub enum RelationshipStatus {
[INFO] [stderr]     |          ------------------ variants in this enum
[INFO] [stderr] 254 |     Self_,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 255 |     MutualFriends,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 256 |     Following,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 257 |     FollowsYou,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 258 |     None,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `RelationshipStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `sort_order` is never read
[INFO] [stderr]    --> src/app/state.rs:352:9
[INFO] [stderr]     |
[INFO] [stderr] 335 | pub struct PostsState {
[INFO] [stderr]     |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 352 |     pub sort_order: String,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `expanded_posts` is never read
[INFO] [stderr]    --> src/app/state.rs:426:9
[INFO] [stderr]     |
[INFO] [stderr] 414 | pub struct PostDetailState {
[INFO] [stderr]     |            --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 426 |     pub expanded_posts: std::collections::HashMap<Uuid, bool>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `poll_for_device_authorization` and `delete_session` are never used
[INFO] [stderr]    --> src/auth.rs:139:18
[INFO] [stderr]     |
[INFO] [stderr]  21 | impl AuthFlow {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 139 |     pub async fn poll_for_device_authorization(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 206 |     pub fn delete_session(&self) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DEBUG_LOG_FILE` is never used
[INFO] [stderr]  --> src/debug_log.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub const DEBUG_LOG_FILE: &str = "fido_modal_debug.log";
[INFO] [stderr]   |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `clear_debug_log` is never used
[INFO] [stderr]  --> src/debug_log.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub fn clear_debug_log() {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `append_to_log` is never used
[INFO] [stderr]   --> src/debug_log.rs:22:4
[INFO] [stderr]    |
[INFO] [stderr] 22 | fn append_to_log(message: &str) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `log_modal_state` is never used
[INFO] [stderr]   --> src/debug_log.rs:36:8
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub fn log_modal_state(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `log_key_event` is never used
[INFO] [stderr]   --> src/debug_log.rs:50:8
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub fn log_key_event(key_code: &str, modal_context: &str) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `log_debug` is never used
[INFO] [stderr]   --> src/debug_log.rs:56:8
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub fn log_debug(message: &str) {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `api_calls` and `general` are never read
[INFO] [stderr]   --> src/logging.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct LogFeatures {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 31 |     pub api_calls: bool,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 35 |     pub general: bool,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `LogFeatures` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `minimal` is never used
[INFO] [stderr]   --> src/logging.rs:74:12
[INFO] [stderr]    |
[INFO] [stderr] 64 | impl LogConfig {
[INFO] [stderr]    | -------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 74 |     pub fn minimal() -> Self {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `clear_reply_log` is never used
[INFO] [stderr]   --> src/reply_debug_log.rs:17:8
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub fn clear_reply_log() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `path` is never used
[INFO] [stderr]    --> src/session.rs:194:12
[INFO] [stderr]     |
[INFO] [stderr]  15 | impl SessionStore {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 194 |     pub fn path(&self) -> &PathBuf {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `flat_index` is never read
[INFO] [stderr]    --> src/ui/modals/posts.rs:636:5
[INFO] [stderr]     |
[INFO] [stderr] 632 | struct ReplyNode {
[INFO] [stderr]     |        --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 636 |     flat_index: usize,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ReplyNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `with_size` are never used
[INFO] [stderr]   --> src/ui/modals/social_components.rs:55:12
[INFO] [stderr]    |
[INFO] [stderr] 53 | impl<'a> SocialModalConfig<'a> {
[INFO] [stderr]    | ------------------------------ associated items in this implementation
[INFO] [stderr] 54 |     /// Builder pattern for cleaner configuration
[INFO] [stderr] 55 |     pub fn new(title: &'a str) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 62 |     pub fn with_size(mut self, width_percent: u16, height_percent: u16) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_loading_state` is never used
[INFO] [stderr]   --> src/ui/modals/social_components.rs:97:8
[INFO] [stderr]    |
[INFO] [stderr] 97 | pub fn render_loading_state(frame: &mut Frame, area: Rect, message: &str, theme: &ThemeColors) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SearchBarConfig` is never constructed
[INFO] [stderr]    --> src/ui/modals/social_components.rs:105:12
[INFO] [stderr]     |
[INFO] [stderr] 105 | pub struct SearchBarConfig<'a> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_search_bar` is never used
[INFO] [stderr]    --> src/ui/modals/social_components.rs:112:8
[INFO] [stderr]     |
[INFO] [stderr] 112 | pub fn render_search_bar(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_empty_state` is never used
[INFO] [stderr]    --> src/ui/modals/social_components.rs:142:8
[INFO] [stderr]     |
[INFO] [stderr] 142 | pub fn render_empty_state(frame: &mut Frame, area: Rect, message: &str, theme: &ThemeColors) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `UserListConfig` is never constructed
[INFO] [stderr]    --> src/ui/modals/social_components.rs:150:12
[INFO] [stderr]     |
[INFO] [stderr] 150 | pub struct UserListConfig {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TabBarConfig` is never constructed
[INFO] [stderr]    --> src/ui/modals/social_components.rs:156:12
[INFO] [stderr]     |
[INFO] [stderr] 156 | pub struct TabBarConfig<'a> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `UserListItem` is never used
[INFO] [stderr]    --> src/ui/modals/social_components.rs:162:11
[INFO] [stderr]     |
[INFO] [stderr] 162 | pub trait UserListItem {
[INFO] [stderr]     |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `ModalResult` is never used
[INFO] [stderr]    --> src/ui/modals/social_components.rs:178:10
[INFO] [stderr]     |
[INFO] [stderr] 178 | pub type ModalResult<T> = Result<T, ModalError>;
[INFO] [stderr]     |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ModalError` is never used
[INFO] [stderr]    --> src/ui/modals/social_components.rs:182:10
[INFO] [stderr]     |
[INFO] [stderr] 182 | pub enum ModalError {
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_user_list` is never used
[INFO] [stderr]    --> src/ui/modals/social_components.rs:201:8
[INFO] [stderr]     |
[INFO] [stderr] 201 | pub fn render_user_list<T: UserListItem>(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_tab_bar` is never used
[INFO] [stderr]    --> src/ui/modals/social_components.rs:254:8
[INFO] [stderr]     |
[INFO] [stderr] 254 | pub fn render_tab_bar(frame: &mut Frame, area: Rect, config: &TabBarConfig, theme: &ThemeColors) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_modal_footer` is never used
[INFO] [stderr]    --> src/ui/modals/social_components.rs:290:8
[INFO] [stderr]     |
[INFO] [stderr] 290 | pub fn render_modal_footer(frame: &mut Frame, area: Rect, shortcuts: &str, theme: &ThemeColors) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `fido` (bin "fido" test) generated 45 warnings (run `cargo fix --bin "fido" -p fido --tests` to apply 4 suggestions)
[INFO] [stderr] warning: `fido` (bin "fido") generated 45 warnings (45 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fido-f58b2b5b9885bfd6)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test session::tests::test_corrupted_file_with_control_chars ... ok
[INFO] [stdout] test session::tests::test_delete_nonexistent ... ok
[INFO] [stdout] test session::tests::test_empty_file_returns_none ... ok
[INFO] [stdout] test session::tests::test_cleanup_old_files ... ok
[INFO] [stdout] test session::tests::test_load_nonexistent ... ok
[INFO] [stdout] test session::tests::test_invalid_token_length ... ok
[INFO] [stdout] test session::tests::test_whitespace_only_returns_none ... ok
[INFO] [stdout] test session::tests::test_delete ... ok
[INFO] [stdout] test session::tests::test_save_and_load ... ok
[INFO] [stdout] test session::tests::test_file_permissions ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/fido-8dc252eca1f1ea6e)
[INFO] [stdout] 
[INFO] [stdout] running 40 tests
[INFO] [stdout] test app::tests::test_escape_exits_app_when_no_modals ... ok
[INFO] [stdout] test app::tests::test_modal_priority_save_confirmation_over_bio ... ok
[INFO] [stdout] test app::tests::test_escape_closes_bio_modal ... ok
[INFO] [stdout] test app::tests::test_n_shows_new_post_modal_on_posts_tab ... ok
[INFO] [stdout] test app::tests::test_backspace_clears_input_and_returns_to_navigation ... ok
[INFO] [stdout] test app::tests::test_ctrl_n_does_not_trigger_on_other_tabs ... ok
[INFO] [stdout] test app::tests::test_escape_closes_save_confirmation_modal ... ok
[INFO] [stdout] test app::tests::test_escape_shows_save_confirmation_in_settings_with_unsaved_changes ... ok
[INFO] [stdout] test app::tests::test_navigation_mode_allows_shortcuts ... ok
[INFO] [stdout] test app::tests::test_n_can_be_typed_in_dm_messages ... ok
[INFO] [stdout] test app::tests::test_current_conversation_user_tracks_open_conversation ... ok
[INFO] [stdout] test app::tests::test_modal_priority_help_over_bio ... ok
[INFO] [stdout] test config::tests::test_generate_instance_id ... ok
[INFO] [stdout] test app::tests::test_question_mark_toggles_help ... ok
[INFO] [stdout] test emoji::tests::test_count_characters ... ok
[INFO] [stdout] test app::tests::test_q_key_shows_save_confirmation_in_settings_with_unsaved_changes ... ok
[INFO] [stdout] test session::tests::test_corrupted_file_with_control_chars ... ok
[INFO] [stdout] test session::tests::test_delete ... ok
[INFO] [stdout] test session::tests::test_delete_nonexistent ... ok
[INFO] [stdout] test session::tests::test_cleanup_old_files ... ok
[INFO] [stdout] test app::tests::test_escape_closes_help_modal_first ... ok
[INFO] [stdout] test session::tests::test_empty_file_returns_none ... ok
[INFO] [stdout] test session::tests::test_load_nonexistent ... ok
[INFO] [stdout] test emoji::tests::test_parse_emoji_shortcodes ... ok
[INFO] [stdout] test session::tests::test_whitespace_only_returns_none ... ok
[INFO] [stdout] test session::tests::test_save_and_load ... ok
[INFO] [stdout] test app::tests::test_input_mode_switches_correctly_between_typing_and_navigation ... ok
[INFO] [stdout] test app::tests::test_unread_counts_persist_across_navigation ... ok
[INFO] [stdout] test session::tests::test_invalid_token_length ... ok
[INFO] [stdout] test app::tests::test_u_and_d_can_be_typed_in_post_compose_box ... ok
[INFO] [stdout] test app::tests::test_typing_mode_prevents_navigation_shortcuts ... ok
[INFO] [stdout] test session::tests::test_file_permissions ... ok
[INFO] [stdout] test app::tests::test_escape_hides_new_post_modal_and_returns_to_navigation ... ok
[INFO] [stdout] test app::tests::test_settings_cycling ... ok
[INFO] [stdout] test app::tests::test_escape_closes_new_conversation_modal ... ok
[INFO] [stdout] test app::tests::test_escape_closes_new_post_modal ... ok
[INFO] [stdout] test app::tests::test_unread_badge_updates_correctly_on_dms_tab ... ok
[INFO] [stdout] test app::tests::test_q_key_exits_app ... ok
[INFO] [stdout] test app::tests::test_unread_indicator_clears_when_opening_conversation ... ok
[INFO] [stdout] test auth::tests::test_auth_flow_creation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.29s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/debug_log_test.rs (/opt/rustwide/target/debug/deps/debug_log_test-acbbb5ee2b6b5f33)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test_log_file_constant ... ok
[INFO] [stdout] test test_debug_log_creation ... FAILED
[INFO] [stdout] test test_clear_debug_log ... FAILED
[INFO] [stdout] test test_log_modal_state ... FAILED
[INFO] [stdout] test test_log_key_event ... FAILED
[INFO] [stdout] test test_log_debug ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_debug_log_creation stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_debug_log_creation' (78) panicked at tests/debug_log_test.rs:15:5:
[INFO] [stdout] Should be able to create log file
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x591fe6f62622 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x591fe6f62622 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x591fe6f62622 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x591fe6f62622 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x591fe6f7296a - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x591fe6f7296a - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x591fe6f30f96 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x591fe6f30f96 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x591fe6f419d9 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x591fe6f419d9 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x591fe6f41871 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x591fe6ec638e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x591fe6ec638e - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x591fe6f41c52 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x591fe6f41c52 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x591fe6f41aca - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x591fe6f3ce99 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x591fe6f2508d - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x591fe6f79eec - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x591fe6ea6b0d - debug_log_test::test_debug_log_creation::h60e02a7a6b9d8b59
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:15:5
[INFO] [stdout]   20:     0x591fe6ea6be7 - debug_log_test::test_debug_log_creation::{{closure}}::h4036f63e0d1421de
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:6:29
[INFO] [stdout]   21:     0x591fe6ea6f26 - core::ops::function::FnOnce::call_once::h06ad480425ac563d
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x591fe6ec618b - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x591fe6ec618b - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x591fe6ed9b5a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x591fe6ed9b5a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x591fe6ed9b5a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x591fe6ed9b5a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x591fe6ed9b5a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x591fe6ed9b5a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x591fe6ed9b5a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x591fe6eb3fb4 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x591fe6eb3fb4 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stderr] error: test failed, to rerun pass `--test debug_log_test`
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x591fe6eb7872 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x591fe6eb7872 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x591fe6eb7872 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x591fe6eb7872 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x591fe6eb7872 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x591fe6eb7872 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x591fe6eb7872 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x591fe6f3807f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   41:     0x591fe6f3807f - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   42:     0x72a7e1214aa4 - <unknown>
[INFO] [stdout]   43:     0x72a7e12a1a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_clear_debug_log stdout ----
[INFO] [stdout] Failed to clear debug log: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] thread 'test_clear_debug_log' (77) panicked at tests/debug_log_test.rs:36:5:
[INFO] [stdout] Log file should exist after clear
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x591fe6f62622 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x591fe6f62622 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x591fe6f62622 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x591fe6f62622 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x591fe6f7296a - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x591fe6f7296a - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x591fe6f30f96 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x591fe6f30f96 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x591fe6f419d9 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x591fe6f419d9 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x591fe6f41871 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x591fe6ec638e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x591fe6ec638e - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x591fe6f41c52 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x591fe6f41c52 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x591fe6f41aca - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x591fe6f3ce99 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x591fe6f2508d - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x591fe6f79eec - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x591fe6ea64b1 - debug_log_test::test_clear_debug_log::h9e6cc6015cc6cabe
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:36:5
[INFO] [stdout]   20:     0x591fe6ea6597 - debug_log_test::test_clear_debug_log::{{closure}}::hc45bc4f5cc8fb891
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:31:26
[INFO] [stdout]   21:     0x591fe6ea6fe6 - core::ops::function::FnOnce::call_once::h84561c17f2b65ec0
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x591fe6ec618b - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x591fe6ec618b - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x591fe6ed9b5a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x591fe6ed9b5a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x591fe6ed9b5a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x591fe6ed9b5a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x591fe6ed9b5a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x591fe6ed9b5a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x591fe6ed9b5a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x591fe6eb3fb4 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x591fe6eb3fb4 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x591fe6eb7872 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x591fe6eb7872 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x591fe6eb7872 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x591fe6eb7872 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x591fe6eb7872 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x591fe6eb7872 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x591fe6eb7872 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x591fe6f3807f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   41:     0x591fe6f3807f - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   42:     0x72a7e1214aa4 - <unknown>
[INFO] [stdout]   43:     0x72a7e12a1a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_log_modal_state stdout ----
[INFO] [stdout] Failed to clear debug log: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] thread 'test_log_modal_state' (82) panicked at tests/debug_log_test.rs:58:55:
[INFO] [stdout] Should be able to read log file: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x591fe6f62622 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x591fe6f62622 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x591fe6f62622 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x591fe6f62622 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x591fe6f7296a - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x591fe6f7296a - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x591fe6f30f96 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x591fe6f30f96 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x591fe6f419d9 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x591fe6f419d9 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x591fe6f41871 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x591fe6ec638e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x591fe6ec638e - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x591fe6f41c52 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x591fe6f41c52 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x591fe6f41a98 - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x591fe6f3ce99 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x591fe6f2508d - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x591fe6f79eec - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x591fe6f79612 - core::result::unwrap_failed::h7d4c34940aded59c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x591fe6ea737c - core::result::Result<T,E>::expect::hfa124dbcdae12434
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x591fe6ea6634 - debug_log_test::test_log_modal_state::h4b002735a536808b
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:58:55
[INFO] [stdout]   22:     0x591fe6ea6967 - debug_log_test::test_log_modal_state::{{closure}}::h7f09f9dce0e9341f
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:49:26
[INFO] [stdout]   23:     0x591fe6ea70b6 - core::ops::function::FnOnce::call_once::hf3f387901f7e82c7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x591fe6ec618b - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x591fe6ec618b - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x591fe6ed9b5a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x591fe6ed9b5a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x591fe6ed9b5a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x591fe6ed9b5a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x591fe6ed9b5a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x591fe6ed9b5a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x591fe6ed9b5a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x591fe6eb3fb4 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x591fe6eb3fb4 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x591fe6eb7872 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x591fe6eb7872 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x591fe6eb7872 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x591fe6eb7872 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x591fe6eb7872 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x591fe6eb7872 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x591fe6eb7872 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x591fe6f3807f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x591fe6f3807f - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   44:     0x72a7e1214aa4 - <unknown>
[INFO] [stdout]   45:     0x72a7e12a1a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_log_key_event stdout ----
[INFO] [stdout] Failed to clear debug log: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] thread 'test_log_key_event' (81) panicked at tests/debug_log_test.rs:95:55:
[INFO] [stdout] Should be able to read log file: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x591fe6f62622 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x591fe6f62622 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x591fe6f62622 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x591fe6f62622 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x591fe6f7296a - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x591fe6f7296a - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x591fe6f30f96 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x591fe6f30f96 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x591fe6f419d9 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x591fe6f419d9 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x591fe6f41871 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x591fe6ec638e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x591fe6ec638e - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x591fe6f41c52 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x591fe6f41c52 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x591fe6f41a98 - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x591fe6f3ce99 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x591fe6f2508d - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x591fe6f79eec - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x591fe6f79612 - core::result::unwrap_failed::h7d4c34940aded59c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x591fe6ea737c - core::result::Result<T,E>::expect::hfa124dbcdae12434
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x591fe6ea624d - debug_log_test::test_log_key_event::h714bee87a26f21b3
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:95:55
[INFO] [stdout]   22:     0x591fe6ea6447 - debug_log_test::test_log_key_event::{{closure}}::hb0397fa2c14c7be4
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:86:24
[INFO] [stdout]   23:     0x591fe6ea6f66 - core::ops::function::FnOnce::call_once::h490e8c17a6d3e850
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x591fe6ec618b - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x591fe6ec618b - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x591fe6ed9b5a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x591fe6ed9b5a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x591fe6ed9b5a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x591fe6ed9b5a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x591fe6ed9b5a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x591fe6ed9b5a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x591fe6ed9b5a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x591fe6eb3fb4 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x591fe6eb3fb4 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x591fe6eb7872 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x591fe6eb7872 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x591fe6eb7872 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x591fe6eb7872 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x591fe6eb7872 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x591fe6eb7872 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x591fe6eb7872 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x591fe6f3807f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x591fe6f3807f - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   44:     0x72a7e1214aa4 - <unknown>
[INFO] [stdout]   45:     0x72a7e12a1a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_log_debug stdout ----
[INFO] [stdout] Failed to clear debug log: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] thread 'test_log_debug' (79) panicked at tests/debug_log_test.rs:124:55:
[INFO] [stdout] Should be able to read log file: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x591fe6f62622 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x591fe6f62622 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x591fe6f62622 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x591fe6f62622 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x591fe6f7296a - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x591fe6f7296a - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x591fe6f30f96 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x591fe6f30f96 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x591fe6f419d9 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x591fe6f419d9 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x591fe6f41871 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x591fe6ec638e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x591fe6ec638e - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x591fe6f41c52 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x591fe6f41c52 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x591fe6f41a98 - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x591fe6f3ce99 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x591fe6f2508d - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x591fe6f79eec - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x591fe6f79612 - core::result::unwrap_failed::h7d4c34940aded59c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x591fe6ea737c - core::result::Result<T,E>::expect::hfa124dbcdae12434
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x591fe6ea60d8 - debug_log_test::test_log_debug::hb16bd11467f02694
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:124:55
[INFO] [stdout]   22:     0x591fe6ea61b7 - debug_log_test::test_log_debug::{{closure}}::hc8a521324a588694
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:115:20
[INFO] [stdout]   23:     0x591fe6ea7026 - core::ops::function::FnOnce::call_once::ha51327be4c3a34df
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x591fe6ec618b - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x591fe6ec618b - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x591fe6ed9b5a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x591fe6ed9b5a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x591fe6ed9b5a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x591fe6ed9b5a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x591fe6ed9b5a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x591fe6ed9b5a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x591fe6ed9b5a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x591fe6eb3fb4 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x591fe6eb3fb4 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x591fe6eb7872 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x591fe6eb7872 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x591fe6eb7872 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x591fe6eb7872 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x591fe6eb7872 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x591fe6eb7872 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x591fe6eb7872 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x591fe6f3807f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x591fe6f3807f - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   44:     0x72a7e1214aa4 - <unknown>
[INFO] [stdout]   45:     0x72a7e12a1a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_clear_debug_log
[INFO] [stdout]     test_debug_log_creation
[INFO] [stdout]     test_log_debug
[INFO] [stdout]     test_log_key_event
[INFO] [stdout]     test_log_modal_state
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 5 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "580f8d0f779c715007218045a934b343eb4e818357858b5f804e9a38a5c5aa02", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "580f8d0f779c715007218045a934b343eb4e818357858b5f804e9a38a5c5aa02", kill_on_drop: false }`
[INFO] [stdout] 580f8d0f779c715007218045a934b343eb4e818357858b5f804e9a38a5c5aa02
