[INFO] fetching crate fido 0.1.8...
[INFO] testing fido-0.1.8 against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] extracting crate fido 0.1.8 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate fido 0.1.8
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate fido 0.1.8
[INFO] tweaked toml for crates.io crate fido 0.1.8 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate fido 0.1.8 on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f5dc8d8af2913755b1c08f1e07f82d3990703ec5dcd5292b7bc8b9aed1af832a
[INFO] running `Command { std: "docker" "start" "-a" "f5dc8d8af2913755b1c08f1e07f82d3990703ec5dcd5292b7bc8b9aed1af832a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f5dc8d8af2913755b1c08f1e07f82d3990703ec5dcd5292b7bc8b9aed1af832a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f5dc8d8af2913755b1c08f1e07f82d3990703ec5dcd5292b7bc8b9aed1af832a", kill_on_drop: false }`
[INFO] [stdout] f5dc8d8af2913755b1c08f1e07f82d3990703ec5dcd5292b7bc8b9aed1af832a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 6c1bca9bebca768a7e43718a19bddad60b641ba82718a5d367c9b5d796be1138
[INFO] running `Command { std: "docker" "start" "-a" "6c1bca9bebca768a7e43718a19bddad60b641ba82718a5d367c9b5d796be1138", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.2.45
[INFO] [stderr]    Compiling icu_properties_data v2.1.1
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling clap_builder v4.5.51
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling emojis v0.6.4
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling time v0.3.44
[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 thiserror v1.0.69
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling clap v4.5.51
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling instability v0.3.9
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling ratatui v0.28.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.1
[INFO] [stderr]    Compiling tui-textarea v0.6.1
[INFO] [stderr]    Compiling fido-types v0.1.8
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tokio-util v0.7.17
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling webbrowser v1.0.6
[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 52.65s
[INFO] running `Command { std: "docker" "inspect" "6c1bca9bebca768a7e43718a19bddad60b641ba82718a5d367c9b5d796be1138", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6c1bca9bebca768a7e43718a19bddad60b641ba82718a5d367c9b5d796be1138", kill_on_drop: false }`
[INFO] [stdout] 6c1bca9bebca768a7e43718a19bddad60b641ba82718a5d367c9b5d796be1138
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] ee2d38b81ec9b0d45b2f7ca3ae21309c1b34850ce0c507709ddf63354ef62c0b
[INFO] running `Command { std: "docker" "start" "-a" "ee2d38b81ec9b0d45b2f7ca3ae21309c1b34850ce0c507709ddf63354ef62c0b", kill_on_drop: false }`
[INFO] [stderr]    Compiling tempfile v3.23.0
[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 fido v0.1.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `dms::handle_dms_keys`
[INFO] [stdout]  --> src/app/handlers/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use dms::handle_dms_keys;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `profile::handle_profile_keys`
[INFO] [stdout]   --> src/app/handlers/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use profile::handle_profile_keys;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `settings::handle_settings_keys`
[INFO] [stdout]   --> src/app/handlers/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use settings::handle_settings_keys;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `log_modal_state` and `log_rendering`
[INFO] [stdout]   --> src/ui/tabs.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{log_modal_state, log_rendering};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_user_profile_view`, `unfollow_hashtag`, `search_hashtags`, `follow_user`, and `unfollow_user` are never used
[INFO] [stdout]    --> src/api/backend.rs:165:18
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl Backend {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub async fn get_user_profile_view(&self, user_id: String) -> ApiResult<UserProfileView> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub async fn unfollow_hashtag(&mut self, name: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub async fn search_hashtags(&self, query: String) -> ApiResult<Vec<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub async fn follow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub async fn unfollow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_user_profile_view`, `unfollow_hashtag`, `search_hashtags`, `follow_user`, and `unfollow_user` are never used
[INFO] [stdout]    --> src/api/client.rs:270:18
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl ApiClient {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub async fn get_user_profile_view(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub async fn unfollow_hashtag(&self, name: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub async fn search_hashtags(&self, query: String) -> ApiResult<Vec<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 400 |     pub async fn follow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 409 |     pub async fn unfollow_user(&self, user_id: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expires_in` is never read
[INFO] [stdout]    --> src/api/client.rs:530:9
[INFO] [stdout]     |
[INFO] [stdout] 526 | pub struct GitHubDeviceFlowResponse {
[INFO] [stdout]     |            ------------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 530 |     pub expires_in: i64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GitHubDeviceFlowResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SessionPollResponse` is never constructed
[INFO] [stdout]    --> src/api/client.rs:546:12
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub struct SessionPollResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unfollow_hashtag` is never used
[INFO] [stdout]    --> src/api/mock_backend.rs:695:18
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl MockBackend {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 695 |     pub async fn unfollow_hashtag(&mut self, hashtag: String) -> ApiResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/app/mod.rs:557:12
[INFO] [stdout]      |
[INFO] [stdout]   17 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  557 |     pub fn needs_tab_data_load(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  882 |     pub fn open_new_post_modal(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  889 |     pub fn close_new_post_modal(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1028 |     pub fn enter_search_mode(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1036 |     pub fn exit_search_mode(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1044 |     pub async fn search_hashtags(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1087 |     pub async fn follow_selected_hashtag(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1146 |     pub async fn toggle_follow_hashtag(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1257 |     pub async fn submit_new_post(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1352 |     pub fn open_edit_bio_modal(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1364 |     pub fn close_edit_bio_modal(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1407 |     pub async fn submit_bio_update(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1711 |     pub async fn unfollow_hashtag(&mut self, name: &str) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1868 |     pub fn open_composer_edit_post(&mut self, post_id: Uuid, current_content: String) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2524 |     fn is_mutual_friend(&self, username: &str) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2532 |     pub fn add_char_to_new_conversation(&mut self, c: char) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2539 |     pub fn remove_char_from_new_conversation(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2577 |     pub async fn open_or_create_dm_conversation(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2820 |     pub fn handle_main_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2825 |     pub fn handle_profile_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2890 |     pub fn handle_dms_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3100 |     pub fn handle_posts_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3105 |     pub fn handle_filter_modal_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3110 |     pub fn handle_post_detail_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3117 |     pub fn handle_full_post_modal_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3199 |     pub fn handle_reply_composer_keys(&mut self, key: KeyEvent) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3351 |     pub fn poll_event(&mut self, timeout: Duration) -> Result<bool> {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3835 |     pub fn open_reply_composer(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3865 |     pub async fn submit_reply(&mut self) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3911 |     pub fn get_selected_post_author_id(&self) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3920 |     pub fn get_post_detail_author_id(&self) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3958 |     pub fn toggle_reply_expansion(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4031 |     fn get_selected_post_in_modal(&self) -> Option<Post> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4089 |     fn flatten_modal_tree(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4501 |     pub fn toggle_follow_in_profile_view(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4535 |     pub async fn load_user_profile_view(&mut self, user_id: String) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4570 |     pub async fn follow_user_in_profile_view(&mut self, user_id: String) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4586 |     pub async fn unfollow_user_in_profile_view(&mut self, user_id: String) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4671 |     pub fn user_search_view_profile(&mut self) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4684 |     pub fn user_search_start_dm(&mut self) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_descendant_of_post` is never used
[INFO] [stdout]     --> src/app/mod.rs:4809:4
[INFO] [stdout]      |
[INFO] [stdout] 4809 | fn is_descendant_of_post(reply: &Post, ancestor_id: &Uuid, all_replies: &[Post]) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `EditPost` is never constructed
[INFO] [stdout]   --> src/app/state.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum ComposerMode {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 44 |     EditPost {
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ComposerMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/app/state.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct UserInfo {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 107 |     pub id: String,
[INFO] [stdout]     |         ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UserInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/app/state.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct UserSearchResult {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 138 |     pub id: String,
[INFO] [stdout]     |         ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UserSearchResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `messages_scroll_offset` is never read
[INFO] [stdout]    --> src/app/state.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct DMsState {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub messages_scroll_offset: usize, // Scroll offset for message history
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_message_time` is never read
[INFO] [stdout]    --> src/app/state.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub struct Conversation {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub last_message_time: chrono::DateTime<chrono::Utc>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Conversation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `user_id`, `join_date`, `loading`, and `error` are never read
[INFO] [stdout]    --> src/app/state.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub struct UserProfileViewState {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] 240 |     pub user_id: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub join_date: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub loading: bool,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 249 |     pub error: Option<String>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Self_`, `MutualFriends`, `Following`, `FollowsYou`, and `None` are never constructed
[INFO] [stdout]    --> src/app/state.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub enum RelationshipStatus {
[INFO] [stdout]     |          ------------------ variants in this enum
[INFO] [stdout] 254 |     Self_,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 255 |     MutualFriends,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 256 |     Following,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 257 |     FollowsYou,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 258 |     None,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RelationshipStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sort_order` is never read
[INFO] [stdout]    --> src/app/state.rs:352:9
[INFO] [stdout]     |
[INFO] [stdout] 335 | pub struct PostsState {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 352 |     pub sort_order: String,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expanded_posts` is never read
[INFO] [stdout]    --> src/app/state.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout] 414 | pub struct PostDetailState {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 426 |     pub expanded_posts: std::collections::HashMap<Uuid, bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `poll_for_device_authorization` and `delete_session` are never used
[INFO] [stdout]    --> src/auth.rs:139:18
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl AuthFlow {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub async fn poll_for_device_authorization(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn delete_session(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_LOG_FILE` is never used
[INFO] [stdout]  --> src/debug_log.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const DEBUG_LOG_FILE: &str = "fido_modal_debug.log";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_debug_log` is never used
[INFO] [stdout]  --> src/debug_log.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn clear_debug_log() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_to_log` is never used
[INFO] [stdout]   --> src/debug_log.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn append_to_log(message: &str) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_modal_state` is never used
[INFO] [stdout]   --> src/debug_log.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn log_modal_state(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_key_event` is never used
[INFO] [stdout]   --> src/debug_log.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn log_key_event(key_code: &str, modal_context: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_debug` is never used
[INFO] [stdout]   --> src/debug_log.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn log_debug(message: &str) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `api_calls` and `general` are never read
[INFO] [stdout]   --> src/logging.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct LogFeatures {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub api_calls: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub general: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogFeatures` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `minimal` is never used
[INFO] [stdout]   --> src/logging.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl LogConfig {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn minimal() -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_reply_log` is never used
[INFO] [stdout]   --> src/reply_debug_log.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn clear_reply_log() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `path` is never used
[INFO] [stdout]    --> src/session.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl SessionStore {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn path(&self) -> &PathBuf {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `flat_index` is never read
[INFO] [stdout]    --> src/ui/modals/posts.rs:636:5
[INFO] [stdout]     |
[INFO] [stdout] 632 | struct ReplyNode {
[INFO] [stdout]     |        --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 636 |     flat_index: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReplyNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_size` are never used
[INFO] [stdout]   --> src/ui/modals/social_components.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl<'a> SocialModalConfig<'a> {
[INFO] [stdout]    | ------------------------------ associated items in this implementation
[INFO] [stdout] 54 |     /// Builder pattern for cleaner configuration
[INFO] [stdout] 55 |     pub fn new(title: &'a str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn with_size(mut self, width_percent: u16, height_percent: u16) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_loading_state` is never used
[INFO] [stdout]   --> src/ui/modals/social_components.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn render_loading_state(frame: &mut Frame, area: Rect, message: &str, theme: &ThemeColors) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchBarConfig` is never constructed
[INFO] [stdout]    --> src/ui/modals/social_components.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct SearchBarConfig<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_search_bar` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn render_search_bar(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_empty_state` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn render_empty_state(frame: &mut Frame, area: Rect, message: &str, theme: &ThemeColors) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserListConfig` is never constructed
[INFO] [stdout]    --> src/ui/modals/social_components.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct UserListConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabBarConfig` is never constructed
[INFO] [stdout]    --> src/ui/modals/social_components.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct TabBarConfig<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `UserListItem` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:162:11
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub trait UserListItem {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ModalResult` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:178:10
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub type ModalResult<T> = Result<T, ModalError>;
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ModalError` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:182:10
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub enum ModalError {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_user_list` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub fn render_user_list<T: UserListItem>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_tab_bar` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub fn render_tab_bar(frame: &mut Frame, area: Rect, config: &TabBarConfig, theme: &ThemeColors) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_modal_footer` is never used
[INFO] [stdout]    --> src/ui/modals/social_components.rs:290:8
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub fn render_modal_footer(frame: &mut Frame, area: Rect, shortcuts: &str, theme: &ThemeColors) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.69s
[INFO] running `Command { std: "docker" "inspect" "ee2d38b81ec9b0d45b2f7ca3ae21309c1b34850ce0c507709ddf63354ef62c0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ee2d38b81ec9b0d45b2f7ca3ae21309c1b34850ce0c507709ddf63354ef62c0b", kill_on_drop: false }`
[INFO] [stdout] ee2d38b81ec9b0d45b2f7ca3ae21309c1b34850ce0c507709ddf63354ef62c0b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 285afda8ac00475481dd5df9cf89881e217e0a9a70f50513084d6f10117ab467
[INFO] running `Command { std: "docker" "start" "-a" "285afda8ac00475481dd5df9cf89881e217e0a9a70f50513084d6f10117ab467", 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.38s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/fido/4d043064facd0118/deps/fido-4d043064facd0118)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test session::tests::test_delete_nonexistent ... ok
[INFO] [stdout] test session::tests::test_whitespace_only_returns_none ... ok
[INFO] [stdout] test session::tests::test_corrupted_file_with_control_chars ... ok
[INFO] [stdout] test session::tests::test_cleanup_old_files ... ok
[INFO] [stdout] test session::tests::test_invalid_token_length ... ok
[INFO] [stdout] test session::tests::test_empty_file_returns_none ... ok
[INFO] [stdout] test session::tests::test_delete ... ok
[INFO] [stdout] test session::tests::test_save_and_load ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/fido/69c26783fdb1ee47/deps/fido-69c26783fdb1ee47)
[INFO] [stdout] test session::tests::test_load_nonexistent ... 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] [stdout] 
[INFO] [stdout] running 40 tests
[INFO] [stdout] test app::tests::test_ctrl_n_does_not_trigger_on_other_tabs ... 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_current_conversation_user_tracks_open_conversation ... ok
[INFO] [stdout] test app::tests::test_escape_shows_save_confirmation_in_settings_with_unsaved_changes ... ok
[INFO] [stdout] test app::tests::test_modal_priority_save_confirmation_over_bio ... ok
[INFO] [stdout] test app::tests::test_input_mode_switches_correctly_between_typing_and_navigation ... ok
[INFO] [stdout] test app::tests::test_n_can_be_typed_in_dm_messages ... ok
[INFO] [stdout] test app::tests::test_escape_closes_new_conversation_modal ... ok
[INFO] [stdout] test app::tests::test_escape_exits_app_when_no_modals ... ok
[INFO] [stdout] test app::tests::test_escape_hides_new_post_modal_and_returns_to_navigation ... ok
[INFO] [stdout] test app::tests::test_settings_cycling ... ok
[INFO] [stdout] test 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 app::tests::test_modal_priority_help_over_bio ... ok
[INFO] [stdout] test session::tests::test_cleanup_old_files ... ok
[INFO] [stdout] test session::tests::test_corrupted_file_with_control_chars ... ok
[INFO] [stdout] test session::tests::test_delete ... ok
[INFO] [stdout] test session::tests::test_delete_nonexistent ... ok
[INFO] [stdout] test session::tests::test_empty_file_returns_none ... ok
[INFO] [stdout] test session::tests::test_invalid_token_length ... ok
[INFO] [stdout] test session::tests::test_load_nonexistent ... ok
[INFO] [stdout] test session::tests::test_file_permissions ... ok
[INFO] [stdout] test app::tests::test_escape_closes_bio_modal ... ok
[INFO] [stdout] test session::tests::test_whitespace_only_returns_none ... ok
[INFO] [stdout] test session::tests::test_save_and_load ... ok
[INFO] [stdout] test app::tests::test_escape_closes_help_modal_first ... ok
[INFO] [stdout] test app::tests::test_n_shows_new_post_modal_on_posts_tab ... ok
[INFO] [stdout] test app::tests::test_u_and_d_can_be_typed_in_post_compose_box ... ok
[INFO] [stdout] test app::tests::test_q_key_exits_app ... ok
[INFO] [stdout] test app::tests::test_escape_closes_save_confirmation_modal ... 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_unread_badge_updates_correctly_on_dms_tab ... ok
[INFO] [stdout] test app::tests::test_typing_mode_prevents_navigation_shortcuts ... ok
[INFO] [stdout] test app::tests::test_unread_counts_persist_across_navigation ... ok
[INFO] [stdout] test app::tests::test_question_mark_toggles_help ... ok
[INFO] [stdout] test app::tests::test_navigation_mode_allows_shortcuts ... ok
[INFO] [stdout] test auth::tests::test_auth_flow_creation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.38s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/debug_log_test.rs (/opt/rustwide/target/debug/build/fido/f9a66b071aec8ae5/deps/debug_log_test-f9a66b071aec8ae5)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test_log_file_constant ... ok
[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] test test_log_debug ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[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' (76) panicked at tests/debug_log_test.rs:36:5:
[INFO] [stdout] Log file should exist after clear
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5969b39e3b82 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5969b39e3b82 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5969b39e3b82 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5969b39e3b82 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5969b39f86aa - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5969b39f86aa - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x5969b39e89b6 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5969b39e89b6 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5969b39c14ef - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5969b39c14ef - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5969b39db519 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5969b39351ce - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5969b39351ce - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5969b39db6d2 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5969b39db6d2 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5969b39c15da - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5969b39b8dc9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5969b39c23fd - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5969b39f8dbc - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5969b3928801 - debug_log_test[91425d4973c461ec]::test_clear_debug_log
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:36:5
[INFO] [stdout]   20:     0x5969b3928337 - debug_log_test[91425d4973c461ec]::test_clear_debug_log::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:31:26
[INFO] [stdout]   21:     0x5969b3929416 - <debug_log_test[91425d4973c461ec]::test_clear_debug_log::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5969b392957b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5969b392957b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x5969b3935dda - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x5969b3935dda - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x5969b3935dda - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5969b3935dda - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5969b3935dda - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5969b3935dda - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x5969b3935dda - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x5969b39302a4 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x5969b39302a4 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5969b39388d2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x5969b39388d2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x5969b39388d2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5969b39388d2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5969b39388d2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5969b39388d2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x5969b39388d2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5969b39e2d2f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   41:     0x5969b39e2d2f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   42:     0x7e49f2d8daa4 - <unknown>
[INFO] [stdout]   43:     0x7e49f2e1aa64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_debug_log_creation stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_debug_log_creation' (77) 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:     0x5969b39e3b82 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5969b39e3b82 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5969b39e3b82 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5969b39e3b82 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5969b39f86aa - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5969b39f86aa - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x5969b39e89b6 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5969b39e89b6 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5969b39c14ef - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5969b39c14ef - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5969b39db519 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5969b39351ce - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5969b39351ce - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5969b39db6d2 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5969b39db6d2 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5969b39c15da - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5969b39b8dc9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5969b39c23fd - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5969b39f8dbc - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5969b3928dcd - debug_log_test[91425d4973c461ec]::test_debug_log_creation
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:15:5
[INFO] [stdout]   20:     0x5969b39283c7 - debug_log_test[91425d4973c461ec]::test_debug_log_creation::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:6:29
[INFO] [stdout]   21:     0x5969b39294d6 - <debug_log_test[91425d4973c461ec]::test_debug_log_creation::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5969b392957b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5969b392957b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x5969b3935dda - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x5969b3935dda - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x5969b3935dda - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5969b3935dda - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5969b3935dda - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5969b3935dda - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x5969b3935dda - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x5969b39302a4 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x5969b39302a4 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5969b39388d2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x5969b39388d2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x5969b39388d2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5969b39388d2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5969b39388d2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5969b39388d2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x5969b39388d2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5969b39e2d2f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   41:     0x5969b39e2d2f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   42:     0x7e49f2d8daa4 - <unknown>
[INFO] [stdout]   43:     0x7e49f2e1aa64 - 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' (81) 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:     0x5969b39e3b82 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5969b39e3b82 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5969b39e3b82 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5969b39e3b82 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5969b39f86aa - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5969b39f86aa - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x5969b39e89b6 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5969b39e89b6 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5969b39c14ef - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5969b39c14ef - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5969b39db519 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5969b39351ce - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5969b39351ce - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5969b39db6d2 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5969b39db6d2 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5969b39c15a8 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5969b39b8dc9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5969b39c23fd - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5969b39f8dbc - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5969b39f8b32 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5969b3928f0c - <core[8f93d80df273fe75]::result::Result<alloc[40b2bae28975ac47]::string::String, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5969b3928954 - debug_log_test[91425d4973c461ec]::test_log_modal_state
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:58:55
[INFO] [stdout]   22:     0x5969b3928367 - debug_log_test[91425d4973c461ec]::test_log_modal_state::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:49:26
[INFO] [stdout]   23:     0x5969b3929456 - <debug_log_test[91425d4973c461ec]::test_log_modal_state::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5969b392957b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5969b392957b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5969b3935dda - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5969b3935dda - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x5969b3935dda - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5969b3935dda - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5969b3935dda - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5969b3935dda - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5969b3935dda - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5969b39302a4 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5969b39302a4 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5969b39388d2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5969b39388d2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x5969b39388d2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5969b39388d2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5969b39388d2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5969b39388d2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5969b39388d2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5969b39e2d2f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x5969b39e2d2f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x7e49f2d8daa4 - <unknown>
[INFO] [stdout]   45:     0x7e49f2e1aa64 - 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' (80) 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:     0x5969b39e3b82 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5969b39e3b82 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5969b39e3b82 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5969b39e3b82 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5969b39f86aa - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5969b39f86aa - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x5969b39e89b6 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5969b39e89b6 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5969b39c14ef - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5969b39c14ef - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5969b39db519 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5969b39351ce - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5969b39351ce - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5969b39db6d2 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5969b39db6d2 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5969b39c15a8 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5969b39b8dc9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5969b39c23fd - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5969b39f8dbc - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5969b39f8b32 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5969b3928f0c - <core[8f93d80df273fe75]::result::Result<alloc[40b2bae28975ac47]::string::String, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5969b39285cd - debug_log_test[91425d4973c461ec]::test_log_key_event
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:95:55
[INFO] [stdout]   22:     0x5969b3928307 - debug_log_test[91425d4973c461ec]::test_log_key_event::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:86:24
[INFO] [stdout]   23:     0x5969b39293d6 - <debug_log_test[91425d4973c461ec]::test_log_key_event::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5969b392957b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5969b392957b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5969b3935dda - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5969b3935dda - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x5969b3935dda - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5969b3935dda - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5969b3935dda - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5969b3935dda - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5969b3935dda - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5969b39302a4 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5969b39302a4 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5969b39388d2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5969b39388d2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x5969b39388d2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5969b39388d2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5969b39388d2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5969b39388d2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5969b39388d2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5969b39e2d2f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x5969b39e2d2f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x7e49f2d8daa4 - <unknown>
[INFO] [stdout]   45:     0x7e49f2e1aa64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_log_debug stdout ----
[INFO] [stdout] Failed to clear debug log: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] thread 'test_log_debug' (78) 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:     0x5969b39e3b82 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5969b39e3b82 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5969b39e3b82 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5969b39e3b82 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5969b39f86aa - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5969b39f86aa - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x5969b39e89b6 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5969b39e89b6 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5969b39c14ef - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5969b39c14ef - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5969b39db519 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5969b39351ce - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5969b39351ce - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5969b39db6d2 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5969b39db6d2 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5969b39c15a8 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5969b39b8dc9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5969b39c23fd - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5969b39f8dbc - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5969b39f8b32 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5969b3928f0c - <core[8f93d80df273fe75]::result::Result<alloc[40b2bae28975ac47]::string::String, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5969b3928488 - debug_log_test[91425d4973c461ec]::test_log_debug
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:124:55
[INFO] [stdout]   22:     0x5969b39282d7 - debug_log_test[91425d4973c461ec]::test_log_debug::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/debug_log_test.rs:115:20
[INFO] [stdout]   23:     0x5969b3929396 - <debug_log_test[91425d4973c461ec]::test_log_debug::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5969b392957b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5969b392957b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5969b3935dda - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5969b3935dda - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x5969b3935dda - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5969b3935dda - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5969b3935dda - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5969b3935dda - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5969b3935dda - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5969b39302a4 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5969b39302a4 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5969b39388d2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5969b39388d2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x5969b39388d2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5969b39388d2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5969b39388d2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5969b39388d2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5969b39388d2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5969b39e2d2f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x5969b39e2d2f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x7e49f2d8daa4 - <unknown>
[INFO] [stdout]   45:     0x7e49f2e1aa64 - 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.03s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test debug_log_test`
[INFO] running `Command { std: "docker" "inspect" "285afda8ac00475481dd5df9cf89881e217e0a9a70f50513084d6f10117ab467", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "285afda8ac00475481dd5df9cf89881e217e0a9a70f50513084d6f10117ab467", kill_on_drop: false }`
[INFO] [stdout] 285afda8ac00475481dd5df9cf89881e217e0a9a70f50513084d6f10117ab467
