[INFO] cloning repository https://github.com/exec/legionnaire [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/exec/legionnaire" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fexec%2Flegionnaire", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fexec%2Flegionnaire'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5e8a200b38a0a4c1df13b83f60512b2d5757f6a3 [INFO] testing exec/legionnaire against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fexec%2Flegionnaire" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/exec/legionnaire [INFO] finished tweaking git repo https://github.com/exec/legionnaire [INFO] tweaked toml for git repo https://github.com/exec/legionnaire written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/exec/legionnaire on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/exec/legionnaire 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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 2 packages to latest compatible versions [INFO] [stderr] Adding legion-protocol v0.1.0 [INFO] [stderr] Adding phalanx-crypto v0.1.0 [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded stability v0.2.1 [INFO] [stderr] Downloaded rtoolbox v0.0.3 [INFO] [stderr] Downloaded libredox v0.1.6 [INFO] [stderr] Downloaded castaway v0.2.4 [INFO] [stderr] Downloaded tokio-test v0.4.4 [INFO] [stderr] Downloaded clap_derive v4.5.41 [INFO] [stderr] Downloaded directories v5.0.1 [INFO] [stderr] Downloaded phalanx-crypto v0.1.0 [INFO] [stderr] Downloaded legion-protocol v0.1.0 [INFO] [stderr] Downloaded clap v4.5.41 [INFO] [stderr] Downloaded rpassword v7.4.0 [INFO] [stderr] Downloaded clap_builder v4.5.41 [INFO] [stderr] Downloaded h2 v0.3.27 [INFO] [stderr] Downloaded blake3 v1.8.2 [INFO] [stderr] Downloaded aws-lc-rs v1.13.3 [INFO] [stderr] Downloaded ratatui v0.26.3 [INFO] [stderr] Downloaded aws-lc-sys v0.30.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8a07d811c69edee1d57f57c36993e1570ab864d7f9fdfced3eb67c21ebfc28ab [INFO] running `Command { std: "docker" "start" "-a" "8a07d811c69edee1d57f57c36993e1570ab864d7f9fdfced3eb67c21ebfc28ab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8a07d811c69edee1d57f57c36993e1570ab864d7f9fdfced3eb67c21ebfc28ab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8a07d811c69edee1d57f57c36993e1570ab864d7f9fdfced3eb67c21ebfc28ab", kill_on_drop: false }` [INFO] [stdout] 8a07d811c69edee1d57f57c36993e1570ab864d7f9fdfced3eb67c21ebfc28ab [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 64c681be82c015e444df7ddab9b5927fc8a4585d4ea7467e91275103123879ab [INFO] running `Command { std: "docker" "start" "-a" "64c681be82c015e444df7ddab9b5927fc8a4585d4ea7467e91275103123879ab", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling tracing-core v0.1.34 [INFO] [stderr] Compiling slab v0.4.10 [INFO] [stderr] Compiling bitflags v2.9.1 [INFO] [stderr] Compiling aws-lc-rs v1.13.3 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling serde_json v1.0.141 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling anstyle-query v1.1.3 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling rustls v0.23.29 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling arrayref v0.3.9 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling winnow v0.7.12 [INFO] [stderr] Compiling compact_str v0.7.1 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling ipnet v2.11.0 [INFO] [stderr] Compiling cassowary v0.3.0 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Compiling anstream v0.6.19 [INFO] [stderr] Compiling sync_wrapper v0.1.2 [INFO] [stderr] Compiling clap_builder v4.5.41 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling indexmap v2.10.0 [INFO] [stderr] Compiling lru v0.12.5 [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 rand_core v0.6.4 [INFO] [stderr] Compiling cc v1.2.30 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling socket2 v0.5.10 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling mio v0.8.11 [INFO] [stderr] Compiling poly1305 v0.8.0 [INFO] [stderr] Compiling signal-hook-mio v0.2.4 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling crossterm v0.27.0 [INFO] [stderr] Compiling cmake v0.1.54 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling pbkdf2 v0.12.2 [INFO] [stderr] Compiling unicode-truncate v1.1.0 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling rtoolbox v0.0.3 [INFO] [stderr] Compiling directories v5.0.1 [INFO] [stderr] Compiling rpassword v7.4.0 [INFO] [stderr] Compiling uuid v1.17.0 [INFO] [stderr] Compiling regex-automata v0.4.9 [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 synstructure v0.13.2 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [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 tracing-attributes v0.1.30 [INFO] [stderr] Compiling futures-macro v0.3.31 [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 clap_derive v4.5.41 [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 regex v1.11.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling stability v0.2.1 [INFO] [stderr] Compiling async-trait v0.1.88 [INFO] [stderr] Compiling chacha20 v0.9.1 [INFO] [stderr] Compiling webpki-roots v1.0.2 [INFO] [stderr] Compiling secrecy v0.8.0 [INFO] [stderr] Compiling chacha20poly1305 v0.10.1 [INFO] [stderr] Compiling webpki-roots v0.26.11 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling tracing-subscriber v0.3.19 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling zerovec v0.11.2 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling clap v4.5.41 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling ratatui v0.26.3 [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 futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling icu_properties v2.0.1 [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 bincode v1.3.3 [INFO] [stderr] Compiling chrono v0.4.41 [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 idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling http-body v0.4.6 [INFO] [stderr] Compiling x25519-dalek v2.0.1 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling legion-protocol v0.1.0 [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 phalanx-crypto v0.1.0 [INFO] [stderr] Compiling signal-hook-tokio v0.3.1 [INFO] [stderr] Compiling h2 v0.3.27 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling tokio-rustls v0.26.2 [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] 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: variable `reason` is assigned to, but never used [INFO] [stdout] --> src/admin_commands.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | let mut reason = None; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_reason` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reason` is never read [INFO] [stdout] --> src/admin_commands.rs:285:21 [INFO] [stdout] | [INFO] [stdout] 285 | reason = Some(cmd.params[2..].join(" ")); [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 `reason` is never read [INFO] [stdout] --> src/admin_commands.rs:289:17 [INFO] [stdout] | [INFO] [stdout] 289 | reason = Some(cmd.params[1..].join(" ")); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [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 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd` [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] 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: `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> { [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 { [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: `ip` [INFO] [stdout] --> src/security.rs:370:55 [INFO] [stdout] | [INFO] [stdout] 370 | async fn check_rate_limit(&self, client_id: &str, ip: Option) -> Result { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ip` [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: `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: `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] Some errors have detailed explanations: E0432, E0433. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stderr] error: could not compile `legionnaire` (lib) due to 14 previous errors; 42 warnings emitted [INFO] running `Command { std: "docker" "inspect" "64c681be82c015e444df7ddab9b5927fc8a4585d4ea7467e91275103123879ab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "64c681be82c015e444df7ddab9b5927fc8a4585d4ea7467e91275103123879ab", kill_on_drop: false }` [INFO] [stdout] 64c681be82c015e444df7ddab9b5927fc8a4585d4ea7467e91275103123879ab