[INFO] cloning repository https://github.com/kevinbayes/agency
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kevinbayes/agency" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkevinbayes%2Fagency", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkevinbayes%2Fagency'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 02831b745d3ea7ccac4e2f8d269936ec9acfbf6c
[INFO] testing kevinbayes/agency against 1.91.0 for beta-1.92-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkevinbayes%2Fagency" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kevinbayes/agency
[INFO] finished tweaking git repo https://github.com/kevinbayes/agency
[INFO] tweaked toml for git repo https://github.com/kevinbayes/agency written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kevinbayes/agency on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kevinbayes/agency 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" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded prost v0.13.5
[INFO] [stderr]   Downloaded self_cell v1.1.0
[INFO] [stderr]   Downloaded rand_pcg v0.3.1
[INFO] [stderr]   Downloaded tonic v0.12.3
[INFO] [stderr]   Downloaded axum-macros v0.5.0
[INFO] [stderr]   Downloaded ignore v0.4.23
[INFO] [stderr]   Downloaded serde_path_to_error v0.1.17
[INFO] [stderr]   Downloaded tokio-tungstenite v0.26.2
[INFO] [stderr]   Downloaded clap_builder v4.5.32
[INFO] [stderr]   Downloaded clap v4.5.32
[INFO] [stderr]   Downloaded sqlx-sqlite v0.8.3
[INFO] [stderr]   Downloaded rustworkx-core v0.16.0
[INFO] [stderr]   Downloaded bstr v1.11.3
[INFO] [stderr]   Downloaded prettyplease v0.2.31
[INFO] [stderr]   Downloaded headers v0.4.0
[INFO] [stderr]   Downloaded rcgen v0.13.2
[INFO] [stderr]   Downloaded cc v1.2.16
[INFO] [stderr]   Downloaded security-framework v3.2.0
[INFO] [stderr]   Downloaded minijinja v2.8.0
[INFO] [stderr]   Downloaded sqlx-postgres v0.8.3
[INFO] [stderr]   Downloaded aws-lc-rs v1.12.6
[INFO] [stderr]   Downloaded sqlx-mysql v0.8.3
[INFO] [stderr]   Downloaded async-std v1.13.1
[INFO] [stderr]   Downloaded zerocopy v0.8.23
[INFO] [stderr]   Downloaded sqlx-core v0.8.3
[INFO] [stderr]   Downloaded sqlx v0.8.3
[INFO] [stderr]   Downloaded globset v0.4.16
[INFO] [stderr]   Downloaded jsonwebtoken v9.3.1
[INFO] [stderr]   Downloaded petgraph v0.7.1
[INFO] [stderr]   Downloaded memo-map v0.3.3
[INFO] [stderr]   Downloaded core-foundation v0.10.0
[INFO] [stderr]   Downloaded event-listener-strategy v0.5.3
[INFO] [stderr]   Downloaded base64-url v3.0.0
[INFO] [stderr]   Downloaded simple_asn1 v0.6.3
[INFO] [stderr]   Downloaded metrics-exporter-prometheus v0.16.2
[INFO] [stderr]   Downloaded rustls-native-certs v0.8.1
[INFO] [stderr]   Downloaded priority-queue v2.3.0
[INFO] [stderr]   Downloaded pem v3.0.5
[INFO] [stderr]   Downloaded sqlx-macros v0.8.3
[INFO] [stderr]   Downloaded rsa v0.9.8
[INFO] [stderr]   Downloaded hashlink v0.10.0
[INFO] [stderr]   Downloaded prost-derive v0.13.5
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.23
[INFO] [stderr]   Downloaded tower-http v0.6.2
[INFO] [stderr]   Downloaded yasna v0.5.2
[INFO] [stderr]   Downloaded rayon-cond v0.3.0
[INFO] [stderr]   Downloaded sqlx-macros-core v0.8.3
[INFO] [stderr]   Downloaded hyper-timeout v0.5.2
[INFO] [stderr]   Downloaded tungstenite v0.26.2
[INFO] [stderr]   Downloaded headers-core v0.3.0
[INFO] [stderr]   Downloaded time-macros v0.2.21
[INFO] [stderr]   Downloaded fixedbitset v0.5.7
[INFO] [stderr]   Downloaded aws-lc-sys v0.27.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d87cc359cd69a4735f46c0f6d938016972cfd7df14c52bcfc4d1487f5e6a3898
[INFO] running `Command { std: "docker" "start" "-a" "d87cc359cd69a4735f46c0f6d938016972cfd7df14c52bcfc4d1487f5e6a3898", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d87cc359cd69a4735f46c0f6d938016972cfd7df14c52bcfc4d1487f5e6a3898", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d87cc359cd69a4735f46c0f6d938016972cfd7df14c52bcfc4d1487f5e6a3898", kill_on_drop: false }`
[INFO] [stdout] d87cc359cd69a4735f46c0f6d938016972cfd7df14c52bcfc4d1487f5e6a3898
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0dce7a89be3bce18c1022fd1c75a8ffd6839235f29e8bb8ad69a572fbecba48e
[INFO] running `Command { std: "docker" "start" "-a" "0dce7a89be3bce18c1022fd1c75a8ffd6839235f29e8bb8ad69a572fbecba48e", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling value-bag v1.10.0
[INFO] [stderr]    Compiling once_cell v1.21.1
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling smallvec v1.14.0
[INFO] [stderr]    Compiling libm v0.2.11
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling cc v1.2.16
[INFO] [stderr]    Compiling const-oid v0.9.6
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling zerocopy v0.8.23
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling socket2 v0.5.8
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling litemap v0.7.5
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling event-listener v5.4.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling futures-lite v2.6.0
[INFO] [stderr]    Compiling log v0.4.26
[INFO] [stderr]    Compiling openssl v0.10.71
[INFO] [stderr]    Compiling event-listener-strategy v0.5.3
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling async-lock v3.4.0
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling async-task v4.7.1
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling async-channel v2.3.1
[INFO] [stderr]    Compiling piper v0.2.4
[INFO] [stderr]    Compiling polling v2.8.0
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]    Compiling base64ct v1.7.3
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling rustix v0.37.28
[INFO] [stderr]    Compiling async-io v1.13.0
[INFO] [stderr]    Compiling linux-raw-sys v0.3.8
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]    Compiling waker-fn v1.2.0
[INFO] [stderr]    Compiling pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling der v0.7.9
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-bigint-dig v0.8.4
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling blocking v1.6.1
[INFO] [stderr]    Compiling async-executor v1.13.1
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling async-channel v1.9.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling async-lock v2.8.0
[INFO] [stderr]    Compiling socket2 v0.4.10
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling rustls-pki-types v1.11.0
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling aws-lc-rs v1.12.6
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling crc v3.2.1
[INFO] [stderr]    Compiling tinyvec v1.9.0
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling openssl-sys v0.9.106
[INFO] [stderr]    Compiling aws-lc-sys v0.27.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling kv-log-macro v1.0.7
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]    Compiling unicode-properties v0.1.3
[INFO] [stderr]    Compiling rustix v1.0.3
[INFO] [stderr]    Compiling deranged v0.4.0
[INFO] [stderr]    Compiling time-macros v0.2.21
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling indexmap v2.8.0
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling pkcs1 v0.7.5
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling chrono v0.4.40
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling linux-raw-sys v0.9.3
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling rustls v0.23.25
[INFO] [stderr]    Compiling uuid v1.16.0
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling whoami v1.5.2
[INFO] [stderr]    Compiling anyhow v1.0.97
[INFO] [stderr]    Compiling time v0.3.40
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling anstyle-parse v0.2.6
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling rand v0.9.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]    Compiling matrixmultiply v0.3.9
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling anstyle-query v1.1.2
[INFO] [stderr]    Compiling data-encoding v2.8.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling colorchoice v1.0.3
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling anstream v0.6.18
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling rsa v0.9.8
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling metrics v0.24.1
[INFO] [stderr]    Compiling rustls-native-certs v0.8.1
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling pem v3.0.5
[INFO] [stderr]    Compiling rand_xoshiro v0.6.0
[INFO] [stderr]    Compiling headers-core v0.3.0
[INFO] [stderr]    Compiling bstr v1.11.3
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling clap_builder v4.5.32
[INFO] [stderr]    Compiling headers v0.4.0
[INFO] [stderr]    Compiling yasna v0.5.2
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling globset v0.4.16
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling rand_pcg v0.3.1
[INFO] [stderr]    Compiling http-range-header v0.4.2
[INFO] [stderr]    Compiling memo-map v0.3.3
[INFO] [stderr]    Compiling self_cell v1.1.0
[INFO] [stderr]    Compiling jiff v0.2.4
[INFO] [stderr]    Compiling base64-url v3.0.0
[INFO] [stderr]    Compiling ignore v0.4.23
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling tokio v1.44.1
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling axum-macros v0.5.0
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling env_filter v0.1.3
[INFO] [stderr]    Compiling clap v4.5.32
[INFO] [stderr]    Compiling strum_macros v0.27.1
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling tungstenite v0.26.2
[INFO] [stderr]    Compiling simple_asn1 v0.6.3
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling rcgen v0.13.2
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling env_logger v0.11.7
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling axum-core v0.5.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling bitflags v2.9.0
[INFO] [stderr]    Compiling tokio-util v0.7.14
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling raw-cpuid v11.5.0
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling tokio-tungstenite v0.26.2
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling serde_path_to_error v0.1.17
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]    Compiling quanta v0.12.5
[INFO] [stderr]    Compiling tempfile v3.19.1
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling jsonwebtoken v9.3.1
[INFO] [stderr]    Compiling tower-http v0.6.2
[INFO] [stderr]    Compiling minijinja v2.8.0
[INFO] [stderr]    Compiling rayon-cond v0.3.0
[INFO] [stderr]    Compiling ndarray v0.16.1
[INFO] [stderr]    Compiling prost v0.13.5
[INFO] [stderr]    Compiling metrics-util v0.19.0
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling h2 v0.4.8
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]    Compiling priority-queue v2.3.0
[INFO] [stderr]    Compiling polling v3.7.4
[INFO] [stderr]    Compiling async-io v2.4.0
[INFO] [stderr]    Compiling async-global-executor v2.4.1
[INFO] [stderr]    Compiling async-std v1.13.1
[INFO] [stderr]    Compiling rustworkx-core v0.16.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.0
[INFO] [stderr]    Compiling sqlx-core v0.8.3
[INFO] [stderr]    Compiling sqlx-mysql v0.8.3
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.2
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.3
[INFO] [stderr]    Compiling hyper-util v0.1.10
[INFO] [stderr]    Compiling sqlx-macros v0.8.3
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling hyper-timeout v0.5.2
[INFO] [stderr]    Compiling hyper-rustls v0.27.5
[INFO] [stderr]    Compiling axum v0.8.1
[INFO] [stderr]    Compiling reqwest v0.12.15
[INFO] [stderr]    Compiling tonic v0.12.3
[INFO] [stderr]    Compiling metrics-exporter-prometheus v0.16.2
[INFO] [stderr]    Compiling sqlx v0.8.3
[INFO] [stderr]    Compiling axum-extra v0.10.0
[INFO] [stderr]    Compiling agency v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/config/config.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/handler/auth_middleware.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/handler/auth_middleware.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/handler/auth_middleware.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeaderMap` and `StatusCode`
[INFO] [stdout]  --> src/handler/auth_middleware.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use axum::http::{HeaderMap, Request, StatusCode};
[INFO] [stdout]   |                  ^^^^^^^^^           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FromRequestParts` and `FromRequest`
[INFO] [stdout]  --> src/handler/auth_middleware.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use axum::extract::{FromRequest, FromRequestParts, State};
[INFO] [stdout]   |                     ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axum::http::header::AUTHORIZATION`
[INFO] [stdout]  --> src/handler/auth_middleware.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use axum::http::header::AUTHORIZATION;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axum::http::request::Parts`
[INFO] [stdout]   --> src/handler/auth_middleware.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use axum::http::request::Parts;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest`
[INFO] [stdout]   --> src/handler/auth_middleware.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use reqwest;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlgorithmParameters`, `Algorithm`, `JwkSet`, and `TokenData`
[INFO] [stdout]   --> src/handler/auth_middleware.rs:21:49
[INFO] [stdout]    |
[INFO] [stdout] 21 | use jsonwebtoken::{decode, decode_header, jwk::{AlgorithmParameters, JwkSet}, Algorithm, DecodingKey, Validation, TokenData};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^  ^^^^^^   ^^^^^^^^^                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jsonwebtoken::jwk::Jwk`
[INFO] [stdout]   --> src/handler/auth_middleware.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use jsonwebtoken::jwk::Jwk;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::ClientError`
[INFO] [stdout]   --> src/handler/auth_middleware.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::error::ClientError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArgMatches`
[INFO] [stdout]  --> src/cli/agent_command.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use clap::{arg, Arg, ArgAction, ArgMatches, Command};
[INFO] [stdout]   |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/cli/agent_command.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArgMatches`, `Arg`, and `arg`
[INFO] [stdout]  --> src/cli/worker_command.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use clap::{arg, Arg, ArgMatches, Command};
[INFO] [stdout]   |            ^^^  ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/cli/worker_command.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/cli/agent/interact.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/cli/agent/sandbox.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ignore::{Error, WalkBuilder};
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/cli/agent/sandbox.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 |         if(gitignore_path.exists() && gitignore_path.is_file()) {
[INFO] [stdout]    |           ^                                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -         if(gitignore_path.exists() && gitignore_path.is_file()) {
[INFO] [stdout] 80 +         if gitignore_path.exists() && gitignore_path.is_file() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `interact_agent`, `start_agent`, and `stop_agent`
[INFO] [stdout]  --> src/cli/agent_command_handler.rs:3:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::cli::agent::interact::{interact_agent, start_agent, stop_agent};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_sandbox`
[INFO] [stdout]  --> src/cli/agent_command_handler.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::cli::agent::sandbox::{create_sandbox, sync_sandbox};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/common/jwks_supplier.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/common/jwks_supplier.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlgorithmParameters`, `Algorithm`, `DecodingKey`, `Validation`, `decode_header`, and `decode`
[INFO] [stdout]   --> src/common/jwks_supplier.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     decode, decode_header,
[INFO] [stdout]    |     ^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 13 |     jwk::{AlgorithmParameters, JwkSet},
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     Algorithm, DecodingKey, Validation,
[INFO] [stdout]    |     ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Config`
[INFO] [stdout]   --> src/common/jwks_supplier.rs:19:29
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::config::config::{Config, OAuthConfig};
[INFO] [stdout]    |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/common/create_folder.rs:52:15
[INFO] [stdout]    |
[INFO] [stdout] 52 |             if(!file_path.exists()) {
[INFO] [stdout]    |               ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 52 -             if(!file_path.exists()) {
[INFO] [stdout] 52 +             if !file_path.exists() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread`
[INFO] [stdout]  --> src/main.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{env, thread};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Method` and `Uri`
[INFO] [stdout]   --> src/main.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | use axum::http::{Method, Uri};
[INFO] [stdout]    |                  ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axum::routing::get`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use axum::routing::get;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arg`
[INFO] [stdout]   --> src/main.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | use clap::{Arg, ArgMatches, Command};
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing::info;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MySqlPoolOptions` and `MySqlPool`
[INFO] [stdout]   --> src/main.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 21 | use sqlx::mysql::{MySqlPool, MySqlPoolOptions};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MySql` and `Pool`
[INFO] [stdout]   --> src/main.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | use sqlx::{MySql, Pool};
[INFO] [stdout]    |            ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::common::jwks_supplier::JwksReadThroughCache`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::common::jwks_supplier::JwksReadThroughCache;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LocalResult`
[INFO] [stdout]   --> src/main.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::error::{LocalError, LocalResult};
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthState` and `auth_middleware`
[INFO] [stdout]   --> src/main.rs:28:39
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::handler::auth_middleware::{auth_middleware, AuthState};
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Env` and `Logger`
[INFO] [stdout]   --> src/main.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 | use env_logger::{Logger, Env};
[INFO] [stdout]    |                  ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync_sandbox`
[INFO] [stdout]   --> src/main.rs:32:50
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::cli::agent::sandbox::{create_sandbox, sync_sandbox};
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/handler/auth_middleware.rs:55:48
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let header = decode_header(token).map_err(|err| LocalError::InvalidToken)?;
[INFO] [stdout]    |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cli_command`
[INFO] [stdout]   --> src/main.rs:72:23
[INFO] [stdout]    |
[INFO] [stdout] 72 |         Some(("init", cli_command)) => {
[INFO] [stdout]    |                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cli_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_command`
[INFO] [stdout]   --> src/main.rs:76:24
[INFO] [stdout]    |
[INFO] [stdout] 76 |         Some(("start", sub_command)) => {
[INFO] [stdout]    |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_command`
[INFO] [stdout]   --> src/main.rs:80:27
[INFO] [stdout]    |
[INFO] [stdout] 80 |         Some(("interact", sub_command)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_command`
[INFO] [stdout]   --> src/main.rs:84:23
[INFO] [stdout]    |
[INFO] [stdout] 84 |         Some(("stop", sub_command)) => {
[INFO] [stdout]    |                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p0`
[INFO] [stdout]   --> src/main.rs:98:32
[INFO] [stdout]    |
[INFO] [stdout] 98 | async fn handle_worker_command(p0: ArgMatches, p1: Option<&ArgMatches>) {
[INFO] [stdout]    |                                ^^ help: if this is intentional, prefix it with an underscore: `_p0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p1`
[INFO] [stdout]   --> src/main.rs:98:48
[INFO] [stdout]    |
[INFO] [stdout] 98 | async fn handle_worker_command(p0: ArgMatches, p1: Option<&ArgMatches>) {
[INFO] [stdout]    |                                                ^^ help: if this is intentional, prefix it with an underscore: `_p1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::TryFutureExt`
[INFO] [stdout]   --> src/handler/auth_middleware.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use futures_util::TryFutureExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RequestExt`
[INFO] [stdout]   --> src/handler/auth_middleware.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | use axum::{RequestExt, RequestPartsExt};
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]  --> src/cli/agent_command_handler.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub (crate) fn sandbox_command_handler(matches: ArgMatches, cli_command: &ArgMatches, sub_command: &ArgMatches) {
[INFO] [stdout]   |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cli_command`
[INFO] [stdout]  --> src/cli/agent_command_handler.rs:6:61
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub (crate) fn sandbox_command_handler(matches: ArgMatches, cli_command: &ArgMatches, sub_command: &ArgMatches) {
[INFO] [stdout]   |                                                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cli_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `security` is never read
[INFO] [stdout]   --> src/config/config.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Config {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub security: Option<SecurityConfig>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Config` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `oauth` and `jwt` are never read
[INFO] [stdout]   --> src/config/config.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct SecurityConfig {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub oauth: OAuthConfig,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub jwt: SecurityJwtConfig,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SecurityConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `jwks_domain`, `jwks_protocol`, `jwks_path`, and `audience` are never read
[INFO] [stdout]   --> src/config/config.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct OAuthConfig {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub jwks_domain: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 49 |     #[serde(rename = "jwks_protocol")]
[INFO] [stdout] 50 |     pub jwks_protocol: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 51 |     #[serde(rename = "jwks_path")]
[INFO] [stdout] 52 |     pub jwks_path: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 53 |     #[serde(rename = "audience")]
[INFO] [stdout] 54 |     pub audience: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OAuthConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `secret` and `issuer` are never read
[INFO] [stdout]   --> src/config/config.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct SecurityJwtConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub secret: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 62 |     #[serde(rename = "issuer")]
[INFO] [stdout] 63 |     pub issuer: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SecurityJwtConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AuthState` is never constructed
[INFO] [stdout]   --> src/handler/auth_middleware.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct AuthState {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `auth_middleware` is never used
[INFO] [stdout]   --> src/handler/auth_middleware.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub async fn auth_middleware(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Claims` is never constructed
[INFO] [stdout]   --> src/handler/auth_middleware.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct Claims {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `track_metrics` is never used
[INFO] [stdout]   --> src/handler/actuator.rs:39:14
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub async fn track_metrics(req: Request, next: Next) -> impl IntoResponse {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `LocalResult` is never used
[INFO] [stdout]  --> src/error.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type LocalResult<T> = core::result::Result<T, LocalError>;
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NotImplemented`, `JwksError`, `AuthFailed`, and `InvalidToken` are never constructed
[INFO] [stdout]   --> src/error.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum LocalError {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 10 |
[INFO] [stdout] 11 |     NotImplemented,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     JwksError,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 14 |     AuthFailed,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 15 |     InvalidToken,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LocalError` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `LOGIN_FAIL`, `NO_AUTH`, `NOT_FOUND`, `UNSUPPORTED`, and `INVALID_PARAMS` are never constructed
[INFO] [stdout]   --> src/error.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub enum ClientError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 63 |     LOGIN_FAIL,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 64 |     NO_AUTH,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 65 |     NOT_FOUND,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 66 |     UNSUPPORTED,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 67 |     INVALID_PARAMS,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClientError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/cli/agent/sandbox.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn main() -> io::Result<()> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JwksReadThroughCache` is never constructed
[INFO] [stdout]   --> src/common/jwks_supplier.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct JwksReadThroughCache {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_or_refresh`, `try_refresh`, `get_jwkset`, `get_static_jwks`, and `call_jwks` are never used
[INFO] [stdout]    --> src/common/jwks_supplier.rs:33:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl JwksReadThroughCache {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout]  32 |
[INFO] [stdout]  33 |     pub fn new(config: OAuthConfig, time_to_live: StdDuration, static_jwks: Option<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  55 |     pub async fn get_or_refresh(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     async fn try_refresh(&self) -> Result<JwkSet, LocalError> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     async fn get_jwkset(&self) -> Result<JwkSet, LocalError> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn get_static_jwks(&self, jwks: String) -> Result<JwkSet, LocalError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     async fn call_jwks(&self) -> Result<JwkSet, LocalError> {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Entry` is never constructed
[INFO] [stdout]    --> src/common/jwks_supplier.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | struct Entry {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `is_expired` are never used
[INFO] [stdout]    --> src/common/jwks_supplier.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl Entry {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 147 |     fn new(set: JwkSet, expiration: &Duration) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     fn is_expired(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 37s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "0dce7a89be3bce18c1022fd1c75a8ffd6839235f29e8bb8ad69a572fbecba48e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0dce7a89be3bce18c1022fd1c75a8ffd6839235f29e8bb8ad69a572fbecba48e", kill_on_drop: false }`
[INFO] [stdout] 0dce7a89be3bce18c1022fd1c75a8ffd6839235f29e8bb8ad69a572fbecba48e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f9686eac1d2d9172a28c7c1d24e91744765719261dd01fe0e0dc7970d34b668d
[INFO] running `Command { std: "docker" "start" "-a" "f9686eac1d2d9172a28c7c1d24e91744765719261dd01fe0e0dc7970d34b668d", kill_on_drop: false }`
[INFO] [stderr]    Compiling agency v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/config/config.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/handler/auth_middleware.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/handler/auth_middleware.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/handler/auth_middleware.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeaderMap` and `StatusCode`
[INFO] [stdout]  --> src/handler/auth_middleware.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use axum::http::{HeaderMap, Request, StatusCode};
[INFO] [stdout]   |                  ^^^^^^^^^           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FromRequestParts` and `FromRequest`
[INFO] [stdout]  --> src/handler/auth_middleware.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use axum::extract::{FromRequest, FromRequestParts, State};
[INFO] [stdout]   |                     ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axum::http::header::AUTHORIZATION`
[INFO] [stdout]  --> src/handler/auth_middleware.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use axum::http::header::AUTHORIZATION;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axum::http::request::Parts`
[INFO] [stdout]   --> src/handler/auth_middleware.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use axum::http::request::Parts;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest`
[INFO] [stdout]   --> src/handler/auth_middleware.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use reqwest;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlgorithmParameters`, `Algorithm`, `JwkSet`, and `TokenData`
[INFO] [stdout]   --> src/handler/auth_middleware.rs:21:49
[INFO] [stdout]    |
[INFO] [stdout] 21 | use jsonwebtoken::{decode, decode_header, jwk::{AlgorithmParameters, JwkSet}, Algorithm, DecodingKey, Validation, TokenData};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^  ^^^^^^   ^^^^^^^^^                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jsonwebtoken::jwk::Jwk`
[INFO] [stdout]   --> src/handler/auth_middleware.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use jsonwebtoken::jwk::Jwk;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::ClientError`
[INFO] [stdout]   --> src/handler/auth_middleware.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::error::ClientError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArgMatches`
[INFO] [stdout]  --> src/cli/agent_command.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use clap::{arg, Arg, ArgAction, ArgMatches, Command};
[INFO] [stdout]   |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/cli/agent_command.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArgMatches`, `Arg`, and `arg`
[INFO] [stdout]  --> src/cli/worker_command.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use clap::{arg, Arg, ArgMatches, Command};
[INFO] [stdout]   |            ^^^  ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/cli/worker_command.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/cli/agent/interact.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/cli/agent/sandbox.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ignore::{Error, WalkBuilder};
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/cli/agent/sandbox.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 |         if(gitignore_path.exists() && gitignore_path.is_file()) {
[INFO] [stdout]    |           ^                                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -         if(gitignore_path.exists() && gitignore_path.is_file()) {
[INFO] [stdout] 80 +         if gitignore_path.exists() && gitignore_path.is_file() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `interact_agent`, `start_agent`, and `stop_agent`
[INFO] [stdout]  --> src/cli/agent_command_handler.rs:3:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::cli::agent::interact::{interact_agent, start_agent, stop_agent};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_sandbox`
[INFO] [stdout]  --> src/cli/agent_command_handler.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::cli::agent::sandbox::{create_sandbox, sync_sandbox};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/common/jwks_supplier.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/common/jwks_supplier.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlgorithmParameters`, `Algorithm`, `Validation`, `decode_header`, and `decode`
[INFO] [stdout]   --> src/common/jwks_supplier.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     decode, decode_header,
[INFO] [stdout]    |     ^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 13 |     jwk::{AlgorithmParameters, JwkSet},
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     Algorithm, DecodingKey, Validation,
[INFO] [stdout]    |     ^^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Config`
[INFO] [stdout]   --> src/common/jwks_supplier.rs:19:29
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::config::config::{Config, OAuthConfig};
[INFO] [stdout]    |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `base64::Engine`
[INFO] [stdout]    --> src/common/jwks_supplier.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |     use base64::Engine;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/common/create_folder.rs:52:15
[INFO] [stdout]    |
[INFO] [stdout] 52 |             if(!file_path.exists()) {
[INFO] [stdout]    |               ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 52 -             if(!file_path.exists()) {
[INFO] [stdout] 52 +             if !file_path.exists() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread`
[INFO] [stdout]  --> src/main.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{env, thread};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Method` and `Uri`
[INFO] [stdout]   --> src/main.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | use axum::http::{Method, Uri};
[INFO] [stdout]    |                  ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axum::routing::get`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use axum::routing::get;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arg`
[INFO] [stdout]   --> src/main.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | use clap::{Arg, ArgMatches, Command};
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing::info;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MySqlPoolOptions` and `MySqlPool`
[INFO] [stdout]   --> src/main.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 21 | use sqlx::mysql::{MySqlPool, MySqlPoolOptions};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MySql` and `Pool`
[INFO] [stdout]   --> src/main.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | use sqlx::{MySql, Pool};
[INFO] [stdout]    |            ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::common::jwks_supplier::JwksReadThroughCache`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::common::jwks_supplier::JwksReadThroughCache;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LocalResult`
[INFO] [stdout]   --> src/main.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::error::{LocalError, LocalResult};
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthState` and `auth_middleware`
[INFO] [stdout]   --> src/main.rs:28:39
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::handler::auth_middleware::{auth_middleware, AuthState};
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Env` and `Logger`
[INFO] [stdout]   --> src/main.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 | use env_logger::{Logger, Env};
[INFO] [stdout]    |                  ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync_sandbox`
[INFO] [stdout]   --> src/main.rs:32:50
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::cli::agent::sandbox::{create_sandbox, sync_sandbox};
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/handler/auth_middleware.rs:55:48
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let header = decode_header(token).map_err(|err| LocalError::InvalidToken)?;
[INFO] [stdout]    |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cli_command`
[INFO] [stdout]   --> src/main.rs:72:23
[INFO] [stdout]    |
[INFO] [stdout] 72 |         Some(("init", cli_command)) => {
[INFO] [stdout]    |                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cli_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_command`
[INFO] [stdout]   --> src/main.rs:76:24
[INFO] [stdout]    |
[INFO] [stdout] 76 |         Some(("start", sub_command)) => {
[INFO] [stdout]    |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_command`
[INFO] [stdout]   --> src/main.rs:80:27
[INFO] [stdout]    |
[INFO] [stdout] 80 |         Some(("interact", sub_command)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_command`
[INFO] [stdout]   --> src/main.rs:84:23
[INFO] [stdout]    |
[INFO] [stdout] 84 |         Some(("stop", sub_command)) => {
[INFO] [stdout]    |                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p0`
[INFO] [stdout]   --> src/main.rs:98:32
[INFO] [stdout]    |
[INFO] [stdout] 98 | async fn handle_worker_command(p0: ArgMatches, p1: Option<&ArgMatches>) {
[INFO] [stdout]    |                                ^^ help: if this is intentional, prefix it with an underscore: `_p0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p1`
[INFO] [stdout]   --> src/main.rs:98:48
[INFO] [stdout]    |
[INFO] [stdout] 98 | async fn handle_worker_command(p0: ArgMatches, p1: Option<&ArgMatches>) {
[INFO] [stdout]    |                                                ^^ help: if this is intentional, prefix it with an underscore: `_p1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::TryFutureExt`
[INFO] [stdout]   --> src/handler/auth_middleware.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use futures_util::TryFutureExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RequestExt`
[INFO] [stdout]   --> src/handler/auth_middleware.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | use axum::{RequestExt, RequestPartsExt};
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/cli/agent/sandbox.rs:173:13
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let target = PathBuf::from("target/target_directory");
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]  --> src/cli/agent_command_handler.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub (crate) fn sandbox_command_handler(matches: ArgMatches, cli_command: &ArgMatches, sub_command: &ArgMatches) {
[INFO] [stdout]   |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cli_command`
[INFO] [stdout]  --> src/cli/agent_command_handler.rs:6:61
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub (crate) fn sandbox_command_handler(matches: ArgMatches, cli_command: &ArgMatches, sub_command: &ArgMatches) {
[INFO] [stdout]   |                                                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cli_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoding_key`
[INFO] [stdout]    --> src/common/jwks_supplier.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let decoding_key = DecodingKey::from_jwk(&jwk4).unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoding_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `security` is never read
[INFO] [stdout]   --> src/config/config.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Config {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub security: Option<SecurityConfig>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Config` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `oauth` and `jwt` are never read
[INFO] [stdout]   --> src/config/config.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct SecurityConfig {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub oauth: OAuthConfig,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub jwt: SecurityJwtConfig,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SecurityConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `audience` is never read
[INFO] [stdout]   --> src/config/config.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct OAuthConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub audience: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OAuthConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `secret` and `issuer` are never read
[INFO] [stdout]   --> src/config/config.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct SecurityJwtConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub secret: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 62 |     #[serde(rename = "issuer")]
[INFO] [stdout] 63 |     pub issuer: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SecurityJwtConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AuthState` is never constructed
[INFO] [stdout]   --> src/handler/auth_middleware.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct AuthState {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `auth_middleware` is never used
[INFO] [stdout]   --> src/handler/auth_middleware.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub async fn auth_middleware(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Claims` is never constructed
[INFO] [stdout]   --> src/handler/auth_middleware.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct Claims {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `track_metrics` is never used
[INFO] [stdout]   --> src/handler/actuator.rs:39:14
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub async fn track_metrics(req: Request, next: Next) -> impl IntoResponse {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `LocalResult` is never used
[INFO] [stdout]  --> src/error.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type LocalResult<T> = core::result::Result<T, LocalError>;
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NotImplemented` and `InvalidToken` are never constructed
[INFO] [stdout]   --> src/error.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum LocalError {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 10 |
[INFO] [stdout] 11 |     NotImplemented,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     InvalidToken,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LocalError` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `LOGIN_FAIL`, `NO_AUTH`, `NOT_FOUND`, `UNSUPPORTED`, and `INVALID_PARAMS` are never constructed
[INFO] [stdout]   --> src/error.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub enum ClientError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 63 |     LOGIN_FAIL,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 64 |     NO_AUTH,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 65 |     NOT_FOUND,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 66 |     UNSUPPORTED,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 67 |     INVALID_PARAMS,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClientError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/cli/agent/sandbox.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn main() -> io::Result<()> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.46s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "f9686eac1d2d9172a28c7c1d24e91744765719261dd01fe0e0dc7970d34b668d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f9686eac1d2d9172a28c7c1d24e91744765719261dd01fe0e0dc7970d34b668d", kill_on_drop: false }`
[INFO] [stdout] f9686eac1d2d9172a28c7c1d24e91744765719261dd01fe0e0dc7970d34b668d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.91.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a4c911e813bef4427e64cacc62a40ce986111a3ed902f1038f54c26650db590e
[INFO] running `Command { std: "docker" "start" "-a" "a4c911e813bef4427e64cacc62a40ce986111a3ed902f1038f54c26650db590e", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/config/config.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::env`
[INFO] [stderr]  --> src/handler/auth_middleware.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::env;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::future::Future`
[INFO] [stderr]  --> src/handler/auth_middleware.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::future::Future;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `async_trait::async_trait`
[INFO] [stderr]  --> src/handler/auth_middleware.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use async_trait::async_trait;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HeaderMap` and `StatusCode`
[INFO] [stderr]  --> src/handler/auth_middleware.rs:4:18
[INFO] [stderr]   |
[INFO] [stderr] 4 | use axum::http::{HeaderMap, Request, StatusCode};
[INFO] [stderr]   |                  ^^^^^^^^^           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `FromRequestParts` and `FromRequest`
[INFO] [stderr]  --> src/handler/auth_middleware.rs:8:21
[INFO] [stderr]   |
[INFO] [stderr] 8 | use axum::extract::{FromRequest, FromRequestParts, State};
[INFO] [stderr]   |                     ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `axum::http::header::AUTHORIZATION`
[INFO] [stderr]  --> src/handler/auth_middleware.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use axum::http::header::AUTHORIZATION;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `axum::http::request::Parts`
[INFO] [stderr]   --> src/handler/auth_middleware.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use axum::http::request::Parts;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `reqwest`
[INFO] [stderr]   --> src/handler/auth_middleware.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use reqwest;
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AlgorithmParameters`, `Algorithm`, `JwkSet`, and `TokenData`
[INFO] [stderr]   --> src/handler/auth_middleware.rs:21:49
[INFO] [stderr]    |
[INFO] [stderr] 21 | use jsonwebtoken::{decode, decode_header, jwk::{AlgorithmParameters, JwkSet}, Algorithm, DecodingKey, Validation, TokenData};
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^^^^^^^  ^^^^^^   ^^^^^^^^^                           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `jsonwebtoken::jwk::Jwk`
[INFO] [stderr]   --> src/handler/auth_middleware.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | use jsonwebtoken::jwk::Jwk;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::error::ClientError`
[INFO] [stderr]   --> src/handler/auth_middleware.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 | use crate::error::ClientError;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ArgMatches`
[INFO] [stderr]  --> src/cli/agent_command.rs:1:33
[INFO] [stderr]   |
[INFO] [stderr] 1 | use clap::{arg, Arg, ArgAction, ArgMatches, Command};
[INFO] [stderr]   |                                 ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `log::debug`
[INFO] [stderr]  --> src/cli/agent_command.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use log::debug;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ArgMatches`, `Arg`, and `arg`
[INFO] [stderr]  --> src/cli/worker_command.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | use clap::{arg, Arg, ArgMatches, Command};
[INFO] [stderr]   |            ^^^  ^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `log::debug`
[INFO] [stderr]  --> src/cli/worker_command.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use log::debug;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PathBuf`
[INFO] [stderr]  --> src/cli/agent/interact.rs:1:23
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::path::{Path, PathBuf};
[INFO] [stderr]   |                       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Error`
[INFO] [stderr]  --> src/cli/agent/sandbox.rs:4:14
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ignore::{Error, WalkBuilder};
[INFO] [stderr]   |              ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/cli/agent/sandbox.rs:80:11
[INFO] [stderr]    |
[INFO] [stderr] 80 |         if(gitignore_path.exists() && gitignore_path.is_file()) {
[INFO] [stderr]    |           ^                                                   ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 80 -         if(gitignore_path.exists() && gitignore_path.is_file()) {
[INFO] [stderr] 80 +         if gitignore_path.exists() && gitignore_path.is_file() {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `interact_agent`, `start_agent`, and `stop_agent`
[INFO] [stderr]  --> src/cli/agent_command_handler.rs:3:35
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::cli::agent::interact::{interact_agent, start_agent, stop_agent};
[INFO] [stderr]   |                                   ^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `create_sandbox`
[INFO] [stderr]  --> src/cli/agent_command_handler.rs:4:34
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::cli::agent::sandbox::{create_sandbox, sync_sandbox};
[INFO] [stderr]   |                                  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/common/jwks_supplier.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::future::Future`
[INFO] [stderr]  --> src/common/jwks_supplier.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::future::Future;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AlgorithmParameters`, `Algorithm`, `Validation`, `decode_header`, and `decode`
[INFO] [stderr]   --> src/common/jwks_supplier.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     decode, decode_header,
[INFO] [stderr]    |     ^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 13 |     jwk::{AlgorithmParameters, JwkSet},
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 14 |     Algorithm, DecodingKey, Validation,
[INFO] [stderr]    |     ^^^^^^^^^               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Config`
[INFO] [stderr]   --> src/common/jwks_supplier.rs:19:29
[INFO] [stderr]    |
[INFO] [stderr] 19 | use crate::config::config::{Config, OAuthConfig};
[INFO] [stderr]    |                             ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `base64::Engine`
[INFO] [stderr]    --> src/common/jwks_supplier.rs:163:9
[INFO] [stderr]     |
[INFO] [stderr] 163 |     use base64::Engine;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/common/create_folder.rs:52:15
[INFO] [stderr]    |
[INFO] [stderr] 52 |             if(!file_path.exists()) {
[INFO] [stderr]    |               ^                   ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 52 -             if(!file_path.exists()) {
[INFO] [stderr] 52 +             if !file_path.exists() {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]  --> src/main.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::collections::HashSet;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `thread`
[INFO] [stderr]  --> src/main.rs:8:16
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::{env, thread};
[INFO] [stderr]   |                ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::PathBuf`
[INFO] [stderr]   --> src/main.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::path::PathBuf;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]   --> src/main.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::time::Duration;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Method` and `Uri`
[INFO] [stderr]   --> src/main.rs:13:18
[INFO] [stderr]    |
[INFO] [stderr] 13 | use axum::http::{Method, Uri};
[INFO] [stderr]    |                  ^^^^^^  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `axum::routing::get`
[INFO] [stderr]   --> src/main.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use axum::routing::get;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Arg`
[INFO] [stderr]   --> src/main.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | use clap::{Arg, ArgMatches, Command};
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tracing::info`
[INFO] [stderr]   --> src/main.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use tracing::info;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `MySqlPoolOptions` and `MySqlPool`
[INFO] [stderr]   --> src/main.rs:21:19
[INFO] [stderr]    |
[INFO] [stderr] 21 | use sqlx::mysql::{MySqlPool, MySqlPoolOptions};
[INFO] [stderr]    |                   ^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `MySql` and `Pool`
[INFO] [stderr]   --> src/main.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | use sqlx::{MySql, Pool};
[INFO] [stderr]    |            ^^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::common::jwks_supplier::JwksReadThroughCache`
[INFO] [stderr]   --> src/main.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | use crate::common::jwks_supplier::JwksReadThroughCache;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `LocalResult`
[INFO] [stderr]   --> src/main.rs:26:32
[INFO] [stderr]    |
[INFO] [stderr] 26 | use crate::error::{LocalError, LocalResult};
[INFO] [stderr]    |                                ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AuthState` and `auth_middleware`
[INFO] [stderr]   --> src/main.rs:28:39
[INFO] [stderr]    |
[INFO] [stderr] 28 | use crate::handler::auth_middleware::{auth_middleware, AuthState};
[INFO] [stderr]    |                                       ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Env` and `Logger`
[INFO] [stderr]   --> src/main.rs:29:18
[INFO] [stderr]    |
[INFO] [stderr] 29 | use env_logger::{Logger, Env};
[INFO] [stderr]    |                  ^^^^^^  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `sync_sandbox`
[INFO] [stderr]   --> src/main.rs:32:50
[INFO] [stderr]    |
[INFO] [stderr] 32 | use crate::cli::agent::sandbox::{create_sandbox, sync_sandbox};
[INFO] [stderr]    |                                                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]   --> src/handler/auth_middleware.rs:55:48
[INFO] [stderr]    |
[INFO] [stderr] 55 |     let header = decode_header(token).map_err(|err| LocalError::InvalidToken)?;
[INFO] [stderr]    |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cli_command`
[INFO] [stderr]   --> src/main.rs:72:23
[INFO] [stderr]    |
[INFO] [stderr] 72 |         Some(("init", cli_command)) => {
[INFO] [stderr]    |                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cli_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sub_command`
[INFO] [stderr]   --> src/main.rs:76:24
[INFO] [stderr]    |
[INFO] [stderr] 76 |         Some(("start", sub_command)) => {
[INFO] [stderr]    |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sub_command`
[INFO] [stderr]   --> src/main.rs:80:27
[INFO] [stderr]    |
[INFO] [stderr] 80 |         Some(("interact", sub_command)) => {
[INFO] [stderr]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sub_command`
[INFO] [stderr]   --> src/main.rs:84:23
[INFO] [stderr]    |
[INFO] [stderr] 84 |         Some(("stop", sub_command)) => {
[INFO] [stderr]    |                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `p0`
[INFO] [stderr]   --> src/main.rs:98:32
[INFO] [stderr]    |
[INFO] [stderr] 98 | async fn handle_worker_command(p0: ArgMatches, p1: Option<&ArgMatches>) {
[INFO] [stderr]    |                                ^^ help: if this is intentional, prefix it with an underscore: `_p0`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `p1`
[INFO] [stderr]   --> src/main.rs:98:48
[INFO] [stderr]    |
[INFO] [stderr] 98 | async fn handle_worker_command(p0: ArgMatches, p1: Option<&ArgMatches>) {
[INFO] [stderr]    |                                                ^^ help: if this is intentional, prefix it with an underscore: `_p1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures_util::TryFutureExt`
[INFO] [stderr]   --> src/handler/auth_middleware.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use futures_util::TryFutureExt;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RequestExt`
[INFO] [stderr]   --> src/handler/auth_middleware.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | use axum::{RequestExt, RequestPartsExt};
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `target`
[INFO] [stderr]    --> src/cli/agent/sandbox.rs:173:13
[INFO] [stderr]     |
[INFO] [stderr] 173 |         let target = PathBuf::from("target/target_directory");
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `matches`
[INFO] [stderr]  --> src/cli/agent_command_handler.rs:6:40
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub (crate) fn sandbox_command_handler(matches: ArgMatches, cli_command: &ArgMatches, sub_command: &ArgMatches) {
[INFO] [stderr]   |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cli_command`
[INFO] [stderr]  --> src/cli/agent_command_handler.rs:6:61
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub (crate) fn sandbox_command_handler(matches: ArgMatches, cli_command: &ArgMatches, sub_command: &ArgMatches) {
[INFO] [stderr]   |                                                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cli_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `decoding_key`
[INFO] [stderr]    --> src/common/jwks_supplier.rs:190:13
[INFO] [stderr]     |
[INFO] [stderr] 190 |         let decoding_key = DecodingKey::from_jwk(&jwk4).unwrap();
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoding_key`
[INFO] [stderr] 
[INFO] [stderr] warning: field `security` is never read
[INFO] [stderr]   --> src/config/config.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub struct Config {
[INFO] [stderr]    |            ------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 22 |     pub security: Option<SecurityConfig>,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Config` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `oauth` and `jwt` are never read
[INFO] [stderr]   --> src/config/config.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub struct SecurityConfig {
[INFO] [stderr]    |            -------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 38 |     pub oauth: OAuthConfig,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 41 |     pub jwt: SecurityJwtConfig,
[INFO] [stderr]    |         ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SecurityConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `audience` is never read
[INFO] [stderr]   --> src/config/config.rs:54:9
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub struct OAuthConfig {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 54 |     pub audience: String,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `OAuthConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `secret` and `issuer` are never read
[INFO] [stderr]   --> src/config/config.rs:61:9
[INFO] [stderr]    |
[INFO] [stderr] 58 | pub struct SecurityJwtConfig {
[INFO] [stderr]    |            ----------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 61 |     pub secret: String,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 62 |     #[serde(rename = "issuer")]
[INFO] [stderr] 63 |     pub issuer: String,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SecurityJwtConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AuthState` is never constructed
[INFO] [stderr]   --> src/handler/auth_middleware.rs:31:12
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub struct AuthState {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `auth_middleware` is never used
[INFO] [stderr]   --> src/handler/auth_middleware.rs:36:14
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub async fn auth_middleware(
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Claims` is never constructed
[INFO] [stderr]   --> src/handler/auth_middleware.rs:88:12
[INFO] [stderr]    |
[INFO] [stderr] 88 | pub struct Claims {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `track_metrics` is never used
[INFO] [stderr]   --> src/handler/actuator.rs:39:14
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub async fn track_metrics(req: Request, next: Next) -> impl IntoResponse {
[INFO] [stderr]    |              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `LocalResult` is never used
[INFO] [stderr]  --> src/error.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub type LocalResult<T> = core::result::Result<T, LocalError>;
[INFO] [stderr]   |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `NotImplemented` and `InvalidToken` are never constructed
[INFO] [stderr]   --> src/error.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub enum LocalError {
[INFO] [stderr]    |          ---------- variants in this enum
[INFO] [stderr] 10 |
[INFO] [stderr] 11 |     NotImplemented,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 15 |     InvalidToken,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `LocalError` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `LOGIN_FAIL`, `NO_AUTH`, `NOT_FOUND`, `UNSUPPORTED`, and `INVALID_PARAMS` are never constructed
[INFO] [stderr]   --> src/error.rs:63:5
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub enum ClientError {
[INFO] [stderr]    |          ----------- variants in this enum
[INFO] [stderr] 63 |     LOGIN_FAIL,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 64 |     NO_AUTH,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 65 |     NOT_FOUND,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 66 |     UNSUPPORTED,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 67 |     INVALID_PARAMS,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ClientError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `main` is never used
[INFO] [stderr]    --> src/cli/agent/sandbox.rs:147:4
[INFO] [stderr]     |
[INFO] [stderr] 147 | fn main() -> io::Result<()> {
[INFO] [stderr]     |    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `agency` (bin "agency" test) generated 67 warnings (run `cargo fix --bin "agency" --tests` to apply 42 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.52s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/agency-0a5f8d36e4949f34)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test common::jwks_supplier::tests::test_read_jwks ... ok
[INFO] [stdout] test cli::agent::sandbox::tests::test_copy_respecting_gitignore ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- cli::agent::sandbox::tests::test_copy_respecting_gitignore stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'cli::agent::sandbox::tests::test_copy_respecting_gitignore' (25) panicked at src/cli/agent/sandbox.rs:191:59:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58f0c5d54ca2 - std::backtrace_rs::backtrace::libunwind::trace::h62f3c6bea0fedab3
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x58f0c5d54ca2 - std::backtrace_rs::backtrace::trace_unsynchronized::hc41aaca6c0af0bde
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x58f0c5d54ca2 - std::sys::backtrace::_print_fmt::h33ac2b97007106cc
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x58f0c5d54ca2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h4e0a3aeea0f9c085
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x58f0c5d66f2f - core::fmt::rt::Argument::fmt::h1edd6a3e00b22f10
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x58f0c5d66f2f - core::fmt::write::hecf68a131630c74d
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/fmt/mod.rs:1468:25
[INFO] [stdout]    6:     0x58f0c5d1f3e1 - std::io::default_write_fmt::ha6b238eff7f0ef8a
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x58f0c5d1f3e1 - std::io::Write::write_fmt::h9846fe3d2a36c1ea
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x58f0c5d2d102 - std::sys::backtrace::BacktraceLock::print::h75160192768e5621
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x58f0c5d321ff - std::panicking::default_hook::{{closure}}::h14d82797cfb1ddcb
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x58f0c5d32091 - std::panicking::default_hook::h63f9bf8161c5d325
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x58f0c55a076e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb8126f8384f98101
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   12:     0x58f0c55a076e - test::test_main_with_exit_callback::{{closure}}::hae96ae0cd2f2ce70
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x58f0c5d3296f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::ha703f6686c81d0c6
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   14:     0x58f0c5d3296f - std::panicking::panic_with_hook::h3173740e06bd0752
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x58f0c5d3271a - std::panicking::panic_handler::{{closure}}::hbac492c61eb56a87
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x58f0c5d2d249 - std::sys::backtrace::__rust_end_short_backtrace::haa3eac3df9535320
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x58f0c5d1290d - __rustc[de0091b922c53d7e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x58f0c5d70600 - core::panicking::panic_fmt::h5138da2ef87be35b
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x58f0c5d6f8d6 - core::result::unwrap_failed::h5d9b16b0b732a2ac
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/result.rs:1855:5
[INFO] [stdout]   20:     0x58f0c556c87f - core::result::Result<T,E>::unwrap::h3c465ace63c59bdd
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/result.rs:1226:23
[INFO] [stdout]   21:     0x58f0c556c87f - agency::cli::agent::sandbox::tests::test_copy_respecting_gitignore::h3d39e8d06cd094e4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/cli/agent/sandbox.rs:191:59
[INFO] [stdout]   22:     0x58f0c556ca47 - agency::cli::agent::sandbox::tests::test_copy_respecting_gitignore::{{closure}}::hc9c0aaeb4297375a
[INFO] [stdout]                                at /opt/rustwide/workdir/src/cli/agent/sandbox.rs:168:44
[INFO] [stdout]   23:     0x58f0c556fcb6 - core::ops::function::FnOnce::call_once::ha2ae961a57941f18
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x58f0c55a054b - core::ops::function::FnOnce::call_once::h8f50ae93d93b62b4
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x58f0c55a054b - test::__rust_begin_short_backtrace::h447963718d05a644
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x58f0c55b6185 - test::run_test_in_process::{{closure}}::hf890ba4755ca86c0
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x58f0c55b6185 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h31e4b2860e583faa
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x58f0c55b6185 - std::panicking::catch_unwind::do_call::hec7cdbbe797e2cab
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   29:     0x58f0c55b6185 - std::panicking::catch_unwind::h24d3b93458b5ba67
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   30:     0x58f0c55b6185 - std::panic::catch_unwind::h46eeec7cf9c9336c
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x58f0c55b6185 - test::run_test_in_process::h290de6e559006104
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x58f0c55b6185 - test::run_test::{{closure}}::h26eeb2c5f7e9a995
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x58f0c558c984 - test::run_test::{{closure}}::h85af00882daabeaa
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x58f0c558c984 - std::sys::backtrace::__rust_begin_short_backtrace::h9d9305dda51fa5f2
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   35:     0x58f0c559032a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hc6aada8b43f0527b
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   36:     0x58f0c559032a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::ha89fe5505c1206f5
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x58f0c559032a - std::panicking::catch_unwind::do_call::he3e0bef721d99583
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   38:     0x58f0c559032a - std::panicking::catch_unwind::ha8241964d3d773cd
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   39:     0x58f0c559032a - std::panic::catch_unwind::ha8554bc7696cae72
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x58f0c559032a - std::thread::Builder::spawn_unchecked_::{{closure}}::he06f1f62b4c90f8d
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   41:     0x58f0c559032a - core::ops::function::FnOnce::call_once{{vtable.shim}}::ha7fd20ecae19b9b9
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x58f0c5d2842f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h43642ed9c40e0ab2
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   43:     0x58f0c5d2842f - std::sys::thread::unix::Thread::new::thread_start::h38da0f633f090ce2
[INFO] [stdout]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/thread/unix.rs:126:17
[INFO] [stdout]   44:     0x7c6fa47f8aa4 - <unknown>
[INFO] [stdout]   45:     0x7c6fa4885a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     cli::agent::sandbox::tests::test_copy_respecting_gitignore
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin agency`
[INFO] running `Command { std: "docker" "inspect" "a4c911e813bef4427e64cacc62a40ce986111a3ed902f1038f54c26650db590e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4c911e813bef4427e64cacc62a40ce986111a3ed902f1038f54c26650db590e", kill_on_drop: false }`
[INFO] [stdout] a4c911e813bef4427e64cacc62a40ce986111a3ed902f1038f54c26650db590e
