[INFO] cloning repository https://github.com/CentauriAgent/concord-bots
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CentauriAgent/concord-bots" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCentauriAgent%2Fconcord-bots", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCentauriAgent%2Fconcord-bots'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6054b6e2b4f2b11ecdbe3e469089929bdaef4b40
[INFO] checking CentauriAgent/concord-bots against try#24e1a22664233bce1f9b5dc6eee7c1f74327e28c for pr-159343
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCentauriAgent%2Fconcord-bots" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/CentauriAgent/concord-bots
[INFO] finished tweaking git repo https://github.com/CentauriAgent/concord-bots
[INFO] tweaked toml for git repo https://github.com/CentauriAgent/concord-bots written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/CentauriAgent/concord-bots on toolchain 24e1a22664233bce1f9b5dc6eee7c1f74327e28c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/CentauriAgent/concord-bots 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" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] cfd1ec0fa808f56d22be2273464aef2acfc1fd0091fc1597dd8518e23a3c9a15
[INFO] running `Command { std: "docker" "start" "cfd1ec0fa808f56d22be2273464aef2acfc1fd0091fc1597dd8518e23a3c9a15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cfd1ec0fa808f56d22be2273464aef2acfc1fd0091fc1597dd8518e23a3c9a15", 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" "cfd1ec0fa808f56d22be2273464aef2acfc1fd0091fc1597dd8518e23a3c9a15" "/opt/rustwide/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cfd1ec0fa808f56d22be2273464aef2acfc1fd0091fc1597dd8518e23a3c9a15", 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" "cfd1ec0fa808f56d22be2273464aef2acfc1fd0091fc1597dd8518e23a3c9a15" "/opt/rustwide/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]    Compiling zerocopy-derive v0.8.52
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]    Compiling bitcoin-io v0.1.101
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking arrayvec v0.7.7
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]     Checking hex-conservative v0.2.2
[INFO] [stderr]     Checking rustls-pki-types v1.14.1
[INFO] [stderr]     Checking block-padding v0.3.3
[INFO] [stderr]    Compiling secp256k1-sys v0.10.1
[INFO] [stderr]     Checking bitcoin_hashes v0.14.101
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling rustls v0.23.41
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking bech32 v0.11.1
[INFO] [stderr]    Compiling openssl-src v300.5.5+3.5.5
[INFO] [stderr]     Checking serde_json v1.0.150
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking webpki-roots v1.0.8
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking rustls-native-certs v0.8.4
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking data-encoding v2.11.0
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking brotli v8.0.4
[INFO] [stderr]     Checking compression-core v0.4.32
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]    Compiling hex_lit v0.1.1
[INFO] [stderr]    Compiling bitcoin v0.32.101
[INFO] [stderr]     Checking lru v0.16.4
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking base58ck v0.1.101
[INFO] [stderr]     Checking bitcoin-units v0.1.101
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-socks v0.5.3
[INFO] [stderr]     Checking async-utility v0.3.1
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking atomic-destructor v0.3.0
[INFO] [stderr]     Checking h2 v0.4.15
[INFO] [stderr]     Checking negentropy v0.5.0
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]     Checking secp256k1 v0.29.1
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking bip39 v2.2.2
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking nostr v0.44.3
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tungstenite v0.26.2
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking tokio-tungstenite v0.26.2
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking async-wsocket v0.13.2
[INFO] [stderr]     Checking hyper v1.10.1
[INFO] [stderr]    Compiling time-macros v0.2.30
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking dnssec-prover v0.6.8
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking nostr-database v0.44.0
[INFO] [stderr]     Checking nostr-gossip v0.44.0
[INFO] [stderr]    Compiling lightning-macros v0.2.1
[INFO] [stderr]     Checking possiblyrandom v0.2.1
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking nostr-relay-pool v0.44.1
[INFO] [stderr]     Checking time v0.3.51
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]    Compiling serde_with_macros v3.21.0
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking uuid v1.23.4
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking nostr-sdk v0.44.1
[INFO] [stderr]     Checking lightning-types v0.3.2
[INFO] [stderr]    Compiling libsqlite3-sys v0.35.0
[INFO] [stderr]     Checking separator v0.4.1
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]     Checking compression-codecs v0.4.38
[INFO] [stderr]     Checking cbor-diag v0.1.12
[INFO] [stderr]     Checking async-compression v0.4.42
[INFO] [stderr]     Checking lightning-invoice v0.34.1
[INFO] [stderr]     Checking simple_asn1 v0.6.4
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking serde_with v3.21.0
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking lightning v0.2.3
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking regex v1.12.4
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]     Checking pxfm v0.1.29
[INFO] [stderr]     Checking zune-core v0.5.1
[INFO] [stderr]     Checking image-webp v0.2.4
[INFO] [stderr]     Checking zune-jpeg v0.5.15
[INFO] [stderr]     Checking gif v0.14.2
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking jsonwebtoken v9.3.1
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking hashlink v0.10.0
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking outref v0.5.2
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]    Compiling redb v3.1.3
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking phf_shared v0.12.1
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking base64-simd v0.8.0
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]     Checking nostr-connect v0.44.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]    Compiling chrono-tz v0.10.4
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]     Checking fast-thumbhash v0.2.0
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking arc-swap v1.9.1
[INFO] [stderr]     Checking phf v0.12.1
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking rusqlite v0.37.0
[INFO] [stderr]     Checking cashu v0.17.2-rc.2
[INFO] [stderr]     Checking bitcoin-payment-instructions v0.7.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking cdk-http-client v0.17.2-rc.2
[INFO] [stderr]     Checking nostr-blossom v0.44.0
[INFO] [stderr]     Checking cdk-common v0.17.2-rc.2
[INFO] [stderr]     Checking vector-core v0.2.0
[INFO] [stderr]     Checking cdk v0.17.2-rc.2
[INFO] [stderr]     Checking cdk-redb v0.17.2-rc.2
[INFO] [stderr]     Checking vector_sdk v0.3.1
[INFO] [stderr]     Checking concord-bots v2.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: found module declaration for lib.rs
[INFO] [stdout]   --> src/main.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | mod lib;
[INFO] [stdout]    | ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: lib.rs is the root of this crate's library target
[INFO] [stdout]    = help: to refer to it from other targets, use the library's name as the path
[INFO] [stdout]    = note: `#[warn(special_module_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/handlers/nostr_cmds.rs:486:9
[INFO] [stdout]     |
[INFO] [stdout] 486 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: found module declaration for lib.rs
[INFO] [stdout]   --> src/main.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | mod lib;
[INFO] [stdout]    | ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: lib.rs is the root of this crate's library target
[INFO] [stdout]    = help: to refer to it from other targets, use the library's name as the path
[INFO] [stdout]    = note: `#[warn(special_module_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bot_has_capability` is never used
[INFO] [stdout]    --> src/auth.rs:352:14
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub async fn bot_has_capability(msg: &vector_sdk::IncomingMessage, capability: &str) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `npub` and `last_xp_at` are never read
[INFO] [stdout]   --> src/community/mod.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct UserStats {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 40 |     pub npub: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub last_xp_at: i64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UserStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prize_sats` and `starts_at` are never read
[INFO] [stdout]    --> src/community/mod.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout]  97 | pub struct Giveaway {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub prize_sats: i64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 102 |     pub starts_at: i64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Giveaway` 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 `end_giveaway` and `check_rep_cooldown` are never used
[INFO] [stdout]    --> src/community/mod.rs:421:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl Database {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 421 |     pub fn end_giveaway(&self, id: &str) -> Result<Option<Giveaway>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 617 |     pub fn check_rep_cooldown(&self, from: &str, to: &str) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `scheduling` and `community_settings` are never read
[INFO] [stdout]   --> src/config.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct BotConfig {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub scheduling: SchedulingSection,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub community_settings: CommunitySettingsSection,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BotConfig` 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 `default_interval_secs` is never read
[INFO] [stdout]    --> src/config.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub struct SchedulingSection {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub default_interval_secs: Option<u64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SchedulingSection` 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 `custom_get` and `custom_string` are never used
[INFO] [stdout]    --> src/config.rs:412:12
[INFO] [stdout]     |
[INFO] [stdout] 235 | impl BotConfig {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 412 |     pub fn custom_get(&self, key: &str) -> Option<&toml::Value> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 422 |     pub fn custom_string(&self, key: &str) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `xp_enabled`, `giveaways_enabled`, and `reputation_enabled` are never read
[INFO] [stdout]    --> src/config.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 462 | pub struct CommunitySettingsSection {
[INFO] [stdout]     |            ------------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 465 |     pub xp_enabled: bool,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 468 |     pub giveaways_enabled: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 471 |     pub reputation_enabled: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CommunitySettingsSection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `added_by` and `added_at` are never read
[INFO] [stdout]   --> src/git_monitor/store.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Subscription {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub added_by: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 62 |     pub added_at: i64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Subscription` 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: function `leave_command` is never used
[INFO] [stdout]   --> src/handlers/moderation_cmds.rs:92:14
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub async fn leave_command(ctx: &BotContext, msg: &IncomingMessage, _args: &str) -> Result<()> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mods_command` is never used
[INFO] [stdout]    --> src/handlers/moderation_cmds.rs:410:14
[INFO] [stdout]     |
[INFO] [stdout] 410 | pub async fn mods_command(ctx: &BotContext, msg: &IncomingMessage, _args: &str) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `on_message` is never used
[INFO] [stdout]   --> src/handlers/ai_bridge.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub async fn on_message(ctx: &BotContext, msg: &IncomingMessage) -> Result<()> {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `on_event` is never used
[INFO] [stdout]    --> src/handlers/ai_bridge.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn on_event(_ctx: &BotContext, _event: &BotEvent) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_openclaw` is never used
[INFO] [stdout]    --> src/handlers/ai_bridge.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 | async fn generate_openclaw(message: &str, system_prompt: &str) -> Result<String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_openai` is never used
[INFO] [stdout]    --> src/handlers/ai_bridge.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 137 | async fn generate_openai(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `total_sats` is never read
[INFO] [stdout]   --> src/lib/npub_cash.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct ClaimResult {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub total_sats: u64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClaimResult` 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: function `balance` is never used
[INFO] [stdout]    --> src/lib/npub_cash.rs:104:14
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub async fn balance(base_url: &str, nsec: &str) -> Result<u64> {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bot_has_capability` is never used
[INFO] [stdout]    --> src/auth.rs:352:14
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub async fn bot_has_capability(msg: &vector_sdk::IncomingMessage, capability: &str) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `npub` and `last_xp_at` are never read
[INFO] [stdout]   --> src/community/mod.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct UserStats {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 40 |     pub npub: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub last_xp_at: i64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UserStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prize_sats`, `starts_at`, `active`, and `winner_npub` are never read
[INFO] [stdout]    --> src/community/mod.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout]  97 | pub struct Giveaway {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub prize_sats: i64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 102 |     pub starts_at: i64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 103 |     pub ends_at: i64,
[INFO] [stdout] 104 |     pub active: bool,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 105 |     pub winner_npub: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Giveaway` 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 `end_giveaway`, `get_giveaway_inner`, `get_giveaway`, `add_entry`, and `check_rep_cooldown` are never used
[INFO] [stdout]    --> src/community/mod.rs:421:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl Database {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 421 |     pub fn end_giveaway(&self, id: &str) -> Result<Option<Giveaway>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 432 |     fn get_giveaway_inner(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub fn get_giveaway(&self, id: &str) -> Result<Option<Giveaway>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 518 |     pub fn add_entry(&self, giveaway_id: &str, npub: &str) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 617 |     pub fn check_rep_cooldown(&self, from: &str, to: &str) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `scheduling` and `community_settings` are never read
[INFO] [stdout]   --> src/config.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct BotConfig {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub scheduling: SchedulingSection,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub community_settings: CommunitySettingsSection,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BotConfig` 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 `default_interval_secs` is never read
[INFO] [stdout]    --> src/config.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub struct SchedulingSection {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub default_interval_secs: Option<u64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SchedulingSection` 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 `custom_get` and `custom_string` are never used
[INFO] [stdout]    --> src/config.rs:412:12
[INFO] [stdout]     |
[INFO] [stdout] 235 | impl BotConfig {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 412 |     pub fn custom_get(&self, key: &str) -> Option<&toml::Value> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 422 |     pub fn custom_string(&self, key: &str) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `xp_enabled`, `giveaways_enabled`, and `reputation_enabled` are never read
[INFO] [stdout]    --> src/config.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 462 | pub struct CommunitySettingsSection {
[INFO] [stdout]     |            ------------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 465 |     pub xp_enabled: bool,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 468 |     pub giveaways_enabled: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 471 |     pub reputation_enabled: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CommunitySettingsSection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `added_by`, `added_at`, and `last_poll_at` are never read
[INFO] [stdout]   --> src/git_monitor/store.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Subscription {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub added_by: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 62 |     pub added_at: i64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub last_poll_at: Option<i64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Subscription` 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: function `leave_command` is never used
[INFO] [stdout]   --> src/handlers/moderation_cmds.rs:92:14
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub async fn leave_command(ctx: &BotContext, msg: &IncomingMessage, _args: &str) -> Result<()> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mods_command` is never used
[INFO] [stdout]    --> src/handlers/moderation_cmds.rs:410:14
[INFO] [stdout]     |
[INFO] [stdout] 410 | pub async fn mods_command(ctx: &BotContext, msg: &IncomingMessage, _args: &str) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `on_message` is never used
[INFO] [stdout]   --> src/handlers/ai_bridge.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub async fn on_message(ctx: &BotContext, msg: &IncomingMessage) -> Result<()> {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `on_event` is never used
[INFO] [stdout]    --> src/handlers/ai_bridge.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn on_event(_ctx: &BotContext, _event: &BotEvent) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_openclaw` is never used
[INFO] [stdout]    --> src/handlers/ai_bridge.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 | async fn generate_openclaw(message: &str, system_prompt: &str) -> Result<String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_openai` is never used
[INFO] [stdout]    --> src/handlers/ai_bridge.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 137 | async fn generate_openai(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `total_sats` is never read
[INFO] [stdout]   --> src/lib/npub_cash.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct ClaimResult {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub total_sats: u64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClaimResult` 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: function `balance` is never used
[INFO] [stdout]    --> src/lib/npub_cash.rs:104:14
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub async fn balance(base_url: &str, nsec: &str) -> Result<u64> {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8m 39s
[INFO] running `Command { std: "docker" "inspect" "cfd1ec0fa808f56d22be2273464aef2acfc1fd0091fc1597dd8518e23a3c9a15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cfd1ec0fa808f56d22be2273464aef2acfc1fd0091fc1597dd8518e23a3c9a15", kill_on_drop: false }`
[INFO] [stdout] cfd1ec0fa808f56d22be2273464aef2acfc1fd0091fc1597dd8518e23a3c9a15
