[INFO] cloning repository https://github.com/gqf2008/moltlink
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gqf2008/moltlink" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgqf2008%2Fmoltlink", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgqf2008%2Fmoltlink'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6afe86c6c058285e15fec5c2d5fd4d85e712aa24
[INFO] checking gqf2008/moltlink against c60b92c03ca8a3b101eb9d57f51e2232690638c7 for pr-164148-crater-rollup
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgqf2008%2Fmoltlink" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/gqf2008/moltlink
[INFO] finished tweaking git repo https://github.com/gqf2008/moltlink
[INFO] tweaked toml for git repo https://github.com/gqf2008/moltlink written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gqf2008/moltlink on toolchain c60b92c03ca8a3b101eb9d57f51e2232690638c7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/gqf2008/moltlink 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" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 691672d2dd54e2f10244773ba4eff9c47f89908dca68d630aba0f05e125e8ab3
[INFO] running `Command { std: "docker" "start" "691672d2dd54e2f10244773ba4eff9c47f89908dca68d630aba0f05e125e8ab3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "691672d2dd54e2f10244773ba4eff9c47f89908dca68d630aba0f05e125e8ab3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "691672d2dd54e2f10244773ba4eff9c47f89908dca68d630aba0f05e125e8ab3" "/opt/rustwide/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "691672d2dd54e2f10244773ba4eff9c47f89908dca68d630aba0f05e125e8ab3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "691672d2dd54e2f10244773ba4eff9c47f89908dca68d630aba0f05e125e8ab3" "/opt/rustwide/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]     Checking regex-syntax v0.8.9
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]    Compiling syn v2.0.115
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking tinyvec v1.10.0
[INFO] [stderr]     Checking rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking webpki-roots v1.0.6
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking ucd-trie v0.1.7
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking winnow v0.7.14
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking socket2 v0.6.2
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking unicode-bidi v0.3.18
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling if_chain v1.0.3
[INFO] [stderr]     Checking unicase v2.9.0
[INFO] [stderr]     Checking arraydeque v0.5.1
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]    Compiling validator_types v0.16.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]     Checking charset v0.1.5
[INFO] [stderr]     Checking constant_time_eq v0.4.2
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]     Checking quoted_printable v0.5.1
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]     Checking humantime v2.3.0
[INFO] [stderr]     Checking twox-hash v2.1.2
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking pathdiff v0.2.3
[INFO] [stderr]     Checking lz4_flex v0.11.5
[INFO] [stderr]     Checking mailparse v0.15.0
[INFO] [stderr]     Checking uuid v1.20.0
[INFO] [stderr]     Checking dotenvy v0.15.7
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]     Checking deranged v0.5.6
[INFO] [stderr]    Compiling aws-lc-sys v0.37.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling blake3 v1.8.3
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking rust-embed-utils v8.11.0
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking arc-swap v1.8.1
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]    Compiling validator_derive v0.16.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling futures-macro v0.3.31
[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 async-trait v0.1.89
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking yaml-rust2 v0.8.1
[INFO] [stderr]     Checking rust-ini v0.20.0
[INFO] [stderr]    Compiling maud_macros v0.26.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling rust-embed-impl v8.11.0
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking curve25519-dalek v4.1.3
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking simple_asn1 v0.6.4
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking prost v0.13.5
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking chrono v0.4.43
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking quick-xml v0.38.4
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking jsonwebtoken v9.3.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking validator v0.16.1
[INFO] [stderr]     Checking config v0.14.1
[INFO] [stderr]     Checking maud v0.26.0
[INFO] [stderr]    Compiling aws-lc-rs v1.15.4
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking fs-err v3.3.0
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking tokio-test v0.4.5
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking tower-http v0.5.2
[INFO] [stderr]     Checking rustls-webpki v0.103.9
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking axum v0.8.8
[INFO] [stderr]     Checking axum-server v0.7.3
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking object_store v0.12.5
[INFO] [stderr]     Checking rust-embed v8.11.0
[INFO] [stderr]     Checking moltlink-mmg v0.2.0 (/opt/rustwide/workdir/crates/moltlink-mmg)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/moltlink-mmg/src/imap.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[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: `TcpListener`
[INFO] [stdout]   --> crates/moltlink-mmg/src/imap.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MailMetadata`
[INFO] [stdout]   --> crates/moltlink-mmg/src/imap.rs:16:49
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::mail_storage::{BlobStore, MailIndex, MailMetadata, MailQuery, MailStore};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `base64::Engine`
[INFO] [stdout]   --> crates/moltlink-mmg/src/mail_gateway.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use base64::Engine;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> crates/moltlink-mmg/src/mail_storage.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing::{debug, error, info};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/moltlink-mmg/src/imap.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[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: `TcpListener`
[INFO] [stdout]   --> crates/moltlink-mmg/src/imap.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MailMetadata`
[INFO] [stdout]   --> crates/moltlink-mmg/src/imap.rs:16:49
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::mail_storage::{BlobStore, MailIndex, MailMetadata, MailQuery, MailStore};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> crates/moltlink-mmg/src/mail_storage.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing::{debug, error, info};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2981:9
[INFO] [stdout]      |
[INFO] [stdout] 2981 |     let mut from: Option<String> = None;
[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]     --> crates/moltlink-mmg/src/mail_gateway.rs:2982:9
[INFO] [stdout]      |
[INFO] [stdout] 2982 |     let mut recipients: Vec<String> = Vec::new();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2983:9
[INFO] [stdout]      |
[INFO] [stdout] 2983 |     let mut data_buffer = String::new();
[INFO] [stdout]      |         ----^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2981:9
[INFO] [stdout]      |
[INFO] [stdout] 2981 |     let mut from: Option<String> = None;
[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]     --> crates/moltlink-mmg/src/mail_gateway.rs:2982:9
[INFO] [stdout]      |
[INFO] [stdout] 2982 |     let mut recipients: Vec<String> = Vec::new();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2983:9
[INFO] [stdout]      |
[INFO] [stdout] 2983 |     let mut data_buffer = String::new();
[INFO] [stdout]      |         ----^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prost::Message`
[INFO] [stdout]   --> crates/moltlink-mmg/src/mailbox_maintenance.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use prost::Message;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `selected_mailbox` is assigned to, but never used
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut selected_mailbox: Option<String> = None;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_selected_mailbox` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unseen`
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:322:41
[INFO] [stdout]     |
[INFO] [stdout] 322 | ...                   let unseen = mails.iter().filter(|m| !m.is_read).count();
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_unseen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_mailbox` is never read
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:183:37
[INFO] [stdout]     |
[INFO] [stdout] 183 | ...                   selected_mailbox = None;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_mailbox` is never read
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:326:37
[INFO] [stdout]     |
[INFO] [stdout] 326 | ...                   selected_mailbox = Some(mailbox.clone());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_mailbox` is never read
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:351:25
[INFO] [stdout]     |
[INFO] [stdout] 351 |                         selected_mailbox = Some(mailbox.clone());
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_mailbox` is never read
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:511:21
[INFO] [stdout]     |
[INFO] [stdout] 511 |                     selected_mailbox = None;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `selected_mailbox` is assigned to, but never used
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:617:9
[INFO] [stdout]     |
[INFO] [stdout] 617 |     let mut selected_mailbox: Option<String> = None;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_selected_mailbox` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unseen`
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:740:41
[INFO] [stdout]     |
[INFO] [stdout] 740 | ...                   let unseen = mails.iter().filter(|m| !m.is_read).count();
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_unseen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_mailbox` is never read
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:744:37
[INFO] [stdout]     |
[INFO] [stdout] 744 | ...                   selected_mailbox = Some(mailbox.clone());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message_size`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:1919:9
[INFO] [stdout]      |
[INFO] [stdout] 1919 |     let message_size = content_bytes.len() as i64;
[INFO] [stdout]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `body_start` is assigned to, but never used
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:1963:9
[INFO] [stdout]      |
[INFO] [stdout] 1963 |     let mut body_start = 0;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_body_start` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `body_start` is never read
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:1969:17
[INFO] [stdout]      |
[INFO] [stdout] 1969 |                 body_start = idx + 1;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mail_store`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2966:5
[INFO] [stdout]      |
[INFO] [stdout] 2966 |     mail_store: Arc<dyn MailStore + Send + Sync>,
[INFO] [stdout]      |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mail_store`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `blob_store`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2967:5
[INFO] [stdout]      |
[INFO] [stdout] 2967 |     blob_store: Arc<dyn BlobStore + Send + Sync>,
[INFO] [stdout]      |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_blob_store`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `group_store`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2968:5
[INFO] [stdout]      |
[INFO] [stdout] 2968 |     group_store: Arc<dyn GroupStore + Send + Sync>,
[INFO] [stdout]      |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_group_store`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `quota_store`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2969:5
[INFO] [stdout]      |
[INFO] [stdout] 2969 |     quota_store: Arc<dyn QuotaStore + Send + Sync>,
[INFO] [stdout]      |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_quota_store`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `auth_client`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2970:5
[INFO] [stdout]      |
[INFO] [stdout] 2970 |     auth_client: crate::auth_client::AuthClient,
[INFO] [stdout]      |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_auth_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2981:9
[INFO] [stdout]      |
[INFO] [stdout] 2981 |     let mut from: Option<String> = None;
[INFO] [stdout]      |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `recipients`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2982:9
[INFO] [stdout]      |
[INFO] [stdout] 2982 |     let mut recipients: Vec<String> = Vec::new();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recipients`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_buffer`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2983:9
[INFO] [stdout]      |
[INFO] [stdout] 2983 |     let mut data_buffer = String::new();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MailAuthRequest` is never constructed
[INFO] [stdout]   --> crates/moltlink-mmg/src/auth_client.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct MailAuthRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `agent_id` is never read
[INFO] [stdout]   --> crates/moltlink-mmg/src/auth_client.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct AuthResponseData {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 38 |     authenticated: bool,
[INFO] [stdout] 39 |     agent_id: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthResponseData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ensure_owned` is never used
[INFO] [stdout]   --> crates/moltlink-mmg/src/blob_gc.rs:78:14
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl GcScanFence {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 78 |     async fn ensure_owned(&self) -> Result<()> {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `webdav_client` and `config` are never read
[INFO] [stdout]    --> crates/moltlink-mmg/src/mail_gateway.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout]  95 | pub struct MailGateway {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 105 |     webdav_client: Option<WebDavClient>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 106 |     config: Arc<Config>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Update` is never constructed
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2296:5
[INFO] [stdout]      |
[INFO] [stdout] 2293 | enum Pop3State {
[INFO] [stdout]      |      --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 2296 |     Update,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Pop3State` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]    --> crates/moltlink-mmg/src/mail_storage.rs:908:5
[INFO] [stdout]     |
[INFO] [stdout] 907 | pub struct AzureBlobStore {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 908 |     config: BlobStoreConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AzureBlobStore` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]    --> crates/moltlink-mmg/src/mail_storage.rs:953:5
[INFO] [stdout]     |
[INFO] [stdout] 952 | pub struct MemoryBlobStore {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 953 |     config: BlobStoreConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MemoryBlobStore` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `execute_gc_at` is never used
[INFO] [stdout]     --> crates/moltlink-mmg/src/mailbox_wal.rs:1269:14
[INFO] [stdout]      |
[INFO] [stdout] 1011 | impl MailboxWalStore {
[INFO] [stdout]      | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1269 |     async fn execute_gc_at(
[INFO] [stdout]      |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `assume_verified` is never used
[INFO] [stdout]     --> crates/moltlink-mmg/src/quota_operation.rs:1595:19
[INFO] [stdout]      |
[INFO] [stdout] 1592 | impl VerifiedTime {
[INFO] [stdout]      | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1595 |     pub(crate) fn assume_verified(now_ms: i64) -> Self {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking moltlink-server v0.2.0 (/opt/rustwide/workdir/crates/moltlink-server)
[INFO] [stdout] warning: unused import: `bootstrap`
[INFO] [stdout]   --> crates/moltlink-mmg/src/bin/mmg.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 |     runtime::{bootstrap, connect_legacy_store, connect_object_store, EnvironmentMap},
[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: `bootstrap`
[INFO] [stdout]   --> crates/moltlink-mmg/src/bin/mmg.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 |     runtime::{bootstrap, connect_legacy_store, connect_object_store, EnvironmentMap},
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `public_key` is never read
[INFO] [stdout]   --> crates/moltlink-mmg/examples/multi_agent_sim.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct Agent {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     public_key: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Agent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `challenge` and `difficulty` are never read
[INFO] [stdout]   --> crates/moltlink-mmg/examples/multi_agent_sim.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct Challenge {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 35 |     challenge_id: String,
[INFO] [stdout] 36 |     challenge: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 37 |     difficulty: u32,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Challenge` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> crates/moltlink-server/src/rate_limiter.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{Utc, Duration};
[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 imports: `AsyncRead` and `AsyncWrite`
[INFO] [stdout]  --> crates/moltlink-server/src/tls_util.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::io::{AsyncRead, AsyncWrite};
[INFO] [stdout]   |                 ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> crates/moltlink-server/src/rate_limiter.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{Utc, Duration};
[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: `super::*`
[INFO] [stdout]    --> crates/moltlink-server/src/server.rs:254:9
[INFO] [stdout]     |
[INFO] [stdout] 254 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite`
[INFO] [stdout]  --> crates/moltlink-server/src/tls_util.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::io::{AsyncRead, AsyncWrite};
[INFO] [stdout]   |                 ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jwt_token`
[INFO] [stdout]    --> crates/moltlink-server/src/auth.rs:356:9
[INFO] [stdout]     |
[INFO] [stdout] 356 |         jwt_token: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_jwt_token`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jwt_token`
[INFO] [stdout]    --> crates/moltlink-server/src/auth.rs:356:9
[INFO] [stdout]     |
[INFO] [stdout] 356 |         jwt_token: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_jwt_token`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> crates/moltlink-server/src/handlers.rs:724:11
[INFO] [stdout]     |
[INFO] [stdout] 724 |     State(state): State<AppState>,
[INFO] [stdout]     |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> crates/moltlink-server/src/handlers.rs:738:11
[INFO] [stdout]     |
[INFO] [stdout] 738 |     State(state): State<AppState>,
[INFO] [stdout]     |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `agent_id`
[INFO] [stdout]   --> crates/moltlink-server/src/mmg_client.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         agent_id: &str,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> crates/moltlink-server/src/handlers.rs:724:11
[INFO] [stdout]     |
[INFO] [stdout] 724 |     State(state): State<AppState>,
[INFO] [stdout]     |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> crates/moltlink-server/src/handlers.rs:738:11
[INFO] [stdout]     |
[INFO] [stdout] 738 |     State(state): State<AppState>,
[INFO] [stdout]     |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `agent_id`
[INFO] [stdout]   --> crates/moltlink-server/src/mmg_client.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         agent_id: &str,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `challenges` is never read
[INFO] [stdout]    --> crates/moltlink-server/src/auth.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub struct AuthService {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 127 |     challenges: Mutex<HashMap<String, Challenge>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `agent_id` is never read
[INFO] [stdout]   --> crates/moltlink-server/src/auth_client.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct AuthResponseData {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 31 |     authenticated: bool,
[INFO] [stdout] 32 |     agent_id: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthResponseData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_token` is never used
[INFO] [stdout]    --> crates/moltlink-server/src/handlers.rs:266:10
[INFO] [stdout]     |
[INFO] [stdout] 266 | async fn get_token(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `refresh_token` is never used
[INFO] [stdout]    --> crates/moltlink-server/src/handlers.rs:273:10
[INFO] [stdout]     |
[INFO] [stdout] 273 | async fn refresh_token(
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_existing_agent` is never used
[INFO] [stdout]    --> crates/moltlink-server/src/storage/object.rs:331:14
[INFO] [stdout]     |
[INFO] [stdout] 330 | impl ObjectRuntimeStorage {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] 331 |     async fn update_existing_agent(&self, requested: &MmgAgent) -> Result<String, StorageError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `agents_html` is never used
[INFO] [stdout]    --> crates/moltlink-server/src/web.rs:416:4
[INFO] [stdout]     |
[INFO] [stdout] 416 | fn agents_html(agents: Vec<crate::models::Agent>) -> Markup {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `selected_mailbox` is assigned to, but never used
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut selected_mailbox: Option<String> = None;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_selected_mailbox` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unseen`
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:322:41
[INFO] [stdout]     |
[INFO] [stdout] 322 | ...                   let unseen = mails.iter().filter(|m| !m.is_read).count();
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_unseen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_mailbox` is never read
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:183:37
[INFO] [stdout]     |
[INFO] [stdout] 183 | ...                   selected_mailbox = None;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_mailbox` is never read
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:326:37
[INFO] [stdout]     |
[INFO] [stdout] 326 | ...                   selected_mailbox = Some(mailbox.clone());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_mailbox` is never read
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:351:25
[INFO] [stdout]     |
[INFO] [stdout] 351 |                         selected_mailbox = Some(mailbox.clone());
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_mailbox` is never read
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:511:21
[INFO] [stdout]     |
[INFO] [stdout] 511 |                     selected_mailbox = None;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `selected_mailbox` is assigned to, but never used
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:617:9
[INFO] [stdout]     |
[INFO] [stdout] 617 |     let mut selected_mailbox: Option<String> = None;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_selected_mailbox` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unseen`
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:740:41
[INFO] [stdout]     |
[INFO] [stdout] 740 | ...                   let unseen = mails.iter().filter(|m| !m.is_read).count();
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_unseen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_mailbox` is never read
[INFO] [stdout]    --> crates/moltlink-mmg/src/imap.rs:744:37
[INFO] [stdout]     |
[INFO] [stdout] 744 | ...                   selected_mailbox = Some(mailbox.clone());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `challenges` is never read
[INFO] [stdout]    --> crates/moltlink-server/src/auth.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub struct AuthService {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 127 |     challenges: Mutex<HashMap<String, Challenge>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `agent_id` is never read
[INFO] [stdout]   --> crates/moltlink-server/src/auth_client.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct AuthResponseData {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 31 |     authenticated: bool,
[INFO] [stdout] 32 |     agent_id: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthResponseData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_token` is never used
[INFO] [stdout]    --> crates/moltlink-server/src/handlers.rs:266:10
[INFO] [stdout]     |
[INFO] [stdout] 266 | async fn get_token(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `refresh_token` is never used
[INFO] [stdout]    --> crates/moltlink-server/src/handlers.rs:273:10
[INFO] [stdout]     |
[INFO] [stdout] 273 | async fn refresh_token(
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_existing_agent` is never used
[INFO] [stdout]    --> crates/moltlink-server/src/storage/object.rs:331:14
[INFO] [stdout]     |
[INFO] [stdout] 330 | impl ObjectRuntimeStorage {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] 331 |     async fn update_existing_agent(&self, requested: &MmgAgent) -> Result<String, StorageError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `agents_html` is never used
[INFO] [stdout]    --> crates/moltlink-server/src/web.rs:416:4
[INFO] [stdout]     |
[INFO] [stdout] 416 | fn agents_html(agents: Vec<crate::models::Agent>) -> Markup {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message_size`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:1919:9
[INFO] [stdout]      |
[INFO] [stdout] 1919 |     let message_size = content_bytes.len() as i64;
[INFO] [stdout]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `body_start` is assigned to, but never used
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:1963:9
[INFO] [stdout]      |
[INFO] [stdout] 1963 |     let mut body_start = 0;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_body_start` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `body_start` is never read
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:1969:17
[INFO] [stdout]      |
[INFO] [stdout] 1969 |                 body_start = idx + 1;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mail_store`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2966:5
[INFO] [stdout]      |
[INFO] [stdout] 2966 |     mail_store: Arc<dyn MailStore + Send + Sync>,
[INFO] [stdout]      |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mail_store`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `blob_store`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2967:5
[INFO] [stdout]      |
[INFO] [stdout] 2967 |     blob_store: Arc<dyn BlobStore + Send + Sync>,
[INFO] [stdout]      |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_blob_store`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `group_store`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2968:5
[INFO] [stdout]      |
[INFO] [stdout] 2968 |     group_store: Arc<dyn GroupStore + Send + Sync>,
[INFO] [stdout]      |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_group_store`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `quota_store`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2969:5
[INFO] [stdout]      |
[INFO] [stdout] 2969 |     quota_store: Arc<dyn QuotaStore + Send + Sync>,
[INFO] [stdout]      |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_quota_store`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `auth_client`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2970:5
[INFO] [stdout]      |
[INFO] [stdout] 2970 |     auth_client: crate::auth_client::AuthClient,
[INFO] [stdout]      |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_auth_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2981:9
[INFO] [stdout]      |
[INFO] [stdout] 2981 |     let mut from: Option<String> = None;
[INFO] [stdout]      |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `recipients`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2982:9
[INFO] [stdout]      |
[INFO] [stdout] 2982 |     let mut recipients: Vec<String> = Vec::new();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recipients`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_buffer`
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2983:9
[INFO] [stdout]      |
[INFO] [stdout] 2983 |     let mut data_buffer = String::new();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `public_key` is never read
[INFO] [stdout]   --> crates/moltlink-server/examples/multi_agent_sim.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct Agent {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     public_key: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Agent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `challenge` and `difficulty` are never read
[INFO] [stdout]   --> crates/moltlink-server/examples/multi_agent_sim.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct Challenge {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 35 |     challenge_id: String,
[INFO] [stdout] 36 |     challenge: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 37 |     difficulty: u32,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Challenge` 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 `MailAuthRequest` is never constructed
[INFO] [stdout]   --> crates/moltlink-mmg/src/auth_client.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct MailAuthRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `agent_id` is never read
[INFO] [stdout]   --> crates/moltlink-mmg/src/auth_client.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct AuthResponseData {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 38 |     authenticated: bool,
[INFO] [stdout] 39 |     agent_id: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthResponseData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `webdav_client` and `config` are never read
[INFO] [stdout]    --> crates/moltlink-mmg/src/mail_gateway.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout]  95 | pub struct MailGateway {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 105 |     webdav_client: Option<WebDavClient>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 106 |     config: Arc<Config>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Update` is never constructed
[INFO] [stdout]     --> crates/moltlink-mmg/src/mail_gateway.rs:2296:5
[INFO] [stdout]      |
[INFO] [stdout] 2293 | enum Pop3State {
[INFO] [stdout]      |      --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 2296 |     Update,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Pop3State` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]    --> crates/moltlink-mmg/src/mail_storage.rs:908:5
[INFO] [stdout]     |
[INFO] [stdout] 907 | pub struct AzureBlobStore {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 908 |     config: BlobStoreConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AzureBlobStore` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]    --> crates/moltlink-mmg/src/mail_storage.rs:953:5
[INFO] [stdout]     |
[INFO] [stdout] 952 | pub struct MemoryBlobStore {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 953 |     config: BlobStoreConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MemoryBlobStore` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `tower-http`
[INFO] [stderr]   --> crates/moltlink-mmg/Cargo.toml:36:1
[INFO] [stderr]    |
[INFO] [stderr] 36 | tower-http = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `tower-http`
[INFO] [stderr] warning: `moltlink-mmg` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `bincode`
[INFO] [stderr]   --> crates/moltlink-server/Cargo.toml:40:1
[INFO] [stderr]    |
[INFO] [stderr] 40 | bincode = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `bincode`
[INFO] [stderr] warning: unused dependency `rust-embed`
[INFO] [stderr]   --> crates/moltlink-server/Cargo.toml:93:1
[INFO] [stderr]    |
[INFO] [stderr] 93 | rust-embed = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `rust-embed`
[INFO] [stderr] warning: `moltlink-server` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 11s
[INFO] running `Command { std: "docker" "inspect" "691672d2dd54e2f10244773ba4eff9c47f89908dca68d630aba0f05e125e8ab3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "691672d2dd54e2f10244773ba4eff9c47f89908dca68d630aba0f05e125e8ab3", kill_on_drop: false }`
[INFO] [stdout] 691672d2dd54e2f10244773ba4eff9c47f89908dca68d630aba0f05e125e8ab3
