[INFO] fetching crate fido 0.1.8...
[INFO] testing fido-0.1.8 against 1.93.0 for beta-1.94-1
[INFO] extracting crate fido 0.1.8 into /workspace/builds/worker-6-tc1/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-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate fido 0.1.8 on toolchain 1.93.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.93.0" "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" "+1.93.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded webbrowser v1.0.6
[INFO] [stderr]   Downloaded smawk v0.3.2
[INFO] [stderr]   Downloaded indoc v2.0.7
[INFO] [stderr]   Downloaded fido-types v0.1.8
[INFO] [stderr]   Downloaded simplelog v0.12.2
[INFO] [stderr]   Downloaded tui-textarea v0.6.1
[INFO] [stderr]   Downloaded cc v1.2.45
[INFO] [stderr]   Downloaded emojis v0.6.4
[INFO] [stderr]   Downloaded ratatui v0.28.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0b279d4e4020a812fbaa5885202c1d2b204a0416cd9c8f5e743a1925963aee5c
[INFO] running `Command { std: "docker" "start" "-a" "0b279d4e4020a812fbaa5885202c1d2b204a0416cd9c8f5e743a1925963aee5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0b279d4e4020a812fbaa5885202c1d2b204a0416cd9c8f5e743a1925963aee5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b279d4e4020a812fbaa5885202c1d2b204a0416cd9c8f5e743a1925963aee5c", kill_on_drop: false }`
[INFO] [stdout] 0b279d4e4020a812fbaa5885202c1d2b204a0416cd9c8f5e743a1925963aee5c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+1.93.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dbe660e3757e5bc58f761be2628bb43e48630386a794f9bdcf8c9f2918a6df87
[INFO] running `Command { std: "docker" "start" "-a" "dbe660e3757e5bc58f761be2628bb43e48630386a794f9bdcf8c9f2918a6df87", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.110
[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 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 foldhash v0.1.5
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling instability v0.3.9
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling cc v1.2.45
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling indexmap v2.12.0
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling clap_builder v4.5.51
[INFO] [stderr]    Compiling smawk v0.3.2
[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 signal-hook v0.3.18
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling emojis v0.6.4
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling native-tls v0.2.14
[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 tokio v1.48.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling darling 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 clap v4.5.51
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling ratatui v0.28.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.42
[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 43.07s
[INFO] running `Command { std: "docker" "inspect" "dbe660e3757e5bc58f761be2628bb43e48630386a794f9bdcf8c9f2918a6df87", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dbe660e3757e5bc58f761be2628bb43e48630386a794f9bdcf8c9f2918a6df87", kill_on_drop: false }`
[INFO] [stdout] dbe660e3757e5bc58f761be2628bb43e48630386a794f9bdcf8c9f2918a6df87
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+1.93.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 25fcbebc3f17634d3f3b109a58cc6256a03c8f6143f5f03e0fa3fc33d6f9b6f0
[INFO] running `Command { std: "docker" "start" "-a" "25fcbebc3f17634d3f3b109a58cc6256a03c8f6143f5f03e0fa3fc33d6f9b6f0", 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 8.70s
[INFO] running `Command { std: "docker" "inspect" "25fcbebc3f17634d3f3b109a58cc6256a03c8f6143f5f03e0fa3fc33d6f9b6f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "25fcbebc3f17634d3f3b109a58cc6256a03c8f6143f5f03e0fa3fc33d6f9b6f0", kill_on_drop: false }`
[INFO] [stdout] 25fcbebc3f17634d3f3b109a58cc6256a03c8f6143f5f03e0fa3fc33d6f9b6f0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+1.93.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9ad5cc46a25f3402d701faad4ceb6ff0ddcccec6b0434b39208411f05ddffb57
[INFO] running `Command { std: "docker" "start" "-a" "9ad5cc46a25f3402d701faad4ceb6ff0ddcccec6b0434b39208411f05ddffb57", 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") generated 45 warnings (run `cargo fix --bin "fido" -p fido` to apply 4 suggestions)
[INFO] [stderr] warning: `fido` (bin "fido" test) generated 45 warnings (45 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fido-966abd62e99c57ac)
[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_whitespace_only_returns_none ... 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_load_nonexistent ... ok
[INFO] [stdout] test session::tests::test_invalid_token_length ... 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_cleanup_old_files ... 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-7391d36a6d97a431)
[INFO] [stdout] 
[INFO] [stdout] running 40 tests
[INFO] [stdout] test app::tests::test_n_shows_new_post_modal_on_posts_tab ... ok
[INFO] [stdout] test app::tests::test_ctrl_n_does_not_trigger_on_other_tabs ... ok
[INFO] [stdout] test app::tests::test_escape_closes_bio_modal ... ok
[INFO] [stdout] test app::tests::test_current_conversation_user_tracks_open_conversation ... ok
[INFO] [stdout] test app::tests::test_escape_hides_new_post_modal_and_returns_to_navigation ... ok
[INFO] [stdout] test app::tests::test_input_mode_switches_correctly_between_typing_and_navigation ... ok
[INFO] [stdout] test app::tests::test_escape_closes_help_modal_first ... ok
[INFO] [stdout] test app::tests::test_escape_closes_new_conversation_modal ... ok
[INFO] [stdout] test app::tests::test_escape_shows_save_confirmation_in_settings_with_unsaved_changes ... ok
[INFO] [stdout] test app::tests::test_escape_closes_new_post_modal ... ok
[INFO] [stdout] test app::tests::test_backspace_clears_input_and_returns_to_navigation ... ok
[INFO] [stdout] test app::tests::test_settings_cycling ... ok
[INFO] [stdout] test config::tests::test_generate_instance_id ... ok
[INFO] [stdout] test emoji::tests::test_count_characters ... ok
[INFO] [stdout] test emoji::tests::test_parse_emoji_shortcodes ... ok
[INFO] [stdout] test session::tests::test_cleanup_old_files ... ok
[INFO] [stdout] test app::tests::test_modal_priority_save_confirmation_over_bio ... ok
[INFO] [stdout] test session::tests::test_delete ... ok
[INFO] [stdout] test session::tests::test_delete_nonexistent ... ok
[INFO] [stdout] test session::tests::test_corrupted_file_with_control_chars ... ok
[INFO] [stdout] test session::tests::test_file_permissions ... ok
[INFO] [stdout] test session::tests::test_empty_file_returns_none ... ok
[INFO] [stdout] test session::tests::test_load_nonexistent ... ok
[INFO] [stdout] test session::tests::test_invalid_token_length ... ok
[INFO] [stdout] test app::tests::test_unread_counts_persist_across_navigation ... ok
[INFO] [stdout] test session::tests::test_save_and_load ... ok
[INFO] [stdout] test app::tests::test_escape_exits_app_when_no_modals ... ok
[INFO] [stdout] test session::tests::test_whitespace_only_returns_none ... ok
[INFO] [stdout] test app::tests::test_q_key_exits_app ... ok
[INFO] [stdout] test app::tests::test_typing_mode_prevents_navigation_shortcuts ... ok
[INFO] [stdout] test app::tests::test_navigation_mode_allows_shortcuts ... ok
[INFO] [stdout] test app::tests::test_question_mark_toggles_help ... ok
[INFO] [stdout] test app::tests::test_unread_badge_updates_correctly_on_dms_tab ... ok
[INFO] [stdout] test auth::tests::test_auth_flow_creation ... ok
[INFO] [stdout] test app::tests::test_q_key_shows_save_confirmation_in_settings_with_unsaved_changes ... ok
[INFO] [stdout] test app::tests::test_unread_indicator_clears_when_opening_conversation ... ok
[INFO] [stdout] test app::tests::test_u_and_d_can_be_typed_in_post_compose_box ... ok
[INFO] [stdout] test app::tests::test_escape_closes_save_confirmation_modal ... ok
[INFO] [stdout] test app::tests::test_n_can_be_typed_in_dm_messages ... ok
[INFO] [stdout] test app::tests::test_modal_priority_help_over_bio ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.32s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/debug_log_test.rs (/opt/rustwide/target/debug/deps/debug_log_test-11ff6035769b042c)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test_log_file_constant ... ok
[INFO] [stdout] test test_log_debug ... FAILED
[INFO] [stdout] test test_clear_debug_log ... FAILED
[INFO] [stdout] test test_debug_log_creation ... FAILED
[INFO] [stdout] test test_log_modal_state ... FAILED
[INFO] [stdout] test test_log_key_event ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[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:     0x573ac46a3422 - std::backtrace_rs::backtrace::libunwind::trace::h90e89fac33585832
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x573ac46a3422 - std::backtrace_rs::backtrace::trace_unsynchronized::heebcf2380a8e7359
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x573ac46a3422 - std::sys::backtrace::_print_fmt::hdf3e2a22d2f810db
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:68:9
[INFO] [stdout]    3:     0x573ac46a3422 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hac1d885928ba8582
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:38:26
[INFO] [stdout]    4:     0x573ac46b3497 - core::fmt::rt::Argument::fmt::h6901eb7c19abebe8
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x573ac46b3497 - core::fmt::write::h83ebb4d32483be9e
[INFO] [stdout]    6:     0x573ac4671bc6 - std::io::default_write_fmt::h751a79cdae495f10
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x573ac4671bc6 - std::io::Write::write_fmt::h9ef514f8700ff7b2
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x573ac46826b9 - std::sys::backtrace::BacktraceLock::print::hcc2e1a3ac996c911
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:41:9
[INFO] [stdout]    9:     0x573ac46826b9 - std::panicking::default_hook::{{closure}}::h8e9c4d1276f0925f
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x573ac4682551 - std::panicking::default_hook::h2b2078d38b534dfb
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x573ac460598e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h39d051e7dedac6a7
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x573ac460598e - test::test_main_with_exit_callback::{{closure}}::h4b005fe75814c302
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x573ac4682932 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd426070722c13cbf
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x573ac4682932 - std::panicking::panic_with_hook::h39b739724e701bfd
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x573ac4682778 - std::panicking::panic_handler::{{closure}}::he540c4833054e458
[INFO] [stderr] error: test failed, to rerun pass `--test debug_log_test`
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x573ac467dbb9 - std::sys::backtrace::__rust_end_short_backtrace::hfa179d89deec8aed
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:176:18
[INFO] [stdout]   17:     0x573ac4665ead - __rustc[d131491b17107b07]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x573ac46babdc - core::panicking::panic_fmt::ha564519d657d9c46
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x573ac46ba2d2 - core::result::unwrap_failed::h23873bb39ca9a844
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x573ac45e668c - core::result::Result<T,E>::expect::h5941b305a40f489e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x573ac45e54c8 - debug_log_test::test_log_debug::hd38d94fec49cb33b
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:124:55
[INFO] [stdout]   22:     0x573ac45e55a7 - debug_log_test::test_log_debug::{{closure}}::h744d4f69f7b50c98
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:115:20
[INFO] [stdout]   23:     0x573ac45e6356 - core::ops::function::FnOnce::call_once::h2ff1a4475097039a
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x573ac46057bb - core::ops::function::FnOnce::call_once::h0217b30cfdee2e67
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x573ac46057bb - test::__rust_begin_short_backtrace::h6d98714a1e28f556
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x573ac461914a - test::run_test_in_process::{{closure}}::he2c70d2634d3a3cc
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x573ac461914a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h40a0a825bcf17fdd
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x573ac461914a - std::panicking::catch_unwind::do_call::h6c8eb5dd6e7b5975
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x573ac461914a - std::panicking::catch_unwind::h55455eac2972ad1e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x573ac461914a - std::panic::catch_unwind::h0025465150a5e558
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x573ac461914a - test::run_test_in_process::hb61e682f9b630fbc
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x573ac461914a - test::run_test::{{closure}}::hc2c2a7a38ab176e2
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x573ac45f33e4 - test::run_test::{{closure}}::ha91867b85cd2a911
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x573ac45f33e4 - std::sys::backtrace::__rust_begin_short_backtrace::ha00a9fe02049c339
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:160:18
[INFO] [stdout]   35:     0x573ac45f6d12 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd629fba9153dfb55
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/lifecycle.rs:92:13
[INFO] [stdout]   36:     0x573ac45f6d12 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4189018816a5c5d9
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x573ac45f6d12 - std::panicking::catch_unwind::do_call::hf9fcdbca3c2e9877
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x573ac45f6d12 - std::panicking::catch_unwind::h97b92d88631c7c64
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x573ac45f6d12 - std::panic::catch_unwind::ha77cdbb68e725e5e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x573ac45f6d12 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h511f05bc1a132253
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/lifecycle.rs:90:26
[INFO] [stdout]   41:     0x573ac45f6d12 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6b68b31e9b685cb8
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x573ac467924f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h22a27d165e4e871d
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x573ac467924f - std::sys::thread::unix::Thread::new::thread_start::h45cc87bb053add0f
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x753149647aa4 - <unknown>
[INFO] [stdout]   45:     0x7531496d4a64 - clone
[INFO] [stdout]   46:                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:     0x573ac46a3422 - std::backtrace_rs::backtrace::libunwind::trace::h90e89fac33585832
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x573ac46a3422 - std::backtrace_rs::backtrace::trace_unsynchronized::heebcf2380a8e7359
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x573ac46a3422 - std::sys::backtrace::_print_fmt::hdf3e2a22d2f810db
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:68:9
[INFO] [stdout]    3:     0x573ac46a3422 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hac1d885928ba8582
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:38:26
[INFO] [stdout]    4:     0x573ac46b3497 - core::fmt::rt::Argument::fmt::h6901eb7c19abebe8
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x573ac46b3497 - core::fmt::write::h83ebb4d32483be9e
[INFO] [stdout]    6:     0x573ac4671bc6 - std::io::default_write_fmt::h751a79cdae495f10
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x573ac4671bc6 - std::io::Write::write_fmt::h9ef514f8700ff7b2
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x573ac46826b9 - std::sys::backtrace::BacktraceLock::print::hcc2e1a3ac996c911
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:41:9
[INFO] [stdout]    9:     0x573ac46826b9 - std::panicking::default_hook::{{closure}}::h8e9c4d1276f0925f
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x573ac4682551 - std::panicking::default_hook::h2b2078d38b534dfb
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x573ac460598e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h39d051e7dedac6a7
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x573ac460598e - test::test_main_with_exit_callback::{{closure}}::h4b005fe75814c302
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x573ac4682932 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd426070722c13cbf
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x573ac4682932 - std::panicking::panic_with_hook::h39b739724e701bfd
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x573ac46827aa - std::panicking::panic_handler::{{closure}}::he540c4833054e458
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x573ac467dbb9 - std::sys::backtrace::__rust_end_short_backtrace::hfa179d89deec8aed
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:176:18
[INFO] [stdout]   17:     0x573ac4665ead - __rustc[d131491b17107b07]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x573ac46babdc - core::panicking::panic_fmt::ha564519d657d9c46
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x573ac45e58a1 - debug_log_test::test_clear_debug_log::h72e019a9e3e1440a
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:36:5
[INFO] [stdout]   20:     0x573ac45e5987 - debug_log_test::test_clear_debug_log::{{closure}}::h66b0f76f3d2894fc
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:31:26
[INFO] [stdout]   21:     0x573ac45e64a6 - core::ops::function::FnOnce::call_once::hbb5cb73d2b74c098
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x573ac46057bb - core::ops::function::FnOnce::call_once::h0217b30cfdee2e67
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x573ac46057bb - test::__rust_begin_short_backtrace::h6d98714a1e28f556
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x573ac461914a - test::run_test_in_process::{{closure}}::he2c70d2634d3a3cc
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x573ac461914a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h40a0a825bcf17fdd
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x573ac461914a - std::panicking::catch_unwind::do_call::h6c8eb5dd6e7b5975
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x573ac461914a - std::panicking::catch_unwind::h55455eac2972ad1e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x573ac461914a - std::panic::catch_unwind::h0025465150a5e558
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x573ac461914a - test::run_test_in_process::hb61e682f9b630fbc
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x573ac461914a - test::run_test::{{closure}}::hc2c2a7a38ab176e2
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x573ac45f33e4 - test::run_test::{{closure}}::ha91867b85cd2a911
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x573ac45f33e4 - std::sys::backtrace::__rust_begin_short_backtrace::ha00a9fe02049c339
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:160:18
[INFO] [stdout]   33:     0x573ac45f6d12 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd629fba9153dfb55
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/lifecycle.rs:92:13
[INFO] [stdout]   34:     0x573ac45f6d12 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4189018816a5c5d9
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x573ac45f6d12 - std::panicking::catch_unwind::do_call::hf9fcdbca3c2e9877
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x573ac45f6d12 - std::panicking::catch_unwind::h97b92d88631c7c64
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x573ac45f6d12 - std::panic::catch_unwind::ha77cdbb68e725e5e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x573ac45f6d12 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h511f05bc1a132253
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/lifecycle.rs:90:26
[INFO] [stdout]   39:     0x573ac45f6d12 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6b68b31e9b685cb8
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x573ac467924f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h22a27d165e4e871d
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   41:     0x573ac467924f - std::sys::thread::unix::Thread::new::thread_start::h45cc87bb053add0f
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x753149647aa4 - <unknown>
[INFO] [stdout]   43:     0x7531496d4a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[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:     0x573ac46a3422 - std::backtrace_rs::backtrace::libunwind::trace::h90e89fac33585832
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x573ac46a3422 - std::backtrace_rs::backtrace::trace_unsynchronized::heebcf2380a8e7359
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x573ac46a3422 - std::sys::backtrace::_print_fmt::hdf3e2a22d2f810db
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:68:9
[INFO] [stdout]    3:     0x573ac46a3422 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hac1d885928ba8582
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:38:26
[INFO] [stdout]    4:     0x573ac46b3497 - core::fmt::rt::Argument::fmt::h6901eb7c19abebe8
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x573ac46b3497 - core::fmt::write::h83ebb4d32483be9e
[INFO] [stdout]    6:     0x573ac4671bc6 - std::io::default_write_fmt::h751a79cdae495f10
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x573ac4671bc6 - std::io::Write::write_fmt::h9ef514f8700ff7b2
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x573ac46826b9 - std::sys::backtrace::BacktraceLock::print::hcc2e1a3ac996c911
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:41:9
[INFO] [stdout]    9:     0x573ac46826b9 - std::panicking::default_hook::{{closure}}::h8e9c4d1276f0925f
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x573ac4682551 - std::panicking::default_hook::h2b2078d38b534dfb
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x573ac460598e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h39d051e7dedac6a7
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x573ac460598e - test::test_main_with_exit_callback::{{closure}}::h4b005fe75814c302
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x573ac4682932 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd426070722c13cbf
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x573ac4682932 - std::panicking::panic_with_hook::h39b739724e701bfd
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x573ac46827aa - std::panicking::panic_handler::{{closure}}::he540c4833054e458
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x573ac467dbb9 - std::sys::backtrace::__rust_end_short_backtrace::hfa179d89deec8aed
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:176:18
[INFO] [stdout]   17:     0x573ac4665ead - __rustc[d131491b17107b07]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x573ac46babdc - core::panicking::panic_fmt::ha564519d657d9c46
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x573ac45e5efd - debug_log_test::test_debug_log_creation::h7378d02179b8e028
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:15:5
[INFO] [stdout]   20:     0x573ac45e5fd7 - debug_log_test::test_debug_log_creation::{{closure}}::h307b4d32ed1ef005
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:6:29
[INFO] [stdout]   21:     0x573ac45e6316 - core::ops::function::FnOnce::call_once::h2c877fb72c0eb518
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x573ac46057bb - core::ops::function::FnOnce::call_once::h0217b30cfdee2e67
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x573ac46057bb - test::__rust_begin_short_backtrace::h6d98714a1e28f556
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x573ac461914a - test::run_test_in_process::{{closure}}::he2c70d2634d3a3cc
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x573ac461914a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h40a0a825bcf17fdd
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x573ac461914a - std::panicking::catch_unwind::do_call::h6c8eb5dd6e7b5975
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x573ac461914a - std::panicking::catch_unwind::h55455eac2972ad1e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x573ac461914a - std::panic::catch_unwind::h0025465150a5e558
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x573ac461914a - test::run_test_in_process::hb61e682f9b630fbc
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x573ac461914a - test::run_test::{{closure}}::hc2c2a7a38ab176e2
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x573ac45f33e4 - test::run_test::{{closure}}::ha91867b85cd2a911
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x573ac45f33e4 - std::sys::backtrace::__rust_begin_short_backtrace::ha00a9fe02049c339
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:160:18
[INFO] [stdout]   33:     0x573ac45f6d12 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd629fba9153dfb55
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/lifecycle.rs:92:13
[INFO] [stdout]   34:     0x573ac45f6d12 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4189018816a5c5d9
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x573ac45f6d12 - std::panicking::catch_unwind::do_call::hf9fcdbca3c2e9877
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x573ac45f6d12 - std::panicking::catch_unwind::h97b92d88631c7c64
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x573ac45f6d12 - std::panic::catch_unwind::ha77cdbb68e725e5e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x573ac45f6d12 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h511f05bc1a132253
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/lifecycle.rs:90:26
[INFO] [stdout]   39:     0x573ac45f6d12 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6b68b31e9b685cb8
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x573ac467924f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h22a27d165e4e871d
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   41:     0x573ac467924f - std::sys::thread::unix::Thread::new::thread_start::h45cc87bb053add0f
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x753149647aa4 - <unknown>
[INFO] [stdout]   43:     0x7531496d4a64 - 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:     0x573ac46a3422 - std::backtrace_rs::backtrace::libunwind::trace::h90e89fac33585832
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x573ac46a3422 - std::backtrace_rs::backtrace::trace_unsynchronized::heebcf2380a8e7359
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x573ac46a3422 - std::sys::backtrace::_print_fmt::hdf3e2a22d2f810db
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:68:9
[INFO] [stdout]    3:     0x573ac46a3422 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hac1d885928ba8582
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:38:26
[INFO] [stdout]    4:     0x573ac46b3497 - core::fmt::rt::Argument::fmt::h6901eb7c19abebe8
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x573ac46b3497 - core::fmt::write::h83ebb4d32483be9e
[INFO] [stdout]    6:     0x573ac4671bc6 - std::io::default_write_fmt::h751a79cdae495f10
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x573ac4671bc6 - std::io::Write::write_fmt::h9ef514f8700ff7b2
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x573ac46826b9 - std::sys::backtrace::BacktraceLock::print::hcc2e1a3ac996c911
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:41:9
[INFO] [stdout]    9:     0x573ac46826b9 - std::panicking::default_hook::{{closure}}::h8e9c4d1276f0925f
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x573ac4682551 - std::panicking::default_hook::h2b2078d38b534dfb
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x573ac460598e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h39d051e7dedac6a7
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x573ac460598e - test::test_main_with_exit_callback::{{closure}}::h4b005fe75814c302
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x573ac4682932 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd426070722c13cbf
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x573ac4682932 - std::panicking::panic_with_hook::h39b739724e701bfd
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x573ac4682778 - std::panicking::panic_handler::{{closure}}::he540c4833054e458
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x573ac467dbb9 - std::sys::backtrace::__rust_end_short_backtrace::hfa179d89deec8aed
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:176:18
[INFO] [stdout]   17:     0x573ac4665ead - __rustc[d131491b17107b07]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x573ac46babdc - core::panicking::panic_fmt::ha564519d657d9c46
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x573ac46ba2d2 - core::result::unwrap_failed::h23873bb39ca9a844
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x573ac45e668c - core::result::Result<T,E>::expect::h5941b305a40f489e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x573ac45e5a24 - debug_log_test::test_log_modal_state::hd191f74ab1a9cf70
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:58:55
[INFO] [stdout]   22:     0x573ac45e5d57 - debug_log_test::test_log_modal_state::{{closure}}::h13dcef05e896d7df
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:49:26
[INFO] [stdout]   23:     0x573ac45e6396 - core::ops::function::FnOnce::call_once::h4ec91b6ae96ac6da
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x573ac46057bb - core::ops::function::FnOnce::call_once::h0217b30cfdee2e67
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x573ac46057bb - test::__rust_begin_short_backtrace::h6d98714a1e28f556
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x573ac461914a - test::run_test_in_process::{{closure}}::he2c70d2634d3a3cc
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x573ac461914a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h40a0a825bcf17fdd
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x573ac461914a - std::panicking::catch_unwind::do_call::h6c8eb5dd6e7b5975
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x573ac461914a - std::panicking::catch_unwind::h55455eac2972ad1e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x573ac461914a - std::panic::catch_unwind::h0025465150a5e558
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x573ac461914a - test::run_test_in_process::hb61e682f9b630fbc
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x573ac461914a - test::run_test::{{closure}}::hc2c2a7a38ab176e2
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x573ac45f33e4 - test::run_test::{{closure}}::ha91867b85cd2a911
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x573ac45f33e4 - std::sys::backtrace::__rust_begin_short_backtrace::ha00a9fe02049c339
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:160:18
[INFO] [stdout]   35:     0x573ac45f6d12 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd629fba9153dfb55
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/lifecycle.rs:92:13
[INFO] [stdout]   36:     0x573ac45f6d12 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4189018816a5c5d9
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x573ac45f6d12 - std::panicking::catch_unwind::do_call::hf9fcdbca3c2e9877
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x573ac45f6d12 - std::panicking::catch_unwind::h97b92d88631c7c64
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x573ac45f6d12 - std::panic::catch_unwind::ha77cdbb68e725e5e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x573ac45f6d12 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h511f05bc1a132253
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/lifecycle.rs:90:26
[INFO] [stdout]   41:     0x573ac45f6d12 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6b68b31e9b685cb8
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x573ac467924f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h22a27d165e4e871d
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x573ac467924f - std::sys::thread::unix::Thread::new::thread_start::h45cc87bb053add0f
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x753149647aa4 - <unknown>
[INFO] [stdout]   45:     0x7531496d4a64 - 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:     0x573ac46a3422 - std::backtrace_rs::backtrace::libunwind::trace::h90e89fac33585832
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x573ac46a3422 - std::backtrace_rs::backtrace::trace_unsynchronized::heebcf2380a8e7359
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x573ac46a3422 - std::sys::backtrace::_print_fmt::hdf3e2a22d2f810db
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:68:9
[INFO] [stdout]    3:     0x573ac46a3422 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hac1d885928ba8582
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:38:26
[INFO] [stdout]    4:     0x573ac46b3497 - core::fmt::rt::Argument::fmt::h6901eb7c19abebe8
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x573ac46b3497 - core::fmt::write::h83ebb4d32483be9e
[INFO] [stdout]    6:     0x573ac4671bc6 - std::io::default_write_fmt::h751a79cdae495f10
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x573ac4671bc6 - std::io::Write::write_fmt::h9ef514f8700ff7b2
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x573ac46826b9 - std::sys::backtrace::BacktraceLock::print::hcc2e1a3ac996c911
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:41:9
[INFO] [stdout]    9:     0x573ac46826b9 - std::panicking::default_hook::{{closure}}::h8e9c4d1276f0925f
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x573ac4682551 - std::panicking::default_hook::h2b2078d38b534dfb
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x573ac460598e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h39d051e7dedac6a7
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x573ac460598e - test::test_main_with_exit_callback::{{closure}}::h4b005fe75814c302
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x573ac4682932 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd426070722c13cbf
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x573ac4682932 - std::panicking::panic_with_hook::h39b739724e701bfd
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x573ac4682778 - std::panicking::panic_handler::{{closure}}::he540c4833054e458
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x573ac467dbb9 - std::sys::backtrace::__rust_end_short_backtrace::hfa179d89deec8aed
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:176:18
[INFO] [stdout]   17:     0x573ac4665ead - __rustc[d131491b17107b07]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x573ac46babdc - core::panicking::panic_fmt::ha564519d657d9c46
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x573ac46ba2d2 - core::result::unwrap_failed::h23873bb39ca9a844
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x573ac45e668c - core::result::Result<T,E>::expect::h5941b305a40f489e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x573ac45e563d - debug_log_test::test_log_key_event::h5ec5844c1d10da94
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:95:55
[INFO] [stdout]   22:     0x573ac45e5837 - debug_log_test::test_log_key_event::{{closure}}::h91a9414e39866d25
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:86:24
[INFO] [stdout]   23:     0x573ac45e63d6 - core::ops::function::FnOnce::call_once::h5bf9847c1ab120ed
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x573ac46057bb - core::ops::function::FnOnce::call_once::h0217b30cfdee2e67
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x573ac46057bb - test::__rust_begin_short_backtrace::h6d98714a1e28f556
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x573ac461914a - test::run_test_in_process::{{closure}}::he2c70d2634d3a3cc
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x573ac461914a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h40a0a825bcf17fdd
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x573ac461914a - std::panicking::catch_unwind::do_call::h6c8eb5dd6e7b5975
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x573ac461914a - std::panicking::catch_unwind::h55455eac2972ad1e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x573ac461914a - std::panic::catch_unwind::h0025465150a5e558
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x573ac461914a - test::run_test_in_process::hb61e682f9b630fbc
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x573ac461914a - test::run_test::{{closure}}::hc2c2a7a38ab176e2
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x573ac45f33e4 - test::run_test::{{closure}}::ha91867b85cd2a911
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x573ac45f33e4 - std::sys::backtrace::__rust_begin_short_backtrace::ha00a9fe02049c339
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:160:18
[INFO] [stdout]   35:     0x573ac45f6d12 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd629fba9153dfb55
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/lifecycle.rs:92:13
[INFO] [stdout]   36:     0x573ac45f6d12 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4189018816a5c5d9
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x573ac45f6d12 - std::panicking::catch_unwind::do_call::hf9fcdbca3c2e9877
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x573ac45f6d12 - std::panicking::catch_unwind::h97b92d88631c7c64
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x573ac45f6d12 - std::panic::catch_unwind::ha77cdbb68e725e5e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x573ac45f6d12 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h511f05bc1a132253
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/lifecycle.rs:90:26
[INFO] [stdout]   41:     0x573ac45f6d12 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6b68b31e9b685cb8
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x573ac467924f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h22a27d165e4e871d
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x573ac467924f - std::sys::thread::unix::Thread::new::thread_start::h45cc87bb053add0f
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x753149647aa4 - <unknown>
[INFO] [stdout]   45:     0x7531496d4a64 - 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.09s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "9ad5cc46a25f3402d701faad4ceb6ff0ddcccec6b0434b39208411f05ddffb57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9ad5cc46a25f3402d701faad4ceb6ff0ddcccec6b0434b39208411f05ddffb57", kill_on_drop: false }`
[INFO] [stdout] 9ad5cc46a25f3402d701faad4ceb6ff0ddcccec6b0434b39208411f05ddffb57
