[INFO] fetching crate legionnaire 0.1.3...
[INFO] testing legionnaire-0.1.3 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate legionnaire 0.1.3 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate legionnaire 0.1.3
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate legionnaire 0.1.3
[INFO] tweaked toml for crates.io crate legionnaire 0.1.3 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate legionnaire 0.1.3 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 crates.io crate legionnaire 0.1.3 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]  Downloading crates ...
[INFO] [stderr]   Downloaded retain_mut v0.1.9
[INFO] [stderr]   Downloaded serial_test_derive v3.2.0
[INFO] [stderr]   Downloaded serial_test v3.2.0
[INFO] [stderr]   Downloaded webpki-roots v0.26.11
[INFO] [stderr]   Downloaded wiremock v0.5.22
[INFO] [stderr]   Downloaded stability v0.2.1
[INFO] [stderr]   Downloaded libredox v0.1.6
[INFO] [stderr]   Downloaded signal-hook-tokio v0.3.1
[INFO] [stderr]   Downloaded deadpool v0.9.5
[INFO] [stderr]   Downloaded unicode-truncate v1.1.0
[INFO] [stderr]   Downloaded mockall v0.12.1
[INFO] [stderr]   Downloaded directories v5.0.1
[INFO] [stderr]   Downloaded rstest v0.18.2
[INFO] [stderr]   Downloaded mockall_derive v0.12.1
[INFO] [stderr]   Downloaded rcgen v0.12.1
[INFO] [stderr]   Downloaded rstest_macros v0.18.2
[INFO] [stderr]   Downloaded sdd v3.0.10
[INFO] [stderr]   Downloaded secrecy v0.8.0
[INFO] [stderr]   Downloaded legion-protocol v0.1.0
[INFO] [stderr]   Downloaded proptest v1.7.0
[INFO] [stderr]   Downloaded castaway v0.2.4
[INFO] [stderr]   Downloaded compact_str v0.7.1
[INFO] [stderr]   Downloaded pem v3.0.5
[INFO] [stderr]   Downloaded scc v2.3.4
[INFO] [stderr]   Downloaded deadpool-runtime v0.1.4
[INFO] [stderr]   Downloaded rustls v0.23.29
[INFO] [stderr]   Downloaded ratatui v0.26.3
[INFO] [stderr]   Downloaded phalanx-crypto v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 20854df2b2fb09623b4cd97715bb9e78ae3deb590f6e1acc7441c577e29acae2
[INFO] running `Command { std: "docker" "start" "-a" "20854df2b2fb09623b4cd97715bb9e78ae3deb590f6e1acc7441c577e29acae2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "20854df2b2fb09623b4cd97715bb9e78ae3deb590f6e1acc7441c577e29acae2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "20854df2b2fb09623b4cd97715bb9e78ae3deb590f6e1acc7441c577e29acae2", kill_on_drop: false }`
[INFO] [stdout] 20854df2b2fb09623b4cd97715bb9e78ae3deb590f6e1acc7441c577e29acae2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d0f7f8f55a4b654c5491824512390ce020f6a1e43325ab29ed4ee3409269e1ac
[INFO] running `Command { std: "docker" "start" "-a" "d0f7f8f55a4b654c5491824512390ce020f6a1e43325ab29ed4ee3409269e1ac", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling slab v0.4.10
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling rustversion v1.0.21
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling aws-lc-rs v1.13.3
[INFO] [stderr]    Compiling serde_json v1.0.141
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling rustls v0.23.29
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling opaque-debug v0.3.1
[INFO] [stderr]    Compiling anstyle-query v1.1.3
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling anstream v0.6.19
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling winnow v0.7.12
[INFO] [stderr]    Compiling constant_time_eq v0.3.1
[INFO] [stderr]    Compiling overload v0.1.1
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling cc v1.2.30
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling clap_builder v4.5.41
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling poly1305 v0.8.0
[INFO] [stderr]    Compiling compact_str v0.7.1
[INFO] [stderr]    Compiling rtoolbox v0.0.3
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rpassword v7.4.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling directories v5.0.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling matchers v0.1.0
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling aws-lc-sys v0.30.0
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling clap_derive v4.5.41
[INFO] [stderr]    Compiling stability v0.2.1
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling secrecy v0.8.0
[INFO] [stderr]    Compiling chacha20 v0.9.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling chacha20poly1305 v0.10.1
[INFO] [stderr]    Compiling webpki-roots v1.0.2
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling ratatui v0.26.3
[INFO] [stderr]    Compiling clap v4.5.41
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling tokio v1.46.1
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling x25519-dalek v2.0.1
[INFO] [stderr]    Compiling legion-protocol v0.1.0
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling rustls-webpki v0.103.4
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling signal-hook-tokio v0.3.1
[INFO] [stderr]    Compiling phalanx-crypto v0.1.0
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling tokio-rustls v0.26.2
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling legionnaire v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `base64`
[INFO] [stdout]    --> src/client.rs:782:13
[INFO] [stdout]     |
[INFO] [stdout] 782 |         use base64::{Engine, engine::general_purpose::STANDARD as BASE64};
[INFO] [stdout]     |             ^^^^^^ use of unresolved module or unlinked crate `base64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `base64`, use `cargo add base64` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `base64`
[INFO] [stdout]    --> src/client.rs:782:13
[INFO] [stdout]     |
[INFO] [stdout] 782 |         use base64::{Engine, engine::general_purpose::STANDARD as BASE64};
[INFO] [stdout]     |             ^^^^^^ use of unresolved module or unlinked crate `base64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `base64`, use `cargo add base64` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `base64`
[INFO] [stdout]    --> src/client.rs:811:13
[INFO] [stdout]     |
[INFO] [stdout] 811 |         use base64::{Engine, engine::general_purpose::STANDARD as BASE64};
[INFO] [stdout]     |             ^^^^^^ use of unresolved module or unlinked crate `base64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `base64`, use `cargo add base64` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `base64`
[INFO] [stdout]    --> src/client.rs:811:13
[INFO] [stdout]     |
[INFO] [stdout] 811 |         use base64::{Engine, engine::general_purpose::STANDARD as BASE64};
[INFO] [stdout]     |             ^^^^^^ use of unresolved module or unlinked crate `base64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `base64`, use `cargo add base64` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `base64`
[INFO] [stdout]  --> src/auth.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use base64::{Engine, engine::general_purpose::STANDARD as BASE64};
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `base64`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `base64`, use `cargo add base64` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `base64`
[INFO] [stdout]  --> src/auth.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use base64::{Engine, engine::general_purpose::STANDARD as BASE64};
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `base64`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `base64`, use `cargo add base64` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `hmac`
[INFO] [stdout]  --> src/auth.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use hmac::{Hmac, Mac};
[INFO] [stdout]   |     ^^^^ use of unresolved module or unlinked crate `hmac`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `hmac`, use `cargo add hmac` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `sha2`
[INFO] [stdout]  --> src/auth.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sha2::{Sha256, Digest};
[INFO] [stdout]   |     ^^^^ use of unresolved module or unlinked crate `sha2`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `sha2`, use `cargo add sha2` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `pbkdf2`
[INFO] [stdout]  --> src/auth.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use pbkdf2::pbkdf2_hmac;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `pbkdf2`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `pbkdf2`, use `cargo add pbkdf2` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `base64`
[INFO] [stdout]   --> src/legion.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use base64;
[INFO] [stdout]    |     ^^^^^^ no external crate `base64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `blake3`
[INFO] [stdout]    --> src/legion.rs:309:13
[INFO] [stdout]     |
[INFO] [stdout] 309 |         use blake3::Hasher;
[INFO] [stdout]     |             ^^^^^^ use of unresolved module or unlinked crate `blake3`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `blake3`, use `cargo add blake3` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `blake3`
[INFO] [stdout]   --> src/credentials.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use blake3;
[INFO] [stdout]    |     ^^^^^^ no external crate `blake3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]  --> src/connection.rs:8:72
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::io::{AsyncBufReadExt, AsyncWriteExt, AsyncRead, AsyncWrite, BufReader};
[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: `Command`
[INFO] [stdout]  --> src/legion.rs:6:47
[INFO] [stdout]   |
[INFO] [stdout] 6 | use legion_protocol::{IrcMessage, Capability, Command};
[INFO] [stdout]   |                                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/legion.rs:11:34
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{debug, info, warn, error};
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LegionEvent`
[INFO] [stdout]  --> src/admin_commands.rs:7:35
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::legion::{LegionClient, LegionEvent};
[INFO] [stdout]   |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AdminOperation`, `BanOperation`, `ChannelSettings`, `KeyOperation`, `MemberOperation`, and `Permission`
[INFO] [stdout]  --> src/admin_commands.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use legion_protocol::{AdminOperation, MemberOperation, BanOperation, KeyOperation, 
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 9 |                      MemberRole, ChannelMode, ChannelSettings, Permission};
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `warn`
[INFO] [stdout]   --> src/admin_commands.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tracing::{debug, info, warn, error};
[INFO] [stdout]    |               ^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/plugin/e2ee.rs:15:27
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing::{info, warn, error, debug};
[INFO] [stdout]    |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/cli.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tracing::{info, debug, error};
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/bouncer.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use anyhow::{Result, anyhow};
[INFO] [stdout]   |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/bouncer.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{info, warn, error, debug};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/bot.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anyhow::{Result, anyhow};
[INFO] [stdout]   |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/bot.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Result as IronResult`
[INFO] [stdout]  --> src/recovery.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::error::{IronError, ConnectionState, Result as IronResult};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `timeout`
[INFO] [stdout]   --> src/recovery.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::time::{sleep, timeout};
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/credentials.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{info, warn, error, debug};
[INFO] [stdout]    |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/setup.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use anyhow::{Result, anyhow};
[INFO] [stdout]   |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::anyhow`
[INFO] [stdout]  --> src/security.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anyhow::anyhow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/security.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{info, warn, error, debug};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `base64`
[INFO] [stdout]    --> src/plugin/e2ee.rs:124:23
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let encoded = base64::encode(&serialized);
[INFO] [stdout]     |                       ^^^^^^ use of unresolved module or unlinked crate `base64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `base64`, use `cargo add base64` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `base64`
[INFO] [stdout]    --> src/plugin/e2ee.rs:138:26
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let serialized = base64::decode(encoded)
[INFO] [stdout]     |                          ^^^^^^ use of unresolved module or unlinked crate `base64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `base64`, use `cargo add base64` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth.rs:421:43
[INFO] [stdout]     |
[INFO] [stdout] 421 |             chunks.push(String::from_utf8(chunk.to_vec()).unwrap());
[INFO] [stdout]     |                                           ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> src/bouncer.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reason`
[INFO] [stdout]    --> src/admin_commands.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let reason = if cmd.params.len() > 1 {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reason`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> src/admin_commands.rs:641:41
[INFO] [stdout]     |
[INFO] [stdout] 641 |     async fn handle_help_command(&self, cmd: AdminCommand) -> Result<CommandResult> {
[INFO] [stdout]     |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload`
[INFO] [stdout]    --> src/plugin/e2ee.rs:157:50
[INFO] [stdout]     |
[INFO] [stdout] 157 |     async fn handle_handshake(&self, from: &str, payload: &str) -> Result<()> {
[INFO] [stdout]     |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `identity`
[INFO] [stdout]    --> src/plugin/e2ee.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let identity = identity_guard.as_ref().unwrap();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_identity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/cli.rs:397:17
[INFO] [stdout]     |
[INFO] [stdout] 397 |             let config = self.bouncer_config.as_ref()
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_id`
[INFO] [stdout]    --> src/bouncer.rs:371:47
[INFO] [stdout]     |
[INFO] [stdout] 371 |                 BouncerCommand::ReplayHistory(client_id, target) => {
[INFO] [stdout]     |                                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/bouncer.rs:371:58
[INFO] [stdout]     |
[INFO] [stdout] 371 |                 BouncerCommand::ReplayHistory(client_id, target) => {
[INFO] [stdout]     |                                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/bouncer.rs:374:46
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 BouncerCommand::UpdateConfig(config) => {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot_ref`
[INFO] [stdout]    --> src/bot.rs:261:24
[INFO] [stdout]     |
[INFO] [stdout] 261 |         for (bot_name, bot_ref) in bots.iter() {
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bot_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> src/recovery.rs:389:32
[INFO] [stdout]     |
[INFO] [stdout] 389 |             IronError::Timeout(msg) => {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/credentials.rs:345:42
[INFO] [stdout]     |
[INFO] [stdout] 345 |     async fn store_in_os_keystore(&self, key: &str, entry: &CredentialEntry) -> Result<()> {
[INFO] [stdout]     |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry`
[INFO] [stdout]    --> src/credentials.rs:345:53
[INFO] [stdout]     |
[INFO] [stdout] 345 |     async fn store_in_os_keystore(&self, key: &str, entry: &CredentialEntry) -> Result<()> {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/credentials.rs:373:43
[INFO] [stdout]     |
[INFO] [stdout] 373 |     async fn load_from_os_keystore(&self, key: &str) -> Result<Option<CredentialEntry>> {
[INFO] [stdout]     |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/credentials.rs:379:45
[INFO] [stdout]     |
[INFO] [stdout] 379 |     async fn delete_from_os_keystore(&self, key: &str) -> Result<bool> {
[INFO] [stdout]     |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config_path`
[INFO] [stdout]    --> src/credentials.rs:482:9
[INFO] [stdout]     |
[INFO] [stdout] 482 |         config_path: &std::path::Path,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_config_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cred_manager`
[INFO] [stdout]    --> src/credentials.rs:483:9
[INFO] [stdout]     |
[INFO] [stdout] 483 |         cred_manager: &mut CredentialManager
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cred_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `security_prefs`
[INFO] [stdout]   --> src/setup.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let security_prefs = self.setup_security_preferences()?;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_security_prefs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `plugin_prefs`
[INFO] [stdout]   --> src/setup.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let plugin_prefs = self.setup_plugin_preferences()?;
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_plugin_prefs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `api_key`
[INFO] [stdout]    --> src/setup.rs:338:21
[INFO] [stdout]     |
[INFO] [stdout] 338 |                 let api_key = self.prompt_password("OpenWeatherMap API Key", 
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_api_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ip`
[INFO] [stdout]    --> src/security.rs:370:55
[INFO] [stdout]     |
[INFO] [stdout] 370 |     async fn check_rate_limit(&self, client_id: &str, ip: Option<IpAddr>) -> Result<bool> {
[INFO] [stdout]     |                                                       ^^ help: if this is intentional, prefix it with an underscore: `_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `legionnaire` (lib) due to 15 previous errors; 39 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "d0f7f8f55a4b654c5491824512390ce020f6a1e43325ab29ed4ee3409269e1ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d0f7f8f55a4b654c5491824512390ce020f6a1e43325ab29ed4ee3409269e1ac", kill_on_drop: false }`
[INFO] [stdout] d0f7f8f55a4b654c5491824512390ce020f6a1e43325ab29ed4ee3409269e1ac
