[INFO] cloning repository https://github.com/debasish-raychawdhuri/tuimail
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/debasish-raychawdhuri/tuimail" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdebasish-raychawdhuri%2Ftuimail", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdebasish-raychawdhuri%2Ftuimail'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 545d56a851b5598044c1a6c6e329cc0f99562463
[INFO] checking debasish-raychawdhuri/tuimail against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146470
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdebasish-raychawdhuri%2Ftuimail" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/debasish-raychawdhuri/tuimail
[INFO] finished tweaking git repo https://github.com/debasish-raychawdhuri/tuimail
[INFO] tweaked toml for git repo https://github.com/debasish-raychawdhuri/tuimail written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/debasish-raychawdhuri/tuimail on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/debasish-raychawdhuri/tuimail 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_regex v1.1.0
[INFO] [stderr]   Downloaded shellexpand v3.1.1
[INFO] [stderr]   Downloaded serde-xml-rs v0.4.1
[INFO] [stderr]   Downloaded rayon-cond v0.1.0
[INFO] [stderr]   Downloaded nlprule-build v0.6.4
[INFO] [stderr]   Downloaded quoted_printable v0.4.8
[INFO] [stderr]   Downloaded bufstream v0.1.4
[INFO] [stderr]   Downloaded imap-proto v0.10.2
[INFO] [stderr]   Downloaded email-encoding v0.2.1
[INFO] [stderr]   Downloaded linux-keyutils v0.2.4
[INFO] [stderr]   Downloaded secret-service v3.1.0
[INFO] [stderr]   Downloaded imap v2.4.1
[INFO] [stderr]   Downloaded nlprule v0.6.4
[INFO] [stderr]   Downloaded rusqlite v0.30.0
[INFO] [stderr]   Downloaded nom v5.1.3
[INFO] [stderr]   Downloaded lettre v0.10.4
[INFO] [stderr]   Downloaded keyring v2.3.3
[INFO] [stderr]   Downloaded half v1.8.3
[INFO] [stderr]   Downloaded zip v0.5.13
[INFO] [stderr]   Downloaded onig v6.5.1
[INFO] [stderr]   Downloaded roxmltree v0.14.1
[INFO] [stderr]   Downloaded srx v0.1.4
[INFO] [stderr]   Downloaded mail-parser v0.8.2
[INFO] [stderr]   Downloaded onig_sys v69.9.1
[INFO] [stderr]   Downloaded fst v0.4.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5dd2c241547deaf865f7fae171f3c87c998e77514cee0e306777064b87640a83
[INFO] running `Command { std: "docker" "start" "-a" "5dd2c241547deaf865f7fae171f3c87c998e77514cee0e306777064b87640a83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5dd2c241547deaf865f7fae171f3c87c998e77514cee0e306777064b87640a83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5dd2c241547deaf865f7fae171f3c87c998e77514cee0e306777064b87640a83", kill_on_drop: false }`
[INFO] [stdout] 5dd2c241547deaf865f7fae171f3c87c998e77514cee0e306777064b87640a83
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c9812951a623b9ae0aa5e50b5adafe7759074b4549213d5abbacfd898012d9f9
[INFO] running `Command { std: "docker" "start" "-a" "c9812951a623b9ae0aa5e50b5adafe7759074b4549213d5abbacfd898012d9f9", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]     Checking memchr v2.7.5
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]    Compiling cc v1.2.26
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]    Compiling syn v2.0.103
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking fastrand v1.9.0
[INFO] [stderr]     Checking event-listener v2.5.3
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]     Checking block-padding v0.3.3
[INFO] [stderr]     Checking futures-lite v2.6.0
[INFO] [stderr]    Compiling polling v2.8.0
[INFO] [stderr]     Checking event-listener v5.4.0
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling fs-err v2.11.0
[INFO] [stderr]    Compiling rustix v0.37.28
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]     Checking async-task v4.7.1
[INFO] [stderr]     Checking waker-fn v1.2.0
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking async-channel v2.3.1
[INFO] [stderr]     Checking futures-lite v1.13.0
[INFO] [stderr]     Checking piper v0.2.4
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking async-lock v2.8.0
[INFO] [stderr]    Compiling async-fs v1.6.0
[INFO] [stderr]    Compiling async-io v1.13.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking linux-raw-sys v0.3.8
[INFO] [stderr]    Compiling rustversion v1.0.21
[INFO] [stderr]    Compiling lexical-core v0.7.6
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking blocking v1.6.1
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling nom v5.1.3
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking tinyvec v1.9.0
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling onig_sys v69.9.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.27.0
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking async-executor v1.13.2
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking async-broadcast v0.5.1
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]    Compiling fst v0.4.7
[INFO] [stderr]     Checking iana-time-zone v0.1.63
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking xdg-home v1.3.0
[INFO] [stderr]     Checking anstyle-query v1.1.3
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking anstream v0.6.19
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]     Checking unicode-normalization v0.1.24
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking match_cfg v0.1.0
[INFO] [stderr]     Checking idna v0.3.0
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking email-encoding v0.2.1
[INFO] [stderr]     Checking clap_builder v4.5.40
[INFO] [stderr]     Checking hostname v0.3.1
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking linux-keyutils v0.2.4
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking aho-corasick v0.7.20
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking email_address v0.2.9
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]     Checking quoted_printable v0.4.8
[INFO] [stderr]     Checking bufstream v0.1.4
[INFO] [stderr]     Checking humantime v2.2.0
[INFO] [stderr]     Checking unicase v2.8.1
[INFO] [stderr]     Checking shellexpand v3.1.1
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]     Checking imap-proto v0.10.2
[INFO] [stderr]    Compiling zvariant_utils v1.0.1
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]     Checking mail-parser v0.8.2
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]     Checking onig v6.5.1
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.29
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling zvariant_derive v3.15.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling clap_derive v4.5.40
[INFO] [stderr]    Compiling enum_dispatch v0.3.13
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tokio v1.45.1
[INFO] [stderr]    Compiling zbus_macros v3.15.2
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking clap v4.5.40
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking enumflags2 v0.7.12
[INFO] [stderr]     Checking serde_regex v1.1.0
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking bimap v0.6.3
[INFO] [stderr]     Checking half v1.8.3
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking serde_bytes v0.11.17
[INFO] [stderr]     Checking srx v0.1.4
[INFO] [stderr]     Checking zvariant v3.15.2
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking imap v2.4.1
[INFO] [stderr]     Checking rusqlite v0.30.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking lettre v0.10.4
[INFO] [stderr]     Checking ratatui v0.24.0
[INFO] [stderr]     Checking zbus_names v2.6.1
[INFO] [stderr]     Checking zbus v3.15.2
[INFO] [stderr]     Checking rayon-cond v0.1.0
[INFO] [stderr]    Compiling nlprule v0.6.4
[INFO] [stderr]     Checking secret-service v3.1.0
[INFO] [stderr]     Checking keyring v2.3.3
[INFO] [stderr]     Checking tuimail v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `account_data`
[INFO] [stdout]     --> src/app.rs:1730:44
[INFO] [stdout]      |
[INFO] [stdout] 1730 |                         } else if let Some(account_data) =
[INFO] [stdout]      |                                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_data`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account_data`
[INFO] [stdout]     --> src/app.rs:1730:44
[INFO] [stdout]      |
[INFO] [stdout] 1730 |                         } else if let Some(account_data) =
[INFO] [stdout]      |                                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_data`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]     --> src/email.rs:1752:85
[INFO] [stdout]      |
[INFO] [stdout] 1752 | ...tr, last_known_count: usize, tx: &mpsc::Sender<Vec<Email>>) -> Result<usize, EmailError> {
[INFO] [stdout]      |                                 ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]     --> src/email.rs:1752:85
[INFO] [stdout]      |
[INFO] [stdout] 1752 | ...tr, last_known_count: usize, tx: &mpsc::Sender<Vec<Email>>) -> Result<usize, EmailError> {
[INFO] [stdout]      |                                 ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line_idx`
[INFO] [stdout]     --> src/ui.rs:1305:10
[INFO] [stdout]      |
[INFO] [stdout] 1305 |     for (line_idx, line_text) in lines.iter().enumerate() {
[INFO] [stdout]      |          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line_idx`
[INFO] [stdout]     --> src/ui.rs:1305:10
[INFO] [stdout]      |
[INFO] [stdout] 1305 |     for (line_idx, line_text) in lines.iter().enumerate() {
[INFO] [stdout]      |          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/spellcheck.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let mut corrected = word.to_string();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/spellcheck.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let mut corrected = word.to_string();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/async_grammar.rs:42:26
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let (msg_sender, mut msg_receiver) = mpsc::unbounded_channel::<GrammarCheckMessage>();
[INFO] [stdout]    |                          ----^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/async_grammar.rs:42:26
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let (msg_sender, mut msg_receiver) = mpsc::unbounded_channel::<GrammarCheckMessage>();
[INFO] [stdout]    |                          ----^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `request_sync_if_stale` and `request_immediate_sync` are never used
[INFO] [stdout]     --> src/app.rs:1171:8
[INFO] [stdout]      |
[INFO] [stdout]  214 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1171 |     fn request_sync_if_stale(&self, account_email: &str, folder: &str) -> AppResult<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1193 |     fn request_immediate_sync(&self, account_email: &str, folder: &str) -> AppResult<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sync_emails_after_reconnection` is never used
[INFO] [stdout]     --> src/email.rs:1752:8
[INFO] [stdout]      |
[INFO] [stdout]  729 | impl EmailClient {
[INFO] [stdout]      | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1752 |     fn sync_emails_after_reconnection(&self, folder: &str, last_known_count: usize, tx: &mpsc::Sender<Vec<Email>>) -> Result<usize...
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `request_sync_if_stale` and `request_immediate_sync` are never used
[INFO] [stdout]     --> src/app.rs:1171:8
[INFO] [stdout]      |
[INFO] [stdout]  214 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1171 |     fn request_sync_if_stale(&self, account_email: &str, folder: &str) -> AppResult<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1193 |     fn request_immediate_sync(&self, account_email: &str, folder: &str) -> AppResult<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sync_emails_after_reconnection` is never used
[INFO] [stdout]     --> src/email.rs:1752:8
[INFO] [stdout]      |
[INFO] [stdout]  729 | impl EmailClient {
[INFO] [stdout]      | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1752 |     fn sync_emails_after_reconnection(&self, folder: &str, last_known_count: usize, tx: &mpsc::Sender<Vec<Email>>) -> Result<usize...
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account_data`
[INFO] [stdout]     --> src/app.rs:1730:44
[INFO] [stdout]      |
[INFO] [stdout] 1730 |                         } else if let Some(account_data) =
[INFO] [stdout]      |                                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_data`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/async_grammar.rs:42:26
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let (msg_sender, mut msg_receiver) = mpsc::unbounded_channel::<GrammarCheckMessage>();
[INFO] [stdout]    |                          ----^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account_data`
[INFO] [stdout]     --> src/app.rs:1730:44
[INFO] [stdout]      |
[INFO] [stdout] 1730 |                         } else if let Some(account_data) =
[INFO] [stdout]      |                                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_data`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/async_grammar.rs:42:26
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let (msg_sender, mut msg_receiver) = mpsc::unbounded_channel::<GrammarCheckMessage>();
[INFO] [stdout]    |                          ----^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]     --> src/email.rs:1752:85
[INFO] [stdout]      |
[INFO] [stdout] 1752 | ...tr, last_known_count: usize, tx: &mpsc::Sender<Vec<Email>>) -> Result<usize, EmailError> {
[INFO] [stdout]      |                                 ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]     --> src/email.rs:1752:85
[INFO] [stdout]      |
[INFO] [stdout] 1752 | ...tr, last_known_count: usize, tx: &mpsc::Sender<Vec<Email>>) -> Result<usize, EmailError> {
[INFO] [stdout]      |                                 ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/spellcheck.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let mut corrected = word.to_string();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/spellcheck.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let mut corrected = word.to_string();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line_idx`
[INFO] [stdout]     --> src/ui.rs:1305:10
[INFO] [stdout]      |
[INFO] [stdout] 1305 |     for (line_idx, line_text) in lines.iter().enumerate() {
[INFO] [stdout]      |          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line_idx`
[INFO] [stdout]     --> src/ui.rs:1305:10
[INFO] [stdout]      |
[INFO] [stdout] 1305 |     for (line_idx, line_text) in lines.iter().enumerate() {
[INFO] [stdout]      |          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `request_sync_if_stale`, `request_immediate_sync`, `mark_current_email_as_unread`, and `delete_current_email` are never used
[INFO] [stdout]     --> src/app.rs:1171:8
[INFO] [stdout]      |
[INFO] [stdout]  214 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1171 |     fn request_sync_if_stale(&self, account_email: &str, folder: &str) -> AppResult<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1193 |     fn request_immediate_sync(&self, account_email: &str, folder: &str) -> AppResult<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1288 |     pub fn mark_current_email_as_unread(&mut self) -> AppResult<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1302 |     pub fn delete_current_email(&mut self) -> AppResult<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compose_field_to_string` is never used
[INFO] [stdout]    --> src/async_grammar.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub fn compose_field_to_string(field: &crate::app::ComposeField) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/database.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl EmailDatabase {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn message_id_exists(&self, account_email: &str, folder: &str, message_id: &str) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 381 |     pub fn execute_sql(&self, sql: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn save_sync_state(&self, account_email: &str, folder: &str, last_uid: u32, last_sync: i64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     pub fn get_sync_state(&self, account_email: &str, folder: &str) -> Result<(u32, i64, bool)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 410 |     pub fn set_sync_in_progress(&self, account_email: &str, folder: &str, in_progress: bool) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     pub fn get_pending_operations(&self) -> Result<Vec<(i64, String, String, u32, String, Option<String>)>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 458 |     pub fn mark_operation_processed(&self, operation_id: i64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 466 |     pub fn mark_operation_failed(&self, operation_id: i64, error: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 474 |     pub fn get_emails_paginated(&self, account_email: &str, folder: &str, 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 632 |     pub fn get_latest_email_timestamp_old(&self, account_email: &str, folder: &str) -> Result<Option<i64>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 644 |     pub fn get_recent_emails(&self, account_email: &str, folder: &str, limit: usize) -> Result<Vec<Email>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 766 |     pub fn update_email_seen_status(&self, account_email: &str, folder: &str, uid: u32, seen: bool) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 775 |     pub fn is_sync_stale(&self, account_email: &str, folder: &str, max_age_seconds: i64) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 819 |     pub fn get_last_uid(&self, account_email: &str, folder: &str) -> Result<u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 837 |     pub fn get_all_folders(&self) -> Result<Vec<(String, String)>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 858 |     pub fn get_latest_email_timestamp(&self, account_email: &str, folder: &str) -> Result<chrono::DateTime<chrono::Utc>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mark_as_read`, `sync_emails_after_reconnection`, `get_latest_uid`, and `fetch_emails_since_uid` are never used
[INFO] [stdout]     --> src/email.rs:1434:12
[INFO] [stdout]      |
[INFO] [stdout]  729 | impl EmailClient {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1434 |     pub fn mark_as_read(&self, email: &Email) -> Result<(), EmailError> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1752 |     fn sync_emails_after_reconnection(&self, folder: &str, last_known_count: usize, tx: &mpsc::Sender<Vec<Email>>) -> Result<usize...
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2214 |     pub fn get_latest_uid(&self, folder: &str) -> Result<u32, EmailError> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2270 |     pub fn fetch_emails_since_uid(&self, folder: &str, since_uid: u32) -> Result<Vec<Email>, EmailError> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source` is never read
[INFO] [stdout]   --> src/grammarcheck.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct GrammarError {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub source: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GrammarError` 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 `sentence_count` is never read
[INFO] [stdout]   --> src/grammarcheck.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct GrammarCheckStats {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 36 |     pub sentence_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GrammarCheckStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `apply_correction` is never used
[INFO] [stdout]   --> src/grammarcheck.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl GrammarChecker {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn apply_correction(&self, text: &str, _error: &GrammarError, _replacement_idx: usize) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enabled` and `language` are never read
[INFO] [stdout]   --> src/spellcheck.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct SpellCheckConfig {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 27 |     pub enabled: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 28 |     pub language: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpellCheckConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save_personal_dictionary` is never used
[INFO] [stdout]    --> src/spellcheck.rs:438:12
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl SpellChecker {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 438 |     pub fn save_personal_dictionary(&self, path: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `request_sync_if_stale`, `request_immediate_sync`, `mark_current_email_as_unread`, and `delete_current_email` are never used
[INFO] [stdout]     --> src/app.rs:1171:8
[INFO] [stdout]      |
[INFO] [stdout]  214 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1171 |     fn request_sync_if_stale(&self, account_email: &str, folder: &str) -> AppResult<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1193 |     fn request_immediate_sync(&self, account_email: &str, folder: &str) -> AppResult<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1288 |     pub fn mark_current_email_as_unread(&mut self) -> AppResult<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1302 |     pub fn delete_current_email(&mut self) -> AppResult<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compose_field_to_string` is never used
[INFO] [stdout]    --> src/async_grammar.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub fn compose_field_to_string(field: &crate::app::ComposeField) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/database.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl EmailDatabase {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn message_id_exists(&self, account_email: &str, folder: &str, message_id: &str) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 381 |     pub fn execute_sql(&self, sql: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn save_sync_state(&self, account_email: &str, folder: &str, last_uid: u32, last_sync: i64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     pub fn get_sync_state(&self, account_email: &str, folder: &str) -> Result<(u32, i64, bool)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 410 |     pub fn set_sync_in_progress(&self, account_email: &str, folder: &str, in_progress: bool) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     pub fn get_pending_operations(&self) -> Result<Vec<(i64, String, String, u32, String, Option<String>)>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 458 |     pub fn mark_operation_processed(&self, operation_id: i64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 466 |     pub fn mark_operation_failed(&self, operation_id: i64, error: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 474 |     pub fn get_emails_paginated(&self, account_email: &str, folder: &str, 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 632 |     pub fn get_latest_email_timestamp_old(&self, account_email: &str, folder: &str) -> Result<Option<i64>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 644 |     pub fn get_recent_emails(&self, account_email: &str, folder: &str, limit: usize) -> Result<Vec<Email>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 766 |     pub fn update_email_seen_status(&self, account_email: &str, folder: &str, uid: u32, seen: bool) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 775 |     pub fn is_sync_stale(&self, account_email: &str, folder: &str, max_age_seconds: i64) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 819 |     pub fn get_last_uid(&self, account_email: &str, folder: &str) -> Result<u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 837 |     pub fn get_all_folders(&self) -> Result<Vec<(String, String)>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 858 |     pub fn get_latest_email_timestamp(&self, account_email: &str, folder: &str) -> Result<chrono::DateTime<chrono::Utc>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mark_as_read`, `sync_emails_after_reconnection`, `get_latest_uid`, and `fetch_emails_since_uid` are never used
[INFO] [stdout]     --> src/email.rs:1434:12
[INFO] [stdout]      |
[INFO] [stdout]  729 | impl EmailClient {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1434 |     pub fn mark_as_read(&self, email: &Email) -> Result<(), EmailError> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1752 |     fn sync_emails_after_reconnection(&self, folder: &str, last_known_count: usize, tx: &mpsc::Sender<Vec<Email>>) -> Result<usize...
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2214 |     pub fn get_latest_uid(&self, folder: &str) -> Result<u32, EmailError> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2270 |     pub fn fetch_emails_since_uid(&self, folder: &str, since_uid: u32) -> Result<Vec<Email>, EmailError> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source` is never read
[INFO] [stdout]   --> src/grammarcheck.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct GrammarError {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub source: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GrammarError` 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 `sentence_count` is never read
[INFO] [stdout]   --> src/grammarcheck.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct GrammarCheckStats {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 36 |     pub sentence_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GrammarCheckStats` 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: methods `correct_text`, `get_stats`, and `apply_correction` are never used
[INFO] [stdout]   --> src/grammarcheck.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl GrammarChecker {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn correct_text(&self, text: &str) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn get_stats(&self, text: &str, config: &GrammarCheckConfig) -> GrammarCheckStats {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn apply_correction(&self, text: &str, _error: &GrammarError, _replacement_idx: usize) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enabled` and `language` are never read
[INFO] [stdout]   --> src/spellcheck.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct SpellCheckConfig {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 27 |     pub enabled: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 28 |     pub language: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpellCheckConfig` 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: methods `save_personal_dictionary` and `get_stats` are never used
[INFO] [stdout]    --> src/spellcheck.rs:438:12
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl SpellChecker {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 438 |     pub fn save_personal_dictionary(&self, path: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     pub fn get_stats(&self, text: &str, config: &SpellCheckConfig) -> SpellCheckStats {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `total_words` is never read
[INFO] [stdout]    --> src/spellcheck.rs:477:9
[INFO] [stdout]     |
[INFO] [stdout] 476 | pub struct SpellCheckStats {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 477 |     pub total_words: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SpellCheckStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 08s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: imap-proto v0.10.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "c9812951a623b9ae0aa5e50b5adafe7759074b4549213d5abbacfd898012d9f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c9812951a623b9ae0aa5e50b5adafe7759074b4549213d5abbacfd898012d9f9", kill_on_drop: false }`
[INFO] [stdout] c9812951a623b9ae0aa5e50b5adafe7759074b4549213d5abbacfd898012d9f9
