[INFO] fetching crate cargo-mate 1.8.0...
[INFO] checking cargo-mate-1.8.0 against 24e1a22664233bce1f9b5dc6eee7c1f74327e28c for pr-159343-retry
[INFO] extracting crate cargo-mate 1.8.0 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate cargo-mate 1.8.0
[INFO] finished tweaking crates.io crate cargo-mate 1.8.0
[INFO] tweaked toml for crates.io crate cargo-mate 1.8.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate cargo-mate 1.8.0 on toolchain 24e1a22664233bce1f9b5dc6eee7c1f74327e28c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate cargo-mate 1.8.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 437acfad8123ce08633b39ad7cf58bde48b78ff55927e37e4bba3c3d5d85c4f2
[INFO] running `Command { std: "docker" "start" "437acfad8123ce08633b39ad7cf58bde48b78ff55927e37e4bba3c3d5d85c4f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "437acfad8123ce08633b39ad7cf58bde48b78ff55927e37e4bba3c3d5d85c4f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "437acfad8123ce08633b39ad7cf58bde48b78ff55927e37e4bba3c3d5d85c4f2" "/opt/rustwide/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "437acfad8123ce08633b39ad7cf58bde48b78ff55927e37e4bba3c3d5d85c4f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "437acfad8123ce08633b39ad7cf58bde48b78ff55927e37e4bba3c3d5d85c4f2" "/opt/rustwide/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]     Checking cfg-if v1.0.3
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling serde_core v1.0.226
[INFO] [stderr]    Compiling serde v1.0.226
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking memchr v2.7.5
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]    Compiling cc v1.2.33
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]     Checking bitflags v2.9.2
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]     Checking bytes v1.10.1
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]     Checking litemap v0.8.0
[INFO] [stderr]     Checking writeable v0.6.1
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]     Checking slab v0.4.11
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]     Checking indexmap v2.10.0
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]     Checking anstyle v1.0.11
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking termios v0.2.2
[INFO] [stderr]     Checking filetime v0.2.26
[INFO] [stderr]     Checking serial-core v0.4.0
[INFO] [stderr]     Checking ioctl-rs v0.1.6
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking predicates-core v1.0.9
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]    Compiling camino v1.1.11
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]     Checking anstyle-query v1.1.4
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking anstream v0.6.20
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking serial-unix v0.4.0
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking float-cmp v0.10.0
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking clap_lex v0.7.5
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking difflib v0.4.0
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking normalize-line-endings v0.3.0
[INFO] [stderr]     Checking ucd-trie v0.1.7
[INFO] [stderr]     Checking unicode-width v0.2.1
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking winnow v0.7.12
[INFO] [stderr]     Checking rustls-pemfile v1.0.4
[INFO] [stderr]     Checking clap_builder v4.5.44
[INFO] [stderr]     Checking notify v6.1.1
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking xattr v1.5.1
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]    Compiling tempfile v3.21.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking compact_str v0.7.1
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking serial v0.4.0
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking nix v0.25.1
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]    Compiling cargo-mate v1.8.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]     Checking rtoolbox v0.0.3
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking webpki-roots v0.25.4
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking constant_time_eq v0.3.1
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking arrayref v0.3.9
[INFO] [stderr]     Checking home v0.5.11
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking sync_wrapper v0.1.2
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking iana-time-zone v0.1.63
[INFO] [stderr]    Compiling doc-comment v0.3.3
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking number_prefix v0.4.0
[INFO] [stderr]     Checking shell-words v1.1.0
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking indicatif v0.17.11
[INFO] [stderr]     Checking which v6.0.3
[INFO] [stderr]     Checking colored v2.2.0
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking predicates v3.1.3
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]     Checking rpassword v7.4.0
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking flate2 v1.1.2
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking notify-debouncer-mini v0.4.1
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]     Checking tar v0.4.44
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking uuid v1.18.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking subprocess v0.2.9
[INFO] [stderr]     Checking nix v0.27.1
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]    Compiling assert_cmd v2.0.17
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]     Checking glob v0.3.3
[INFO] [stderr]     Checking termtree v0.5.1
[INFO] [stderr]     Checking dotenvy v0.15.7
[INFO] [stderr]     Checking bstr v1.12.0
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking predicates-tree v1.0.12
[INFO] [stderr]    Compiling serde_derive v1.0.226
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling clap_derive v4.5.45
[INFO] [stderr]    Compiling stability v0.2.1
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling pest v2.8.1
[INFO] [stderr]     Checking filedescriptor v0.8.3
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking portable-pty v0.8.1
[INFO] [stderr]     Checking zerovec v0.11.4
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking ratatui v0.26.3
[INFO] [stderr]     Checking clap v4.5.45
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]    Compiling pest_meta v2.8.1
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking cargo-platform v0.1.9
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]    Compiling pest_generator v2.8.1
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking rustc_version v0.4.1
[INFO] [stderr]    Compiling pest_derive v2.8.1
[INFO] [stderr]     Checking cargo_metadata v0.18.1
[INFO] [stderr]     Checking handlebars v5.1.2
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking tokio-util v0.7.16
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking rusqlite v0.31.0
[INFO] [stdout] warning: unexpected `cfg` condition value: `wasm`
[INFO] [stdout]   --> src/lib.rs:21:35
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[cfg(all(target_arch = "wasm32", feature = "wasm"))]
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `console_log`, `default`, `embedded_binary`, `pristine`, and `shine`
[INFO] [stdout]    = help: consider adding `wasm` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/captain/captain.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::env;
[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: `LogAnalysis`
[INFO] [stdout]   --> src/captain/captain.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 |     CaptainLog, LogAnalysis, BuildResult, ExportFormat, show_build_health_dashboard,
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::version`
[INFO] [stdout]   --> src/captain/captain.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::version;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/captain/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub use captain_log::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the name `ParsedError` in the type namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 43 | pub use parser::*;
[INFO] [stdout]    |         --------- but the name `ParsedError` in the type namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/captain/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub use captain_log::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the name `CargoMessage` in the type namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 43 | pub use parser::*;
[INFO] [stdout]    |         --------- but the name `CargoMessage` in the type namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_secure_binary::*`
[INFO] [stdout]   --> src/captain/mod.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub use create_secure_binary::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_self_protected_binary::*`
[INFO] [stdout]   --> src/captain/mod.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub use create_self_protected_binary::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `encrypt_binaries::*`
[INFO] [stdout]   --> src/captain/mod.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub use encrypt_binaries::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::*`
[INFO] [stdout]  --> src/cmd/anchor.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use colored::*;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/cmd/utils.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Result, Context};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono`
[INFO] [stdout]  --> src/cmd/utils.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/cmd/utils.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/cmd/utils.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::captain::license`
[INFO] [stdout]  --> src/cmd/utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::captain::license;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::captain::wtf`
[INFO] [stdout]  --> src/cmd/utils.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::captain::wtf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/cmd/captain.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LogAnalysis`
[INFO] [stdout]   --> src/cmd/captain.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 |     CaptainLog, LogAnalysis, BuildResult, ExportFormat, show_build_health_dashboard,
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::version`
[INFO] [stdout]   --> src/cmd/captain.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::version;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/cmd/init.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Result, Context};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/cmd/init.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::captain::config::ConfigManager`
[INFO] [stdout]  --> src/cmd/init.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::captain::config::ConfigManager;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/cmd/idea.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::*`
[INFO] [stdout]  --> src/cmd/idea.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use colored::*;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/cmd/idea.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::*`
[INFO] [stdout]  --> src/cmd/register.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use colored::*;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cmd::init::is_build_process`
[INFO] [stdout]  --> src/cmd/register.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::cmd::init::is_build_process;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/cmd/ddr.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Result, Context, bail};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/cmd/ddr.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stdio`
[INFO] [stdout]  --> src/cmd/ddr.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::process::{Command, Stdio};
[INFO] [stdout]   |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandBuilder`, `PtySize`, and `native_pty_system`
[INFO] [stdout]  --> src/journey.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use portable_pty::{native_pty_system, CommandBuilder, PtySize};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]   --> src/journey.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io::{BufReader, Write};
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/journey.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stdio`
[INFO] [stdout]  --> src/mutiny.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::process::{Command, Stdio};
[INFO] [stdout]   |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/probe.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cargo_metadata::MetadataCommand`
[INFO] [stdout]   --> src/probe.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use cargo_metadata::MetadataCommand;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::SeedableRng`
[INFO] [stdout]   --> src/probe.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand::SeedableRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_chacha::ChaCha20Rng`
[INFO] [stdout]   --> src/probe.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rand_chacha::ChaCha20Rng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::fs::MetadataExt`
[INFO] [stdout]   --> src/scrubme/mod.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         use std::os::unix::fs::MetadataExt;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Parser`
[INFO] [stdout]  --> src/scat.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use clap::{Parser, Subcommand};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cmd::smune::ScrubAction`
[INFO] [stdout]  --> src/scrub.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::cmd::smune::ScrubAction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest`
[INFO] [stdout]  --> src/smart_parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use reqwest;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/sweeping/src/away.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Expr` and `Stmt`
[INFO] [stdout]   --> src/sweeping/src/away.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 | use syn::{visit_mut::VisitMut, Expr, ExprMacro, Stmt};
[INFO] [stdout]    |                                ^^^^             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]     --> src/sweeping/src/away.rs:1090:1
[INFO] [stdout]      |
[INFO] [stdout] 1090 | / fn main() -> Result<()> {
[INFO] [stdout] 1091 | |     let cli = Cli::parse();
[INFO] [stdout] 1092 | |     run_with_cli(cli)
[INFO] [stdout] 1093 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] note: the name `main` in the value namespace is supposed to be publicly re-exported here
[INFO] [stdout]     --> src/sweeping/src/away.rs:13:9
[INFO] [stdout]      |
[INFO] [stdout]   13 | pub use crate::*;
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]     --> src/sweeping/src/away.rs:1090:1
[INFO] [stdout]      |
[INFO] [stdout] 1090 | / fn main() -> Result<()> {
[INFO] [stdout] 1091 | |     let cli = Cli::parse();
[INFO] [stdout] 1092 | |     run_with_cli(cli)
[INFO] [stdout] 1093 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout]      = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/sweeping/src/embedder.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::ToTokens`
[INFO] [stdout]  --> src/tools/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use quote::ToTokens;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/tools/cross_test.rs:4:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/tools/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod cross_test;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/tools/cross_test.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/tools/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod cross_test;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `HashSet`, and `VecDeque`
[INFO] [stdout]  --> src/tools/refactor_engine.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `Ident`, `ItemImpl`, `ItemMod`, `Item`, and `PathSegment`
[INFO] [stdout]   --> src/tools/refactor_engine.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 |     parse_file, File, Item, ItemFn, ItemStruct, ItemTrait, ItemImpl, ItemMod, Fields,
[INFO] [stdout]    |                 ^^^^  ^^^^                                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 12 |     Type, PathSegment, Ident, visit::Visit,
[INFO] [stdout]    |           ^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Field`, `File`, `Ident`, `Item`, and `PathSegment`
[INFO] [stdout]  --> src/tools/rust_mentor.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 |     parse_file, File, Item, ItemFn, ItemStruct, ItemTrait, Fields, Field, Type,
[INFO] [stdout]   |                 ^^^^  ^^^^                                         ^^^^^
[INFO] [stdout] 9 |     PathSegment, Ident, visit::Visit,
[INFO] [stdout]   |     ^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OutputFormat` and `parse_output_format`
[INFO] [stdout]  --> src/tools/release_automation.rs:1:54
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{Tool, Result, ToolError, common_options, parse_output_format, OutputFormat};
[INFO] [stdout]   |                                                      ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/tools/bloat_check.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/tools/cache_analyzer.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExprAwait`, `ExprCall`, `ItemFn`, `Type`, and `spanned::Spanned`
[INFO] [stdout]  --> src/tools/async_lint.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 | use syn::{parse_file, visit::Visit, ItemFn, ExprAwait, ExprCall, Type, spanned::Spanned};
[INFO] [stdout]   |                                     ^^^^^^  ^^^^^^^^^  ^^^^^^^^  ^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `wasm`
[INFO] [stdout]   --> src/lib.rs:21:35
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[cfg(all(target_arch = "wasm32", feature = "wasm"))]
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `console_log`, `default`, `embedded_binary`, `pristine`, and `shine`
[INFO] [stdout]    = help: consider adding `wasm` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/captain/captain.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::env;
[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: `LogAnalysis`
[INFO] [stdout]   --> src/captain/captain.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 |     CaptainLog, LogAnalysis, BuildResult, ExportFormat, show_build_health_dashboard,
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::ToTokens`
[INFO] [stdout]  --> src/tools/async_lint.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use quote::ToTokens;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::version`
[INFO] [stdout]   --> src/captain/captain.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::version;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `Ident`, and `PathSegment`
[INFO] [stdout]  --> src/tools/crud_gen.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use syn::{parse_file, File, Item, ItemStruct, Fields, Field, Type, PathSegment, Ident};
[INFO] [stdout]   |                       ^^^^                                         ^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::quote`
[INFO] [stdout]  --> src/tools/crud_gen.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use quote::quote;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proc_macro2::TokenStream`
[INFO] [stdout]  --> src/tools/crud_gen.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use proc_macro2::TokenStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Field`, `Fields`, `File`, `Ident`, `ItemStruct`, `Item`, `PathSegment`, `Type`, and `parse_file`
[INFO] [stdout]  --> src/tools/proto_bind.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use syn::{parse_file, File, Item, ItemStruct, Fields, Field, Type, PathSegment, Ident};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^  ^^^^  ^^^^^^^^^^  ^^^^^^  ^^^^^  ^^^^  ^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::quote`
[INFO] [stdout]  --> src/tools/proto_bind.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use quote::quote;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proc_macro2::TokenStream`
[INFO] [stdout]   --> src/tools/proto_bind.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use proc_macro2::TokenStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File` and `Item`
[INFO] [stdout]  --> src/tools/error_derive.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use syn::{parse_file, File, Item, ItemFn, ItemImpl, ReturnType, Type, visit::Visit};
[INFO] [stdout]   |                       ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::quote`
[INFO] [stdout]  --> src/tools/error_derive.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use quote::quote;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proc_macro2::TokenStream`
[INFO] [stdout]  --> src/tools/error_derive.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use proc_macro2::TokenStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `Ident`, `PathSegment`, and `visit::Visit`
[INFO] [stdout]  --> src/tools/builder_gen.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 |     parse_file, File, Item, ItemStruct, Fields, Field, Type, PathSegment, Ident,
[INFO] [stdout]   |                 ^^^^                                         ^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 8 |     visit::Visit,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::quote`
[INFO] [stdout]   --> src/tools/builder_gen.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use quote::quote;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proc_macro2::TokenStream`
[INFO] [stdout]   --> src/tools/builder_gen.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use proc_macro2::TokenStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Field`, `Fields`, `File`, `Ident`, `Item`, `PathSegment`, and `spanned::Spanned`
[INFO] [stdout]  --> src/tools/example_gen.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 |     parse_file, File, Item, ItemFn, Fields, Field, Type, PathSegment, Ident,
[INFO] [stdout]   |                 ^^^^  ^^^^          ^^^^^^  ^^^^^        ^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 8 |     visit::Visit, spanned::Spanned,
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::quote`
[INFO] [stdout]   --> src/tools/example_gen.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use quote::quote;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proc_macro2::TokenStream`
[INFO] [stdout]   --> src/tools/example_gen.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use proc_macro2::TokenStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Field`, `File`, `Ident`, `Item`, `PathSegment`, and `spanned::Spanned`
[INFO] [stdout]  --> src/tools/api_changelog.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 |     parse_file, File, Item, ItemFn, ItemStruct, ItemEnum, Fields, Field, Type,
[INFO] [stdout]   |                 ^^^^  ^^^^                                        ^^^^^
[INFO] [stdout] 9 |     PathSegment, Ident, visit::Visit, spanned::Spanned,
[INFO] [stdout]   |     ^^^^^^^^^^^  ^^^^^                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::quote`
[INFO] [stdout]   --> src/tools/api_changelog.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use quote::quote;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proc_macro2::TokenStream`
[INFO] [stdout]   --> src/tools/api_changelog.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use proc_macro2::TokenStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `Item`, and `spanned::Spanned`
[INFO] [stdout]  --> src/tools/trait_explorer.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 |     parse_file, File, Item, ItemTrait, ItemImpl, TraitItem, visit::Visit,
[INFO] [stdout]   |                 ^^^^  ^^^^
[INFO] [stdout] 9 |     spanned::Spanned,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::quote`
[INFO] [stdout]   --> src/tools/trait_explorer.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use quote::quote;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proc_macro2::TokenStream`
[INFO] [stdout]   --> src/tools/trait_explorer.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use proc_macro2::TokenStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/tools/feature_map.rs:4:42
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]   |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glob`
[INFO] [stdout]  --> src/tools/vendorize.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use glob;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ItemMacro`
[INFO] [stdout]  --> src/tools/macro_expand.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use syn::{parse_file, visit::Visit, ItemMacro, Macro};
[INFO] [stdout]   |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToTokens`
[INFO] [stdout]  --> src/tools/macro_expand.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use quote::{quote, ToTokens};
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/tools/lifetime_visualizer.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Lifetime` and `TypeReference`
[INFO] [stdout]  --> src/tools/lifetime_visualizer.rs:8:39
[INFO] [stdout]   |
[INFO] [stdout] 8 |     parse_file, visit::Visit, ItemFn, Lifetime, TypeReference, FnArg, ReturnType,
[INFO] [stdout]   |                                       ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FnArg`, `ItemTrait`, `Pat`, `TraitItem`, and `Type`
[INFO] [stdout]  --> src/tools/mock_derive.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use syn::{parse_file, ItemTrait, TraitItem, FnArg, Pat, Type};
[INFO] [stdout]   |                       ^^^^^^^^^  ^^^^^^^^^  ^^^^^  ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proc_macro2::TokenStream`
[INFO] [stdout]  --> src/tools/mock_derive.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use proc_macro2::TokenStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/tools/coverage_guard.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/tools/wasm_optimize.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path as SynPath`
[INFO] [stdout]  --> src/tools/migration_gen.rs:7:62
[INFO] [stdout]   |
[INFO] [stdout] 7 | use syn::{parse_file, Item, ItemStruct, Fields, Field, Type, Path as SynPath};
[INFO] [stdout]   |                                                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribute`, `Fields`, `ItemStruct`, `Type`, and `parse2`
[INFO] [stdout]  --> src/tools/serde_validator.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use syn::{parse_file, parse2, Item, ItemStruct, Fields, Field, Type, Attribute, Meta};
[INFO] [stdout]   |                       ^^^^^^        ^^^^^^^^^^  ^^^^^^         ^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Map` and `Value`
[INFO] [stdout]  --> src/tools/serde_validator.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde_json::{Value, Map};
[INFO] [stdout]   |                  ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolError`
[INFO] [stdout]  --> src/tools/sql_macro_check.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{Tool, Result, ToolError, common_options, parse_output_format, OutputFormat};
[INFO] [stdout]   |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ItemMacro`, `Item`, `Lit`, and `parse_file`
[INFO] [stdout]  --> src/tools/sql_macro_check.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use syn::{parse_file, Item, ItemMacro, Lit};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^  ^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolError`
[INFO] [stdout]  --> src/tools/secret_scanner.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{Tool, Result, ToolError, common_options, parse_output_format, OutputFormat};
[INFO] [stdout]   |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/tools/secret_scanner.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/captain/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub use captain_log::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the name `ParsedError` in the type namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 43 | pub use parser::*;
[INFO] [stdout]    |         --------- but the name `ParsedError` in the type namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/captain/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub use captain_log::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the name `CargoMessage` in the type namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 43 | pub use parser::*;
[INFO] [stdout]    |         --------- but the name `CargoMessage` in the type namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_secure_binary::*`
[INFO] [stdout]   --> src/captain/mod.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub use create_secure_binary::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolError`
[INFO] [stdout]  --> src/tools/unsafe_analyzer.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{Tool, Result, ToolError, common_options, parse_output_format, OutputFormat};
[INFO] [stdout]   |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_self_protected_binary::*`
[INFO] [stdout]   --> src/captain/mod.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub use create_self_protected_binary::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/tools/unsafe_analyzer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `encrypt_binaries::*`
[INFO] [stdout]   --> src/captain/mod.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub use encrypt_binaries::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::*`
[INFO] [stdout]  --> src/cmd/anchor.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use colored::*;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FnArg`, `ItemFn`, `Item`, `Pat`, `Type`, and `parse_file`
[INFO] [stdout]  --> src/tools/unsafe_analyzer.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use syn::{parse_file, Item, ItemFn, FnArg, Pat, Type, visit::Visit, visit};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^  ^^^^^^  ^^^^^  ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/cmd/utils.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Result, Context};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OutputFormat` and `parse_output_format`
[INFO] [stdout]  --> src/tools/code_analyzer.rs:1:54
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{Tool, Result, ToolError, common_options, parse_output_format, OutputFormat};
[INFO] [stdout]   |                                                      ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono`
[INFO] [stdout]  --> src/cmd/utils.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/tools/code_analyzer.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/cmd/utils.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/cmd/utils.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::captain::license`
[INFO] [stdout]  --> src/cmd/utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::captain::license;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::captain::wtf`
[INFO] [stdout]  --> src/cmd/utils.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::captain::wtf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/cmd/captain.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LogAnalysis`
[INFO] [stdout]   --> src/cmd/captain.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 |     CaptainLog, LogAnalysis, BuildResult, ExportFormat, show_build_health_dashboard,
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::version`
[INFO] [stdout]   --> src/cmd/captain.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::version;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/cmd/init.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Result, Context};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/cmd/init.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::captain::config::ConfigManager`
[INFO] [stdout]  --> src/cmd/init.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::captain::config::ConfigManager;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/cmd/idea.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::*`
[INFO] [stdout]  --> src/cmd/idea.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use colored::*;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/cmd/idea.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::*`
[INFO] [stdout]  --> src/cmd/register.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use colored::*;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cmd::init::is_build_process`
[INFO] [stdout]  --> src/cmd/register.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::cmd::init::is_build_process;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/cmd/ddr.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Result, Context, bail};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/cmd/ddr.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stdio`
[INFO] [stdout]  --> src/cmd/ddr.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::process::{Command, Stdio};
[INFO] [stdout]   |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandBuilder`, `PtySize`, and `native_pty_system`
[INFO] [stdout]  --> src/journey.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use portable_pty::{native_pty_system, CommandBuilder, PtySize};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]   --> src/journey.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io::{BufReader, Write};
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/journey.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stdio`
[INFO] [stdout]  --> src/mutiny.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::process::{Command, Stdio};
[INFO] [stdout]   |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/probe.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cargo_metadata::MetadataCommand`
[INFO] [stdout]   --> src/probe.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use cargo_metadata::MetadataCommand;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::SeedableRng`
[INFO] [stdout]   --> src/probe.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand::SeedableRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_chacha::ChaCha20Rng`
[INFO] [stdout]   --> src/probe.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rand_chacha::ChaCha20Rng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::fs::MetadataExt`
[INFO] [stdout]   --> src/scrubme/mod.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         use std::os::unix::fs::MetadataExt;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Parser`
[INFO] [stdout]  --> src/scat.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use clap::{Parser, Subcommand};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cmd::smune::ScrubAction`
[INFO] [stdout]  --> src/scrub.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::cmd::smune::ScrubAction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest`
[INFO] [stdout]  --> src/smart_parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use reqwest;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/sweeping/src/away.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Expr` and `Stmt`
[INFO] [stdout]   --> src/sweeping/src/away.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 | use syn::{visit_mut::VisitMut, Expr, ExprMacro, Stmt};
[INFO] [stdout]    |                                ^^^^             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]     --> src/sweeping/src/away.rs:1090:1
[INFO] [stdout]      |
[INFO] [stdout] 1090 | / fn main() -> Result<()> {
[INFO] [stdout] 1091 | |     let cli = Cli::parse();
[INFO] [stdout] 1092 | |     run_with_cli(cli)
[INFO] [stdout] 1093 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout] note: the name `main` in the value namespace is supposed to be publicly re-exported here
[INFO] [stdout]     --> src/sweeping/src/away.rs:13:9
[INFO] [stdout]      |
[INFO] [stdout]   13 | pub use crate::*;
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]     --> src/sweeping/src/away.rs:1090:1
[INFO] [stdout]      |
[INFO] [stdout] 1090 | / fn main() -> Result<()> {
[INFO] [stdout] 1091 | |     let cli = Cli::parse();
[INFO] [stdout] 1092 | |     run_with_cli(cli)
[INFO] [stdout] 1093 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout]      = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/sweeping/src/embedder.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::ToTokens`
[INFO] [stdout]  --> src/tools/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use quote::ToTokens;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/tools/cross_test.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/tools/cross_test.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `HashSet`, and `VecDeque`
[INFO] [stdout]  --> src/tools/refactor_engine.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `Ident`, `ItemImpl`, `ItemMod`, `Item`, and `PathSegment`
[INFO] [stdout]   --> src/tools/refactor_engine.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 |     parse_file, File, Item, ItemFn, ItemStruct, ItemTrait, ItemImpl, ItemMod, Fields,
[INFO] [stdout]    |                 ^^^^  ^^^^                                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 12 |     Type, PathSegment, Ident, visit::Visit,
[INFO] [stdout]    |           ^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Field`, `File`, `Ident`, `Item`, and `PathSegment`
[INFO] [stdout]  --> src/tools/rust_mentor.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 |     parse_file, File, Item, ItemFn, ItemStruct, ItemTrait, Fields, Field, Type,
[INFO] [stdout]   |                 ^^^^  ^^^^                                         ^^^^^
[INFO] [stdout] 9 |     PathSegment, Ident, visit::Visit,
[INFO] [stdout]   |     ^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OutputFormat` and `parse_output_format`
[INFO] [stdout]  --> src/tools/release_automation.rs:1:54
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{Tool, Result, ToolError, common_options, parse_output_format, OutputFormat};
[INFO] [stdout]   |                                                      ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/tools/bloat_check.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/tools/cache_analyzer.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExprAwait`, `ExprCall`, `ItemFn`, `Type`, and `spanned::Spanned`
[INFO] [stdout]  --> src/tools/async_lint.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 | use syn::{parse_file, visit::Visit, ItemFn, ExprAwait, ExprCall, Type, spanned::Spanned};
[INFO] [stdout]   |                                     ^^^^^^  ^^^^^^^^^  ^^^^^^^^  ^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::ToTokens`
[INFO] [stdout]  --> src/tools/async_lint.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use quote::ToTokens;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `Ident`, and `PathSegment`
[INFO] [stdout]  --> src/tools/crud_gen.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use syn::{parse_file, File, Item, ItemStruct, Fields, Field, Type, PathSegment, Ident};
[INFO] [stdout]   |                       ^^^^                                         ^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::quote`
[INFO] [stdout]  --> src/tools/crud_gen.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use quote::quote;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proc_macro2::TokenStream`
[INFO] [stdout]  --> src/tools/crud_gen.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use proc_macro2::TokenStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Field`, `Fields`, `File`, `Ident`, `ItemStruct`, `Item`, `PathSegment`, `Type`, and `parse_file`
[INFO] [stdout]  --> src/tools/proto_bind.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use syn::{parse_file, File, Item, ItemStruct, Fields, Field, Type, PathSegment, Ident};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^  ^^^^  ^^^^^^^^^^  ^^^^^^  ^^^^^  ^^^^  ^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::quote`
[INFO] [stdout]  --> src/tools/proto_bind.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use quote::quote;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proc_macro2::TokenStream`
[INFO] [stdout]   --> src/tools/proto_bind.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use proc_macro2::TokenStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File` and `Item`
[INFO] [stdout]  --> src/tools/error_derive.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use syn::{parse_file, File, Item, ItemFn, ItemImpl, ReturnType, Type, visit::Visit};
[INFO] [stdout]   |                       ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::quote`
[INFO] [stdout]  --> src/tools/error_derive.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use quote::quote;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proc_macro2::TokenStream`
[INFO] [stdout]  --> src/tools/error_derive.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use proc_macro2::TokenStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `Ident`, `PathSegment`, and `visit::Visit`
[INFO] [stdout]  --> src/tools/builder_gen.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 |     parse_file, File, Item, ItemStruct, Fields, Field, Type, PathSegment, Ident,
[INFO] [stdout]   |                 ^^^^                                         ^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 8 |     visit::Visit,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::quote`
[INFO] [stdout]   --> src/tools/builder_gen.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use quote::quote;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proc_macro2::TokenStream`
[INFO] [stdout]   --> src/tools/builder_gen.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use proc_macro2::TokenStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Field`, `Fields`, `File`, `Ident`, `Item`, `PathSegment`, and `spanned::Spanned`
[INFO] [stdout]  --> src/tools/example_gen.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 |     parse_file, File, Item, ItemFn, Fields, Field, Type, PathSegment, Ident,
[INFO] [stdout]   |                 ^^^^  ^^^^          ^^^^^^  ^^^^^        ^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 8 |     visit::Visit, spanned::Spanned,
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::quote`
[INFO] [stdout]   --> src/tools/example_gen.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use quote::quote;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proc_macro2::TokenStream`
[INFO] [stdout]   --> src/tools/example_gen.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use proc_macro2::TokenStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Field`, `File`, `Ident`, `Item`, `PathSegment`, and `spanned::Spanned`
[INFO] [stdout]  --> src/tools/api_changelog.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 |     parse_file, File, Item, ItemFn, ItemStruct, ItemEnum, Fields, Field, Type,
[INFO] [stdout]   |                 ^^^^  ^^^^                                        ^^^^^
[INFO] [stdout] 9 |     PathSegment, Ident, visit::Visit, spanned::Spanned,
[INFO] [stdout]   |     ^^^^^^^^^^^  ^^^^^                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::quote`
[INFO] [stdout]   --> src/tools/api_changelog.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use quote::quote;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proc_macro2::TokenStream`
[INFO] [stdout]   --> src/tools/api_changelog.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use proc_macro2::TokenStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `Item`, and `spanned::Spanned`
[INFO] [stdout]  --> src/tools/trait_explorer.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 |     parse_file, File, Item, ItemTrait, ItemImpl, TraitItem, visit::Visit,
[INFO] [stdout]   |                 ^^^^  ^^^^
[INFO] [stdout] 9 |     spanned::Spanned,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quote::quote`
[INFO] [stdout]   --> src/tools/trait_explorer.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use quote::quote;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proc_macro2::TokenStream`
[INFO] [stdout]   --> src/tools/trait_explorer.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use proc_macro2::TokenStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/tools/feature_map.rs:4:42
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]   |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glob`
[INFO] [stdout]  --> src/tools/vendorize.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use glob;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ItemMacro`
[INFO] [stdout]  --> src/tools/macro_expand.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use syn::{parse_file, visit::Visit, ItemMacro, Macro};
[INFO] [stdout]   |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToTokens`
[INFO] [stdout]  --> src/tools/macro_expand.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use quote::{quote, ToTokens};
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/tools/lifetime_visualizer.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Lifetime` and `TypeReference`
[INFO] [stdout]  --> src/tools/lifetime_visualizer.rs:8:39
[INFO] [stdout]   |
[INFO] [stdout] 8 |     parse_file, visit::Visit, ItemFn, Lifetime, TypeReference, FnArg, ReturnType,
[INFO] [stdout]   |                                       ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FnArg`, `ItemTrait`, `Pat`, `TraitItem`, and `Type`
[INFO] [stdout]  --> src/tools/mock_derive.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use syn::{parse_file, ItemTrait, TraitItem, FnArg, Pat, Type};
[INFO] [stdout]   |                       ^^^^^^^^^  ^^^^^^^^^  ^^^^^  ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proc_macro2::TokenStream`
[INFO] [stdout]  --> src/tools/mock_derive.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use proc_macro2::TokenStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/tools/coverage_guard.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolError`
[INFO] [stdout]  --> src/tools/snapshot_test.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{Tool, Result, ToolError, common_options, parse_output_format, OutputFormat};
[INFO] [stdout]   |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/tools/wasm_optimize.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path as SynPath`
[INFO] [stdout]  --> src/tools/migration_gen.rs:7:62
[INFO] [stdout]   |
[INFO] [stdout] 7 | use syn::{parse_file, Item, ItemStruct, Fields, Field, Type, Path as SynPath};
[INFO] [stdout]   |                                                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribute`, `Fields`, `ItemStruct`, `Type`, and `parse2`
[INFO] [stdout]  --> src/tools/serde_validator.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use syn::{parse_file, parse2, Item, ItemStruct, Fields, Field, Type, Attribute, Meta};
[INFO] [stdout]   |                       ^^^^^^        ^^^^^^^^^^  ^^^^^^         ^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Map` and `Value`
[INFO] [stdout]  --> src/tools/serde_validator.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde_json::{Value, Map};
[INFO] [stdout]   |                  ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolError`
[INFO] [stdout]  --> src/tools/sql_macro_check.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{Tool, Result, ToolError, common_options, parse_output_format, OutputFormat};
[INFO] [stdout]   |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ItemMacro`, `Item`, `Lit`, and `parse_file`
[INFO] [stdout]  --> src/tools/sql_macro_check.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use syn::{parse_file, Item, ItemMacro, Lit};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^  ^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolError`
[INFO] [stdout]  --> src/tools/secret_scanner.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{Tool, Result, ToolError, common_options, parse_output_format, OutputFormat};
[INFO] [stdout]   |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/tools/secret_scanner.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolError`
[INFO] [stdout]  --> src/tools/unsafe_analyzer.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{Tool, Result, ToolError, common_options, parse_output_format, OutputFormat};
[INFO] [stdout]   |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/tools/unsafe_analyzer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FnArg`, `ItemFn`, `Item`, `Pat`, `Type`, and `parse_file`
[INFO] [stdout]  --> src/tools/unsafe_analyzer.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use syn::{parse_file, Item, ItemFn, FnArg, Pat, Type, visit::Visit, visit};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^  ^^^^^^  ^^^^^  ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OutputFormat` and `parse_output_format`
[INFO] [stdout]  --> src/tools/code_analyzer.rs:1:54
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{Tool, Result, ToolError, common_options, parse_output_format, OutputFormat};
[INFO] [stdout]   |                                                      ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/tools/code_analyzer.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/affiliate.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |                         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/affiliate.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |                         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/affiliate.rs:28:27
[INFO] [stdout]    |
[INFO] [stdout] 28 |             let idx = rng.gen_range(0..CHARS.len());
[INFO] [stdout]    |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/affiliate.rs:28:27
[INFO] [stdout]    |
[INFO] [stdout] 28 |             let idx = rng.gen_range(0..CHARS.len());
[INFO] [stdout]    |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::fs::PermissionsExt`
[INFO] [stdout]  --> src/captain/create_secure_binary.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::os::unix::fs::PermissionsExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]  --> src/probe.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/sweeping/src/away.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::fs::PermissionsExt`
[INFO] [stdout]  --> src/captain/create_secure_binary.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::os::unix::fs::PermissionsExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]  --> src/probe.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/sweeping/src/away.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_str`
[INFO] [stdout]    --> src/captain/captain.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let result_str = if success { "success" } else { "error" };
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_str`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/captain/captain.rs:257:21
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 Err(e) => {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `patterns`
[INFO] [stdout]    --> src/captain/captain.rs:384:17
[INFO] [stdout]     |
[INFO] [stdout] 384 |             let patterns = pattern_cache.calculate_project_health();
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_patterns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/captain/captain.rs:472:13
[INFO] [stdout]     |
[INFO] [stdout] 472 |         let error = String::from_utf8_lossy(&output.stderr);
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_str`
[INFO] [stdout]    --> src/captain/captain.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let result_str = if success { "success" } else { "error" };
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_str`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/captain/captain.rs:257:21
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 Err(e) => {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `patterns`
[INFO] [stdout]    --> src/captain/captain.rs:384:17
[INFO] [stdout]     |
[INFO] [stdout] 384 |             let patterns = pattern_cache.calculate_project_health();
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_patterns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/captain/captain.rs:472:13
[INFO] [stdout]     |
[INFO] [stdout] 472 |         let error = String::from_utf8_lossy(&output.stderr);
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parts`
[INFO] [stdout]    --> src/captain/captain_log.rs:889:21
[INFO] [stdout]     |
[INFO] [stdout] 889 |                 let parts: Vec<&str> = key.split(':').collect();
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_parts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parts`
[INFO] [stdout]    --> src/captain/captain_log.rs:889:21
[INFO] [stdout]     |
[INFO] [stdout] 889 |                 let parts: Vec<&str> = key.split(':').collect();
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_parts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loader_binary`
[INFO] [stdout]    --> src/captain/create_secure_binary.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let loader_binary = temp_dir.join("secure_loader");
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loader_binary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `platform`
[INFO] [stdout]   --> src/captain/encrypt_binaries.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         platform: &str,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_platform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loader_binary`
[INFO] [stdout]    --> src/captain/create_secure_binary.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let loader_binary = temp_dir.join("secure_loader");
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loader_binary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]   --> src/captain/license.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |             let status = response.status();
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error_text`
[INFO] [stdout]   --> src/captain/license.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let error_text = response
[INFO] [stdout]    |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_error_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/captain/license.rs:122:20
[INFO] [stdout]     |
[INFO] [stdout] 122 |         if let Err(e) = LicenseGuard::store_license(&obfuscated_license) {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/captain/license.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let user_id = self.get_or_create_user_id()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `license_key`
[INFO] [stdout]    --> src/captain/license.rs:136:13
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let license_key = match LicenseGuard::retrieve_license() {
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_license_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expires_at`
[INFO] [stdout]    --> src/captain/license.rs:157:29
[INFO] [stdout]     |
[INFO] [stdout] 157 |                 if let Some(expires_at) = validation.expires_at {
[INFO] [stdout]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expires_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remaining`
[INFO] [stdout]    --> src/captain/license.rs:161:33
[INFO] [stdout]     |
[INFO] [stdout] 161 |                     if let Some(remaining) = validation.remaining {
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/captain/license.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]    --> src/captain/license.rs:209:32
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn record_usage(&self, command: &str) -> Result<()> {
[INFO] [stdout]     |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status_code`
[INFO] [stdout]    --> src/captain/license.rs:227:21
[INFO] [stdout]     |
[INFO] [stdout] 227 |                 let status_code = resp.status();
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_status_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/captain/license.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `platform`
[INFO] [stdout]   --> src/captain/encrypt_binaries.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         platform: &str,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_platform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/captain/license.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let user_id = self.get_or_create_user_id()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `license_key`
[INFO] [stdout]    --> src/captain/license.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let license_key = match LicenseGuard::retrieve_license() {
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_license_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/captain/license.rs:324:25
[INFO] [stdout]     |
[INFO] [stdout] 324 |             if let Some(error) = validation.error {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/captain/license.rs:371:21
[INFO] [stdout]     |
[INFO] [stdout] 371 |                 Err(e) => {}
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/captain/license.rs:414:40
[INFO] [stdout]     |
[INFO] [stdout] 414 | ...                   if let Err(e) = crate::license_guard::LicenseGuard::store_license(
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/captain/license.rs:439:40
[INFO] [stdout]     |
[INFO] [stdout] 439 | ...                   if let Err(e) = result {
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/captain/license.rs:532:20
[INFO] [stdout]     |
[INFO] [stdout] 532 |         if let Err(e) = LicenseGuard::store_license(&obfuscated_license) {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log`
[INFO] [stdout]    --> src/captain/license.rs:545:13
[INFO] [stdout]     |
[INFO] [stdout] 545 |         let log = Log::new();
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named struct `Log`
[INFO] [stdout]     |
[INFO] [stdout] 545 -         let log = Log::new();
[INFO] [stdout] 545 +         let captain::log::Log = Log::new();
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 545 |         let _log = Log::new();
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `incremented` is assigned to, but never used
[INFO] [stdout]    --> src/captain/license.rs:576:13
[INFO] [stdout]     |
[INFO] [stdout] 576 |         let mut incremented = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_incremented` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `incremented` is never read
[INFO] [stdout]    --> src/captain/license.rs:595:21
[INFO] [stdout]     |
[INFO] [stdout] 595 |                     incremented = true;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `home`
[INFO] [stdout]    --> src/captain/license.rs:646:13
[INFO] [stdout]     |
[INFO] [stdout] 646 |         let home = dirs::home_dir().unwrap_or_else(|| PathBuf::from("."));
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_home`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_count`
[INFO] [stdout]    --> src/captain/license.rs:880:13
[INFO] [stdout]     |
[INFO] [stdout] 880 |         let local_count = self.get_local_command_count()?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/captain/license.rs:944:13
[INFO] [stdout]     |
[INFO] [stdout] 944 |         let user_id = self.get_or_create_user_id()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]   --> src/captain/license.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |             let status = response.status();
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error_text`
[INFO] [stdout]   --> src/captain/license.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let error_text = response
[INFO] [stdout]    |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_error_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/captain/license.rs:122:20
[INFO] [stdout]     |
[INFO] [stdout] 122 |         if let Err(e) = LicenseGuard::store_license(&obfuscated_license) {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/captain/license.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let user_id = self.get_or_create_user_id()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `license_key`
[INFO] [stdout]    --> src/captain/license.rs:136:13
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let license_key = match LicenseGuard::retrieve_license() {
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_license_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expires_at`
[INFO] [stdout]    --> src/captain/license.rs:157:29
[INFO] [stdout]     |
[INFO] [stdout] 157 |                 if let Some(expires_at) = validation.expires_at {
[INFO] [stdout]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expires_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remaining`
[INFO] [stdout]    --> src/captain/license.rs:161:33
[INFO] [stdout]     |
[INFO] [stdout] 161 |                     if let Some(remaining) = validation.remaining {
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/captain/license.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]    --> src/captain/license.rs:209:32
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn record_usage(&self, command: &str) -> Result<()> {
[INFO] [stdout]     |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status_code`
[INFO] [stdout]    --> src/captain/license.rs:227:21
[INFO] [stdout]     |
[INFO] [stdout] 227 |                 let status_code = resp.status();
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_status_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/captain/license.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/captain/license.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let user_id = self.get_or_create_user_id()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `license_key`
[INFO] [stdout]    --> src/captain/license.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let license_key = match LicenseGuard::retrieve_license() {
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_license_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/captain/license.rs:324:25
[INFO] [stdout]     |
[INFO] [stdout] 324 |             if let Some(error) = validation.error {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/captain/license.rs:371:21
[INFO] [stdout]     |
[INFO] [stdout] 371 |                 Err(e) => {}
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/captain/license.rs:414:40
[INFO] [stdout]     |
[INFO] [stdout] 414 | ...                   if let Err(e) = crate::license_guard::LicenseGuard::store_license(
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/captain/license.rs:439:40
[INFO] [stdout]     |
[INFO] [stdout] 439 | ...                   if let Err(e) = result {
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/captain/license.rs:532:20
[INFO] [stdout]     |
[INFO] [stdout] 532 |         if let Err(e) = LicenseGuard::store_license(&obfuscated_license) {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log`
[INFO] [stdout]    --> src/captain/license.rs:545:13
[INFO] [stdout]     |
[INFO] [stdout] 545 |         let log = Log::new();
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named struct `Log`
[INFO] [stdout]     |
[INFO] [stdout] 545 -         let log = Log::new();
[INFO] [stdout] 545 +         let captain::log::Log = Log::new();
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 545 |         let _log = Log::new();
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `incremented` is assigned to, but never used
[INFO] [stdout]    --> src/captain/license.rs:576:13
[INFO] [stdout]     |
[INFO] [stdout] 576 |         let mut incremented = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_incremented` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `incremented` is never read
[INFO] [stdout]    --> src/captain/license.rs:595:21
[INFO] [stdout]     |
[INFO] [stdout] 595 |                     incremented = true;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `home`
[INFO] [stdout]    --> src/captain/license.rs:646:13
[INFO] [stdout]     |
[INFO] [stdout] 646 |         let home = dirs::home_dir().unwrap_or_else(|| PathBuf::from("."));
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_home`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_count`
[INFO] [stdout]    --> src/captain/license.rs:880:13
[INFO] [stdout]     |
[INFO] [stdout] 880 |         let local_count = self.get_local_command_count()?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/captain/license.rs:944:13
[INFO] [stdout]     |
[INFO] [stdout] 944 |         let user_id = self.get_or_create_user_id()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shipwreck_bin`
[INFO] [stdout]    --> src/captain/shell_integration.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let shipwreck_bin = format!("{}/.shipwreck/bin", home);
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shipwreck_bin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shipwreck_bin`
[INFO] [stdout]    --> src/captain/shell_integration.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let shipwreck_bin = format!("{}/.shipwreck/bin", home);
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shipwreck_bin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/captain/wtf.rs:614:31
[INFO] [stdout]     |
[INFO] [stdout] 614 | fn generate_identity_response(input: &str) -> String {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/captain/wtf.rs:614:31
[INFO] [stdout]     |
[INFO] [stdout] 614 | fn generate_identity_response(input: &str) -> String {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_str`
[INFO] [stdout]    --> src/cmd/captain.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let result_str = if success { "success" } else { "error" };
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/cmd/captain.rs:257:21
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 Err(e) => {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `patterns`
[INFO] [stdout]    --> src/cmd/captain.rs:384:17
[INFO] [stdout]     |
[INFO] [stdout] 384 |             let patterns = pattern_cache.calculate_project_health();
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_patterns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/cmd/captain.rs:472:13
[INFO] [stdout]     |
[INFO] [stdout] 472 |         let error = String::from_utf8_lossy(&output.stderr);
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_str`
[INFO] [stdout]    --> src/cmd/captain.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let result_str = if success { "success" } else { "error" };
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/cmd/captain.rs:257:21
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 Err(e) => {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `patterns`
[INFO] [stdout]    --> src/cmd/captain.rs:384:17
[INFO] [stdout]     |
[INFO] [stdout] 384 |             let patterns = pattern_cache.calculate_project_health();
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_patterns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/cmd/captain.rs:472:13
[INFO] [stdout]     |
[INFO] [stdout] 472 |         let error = String::from_utf8_lossy(&output.stderr);
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jobs_guard`
[INFO] [stdout]    --> src/cmd/ddr.rs:392:13
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let jobs_guard = self.jobs.read().await;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_jobs_guard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jobs_guard`
[INFO] [stdout]    --> src/cmd/ddr.rs:392:13
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let jobs_guard = self.jobs.read().await;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_jobs_guard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]   --> src/cmd/bin.rs:98:21
[INFO] [stdout]    |
[INFO] [stdout] 98 |             Ok(Some(status)) => {
[INFO] [stdout]    |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/display.rs:145:29
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn has_known_fix(&self, error: &ParsedError) -> bool {
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_output` is never read
[INFO] [stdout]    --> src/display.rs:449:27
[INFO] [stdout]     |
[INFO] [stdout] 449 |     let mut last_output = Instant::now();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 476 |                 last_output = Instant::now();
[INFO] [stdout]     |                 ---------------------------- `last_output` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_output` is never read
[INFO] [stdout]    --> src/display.rs:476:17
[INFO] [stdout]     |
[INFO] [stdout] 476 |                 last_output = Instant::now();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 566 |                 last_output = Instant::now();
[INFO] [stdout]     |                 ---------------------------- `last_output` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]   --> src/cmd/bin.rs:98:21
[INFO] [stdout]    |
[INFO] [stdout] 98 |             Ok(Some(status)) => {
[INFO] [stdout]    |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes_read`
[INFO] [stdout]    --> src/journey.rs:122:20
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 Ok(bytes_read) => {
[INFO] [stdout]     |                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes_read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/display.rs:145:29
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn has_known_fix(&self, error: &ParsedError) -> bool {
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_output` is never read
[INFO] [stdout]    --> src/display.rs:449:27
[INFO] [stdout]     |
[INFO] [stdout] 449 |     let mut last_output = Instant::now();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 476 |                 last_output = Instant::now();
[INFO] [stdout]     |                 ---------------------------- `last_output` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_output` is never read
[INFO] [stdout]    --> src/display.rs:476:17
[INFO] [stdout]     |
[INFO] [stdout] 476 |                 last_output = Instant::now();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 566 |                 last_output = Instant::now();
[INFO] [stdout]     |                 ---------------------------- `last_output` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes_read`
[INFO] [stdout]    --> src/journey.rs:122:20
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 Ok(bytes_read) => {
[INFO] [stdout]     |                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes_read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `probe_pattern`
[INFO] [stdout]    --> src/probe.rs:310:49
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn handle_flake(iterations: usize, jobs: usize, probe_pattern: Option<String>, threshold: u8, dry_run: bool) -> Result<()> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_probe_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_dir`
[INFO] [stdout]    --> src/probe.rs:851:32
[INFO] [stdout]     |
[INFO] [stdout] 851 | fn handle_replay(run_id: &str, output_dir: Option<PathBuf>, no_cleanup: bool) -> Result<()> {
[INFO] [stdout]     |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `probe_pattern`
[INFO] [stdout]    --> src/probe.rs:310:49
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn handle_flake(iterations: usize, jobs: usize, probe_pattern: Option<String>, threshold: u8, dry_run: bool) -> Result<()> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_probe_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_dir`
[INFO] [stdout]    --> src/probe.rs:851:32
[INFO] [stdout]     |
[INFO] [stdout] 851 | fn handle_replay(run_id: &str, output_dir: Option<PathBuf>, no_cleanup: bool) -> Result<()> {
[INFO] [stdout]     |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verbose`
[INFO] [stdout]   --> src/sweeping/mod.rs:77:42
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn run_sweep(command: SweepCommands, verbose: bool) -> Result<()> {
[INFO] [stdout]    |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pristine`
[INFO] [stdout]    --> src/sweeping/mod.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |             pristine,
[INFO] [stdout]     |             ^^^^^^^^ help: try ignoring the field: `pristine: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]    --> src/sweeping/mod.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |             format,
[INFO] [stdout]     |             ^^^^^^ help: try ignoring the field: `format: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `organize_imports`
[INFO] [stdout]    --> src/sweeping/mod.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             organize_imports,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: try ignoring the field: `organize_imports: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `add_docs`
[INFO] [stdout]    --> src/sweeping/mod.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |             add_docs,
[INFO] [stdout]     |             ^^^^^^^^ help: try ignoring the field: `add_docs: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fix_clippy`
[INFO] [stdout]    --> src/sweeping/mod.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             fix_clippy,
[INFO] [stdout]     |             ^^^^^^^^^^ help: try ignoring the field: `fix_clippy: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `add_dependency`
[INFO] [stdout]    --> src/sweeping/mod.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |             add_dependency,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: try ignoring the field: `add_dependency: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `println_level`
[INFO] [stdout]    --> src/sweeping/mod.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |             let println_level = println_level
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_println_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eprintln_level`
[INFO] [stdout]    --> src/sweeping/mod.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 |             let eprintln_level = eprintln_level
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eprintln_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/sweeping/src/away.rs:222:17
[INFO] [stdout]     |
[INFO] [stdout] 222 |             let content = fs::read_to_string(path)?;
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/sweeping/src/away.rs:234:27
[INFO] [stdout]     |
[INFO] [stdout] 234 |     fn save_config(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `statements` is never read
[INFO] [stdout]    --> src/sweeping/src/away.rs:311:30
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let mut statements = Vec::new();
[INFO] [stdout]     |                              ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 315 |             statements = visitor.statements;
[INFO] [stdout]     |             ---------- `statements` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_content`
[INFO] [stdout]    --> src/sweeping/src/away.rs:774:5
[INFO] [stdout]     |
[INFO] [stdout] 774 |     old_content: &str,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/sweeping/src/away.rs:849:13
[INFO] [stdout]     |
[INFO] [stdout] 849 |         let config = SweepConfig::default();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pristine`
[INFO] [stdout]    --> src/sweeping/src/away.rs:999:13
[INFO] [stdout]     |
[INFO] [stdout] 999 |             pristine,
[INFO] [stdout]     |             ^^^^^^^^ help: try ignoring the field: `pristine: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]     --> src/sweeping/src/away.rs:1000:13
[INFO] [stdout]      |
[INFO] [stdout] 1000 |             format,
[INFO] [stdout]      |             ^^^^^^ help: try ignoring the field: `format: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `organize_imports`
[INFO] [stdout]     --> src/sweeping/src/away.rs:1001:13
[INFO] [stdout]      |
[INFO] [stdout] 1001 |             organize_imports,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ help: try ignoring the field: `organize_imports: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `add_docs`
[INFO] [stdout]     --> src/sweeping/src/away.rs:1002:13
[INFO] [stdout]      |
[INFO] [stdout] 1002 |             add_docs,
[INFO] [stdout]      |             ^^^^^^^^ help: try ignoring the field: `add_docs: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fix_clippy`
[INFO] [stdout]     --> src/sweeping/src/away.rs:1003:13
[INFO] [stdout]      |
[INFO] [stdout] 1003 |             fix_clippy,
[INFO] [stdout]      |             ^^^^^^^^^^ help: try ignoring the field: `fix_clippy: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/sweeping/src/mod.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let args = vec!["sweep"];
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verbose`
[INFO] [stdout]   --> src/sweeping/mod.rs:77:42
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn run_sweep(command: SweepCommands, verbose: bool) -> Result<()> {
[INFO] [stdout]    |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pristine`
[INFO] [stdout]    --> src/sweeping/mod.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |             pristine,
[INFO] [stdout]     |             ^^^^^^^^ help: try ignoring the field: `pristine: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]    --> src/sweeping/mod.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |             format,
[INFO] [stdout]     |             ^^^^^^ help: try ignoring the field: `format: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `organize_imports`
[INFO] [stdout]    --> src/sweeping/mod.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             organize_imports,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: try ignoring the field: `organize_imports: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `add_docs`
[INFO] [stdout]    --> src/sweeping/mod.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |             add_docs,
[INFO] [stdout]     |             ^^^^^^^^ help: try ignoring the field: `add_docs: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fix_clippy`
[INFO] [stdout]    --> src/sweeping/mod.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             fix_clippy,
[INFO] [stdout]     |             ^^^^^^^^^^ help: try ignoring the field: `fix_clippy: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `add_dependency`
[INFO] [stdout]    --> src/sweeping/mod.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |             add_dependency,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: try ignoring the field: `add_dependency: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `println_level`
[INFO] [stdout]    --> src/sweeping/mod.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |             let println_level = println_level
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_println_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eprintln_level`
[INFO] [stdout]    --> src/sweeping/mod.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 |             let eprintln_level = eprintln_level
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eprintln_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `license_status`
[INFO] [stdout]    --> src/tools/dep_audit.rs:168:25
[INFO] [stdout]     |
[INFO] [stdout] 168 |                     let license_status = if dep.license.is_some() {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_license_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `license_issues` is never read
[INFO] [stdout]    --> src/tools/dep_audit.rs:303:34
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let mut license_issues = 0;
[INFO] [stdout]     |                                  ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 308 |         license_issues = self.check_licenses(&mut dependencies, &allowed_licenses);
[INFO] [stdout]     |         -------------------------------------------------------------------------- `license_issues` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/sweeping/src/away.rs:222:17
[INFO] [stdout]     |
[INFO] [stdout] 222 |             let content = fs::read_to_string(path)?;
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/sweeping/src/away.rs:234:27
[INFO] [stdout]     |
[INFO] [stdout] 234 |     fn save_config(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `statements` is never read
[INFO] [stdout]    --> src/sweeping/src/away.rs:311:30
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let mut statements = Vec::new();
[INFO] [stdout]     |                              ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 315 |             statements = visitor.statements;
[INFO] [stdout]     |             ---------- `statements` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/tools/workspace_sync.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 if let Some(version) = analysis.versions.values().next() {
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `workspace_root`
[INFO] [stdout]    --> src/tools/workspace_sync.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout] 252 |         workspace_root: &str,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace_root`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_content`
[INFO] [stdout]    --> src/sweeping/src/away.rs:774:5
[INFO] [stdout]     |
[INFO] [stdout] 774 |     old_content: &str,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/sweeping/src/away.rs:849:13
[INFO] [stdout]     |
[INFO] [stdout] 849 |         let config = SweepConfig::default();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context_lines`
[INFO] [stdout]    --> src/tools/panic_analyzer.rs:361:13
[INFO] [stdout]     |
[INFO] [stdout] 361 |         let context_lines: usize = matches
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_lines`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `suggest_fixes`
[INFO] [stdout]    --> src/tools/panic_analyzer.rs:368:13
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let suggest_fixes = matches.get_flag("suggest-fixes");
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_suggest_fixes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pristine`
[INFO] [stdout]    --> src/sweeping/src/away.rs:999:13
[INFO] [stdout]     |
[INFO] [stdout] 999 |             pristine,
[INFO] [stdout]     |             ^^^^^^^^ help: try ignoring the field: `pristine: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]     --> src/sweeping/src/away.rs:1000:13
[INFO] [stdout]      |
[INFO] [stdout] 1000 |             format,
[INFO] [stdout]      |             ^^^^^^ help: try ignoring the field: `format: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `organize_imports`
[INFO] [stdout]     --> src/sweeping/src/away.rs:1001:13
[INFO] [stdout]      |
[INFO] [stdout] 1001 |             organize_imports,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ help: try ignoring the field: `organize_imports: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `add_docs`
[INFO] [stdout]     --> src/sweeping/src/away.rs:1002:13
[INFO] [stdout]      |
[INFO] [stdout] 1002 |             add_docs,
[INFO] [stdout]      |             ^^^^^^^^ help: try ignoring the field: `add_docs: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fix_clippy`
[INFO] [stdout]     --> src/sweeping/src/away.rs:1003:13
[INFO] [stdout]      |
[INFO] [stdout] 1003 |             fix_clippy,
[INFO] [stdout]      |             ^^^^^^^^^^ help: try ignoring the field: `fix_clippy: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/sweeping/src/mod.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let args = vec!["sweep"];
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `license_status`
[INFO] [stdout]    --> src/tools/dep_audit.rs:168:25
[INFO] [stdout]     |
[INFO] [stdout] 168 |                     let license_status = if dep.license.is_some() {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_license_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `report`
[INFO] [stdout]    --> src/tools/cross_test.rs:319:13
[INFO] [stdout]     |
[INFO] [stdout] 319 |         let report = matches.get_flag("report");
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_report`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `license_issues` is never read
[INFO] [stdout]    --> src/tools/dep_audit.rs:303:34
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let mut license_issues = 0;
[INFO] [stdout]     |                                  ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 308 |         license_issues = self.check_licenses(&mut dependencies, &allowed_licenses);
[INFO] [stdout]     |         -------------------------------------------------------------------------- `license_issues` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/tools/workspace_sync.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 if let Some(version) = analysis.versions.values().next() {
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `workspace_root`
[INFO] [stdout]    --> src/tools/workspace_sync.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout] 252 |         workspace_root: &str,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace_root`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context_lines`
[INFO] [stdout]    --> src/tools/panic_analyzer.rs:361:13
[INFO] [stdout]     |
[INFO] [stdout] 361 |         let context_lines: usize = matches
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_lines`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `suggest_fixes`
[INFO] [stdout]    --> src/tools/panic_analyzer.rs:368:13
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let suggest_fixes = matches.get_flag("suggest-fixes");
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_suggest_fixes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `report`
[INFO] [stdout]    --> src/tools/cross_test.rs:319:13
[INFO] [stdout]     |
[INFO] [stdout] 319 |         let report = matches.get_flag("report");
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_report`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `structs`
[INFO] [stdout]    --> src/tools/refactor_engine.rs:376:9
[INFO] [stdout]     |
[INFO] [stdout] 376 |         structs: &[StructInfo],
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_structs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools/refactor_engine.rs:504:13
[INFO] [stdout]     |
[INFO] [stdout] 504 |         let mut dependencies = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_dir_name`
[INFO] [stdout]    --> src/tools/refactor_engine.rs:509:21
[INFO] [stdout]     |
[INFO] [stdout] 509 |                 let sub_dir_name = path
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_dir_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_path`
[INFO] [stdout]    --> src/tools/refactor_engine.rs:592:48
[INFO] [stdout]     |
[INFO] [stdout] 592 |             fn analyze_function(node: &ItemFn, file_path: &str) -> Result<FunctionInfo> {
[INFO] [stdout]     |                                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/tools/refactor_engine.rs:905:37
[INFO] [stdout]     |
[INFO] [stdout] 905 |             fn analyze_impl_methods(node: &ItemStruct, file_path: &str) -> Vec<String> {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_path`
[INFO] [stdout]    --> src/tools/refactor_engine.rs:905:56
[INFO] [stdout]     |
[INFO] [stdout] 905 |             fn analyze_impl_methods(node: &ItemStruct, file_path: &str) -> Vec<String> {
[INFO] [stdout]     |                                                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_path`
[INFO] [stdout]    --> src/tools/refactor_engine.rs:910:17
[INFO] [stdout]     |
[INFO] [stdout] 910 |                 file_path: &str,
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `structs`
[INFO] [stdout]    --> src/tools/refactor_engine.rs:997:9
[INFO] [stdout]     |
[INFO] [stdout] 997 |         structs: &[StructInfo],
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_structs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `structs`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1096:9
[INFO] [stdout]      |
[INFO] [stdout] 1096 |         structs: &[StructInfo],
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_structs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `traits`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1097:9
[INFO] [stdout]      |
[INFO] [stdout] 1097 |         traits: &[TraitInfo],
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_traits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `traits`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1161:9
[INFO] [stdout]      |
[INFO] [stdout] 1161 |         traits: &[TraitInfo],
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_traits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1345:9
[INFO] [stdout]      |
[INFO] [stdout] 1345 |         function_name: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1358:9
[INFO] [stdout]      |
[INFO] [stdout] 1358 |         function_name: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1386:9
[INFO] [stdout]      |
[INFO] [stdout] 1386 |         function_name: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1433:9
[INFO] [stdout]      |
[INFO] [stdout] 1433 |         function_name: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1444:9
[INFO] [stdout]      |
[INFO] [stdout] 1444 |         function_name: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transformation`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1542:9
[INFO] [stdout]      |
[INFO] [stdout] 1542 |         transformation: &SafeTransformation,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transformation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1738:13
[INFO] [stdout]      |
[INFO] [stdout] 1738 |         let mut deallocation_count = allocation_count;
[INFO] [stdout]      |             ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `struct_count`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1733:13
[INFO] [stdout]      |
[INFO] [stdout] 1733 |         let struct_count = content.matches("struct ").count();
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_struct_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_path`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1792:40
[INFO] [stdout]      |
[INFO] [stdout] 1792 |     fn run_performance_analysis(&self, input_path: &str) -> Result<PerformanceData> {
[INFO] [stdout]      |                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_path`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1816:35
[INFO] [stdout]      |
[INFO] [stdout] 1816 |     fn run_clippy_analysis(&self, input_path: &str) -> Result<Vec<ClippyIssue>> {
[INFO] [stdout]      |                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aggressive`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:2159:13
[INFO] [stdout]      |
[INFO] [stdout] 2159 |         let aggressive = matches.get_flag("aggressive");
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggressive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min_complexity`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:2161:13
[INFO] [stdout]      |
[INFO] [stdout] 2161 |         let min_complexity: u32 = matches
[INFO] [stdout]      |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_complexity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_line_length`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:2166:13
[INFO] [stdout]      |
[INFO] [stdout] 2166 |         let max_line_length: usize = matches
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_line_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backup_dir`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:2171:13
[INFO] [stdout]      |
[INFO] [stdout] 2171 |         let backup_dir = matches.get_one::<String>("backup-dir").unwrap();
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_backup_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `structs`
[INFO] [stdout]    --> src/tools/rust_mentor.rs:657:9
[INFO] [stdout]     |
[INFO] [stdout] 657 |         structs: &[StructAnalysis],
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_structs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `traits`
[INFO] [stdout]    --> src/tools/rust_mentor.rs:658:9
[INFO] [stdout]     |
[INFO] [stdout] 658 |         traits: &[TraitAnalysis],
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_traits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `traits`
[INFO] [stdout]    --> src/tools/rust_mentor.rs:686:9
[INFO] [stdout]     |
[INFO] [stdout] 686 |         traits: &[TraitAnalysis],
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_traits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `traits`
[INFO] [stdout]    --> src/tools/rust_mentor.rs:729:9
[INFO] [stdout]     |
[INFO] [stdout] 729 |         traits: &[TraitAnalysis],
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_traits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `structs`
[INFO] [stdout]    --> src/tools/rust_mentor.rs:800:9
[INFO] [stdout]     |
[INFO] [stdout] 800 |         structs: &[StructAnalysis],
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_structs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `traits`
[INFO] [stdout]    --> src/tools/rust_mentor.rs:801:9
[INFO] [stdout]     |
[INFO] [stdout] 801 |         traits: &[TraitAnalysis],
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_traits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dry_run`
[INFO] [stdout]     --> src/tools/rust_mentor.rs:1007:13
[INFO] [stdout]      |
[INFO] [stdout] 1007 |         let dry_run = matches.get_flag("dry-run");
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dry_run`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `structs`
[INFO] [stdout]    --> src/tools/refactor_engine.rs:376:9
[INFO] [stdout]     |
[INFO] [stdout] 376 |         structs: &[StructInfo],
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_structs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools/refactor_engine.rs:504:13
[INFO] [stdout]     |
[INFO] [stdout] 504 |         let mut dependencies = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_dir_name`
[INFO] [stdout]    --> src/tools/refactor_engine.rs:509:21
[INFO] [stdout]     |
[INFO] [stdout] 509 |                 let sub_dir_name = path
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_dir_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_path`
[INFO] [stdout]    --> src/tools/refactor_engine.rs:592:48
[INFO] [stdout]     |
[INFO] [stdout] 592 |             fn analyze_function(node: &ItemFn, file_path: &str) -> Result<FunctionInfo> {
[INFO] [stdout]     |                                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dry_run`
[INFO] [stdout]    --> src/tools/release_automation.rs:261:9
[INFO] [stdout]     |
[INFO] [stdout] 261 |         dry_run: bool,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dry_run`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/tools/refactor_engine.rs:905:37
[INFO] [stdout]     |
[INFO] [stdout] 905 |             fn analyze_impl_methods(node: &ItemStruct, file_path: &str) -> Vec<String> {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_path`
[INFO] [stdout]    --> src/tools/refactor_engine.rs:905:56
[INFO] [stdout]     |
[INFO] [stdout] 905 |             fn analyze_impl_methods(node: &ItemStruct, file_path: &str) -> Vec<String> {
[INFO] [stdout]     |                                                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_path`
[INFO] [stdout]    --> src/tools/refactor_engine.rs:910:17
[INFO] [stdout]     |
[INFO] [stdout] 910 |                 file_path: &str,
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `changelog`
[INFO] [stdout]    --> src/tools/release_automation.rs:410:13
[INFO] [stdout]     |
[INFO] [stdout] 410 |         let changelog = matches.get_flag("changelog");
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_changelog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `validate`
[INFO] [stdout]    --> src/tools/release_automation.rs:413:13
[INFO] [stdout]     |
[INFO] [stdout] 413 |         let validate = matches.get_flag("validate");
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_validate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `structs`
[INFO] [stdout]    --> src/tools/refactor_engine.rs:997:9
[INFO] [stdout]     |
[INFO] [stdout] 997 |         structs: &[StructInfo],
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_structs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `structs`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1096:9
[INFO] [stdout]      |
[INFO] [stdout] 1096 |         structs: &[StructInfo],
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_structs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `traits`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1097:9
[INFO] [stdout]      |
[INFO] [stdout] 1097 |         traits: &[TraitInfo],
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_traits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `traits`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1161:9
[INFO] [stdout]      |
[INFO] [stdout] 1161 |         traits: &[TraitInfo],
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_traits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1345:9
[INFO] [stdout]      |
[INFO] [stdout] 1345 |         function_name: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1358:9
[INFO] [stdout]      |
[INFO] [stdout] 1358 |         function_name: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1386:9
[INFO] [stdout]      |
[INFO] [stdout] 1386 |         function_name: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1433:9
[INFO] [stdout]      |
[INFO] [stdout] 1433 |         function_name: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1444:9
[INFO] [stdout]      |
[INFO] [stdout] 1444 |         function_name: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transformation`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1542:9
[INFO] [stdout]      |
[INFO] [stdout] 1542 |         transformation: &SafeTransformation,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transformation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1738:13
[INFO] [stdout]      |
[INFO] [stdout] 1738 |         let mut deallocation_count = allocation_count;
[INFO] [stdout]      |             ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `struct_count`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1733:13
[INFO] [stdout]      |
[INFO] [stdout] 1733 |         let struct_count = content.matches("struct ").count();
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_struct_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_path`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1792:40
[INFO] [stdout]      |
[INFO] [stdout] 1792 |     fn run_performance_analysis(&self, input_path: &str) -> Result<PerformanceData> {
[INFO] [stdout]      |                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_path`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:1816:35
[INFO] [stdout]      |
[INFO] [stdout] 1816 |     fn run_clippy_analysis(&self, input_path: &str) -> Result<Vec<ClippyIssue>> {
[INFO] [stdout]      |                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aggressive`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:2159:13
[INFO] [stdout]      |
[INFO] [stdout] 2159 |         let aggressive = matches.get_flag("aggressive");
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggressive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min_complexity`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:2161:13
[INFO] [stdout]      |
[INFO] [stdout] 2161 |         let min_complexity: u32 = matches
[INFO] [stdout]      |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_complexity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_line_length`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:2166:13
[INFO] [stdout]      |
[INFO] [stdout] 2166 |         let max_line_length: usize = matches
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_line_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backup_dir`
[INFO] [stdout]     --> src/tools/refactor_engine.rs:2171:13
[INFO] [stdout]      |
[INFO] [stdout] 2171 |         let backup_dir = matches.get_one::<String>("backup-dir").unwrap();
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_backup_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strict_mode`
[INFO] [stdout]    --> src/tools/async_lint.rs:522:13
[INFO] [stdout]     |
[INFO] [stdout] 522 |         let strict_mode = matches.get_flag("strict");
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strict_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `structs`
[INFO] [stdout]    --> src/tools/rust_mentor.rs:657:9
[INFO] [stdout]     |
[INFO] [stdout] 657 |         structs: &[StructAnalysis],
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_structs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `traits`
[INFO] [stdout]    --> src/tools/rust_mentor.rs:658:9
[INFO] [stdout]     |
[INFO] [stdout] 658 |         traits: &[TraitAnalysis],
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_traits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `traits`
[INFO] [stdout]    --> src/tools/rust_mentor.rs:686:9
[INFO] [stdout]     |
[INFO] [stdout] 686 |         traits: &[TraitAnalysis],
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_traits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `traits`
[INFO] [stdout]    --> src/tools/rust_mentor.rs:729:9
[INFO] [stdout]     |
[INFO] [stdout] 729 |         traits: &[TraitAnalysis],
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_traits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `structs`
[INFO] [stdout]    --> src/tools/rust_mentor.rs:800:9
[INFO] [stdout]     |
[INFO] [stdout] 800 |         structs: &[StructAnalysis],
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_structs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `traits`
[INFO] [stdout]    --> src/tools/rust_mentor.rs:801:9
[INFO] [stdout]     |
[INFO] [stdout] 801 |         traits: &[TraitAnalysis],
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_traits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dry_run`
[INFO] [stdout]     --> src/tools/rust_mentor.rs:1007:13
[INFO] [stdout]      |
[INFO] [stdout] 1007 |         let dry_run = matches.get_flag("dry-run");
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dry_run`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tests`
[INFO] [stdout]    --> src/tools/crud_gen.rs:807:13
[INFO] [stdout]     |
[INFO] [stdout] 807 |         let tests = matches.get_flag("tests");
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_tests`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dry_run`
[INFO] [stdout]    --> src/tools/release_automation.rs:261:9
[INFO] [stdout]     |
[INFO] [stdout] 261 |         dry_run: bool,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dry_run`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `changelog`
[INFO] [stdout]    --> src/tools/release_automation.rs:410:13
[INFO] [stdout]     |
[INFO] [stdout] 410 |         let changelog = matches.get_flag("changelog");
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_changelog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `validate`
[INFO] [stdout]    --> src/tools/release_automation.rs:413:13
[INFO] [stdout]     |
[INFO] [stdout] 413 |         let validate = matches.get_flag("validate");
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_validate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req_body`
[INFO] [stdout]    --> src/tools/proto_bind.rs:606:25
[INFO] [stdout]     |
[INFO] [stdout] 606 |             if let Some(req_body) = &path.request_body {
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_req_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tools/example_gen.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut functions: Vec<FunctionInfo> = Vec::new();
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `functions`
[INFO] [stdout]   --> src/tools/example_gen.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut functions: Vec<FunctionInfo> = Vec::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_functions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strict_mode`
[INFO] [stdout]    --> src/tools/async_lint.rs:522:13
[INFO] [stdout]     |
[INFO] [stdout] 522 |         let strict_mode = matches.get_flag("strict");
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strict_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tests`
[INFO] [stdout]    --> src/tools/crud_gen.rs:807:13
[INFO] [stdout]     |
[INFO] [stdout] 807 |         let tests = matches.get_flag("tests");
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_tests`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req_body`
[INFO] [stdout]    --> src/tools/proto_bind.rs:606:25
[INFO] [stdout]     |
[INFO] [stdout] 606 |             if let Some(req_body) = &path.request_body {
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_req_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tools/example_gen.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut functions: Vec<FunctionInfo> = Vec::new();
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `functions`
[INFO] [stdout]   --> src/tools/example_gen.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut functions: Vec<FunctionInfo> = Vec::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_functions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `non_breaking_changes`
[INFO] [stdout]    --> src/tools/api_changelog.rs:447:9
[INFO] [stdout]     |
[INFO] [stdout] 447 |         non_breaking_changes: &mut Vec<NonBreakingChange>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_non_breaking_changes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `non_breaking_changes`
[INFO] [stdout]    --> src/tools/api_changelog.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |         non_breaking_changes: &mut Vec<NonBreakingChange>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_non_breaking_changes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `migration_guide`
[INFO] [stdout]     --> src/tools/api_changelog.rs:1041:13
[INFO] [stdout]      |
[INFO] [stdout] 1041 |         let migration_guide = matches.get_flag("migration-guide");
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_migration_guide`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `detailed`
[INFO] [stdout]     --> src/tools/api_changelog.rs:1043:13
[INFO] [stdout]      |
[INFO] [stdout] 1043 |         let detailed = matches.get_flag("detailed");
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_detailed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `usage_analysis`
[INFO] [stdout]    --> src/tools/trait_explorer.rs:745:13
[INFO] [stdout]     |
[INFO] [stdout] 745 |         let usage_analysis = matches.get_flag("usage");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usage_analysis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `workspace`
[INFO] [stdout]    --> src/tools/trait_explorer.rs:750:13
[INFO] [stdout]     |
[INFO] [stdout] 750 |         let workspace = matches.get_flag("workspace");
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `usage_patterns`
[INFO] [stdout]    --> src/tools/trait_explorer.rs:793:13
[INFO] [stdout]     |
[INFO] [stdout] 793 |         let usage_patterns = self.analyze_trait_usage(&filtered_implementations)?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usage_patterns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `output_content` is never read
[INFO] [stdout]    --> src/tools/trait_explorer.rs:807:34
[INFO] [stdout]     |
[INFO] [stdout] 807 |         let mut output_content = String::new();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 826 |             output_content = self
[INFO] [stdout]     |             -------------- `output_content` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stat`
[INFO] [stdout]    --> src/tools/env_check.rs:190:19
[INFO] [stdout]     |
[INFO] [stdout] 190 |         if let Ok(stat) = fs::metadata(".") { 100 } else { 0 }
[INFO] [stdout]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_stat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_type`
[INFO] [stdout]    --> src/tools/feature_map.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 266 |             let node_type = if info.default {
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `workspace`
[INFO] [stdout]    --> src/tools/feature_map.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |         workspace: bool,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conflicts`
[INFO] [stdout]    --> src/tools/feature_map.rs:514:13
[INFO] [stdout]     |
[INFO] [stdout] 514 |         let conflicts = matches.get_flag("conflicts");
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conflicts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `combinations`
[INFO] [stdout]    --> src/tools/feature_map.rs:515:13
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let combinations = matches.get_flag("combinations");
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_combinations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `optimize`
[INFO] [stdout]    --> src/tools/feature_map.rs:518:13
[INFO] [stdout]     |
[INFO] [stdout] 518 |         let optimize = matches.get_flag("optimize");
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_optimize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `impact`
[INFO] [stdout]    --> src/tools/feature_map.rs:520:13
[INFO] [stdout]     |
[INFO] [stdout] 520 |         let impact = matches.get_flag("impact");
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_impact`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `non_breaking_changes`
[INFO] [stdout]    --> src/tools/api_changelog.rs:447:9
[INFO] [stdout]     |
[INFO] [stdout] 447 |         non_breaking_changes: &mut Vec<NonBreakingChange>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_non_breaking_changes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `non_breaking_changes`
[INFO] [stdout]    --> src/tools/api_changelog.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |         non_breaking_changes: &mut Vec<NonBreakingChange>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_non_breaking_changes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `migration_guide`
[INFO] [stdout]     --> src/tools/api_changelog.rs:1041:13
[INFO] [stdout]      |
[INFO] [stdout] 1041 |         let migration_guide = matches.get_flag("migration-guide");
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_migration_guide`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `detailed`
[INFO] [stdout]     --> src/tools/api_changelog.rs:1043:13
[INFO] [stdout]      |
[INFO] [stdout] 1043 |         let detailed = matches.get_flag("detailed");
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_detailed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `usage_analysis`
[INFO] [stdout]    --> src/tools/trait_explorer.rs:745:13
[INFO] [stdout]     |
[INFO] [stdout] 745 |         let usage_analysis = matches.get_flag("usage");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usage_analysis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `workspace`
[INFO] [stdout]    --> src/tools/trait_explorer.rs:750:13
[INFO] [stdout]     |
[INFO] [stdout] 750 |         let workspace = matches.get_flag("workspace");
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `usage_patterns`
[INFO] [stdout]    --> src/tools/trait_explorer.rs:793:13
[INFO] [stdout]     |
[INFO] [stdout] 793 |         let usage_patterns = self.analyze_trait_usage(&filtered_implementations)?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usage_patterns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `output_content` is never read
[INFO] [stdout]    --> src/tools/trait_explorer.rs:807:34
[INFO] [stdout]     |
[INFO] [stdout] 807 |         let mut output_content = String::new();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 826 |             output_content = self
[INFO] [stdout]     |             -------------- `output_content` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `manifest_path`
[INFO] [stdout]   --> src/tools/vendorize.rs:84:36
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn analyze_dependencies(&self, manifest_path: &str) -> Result<DependencyAnalysis> {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manifest_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `force`
[INFO] [stdout]    --> src/tools/vendorize.rs:549:13
[INFO] [stdout]     |
[INFO] [stdout] 549 |         let force = matches.get_flag("force");
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_force`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `highlight`
[INFO] [stdout]    --> src/tools/macro_expand.rs:407:13
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let highlight = matches.get_flag("highlight");
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_highlight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `interactive`
[INFO] [stdout]    --> src/tools/macro_expand.rs:410:13
[INFO] [stdout]     |
[INFO] [stdout] 410 |         let interactive = matches.get_flag("interactive");
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interactive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]    --> src/tools/macro_expand.rs:412:13
[INFO] [stdout]     |
[INFO] [stdout] 412 |         let format = matches.get_one::<String>("format").unwrap();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stat`
[INFO] [stdout]    --> src/tools/env_check.rs:190:19
[INFO] [stdout]     |
[INFO] [stdout] 190 |         if let Ok(stat) = fs::metadata(".") { 100 } else { 0 }
[INFO] [stdout]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_stat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools/lifetime_visualizer.rs:560:24
[INFO] [stdout]     |
[INFO] [stdout] 560 |                     Ok(mut functions) => all_functions.extend(functions),
[INFO] [stdout]     |                        ----^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `interactive`
[INFO] [stdout]    --> src/tools/lifetime_visualizer.rs:544:13
[INFO] [stdout]     |
[INFO] [stdout] 544 |         let interactive = matches.get_flag("interactive");
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interactive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_type`
[INFO] [stdout]    --> src/tools/feature_map.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 266 |             let node_type = if info.default {
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `workspace`
[INFO] [stdout]    --> src/tools/feature_map.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |         workspace: bool,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conflicts`
[INFO] [stdout]    --> src/tools/feature_map.rs:514:13
[INFO] [stdout]     |
[INFO] [stdout] 514 |         let conflicts = matches.get_flag("conflicts");
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conflicts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `combinations`
[INFO] [stdout]    --> src/tools/feature_map.rs:515:13
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let combinations = matches.get_flag("combinations");
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_combinations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `optimize`
[INFO] [stdout]    --> src/tools/feature_map.rs:518:13
[INFO] [stdout]     |
[INFO] [stdout] 518 |         let optimize = matches.get_flag("optimize");
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_optimize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `impact`
[INFO] [stdout]    --> src/tools/feature_map.rs:520:13
[INFO] [stdout]     |
[INFO] [stdout] 520 |         let impact = matches.get_flag("impact");
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_impact`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `threshold`
[INFO] [stdout]    --> src/tools/compile_time_tracker.rs:488:13
[INFO] [stdout]     |
[INFO] [stdout] 488 |         let threshold: f64 = matches
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threshold`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_file`
[INFO] [stdout]    --> src/tools/compile_time_tracker.rs:498:13
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let output_file = matches.get_one::<String>("output").unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `manifest_path`
[INFO] [stdout]   --> src/tools/vendorize.rs:84:36
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn analyze_dependencies(&self, manifest_path: &str) -> Result<DependencyAnalysis> {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manifest_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `force`
[INFO] [stdout]    --> src/tools/vendorize.rs:549:13
[INFO] [stdout]     |
[INFO] [stdout] 549 |         let force = matches.get_flag("force");
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_force`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_type`
[INFO] [stdout]    --> src/tools/mock_derive.rs:185:21
[INFO] [stdout]     |
[INFO] [stdout] 185 |         if let Some(return_type) = &method.return_type {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_async`
[INFO] [stdout]    --> src/tools/mock_derive.rs:400:13
[INFO] [stdout]     |
[INFO] [stdout] 400 |         let include_async = matches.get_flag("include-async");
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_async`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_path`
[INFO] [stdout]    --> src/tools/mock_derive.rs:437:14
[INFO] [stdout]     |
[INFO] [stdout] 437 |         for (file_path, trait_info) in &all_traits {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `highlight`
[INFO] [stdout]    --> src/tools/macro_expand.rs:407:13
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let highlight = matches.get_flag("highlight");
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_highlight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `interactive`
[INFO] [stdout]    --> src/tools/macro_expand.rs:410:13
[INFO] [stdout]     |
[INFO] [stdout] 410 |         let interactive = matches.get_flag("interactive");
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interactive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]    --> src/tools/macro_expand.rs:412:13
[INFO] [stdout]     |
[INFO] [stdout] 412 |         let format = matches.get_one::<String>("format").unwrap();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tool`
[INFO] [stdout]    --> src/tools/coverage_guard.rs:435:13
[INFO] [stdout]     |
[INFO] [stdout] 435 |         let tool = matches.get_one::<String>("tool").unwrap();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_tool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools/lifetime_visualizer.rs:560:24
[INFO] [stdout]     |
[INFO] [stdout] 560 |                     Ok(mut functions) => all_functions.extend(functions),
[INFO] [stdout]     |                        ----^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `interactive`
[INFO] [stdout]    --> src/tools/lifetime_visualizer.rs:544:13
[INFO] [stdout]     |
[INFO] [stdout] 544 |         let interactive = matches.get_flag("interactive");
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interactive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `threshold`
[INFO] [stdout]    --> src/tools/compile_time_tracker.rs:488:13
[INFO] [stdout]     |
[INFO] [stdout] 488 |         let threshold: f64 = matches
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threshold`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_file`
[INFO] [stdout]    --> src/tools/compile_time_tracker.rs:498:13
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let output_file = matches.get_one::<String>("output").unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cargo-mate` (lib); 245 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/24e1a22664233bce1f9b5dc6eee7c1f74327e28c/bin/rustc --crate-name cargo_mate --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type rlib --emit=dep-info,metadata -C opt-level=1 -C embed-bitcode=no -C codegen-units=128 -C debuginfo=1 -C debug-assertions=on --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("console_log", "default", "embedded_binary", "pristine", "shine"))' -C metadata=04e0726df16264b9 -C extra-filename=-307c63d9c9f6c8c4 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern aes_gcm=/opt/rustwide/target/debug/deps/libaes_gcm-2dd303d707bafd1c.rmeta --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-00e2f705fe4dc125.rmeta --extern atty=/opt/rustwide/target/debug/deps/libatty-22393c2712c27272.rmeta --extern base64=/opt/rustwide/target/debug/deps/libbase64-155c2afeb6f5e69b.rmeta --extern blake3=/opt/rustwide/target/debug/deps/libblake3-1501061e73e74b77.rmeta --extern cargo_metadata=/opt/rustwide/target/debug/deps/libcargo_metadata-a45fce34b14d5278.rmeta --extern chacha20poly1305=/opt/rustwide/target/debug/deps/libchacha20poly1305-1e0df47078065c9e.rmeta --extern chrono=/opt/rustwide/target/debug/deps/libchrono-4e5e626a60cd4807.rmeta --extern clap=/opt/rustwide/target/debug/deps/libclap-a198d08fe9b10b9a.rmeta --extern colored=/opt/rustwide/target/debug/deps/libcolored-f4e430c4468fadf6.rmeta --extern crossterm=/opt/rustwide/target/debug/deps/libcrossterm-15efe3e285e6bf10.rmeta --extern dirs=/opt/rustwide/target/debug/deps/libdirs-e386cb0be6c6d4cd.rmeta --extern dotenvy=/opt/rustwide/target/debug/deps/libdotenvy-91570b7c6c2aaa0d.rmeta --extern flate2=/opt/rustwide/target/debug/deps/libflate2-72781747cc76baa1.rmeta --extern glob=/opt/rustwide/target/debug/deps/libglob-a6316cc29be259cd.rmeta --extern handlebars=/opt/rustwide/target/debug/deps/libhandlebars-e4fb83778e1795c3.rmeta --extern hkdf=/opt/rustwide/target/debug/deps/libhkdf-f44a34dc452a5b08.rmeta --extern indicatif=/opt/rustwide/target/debug/deps/libindicatif-22db6080a69ed3c7.rmeta --extern log=/opt/rustwide/target/debug/deps/liblog-1890a93e8ad80bfd.rmeta --extern nix=/opt/rustwide/target/debug/deps/libnix-0d9e16e746006ebe.rmeta --extern notify=/opt/rustwide/target/debug/deps/libnotify-712aa765ae3aea53.rmeta --extern notify_debouncer_mini=/opt/rustwide/target/debug/deps/libnotify_debouncer_mini-0379caae118d6bcc.rmeta --extern num_cpus=/opt/rustwide/target/debug/deps/libnum_cpus-45ae1918fca32a3a.rmeta --extern petgraph=/opt/rustwide/target/debug/deps/libpetgraph-5824d87df12fa5c9.rmeta --extern portable_pty=/opt/rustwide/target/debug/deps/libportable_pty-8f7058965cf7df4c.rmeta --extern predicates=/opt/rustwide/target/debug/deps/libpredicates-e845c0d2c4a8eae6.rmeta --extern prettyplease=/opt/rustwide/target/debug/deps/libprettyplease-44e5314a5ea7c916.rmeta --extern proc_macro2=/opt/rustwide/target/debug/deps/libproc_macro2-ff03d1a8d91ae271.rmeta --extern quote=/opt/rustwide/target/debug/deps/libquote-b5ff0a0daf762ced.rmeta --extern rand=/opt/rustwide/target/debug/deps/librand-38e4ef9157b4dfb6.rmeta --extern rand_chacha=/opt/rustwide/target/debug/deps/librand_chacha-9cd4fb15991afa7a.rmeta --extern ratatui=/opt/rustwide/target/debug/deps/libratatui-64d28b05abdab258.rmeta --extern rayon=/opt/rustwide/target/debug/deps/librayon-d99a5733fe9fe84c.rmeta --extern regex=/opt/rustwide/target/debug/deps/libregex-9e1cd47cd7922f03.rmeta --extern reqwest=/opt/rustwide/target/debug/deps/libreqwest-8d0fc881466e342e.rmeta --extern rpassword=/opt/rustwide/target/debug/deps/librpassword-0cb7c6f347df1449.rmeta --extern rusqlite=/opt/rustwide/target/debug/deps/librusqlite-53af5f0ee1b232cd.rmeta --extern rustc_version=/opt/rustwide/target/debug/deps/librustc_version-400f5f6574003f6a.rmeta --extern semver=/opt/rustwide/target/debug/deps/libsemver-1effa747d3a7996b.rmeta --extern serde=/opt/rustwide/target/debug/deps/libserde-90ace973bcbd5bae.rmeta --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-a39adbde48fc9ed1.rmeta --extern serde_yaml=/opt/rustwide/target/debug/deps/libserde_yaml-4074775e9f2b4810.rmeta --extern sha2=/opt/rustwide/target/debug/deps/libsha2-3280238d145132bc.rmeta --extern shell_words=/opt/rustwide/target/debug/deps/libshell_words-1cce2591c2b60b14.rmeta --extern subprocess=/opt/rustwide/target/debug/deps/libsubprocess-0a007f41e1efdbc8.rmeta --extern syn=/opt/rustwide/target/debug/deps/libsyn-3748508058ee92da.rmeta --extern tar=/opt/rustwide/target/debug/deps/libtar-b6a93c9f067656dd.rmeta --extern tempfile=/opt/rustwide/target/debug/deps/libtempfile-f382528b9fa3b48a.rmeta --extern thiserror=/opt/rustwide/target/debug/deps/libthiserror-ec17170832e2e339.rmeta --extern tokio=/opt/rustwide/target/debug/deps/libtokio-e42f4b68c3e00e0d.rmeta --extern toml=/opt/rustwide/target/debug/deps/libtoml-6b0ab5a1e175a77c.rmeta --extern urlencoding=/opt/rustwide/target/debug/deps/liburlencoding-9c4db26553878fd0.rmeta --extern uuid=/opt/rustwide/target/debug/deps/libuuid-86bcdca364509824.rmeta --extern walkdir=/opt/rustwide/target/debug/deps/libwalkdir-082009fa9f3757ac.rmeta --extern which=/opt/rustwide/target/debug/deps/libwhich-2d202a3d00bfaba3.rmeta --cap-lints=forbid -L native=/opt/rustwide/target/debug/build/blake3-5b3f0a845978e8f4/out -L native=/opt/rustwide/target/debug/build/blake3-5b3f0a845978e8f4/out -L native=/opt/rustwide/target/debug/build/ring-f5a9c0e5eb448088/out -L native=/opt/rustwide/target/debug/build/libsqlite3-sys-5db84fca5480064d/out` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `return_type`
[INFO] [stdout]    --> src/tools/mock_derive.rs:185:21
[INFO] [stdout]     |
[INFO] [stdout] 185 |         if let Some(return_type) = &method.return_type {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_async`
[INFO] [stdout]    --> src/tools/mock_derive.rs:400:13
[INFO] [stdout]     |
[INFO] [stdout] 400 |         let include_async = matches.get_flag("include-async");
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_async`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_path`
[INFO] [stdout]    --> src/tools/mock_derive.rs:437:14
[INFO] [stdout]     |
[INFO] [stdout] 437 |         for (file_path, trait_info) in &all_traits {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tool`
[INFO] [stdout]    --> src/tools/coverage_guard.rs:435:13
[INFO] [stdout]     |
[INFO] [stdout] 435 |         let tool = matches.get_one::<String>("tool").unwrap();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_tool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_name`
[INFO] [stdout]    --> src/tools/snapshot_test.rs:132:38
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn generate_snapshot_name(&self, test_name: &str, snapshot_name: &str) -> String {
[INFO] [stdout]     |                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]    --> src/tools/snapshot_test.rs:337:13
[INFO] [stdout]     |
[INFO] [stdout] 337 |         let pattern = matches.get_one::<String>("pattern");
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `meta`
[INFO] [stdout]   --> src/tools/migration_gen.rs:99:48
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 if let Ok(syn::Meta::NameValue(meta)) = attr.parse_args::<syn::Meta>() {
[INFO] [stdout]    |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `database`
[INFO] [stdout]    --> src/tools/migration_gen.rs:497:13
[INFO] [stdout]     |
[INFO] [stdout] 497 |         let database = matches.get_one::<String>("database").unwrap();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_database`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `existing_schema`
[INFO] [stdout]    --> src/tools/migration_gen.rs:498:13
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let existing_schema = matches.get_one::<String>("existing-schema");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_existing_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `framework`
[INFO] [stdout]    --> src/tools/migration_gen.rs:501:13
[INFO] [stdout]     |
[INFO] [stdout] 501 |         let framework = matches.get_one::<String>("framework").unwrap();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_framework`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tools/serde_validator.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let mut has_derive_serde = false;
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `meta_list`
[INFO] [stdout]   --> src/tools/serde_validator.rs:83:38
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 if let Ok(Meta::List(meta_list)) = attr.parse_args::<syn::Meta>() {
[INFO] [stdout]    |                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_meta_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools/serde_validator.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let mut default_value = None;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools/serde_validator.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut rename = None;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools/serde_validator.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut skip_serializing = false;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tools/serde_validator.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut skip_deserializing = false;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `meta_list`
[INFO] [stdout]    --> src/tools/serde_validator.rs:119:38
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 if let Ok(Meta::List(meta_list)) = attr.parse_args::<syn::Meta>() {
[INFO] [stdout]     |                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_meta_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `security_icon`
[INFO] [stdout]    --> src/tools/sql_macro_check.rs:357:29
[INFO] [stdout]     |
[INFO] [stdout] 357 |                         let security_icon = if analysis.security_score >= 80 {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_security_icon`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `performance_icon`
[INFO] [stdout]    --> src/tools/sql_macro_check.rs:362:29
[INFO] [stdout]     |
[INFO] [stdout] 362 |                         let performance_icon = if analysis.performance_score >= 80 {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_performance_icon`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fix_suggestions`
[INFO] [stdout]    --> src/tools/sql_macro_check.rs:551:13
[INFO] [stdout]     |
[INFO] [stdout] 551 |         let fix_suggestions = matches.get_flag("fix-suggestions");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fix_suggestions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library`
[INFO] [stdout]    --> src/tools/sql_macro_check.rs:552:13
[INFO] [stdout]     |
[INFO] [stdout] 552 |         let library = matches.get_one::<String>("library").unwrap();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]    --> src/tools/secret_scanner.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         pattern: &SecretPattern,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `finding`
[INFO] [stdout]    --> src/tools/secret_scanner.rs:603:22
[INFO] [stdout]     |
[INFO] [stdout] 603 |             .filter(|finding| {
[INFO] [stdout]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_finding`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exclude_vendor`
[INFO] [stdout]    --> src/tools/secret_scanner.rs:558:13
[INFO] [stdout]     |
[INFO] [stdout] 558 |         let exclude_vendor = matches.get_flag("exclude-vendor");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exclude_vendor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_tests`
[INFO] [stdout]    --> src/tools/secret_scanner.rs:559:13
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let include_tests = matches.get_flag("include-tests");
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_tests`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/tools/unsafe_analyzer.rs:115:54
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn generate_suggestion(&self, unsafe_type: &str, context: &str) -> String {
[INFO] [stdout]     |                                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_risky`
[INFO] [stdout]    --> src/tools/unsafe_analyzer.rs:376:13
[INFO] [stdout]     |
[INFO] [stdout] 376 |         let total_risky = critical_count + high_count + medium_count;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_risky`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `show_context`
[INFO] [stdout]    --> src/tools/unsafe_analyzer.rs:656:13
[INFO] [stdout]     |
[INFO] [stdout] 656 |         let show_context = matches.get_flag("show-context");
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_show_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/tools/license_bundler.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         version: &str,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `third_party_notices`
[INFO] [stdout]    --> src/tools/license_bundler.rs:646:13
[INFO] [stdout]     |
[INFO] [stdout] 646 |         let third_party_notices = matches.get_flag("third-party-notices");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_third_party_notices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]    --> src/tools/license_bundler.rs:647:13
[INFO] [stdout]     |
[INFO] [stdout] 647 |         let format = matches.get_one::<String>("format").unwrap();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exclude_dev`
[INFO] [stdout]    --> src/tools/license_bundler.rs:648:13
[INFO] [stdout]     |
[INFO] [stdout] 648 |         let exclude_dev = matches.get_flag("exclude-dev");
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exclude_dev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `IdeaHistoryEntry` is more private than the item `get_idea_history`
[INFO] [stdout]   --> src/cmd/idea.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn get_idea_history(limit: usize) -> Result<Vec<IdeaHistoryEntry>> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `get_idea_history` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `IdeaHistoryEntry` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/cmd/idea.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | struct IdeaHistoryEntry {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PrintContext` is more private than the item `PrintStatement::context`
[INFO] [stdout]    --> src/sweeping/src/away.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub context: PrintContext,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ field `PrintStatement::context` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PrintContext` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/sweeping/src/away.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | enum PrintContext {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `checkout_git_commit` is never used
[INFO] [stdout]    --> src/anchor.rs:379:8
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl AnchorManager {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 379 |     fn checkout_git_commit(&self, commit: &str) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]  --> src/captain/create_secure_binary.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn main() -> Result<()> {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_secure_binary` is never used
[INFO] [stdout]   --> src/captain/create_secure_binary.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn create_secure_binary(input_path: &str, output_path: &str, key: &str) -> Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_self_protected_binary` is never used
[INFO] [stdout]  --> src/captain/create_self_protected_binary.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn create_self_protected_binary(
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinaryEncryptor` is never constructed
[INFO] [stdout]  --> src/captain/encrypt_binaries.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct BinaryEncryptor {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `xor_encrypt`, `encrypt_binary`, and `create_self_decrypting_binary` are never used
[INFO] [stdout]   --> src/captain/encrypt_binaries.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl BinaryEncryptor {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 10 |     fn new(key: &str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn xor_encrypt(&self, data: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn encrypt_binary(&self, input_path: &Path, output_path: &Path) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn create_self_decrypting_binary(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encrypt_releases_directory` is never used
[INFO] [stdout]    --> src/captain/encrypt_binaries.rs:113:4
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn encrypt_releases_directory(releases_dir: &Path, encryption_key: &str) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_self_decrypting_releases` is never used
[INFO] [stdout]    --> src/captain/encrypt_binaries.rs:136:4
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn create_self_decrypting_releases(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_ip_address` and `fetch_external_ip` are never used
[INFO] [stdout]    --> src/captain/license.rs:468:8
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl LicenseManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 468 |     fn get_ip_address(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 482 |     fn fetch_external_ip(&self) -> Result<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]    --> src/captain/treasure_map.rs:452:5
[INFO] [stdout]     |
[INFO] [stdout] 449 | enum NodeColor {
[INFO] [stdout]     |      --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 452 |     Red,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NodeColor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/cmd/tree.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct FileInfo {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] 45 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/cmd/tree.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | struct DirInfo {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] 53 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DirInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `extensions` is never read
[INFO] [stdout]   --> src/cmd/stub.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct StubOptions {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] 21 |     extensions: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StubOptions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `blocking_compilation` and `frequently_ignored` are never read
[INFO] [stdout]    --> src/display.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct PriorityWeights {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout]  99 |     never_seen_before: f32,
[INFO] [stdout] 100 |     blocking_compilation: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 101 |     has_quick_fix: f32,
[INFO] [stdout] 102 |     frequently_ignored: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PriorityWeights` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `priority` is never read
[INFO] [stdout]    --> src/display.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct CoachingTip {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 159 |     priority: u8,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CoachingTip` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_publish_version_check` is never used
[INFO] [stdout]    --> src/display.rs:917:4
[INFO] [stdout]     |
[INFO] [stdout] 917 | fn handle_publish_version_check() -> Result<(), anyhow::Error> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_package_name` is never used
[INFO] [stdout]    --> src/display.rs:974:4
[INFO] [stdout]     |
[INFO] [stdout] 974 | fn extract_package_name(cargo_toml: &str) -> Result<String, anyhow::Error> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_package_version` is never used
[INFO] [stdout]    --> src/display.rs:987:4
[INFO] [stdout]     |
[INFO] [stdout] 987 | fn extract_package_version(cargo_toml: &str) -> Result<String, anyhow::Error> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `increment_version` is never used
[INFO] [stdout]     --> src/display.rs:1000:4
[INFO] [stdout]      |
[INFO] [stdout] 1000 | fn increment_version(version: &str) -> Result<String, anyhow::Error> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_cargo_toml_version` is never used
[INFO] [stdout]     --> src/display.rs:1020:4
[INFO] [stdout]      |
[INFO] [stdout] 1020 | fn update_cargo_toml_version(cargo_toml: &str, old_version: &str, new_version: &str) -> Result<(), anyhow::Error> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `start_time` is never read
[INFO] [stdout]   --> src/journey.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct JourneyRecorder {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 66 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_command_from_buffer` is never used
[INFO] [stdout]    --> src/journey.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl JourneyRecorder {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn parse_command_from_buffer(buffer: &str) -> Option<JourneyCommand> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_flake_iterations` is never used
[INFO] [stdout]    --> src/probe.rs:358:4
[INFO] [stdout]     |
[INFO] [stdout] 358 | fn run_flake_iterations(binary: &Path, iterations: usize) -> Result<FlakeResult> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_changed_files` is never used
[INFO] [stdout]    --> src/probe.rs:417:4
[INFO] [stdout]     |
[INFO] [stdout] 417 | fn get_changed_files(_base: &str, _head: &str) -> Result<Vec<String>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_source_to_probe_index` is never used
[INFO] [stdout]    --> src/probe.rs:423:4
[INFO] [stdout]     |
[INFO] [stdout] 423 | fn build_source_to_probe_index(cache_dir: &Path) -> Result<HashMap<String, Vec<String>>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_affected_probes` is never used
[INFO] [stdout]    --> src/probe.rs:451:4
[INFO] [stdout]     |
[INFO] [stdout] 451 | fn find_affected_probes(changed_files: &[String], index: &HashMap<String, Vec<String>>) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CoverageBackend` is never used
[INFO] [stdout]    --> src/probe.rs:501:6
[INFO] [stdout]     |
[INFO] [stdout] 501 | enum CoverageBackend {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_coverage_backend` is never used
[INFO] [stdout]    --> src/probe.rs:506:4
[INFO] [stdout]     |
[INFO] [stdout] 506 | fn detect_coverage_backend() -> CoverageBackend {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_llvm_cov_coverage` is never used
[INFO] [stdout]    --> src/probe.rs:515:4
[INFO] [stdout]     |
[INFO] [stdout] 515 | fn run_llvm_cov_coverage() -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_tarpaulin_coverage` is never used
[INFO] [stdout]    --> src/probe.rs:527:4
[INFO] [stdout]     |
[INFO] [stdout] 527 | fn run_tarpaulin_coverage() -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_html_report` is never used
[INFO] [stdout]    --> src/probe.rs:539:4
[INFO] [stdout]     |
[INFO] [stdout] 539 | fn generate_html_report() -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_html_report` is never used
[INFO] [stdout]    --> src/probe.rs:566:4
[INFO] [stdout]     |
[INFO] [stdout] 566 | fn open_html_report() -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_tag_index` is never used
[INFO] [stdout]    --> src/probe.rs:700:4
[INFO] [stdout]     |
[INFO] [stdout] 700 | fn load_tag_index() -> Result<Vec<TagEntry>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_probes_by_tags` is never used
[INFO] [stdout]    --> src/probe.rs:710:4
[INFO] [stdout]     |
[INFO] [stdout] 710 | fn filter_probes_by_tags(index: &[TagEntry], include_tags: &[String], exclude_tags: &[String]) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_containers` is never used
[INFO] [stdout]    --> src/probe.rs:825:4
[INFO] [stdout]     |
[INFO] [stdout] 825 | fn start_containers() -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_probes_with_env` is never used
[INFO] [stdout]    --> src/probe.rs:833:4
[INFO] [stdout]     |
[INFO] [stdout] 833 | fn run_probes_with_env() -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stop_containers` is never used
[INFO] [stdout]    --> src/probe.rs:844:4
[INFO] [stdout]     |
[INFO] [stdout] 844 | fn stop_containers() -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_snapshot` is never used
[INFO] [stdout]    --> src/probe.rs:880:4
[INFO] [stdout]     |
[INFO] [stdout] 880 | fn extract_snapshot(snapshot_dir: &Path, output_dir: &Path) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_environment` is never used
[INFO] [stdout]    --> src/probe.rs:888:4
[INFO] [stdout]     |
[INFO] [stdout] 888 | fn restore_environment(metadata: &ReplaySnapshot) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_probes` is never used
[INFO] [stdout]     --> src/probe.rs:1001:4
[INFO] [stdout]      |
[INFO] [stdout] 1001 | fn run_probes(probes: &[String]) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/scrubme/scrub.rs:731:4
[INFO] [stdout]     |
[INFO] [stdout] 731 | fn main() -> Result<()> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `content` is never read
[INFO] [stdout]    --> src/sweeping/src/away.rs:869:5
[INFO] [stdout]     |
[INFO] [stdout] 867 | struct PrintStatementVisitor<'a> {
[INFO] [stdout]     |        --------------------- field in this struct
[INFO] [stdout] 868 |     file_path: &'a Path,
[INFO] [stdout] 869 |     content: &'a str,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]     --> src/sweeping/src/away.rs:1090:4
[INFO] [stdout]      |
[INFO] [stdout] 1090 | fn main() -> Result<()> {
[INFO] [stdout]      |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `visibility` is never read
[INFO] [stdout]   --> src/tools/test_gen.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct FunctionInfo {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     visibility: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse_attribute_tokens` is never used
[INFO] [stdout]    --> src/tools/refactor_engine.rs:851:16
[INFO] [stdout]     |
[INFO] [stdout] 591 |         impl CodeVisitor<'_> {
[INFO] [stdout]     |         -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 851 |             fn parse_attribute_tokens(&self, attr: &syn::Attribute) -> Vec<String> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_file` is never read
[INFO] [stdout]    --> src/tools/rust_mentor.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 176 |         struct CodeVisitor<'a> {
[INFO] [stdout]     |                ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 180 |             current_file: String,
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReleaseConfig` is never constructed
[INFO] [stdout]   --> src/tools/release_automation.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct ReleaseConfig {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `detect_blocking_operations`, `analyze_await_patterns`, and `detect_deadlock_patterns` are never used
[INFO] [stdout]    --> src/tools/async_lint.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl AsyncLintTool {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn detect_blocking_operations(&self, ast: &syn::File) -> Vec<BlockingOperation> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     fn analyze_await_patterns(&self, functions: &[syn::ItemFn]) -> Vec<AwaitIssue> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     fn detect_deadlock_patterns(&self, ast: &syn::File) -> Vec<DeadlockRisk> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_path` is never read
[INFO] [stdout]    --> src/tools/async_lint.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 259 | struct AsyncVisitor {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] 260 |     file_path: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `number` is never read
[INFO] [stdout]   --> src/tools/proto_bind.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct ProtoField {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     number: u32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProtoField` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `extract_validation_from_meta` is never used
[INFO] [stdout]    --> src/tools/builder_gen.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout]  27 | impl BuilderGenTool {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 148 |     fn extract_validation_from_meta(&self, meta: &syn::Meta, rules: &mut Vec<String>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `attributes` and `line_number` are never read
[INFO] [stdout]   --> src/tools/trait_explorer.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct TraitDefinition {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     attributes: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 22 |     file_path: String,
[INFO] [stdout] 23 |     line_number: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TraitDefinition` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/tools/trait_explorer.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct TraitMethod {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] 27 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TraitMethod` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `methods`, `line_number`, and `is_foreign` are never read
[INFO] [stdout]   --> src/tools/trait_explorer.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct TraitImplementation {
[INFO] [stdout]    |        ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     methods: Vec<ImplMethod>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 37 |     file_path: String,
[INFO] [stdout] 38 |     line_number: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 39 |     is_foreign: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TraitImplementation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `is_override` are never read
[INFO] [stdout]   --> src/tools/trait_explorer.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct ImplMethod {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 43 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 44 |     is_override: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImplMethod` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraitAnalysis` is never constructed
[INFO] [stdout]   --> src/tools/trait_explorer.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | struct TraitAnalysis {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraitGraph` is never constructed
[INFO] [stdout]   --> src/tools/trait_explorer.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | struct TraitGraph {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `trait_name`, `target_type`, and `reason` are never read
[INFO] [stdout]   --> src/tools/trait_explorer.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct TraitSuggestion {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 61 |     trait_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 62 |     target_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 63 |     reason: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TraitSuggestion` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `extract_dependencies` and `parse_dependency_info` are never used
[INFO] [stdout]   --> src/tools/feature_map.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl FeatureMapTool {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 78 |     fn extract_dependencies(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     fn parse_dependency_info(&self, dep_value: &Value) -> DependencyInfo {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DependencyInfo` is never constructed
[INFO] [stdout]    --> src/tools/feature_map.rs:441:8
[INFO] [stdout]     |
[INFO] [stdout] 441 | struct DependencyInfo {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `format_expanded_code`, `format_as_html`, and `format_as_json` are never used
[INFO] [stdout]    --> src/tools/macro_expand.rs:267:8
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl MacroExpandTool {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 267 |     fn format_expanded_code(&self, code: &str, format: &str) -> Result<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     fn format_as_html(&self, code: &str) -> Result<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     fn format_as_json(&self, code: &str) -> Result<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `content` is never read
[INFO] [stdout]   --> src/tools/snapshot_test.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | struct SnapshotData {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 47 |     name: String,
[INFO] [stdout] 48 |     content: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SnapshotData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `has_serde_attrs` is never read
[INFO] [stdout]   --> src/tools/serde_validator.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct FieldAnalysis {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 53 |     has_serde_attrs: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FieldAnalysis` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `description` and `example` are never read
[INFO] [stdout]    --> src/tools/secret_scanner.rs:490:5
[INFO] [stdout]     |
[INFO] [stdout] 486 | struct SecretPattern {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 490 |     description: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 491 |     example: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SecretPattern` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnsafeVisitor` is never constructed
[INFO] [stdout]   --> src/tools/unsafe_analyzer.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct UnsafeVisitor {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_unsafe_usage`, `assess_risk`, and `generate_suggestion` are never used
[INFO] [stdout]    --> src/tools/unsafe_analyzer.rs:61:8
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl UnsafeVisitor {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  61 |     fn new(file_path: String) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     fn add_unsafe_usage(&mut self, unsafe_type: String, context: String, line: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     fn assess_risk(&self, unsafe_type: &str, context: &str) -> (String, bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     fn generate_suggestion(&self, unsafe_type: &str, context: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/tools/mod.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 |         if REGISTRY.is_none() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/tools/mod.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |         REGISTRY.as_ref().unwrap()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/tools/lifetime_visualizer.rs:392:32
[INFO] [stdout]     |
[INFO] [stdout] 392 |         for where_predicate in &node.sig.generics.where_clause {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 392 -         for where_predicate in &node.sig.generics.where_clause {
[INFO] [stdout] 392 +         while let Some(where_predicate) = &node.sig.generics.where_clause {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 392 -         for where_predicate in &node.sig.generics.where_clause {
[INFO] [stdout] 392 +         if let Some(where_predicate) = &node.sig.generics.where_clause {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "437acfad8123ce08633b39ad7cf58bde48b78ff55927e37e4bba3c3d5d85c4f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "437acfad8123ce08633b39ad7cf58bde48b78ff55927e37e4bba3c3d5d85c4f2", kill_on_drop: false }`
[INFO] [stdout] 437acfad8123ce08633b39ad7cf58bde48b78ff55927e37e4bba3c3d5d85c4f2
