[INFO] fetching crate cargo-mate 1.7.9... [INFO] checking cargo-mate-1.7.9 against try#54e27f559f23913c1d5afb1a0f0114e9e61b81b8 for pr-147589 [INFO] extracting crate cargo-mate 1.7.9 into /workspace/builds/worker-3-tc2/source [INFO] started tweaking crates.io crate cargo-mate 1.7.9 [INFO] finished tweaking crates.io crate cargo-mate 1.7.9 [INFO] tweaked toml for crates.io crate cargo-mate 1.7.9 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate cargo-mate 1.7.9 on toolchain 54e27f559f23913c1d5afb1a0f0114e9e61b81b8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+54e27f559f23913c1d5afb1a0f0114e9e61b81b8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate cargo-mate 1.7.9 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" "+54e27f559f23913c1d5afb1a0f0114e9e61b81b8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+54e27f559f23913c1d5afb1a0f0114e9e61b81b8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5596a5a236bdc37e498f0c4e3dee72e2a24cab5d3743f3085524c44f278310dc [INFO] running `Command { std: "docker" "start" "-a" "5596a5a236bdc37e498f0c4e3dee72e2a24cab5d3743f3085524c44f278310dc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5596a5a236bdc37e498f0c4e3dee72e2a24cab5d3743f3085524c44f278310dc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5596a5a236bdc37e498f0c4e3dee72e2a24cab5d3743f3085524c44f278310dc", kill_on_drop: false }` [INFO] [stdout] 5596a5a236bdc37e498f0c4e3dee72e2a24cab5d3743f3085524c44f278310dc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+54e27f559f23913c1d5afb1a0f0114e9e61b81b8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 33b795e94f4a4ae385e4f0677e238dfad0c123c7d5f0efb325b98cf49071b26c [INFO] running `Command { std: "docker" "start" "-a" "33b795e94f4a4ae385e4f0677e238dfad0c123c7d5f0efb325b98cf49071b26c", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.175 [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 cc v1.2.33 [INFO] [stderr] Compiling serde v1.0.226 [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling generic-array v0.14.7 [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 foldhash v0.1.5 [INFO] [stderr] Checking equivalent v1.0.2 [INFO] [stderr] Checking allocator-api2 v0.2.21 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Checking bitflags v2.9.2 [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 indexmap v2.10.0 [INFO] [stderr] Checking writeable v0.6.1 [INFO] [stderr] Checking litemap v0.8.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking signal-hook-registry v1.4.6 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking socket2 v0.6.0 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking untrusted v0.9.0 [INFO] [stderr] Compiling icu_properties_data v2.0.1 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Compiling icu_normalizer_data v2.0.0 [INFO] [stderr] Checking inout v0.1.4 [INFO] [stderr] Compiling thiserror v2.0.16 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking tracing-core v0.1.34 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Checking opaque-debug v0.3.1 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Checking slab v0.4.11 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Checking anstyle v1.0.11 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking unicode-ident v1.0.18 [INFO] [stderr] Checking linux-raw-sys v0.9.4 [INFO] [stderr] Checking try-lock v0.2.5 [INFO] [stderr] Compiling libsqlite3-sys v0.28.0 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Checking anstyle-parse v0.2.7 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Checking termios v0.2.2 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking filetime v0.2.26 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Checking ioctl-rs v0.1.6 [INFO] [stderr] Checking serial-core v0.4.0 [INFO] [stderr] Checking inotify-sys v0.1.5 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Compiling portable-atomic v1.11.1 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking colorchoice v1.0.4 [INFO] [stderr] Compiling anyhow v1.0.99 [INFO] [stderr] Checking utf8_iter v1.0.4 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Checking tower-service v0.3.3 [INFO] [stderr] Checking anstyle-query v1.1.4 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Checking predicates-core v1.0.9 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling camino v1.1.11 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Compiling tempfile v3.21.0 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking anstream v0.6.20 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Checking inotify v0.9.6 [INFO] [stderr] Checking serial-unix v0.4.0 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking float-cmp v0.10.0 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking polyval v0.6.2 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking castaway v0.2.4 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Compiling blake3 v1.8.2 [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] Checking regex v1.11.1 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.8.0 [INFO] [stderr] Checking zerovec v0.11.4 [INFO] [stderr] Checking zerotrie v0.2.2 [INFO] [stderr] Checking tokio v1.47.1 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Compiling pest v2.8.1 [INFO] [stderr] Checking clap_lex v0.7.5 [INFO] [stderr] Checking unicode-segmentation v1.12.0 [INFO] [stderr] Checking option-ext v0.2.0 [INFO] [stderr] Checking unicode-width v0.2.1 [INFO] [stderr] Checking tinystr v0.8.1 [INFO] [stderr] Checking potential_utf v0.1.2 [INFO] [stderr] Checking difflib v0.4.0 [INFO] [stderr] Checking icu_collections v2.0.0 [INFO] [stderr] Checking icu_locale_core v2.0.0 [INFO] [stderr] Checking toml_write v0.1.2 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Checking icu_provider v2.0.0 [INFO] [stderr] Checking winnow v0.7.12 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Compiling pest_meta v2.8.1 [INFO] [stderr] Checking icu_normalizer v2.0.0 [INFO] [stderr] Checking icu_properties v2.0.1 [INFO] [stderr] Checking normalize-line-endings v0.3.0 [INFO] [stderr] Checking adler2 v2.0.1 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Compiling pest_generator v2.8.1 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking toml_datetime v0.6.11 [INFO] [stderr] Checking serde_spanned v0.6.9 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking toml_edit v0.22.27 [INFO] [stderr] Checking cargo-platform v0.1.9 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking predicates v3.1.3 [INFO] [stderr] Compiling pest_derive v2.8.1 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking compact_str v0.7.1 [INFO] [stderr] Checking unicode-truncate v1.1.0 [INFO] [stderr] Checking clap_builder v4.5.44 [INFO] [stderr] Checking console v0.15.11 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking filedescriptor v0.8.3 [INFO] [stderr] Checking rustls-pemfile v1.0.4 [INFO] [stderr] Checking notify v6.1.1 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Compiling stability v0.2.1 [INFO] [stderr] Compiling clap_derive v4.5.45 [INFO] [stderr] Checking hashlink v0.9.1 [INFO] [stderr] Checking ghash v0.5.1 [INFO] [stderr] Checking tokio-util v0.7.16 [INFO] [stderr] Checking tokio-rustls v0.24.1 [INFO] [stderr] Compiling cargo-mate v1.7.9 (/opt/rustwide/workdir) [INFO] [stderr] Checking nix v0.25.1 [INFO] [stderr] Checking h2 v0.3.27 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Checking serial v0.4.0 [INFO] [stderr] Checking xattr v1.5.1 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking poly1305 v0.8.0 [INFO] [stderr] Checking chacha20 v0.9.1 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking ctr v0.9.2 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Checking rtoolbox v0.0.3 [INFO] [stderr] Checking lru v0.12.5 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking unsafe-libyaml v0.2.11 [INFO] [stderr] Checking fixedbitset v0.4.2 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Checking number_prefix v0.4.0 [INFO] [stderr] Checking ipnet v2.11.0 [INFO] [stderr] Checking webpki-roots v0.25.4 [INFO] [stderr] Checking arrayref v0.3.9 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking shell-words v1.1.0 [INFO] [stderr] Checking iana-time-zone v0.1.63 [INFO] [stderr] Checking constant_time_eq v0.3.1 [INFO] [stderr] Checking mime v0.3.17 [INFO] [stderr] Checking cassowary v0.3.0 [INFO] [stderr] Checking sync_wrapper v0.1.2 [INFO] [stderr] Checking fastrand v2.3.0 [INFO] [stderr] Checking home v0.5.11 [INFO] [stderr] Checking hyper v0.14.32 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Compiling doc-comment v0.3.3 [INFO] [stderr] Checking which v6.0.3 [INFO] [stderr] Checking chrono v0.4.41 [INFO] [stderr] Checking colored v2.2.0 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking ratatui v0.26.3 [INFO] [stderr] Checking indicatif v0.17.11 [INFO] [stderr] Checking portable-pty v0.8.1 [INFO] [stderr] Checking petgraph v0.6.5 [INFO] [stderr] Checking aes-gcm v0.10.3 [INFO] [stderr] Checking rpassword v7.4.0 [INFO] [stderr] Checking chacha20poly1305 v0.10.1 [INFO] [stderr] Checking tar v0.4.44 [INFO] [stderr] Checking hkdf v0.12.4 [INFO] [stderr] Checking flate2 v1.1.2 [INFO] [stderr] Checking clap v4.5.45 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking toml v0.8.23 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking notify-debouncer-mini v0.4.1 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking handlebars v5.1.2 [INFO] [stderr] Checking cargo_metadata v0.18.1 [INFO] [stderr] Checking rustc_version v0.4.1 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking uuid v1.18.0 [INFO] [stderr] Checking nix v0.27.1 [INFO] [stderr] Checking hyper-rustls v0.24.2 [INFO] [stderr] Checking reqwest v0.11.27 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking num_cpus v1.17.0 [INFO] [stderr] Checking subprocess v0.2.9 [INFO] [stderr] Checking urlencoding v2.1.3 [INFO] [stderr] Checking dotenvy v0.15.7 [INFO] [stderr] Checking glob v0.3.3 [INFO] [stderr] Checking termtree v0.5.1 [INFO] [stderr] Compiling assert_cmd v2.0.17 [INFO] [stderr] Checking predicates-tree v1.0.12 [INFO] [stderr] Checking bstr v1.12.0 [INFO] [stderr] Checking wait-timeout v0.2.1 [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 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 import: `VecDeque` [INFO] [stdout] --> src/display.rs:18:42 [INFO] [stdout] | [INFO] [stdout] 18 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/display.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use std::path::PathBuf; [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: 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: `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: 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 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 import: `VecDeque` [INFO] [stdout] --> src/display.rs:18:42 [INFO] [stdout] | [INFO] [stdout] 18 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/display.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use std::path::PathBuf; [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: 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] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [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] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) 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 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] [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: `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: `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: `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: `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: `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: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 545 | let _log = Log::new(); [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] [INFO] [stdout] [INFO] [stdout] warning: variable `incremented` is assigned to, but never used [INFO] [stdout] --> src/captain/license.rs:576:17 [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: `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: `error` [INFO] [stdout] --> src/display.rs:146:29 [INFO] [stdout] | [INFO] [stdout] 146 | 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: unused variable: `fingerprint` [INFO] [stdout] --> src/display.rs:461:37 [INFO] [stdout] | [INFO] [stdout] 461 | ... let fingerprint = error_deduplicator [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fingerprint` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `artifacts` [INFO] [stdout] --> src/display.rs:701:5 [INFO] [stdout] | [INFO] [stdout] 701 | artifacts: &[parser::CompilerArtifact], [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_artifacts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `build_scripts` [INFO] [stdout] --> src/display.rs:702:5 [INFO] [stdout] | [INFO] [stdout] 702 | build_scripts: &[parser::BuildScriptExecuted], [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_build_scripts` [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, 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, 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: `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: `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: `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:17 [INFO] [stdout] | [INFO] [stdout] 311 | let mut statements = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being 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: `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:17 [INFO] [stdout] | [INFO] [stdout] 303 | let mut license_issues = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being 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 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: `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: 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: 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: `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 { [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 { [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 { [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: 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: 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: `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 { [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> { [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::("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: `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] [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: `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: `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: `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: `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: `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: `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: `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: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 545 | let _log = Log::new(); [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] [INFO] [stdout] [INFO] [stdout] warning: variable `incremented` is assigned to, but never used [INFO] [stdout] --> src/captain/license.rs:576:17 [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: `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: `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: `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: 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: `functions` [INFO] [stdout] --> src/tools/example_gen.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | let mut functions: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_functions` [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 = Vec::new(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [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: `non_breaking_changes` [INFO] [stdout] --> src/tools/api_changelog.rs:447:9 [INFO] [stdout] | [INFO] [stdout] 447 | non_breaking_changes: &mut Vec, [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, [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:17 [INFO] [stdout] | [INFO] [stdout] 807 | let mut output_content = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [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: `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: `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: `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: `manifest_path` [INFO] [stdout] --> src/tools/vendorize.rs:84:36 [INFO] [stdout] | [INFO] [stdout] 84 | fn analyze_dependencies(&self, manifest_path: &str) -> Result { [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::("format").unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error` [INFO] [stdout] --> src/display.rs:146:29 [INFO] [stdout] | [INFO] [stdout] 146 | 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: unused variable: `fingerprint` [INFO] [stdout] --> src/display.rs:461:37 [INFO] [stdout] | [INFO] [stdout] 461 | ... let fingerprint = error_deduplicator [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fingerprint` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `artifacts` [INFO] [stdout] --> src/display.rs:701:5 [INFO] [stdout] | [INFO] [stdout] 701 | artifacts: &[parser::CompilerArtifact], [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_artifacts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `build_scripts` [INFO] [stdout] --> src/display.rs:702:5 [INFO] [stdout] | [INFO] [stdout] 702 | build_scripts: &[parser::BuildScriptExecuted], [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_build_scripts` [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: `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: 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: `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::("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: `probe_pattern` [INFO] [stdout] --> src/probe.rs:310:49 [INFO] [stdout] | [INFO] [stdout] 310 | fn handle_flake(iterations: usize, jobs: usize, probe_pattern: Option, 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, 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: `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::("tool").unwrap(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tool` [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: `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: `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:17 [INFO] [stdout] | [INFO] [stdout] 311 | let mut statements = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being 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: `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::() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_meta` [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: `database` [INFO] [stdout] --> src/tools/migration_gen.rs:497:13 [INFO] [stdout] | [INFO] [stdout] 497 | let database = matches.get_one::("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::("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::("framework").unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_framework` [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:17 [INFO] [stdout] | [INFO] [stdout] 303 | let mut license_issues = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [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::() { [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: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:119:38 [INFO] [stdout] | [INFO] [stdout] 119 | if let Ok(Meta::List(meta_list)) = attr.parse_args::() { [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: `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: `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::("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: `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: `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: `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::("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: 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: 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: 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: `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 { [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 { [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 { [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: 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> { [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: 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: 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: 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: 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: 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: `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 { [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> { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_path` [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 { [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 { [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: fields `blocking_compilation` and `frequently_ignored` are never read [INFO] [stdout] --> src/display.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 99 | pub struct PriorityWeights { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 100 | never_seen_before: f32, [INFO] [stdout] 101 | blocking_compilation: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 102 | has_quick_fix: f32, [INFO] [stdout] 103 | 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:160:5 [INFO] [stdout] | [INFO] [stdout] 156 | pub struct CoachingTip { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 160 | 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: 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 { [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 { [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> { [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>> { [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>) -> Vec { [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> { [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 { [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:714:4 [INFO] [stdout] | [INFO] [stdout] 714 | 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 { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn analyze_await_patterns(&self, functions: &[syn::ItemFn]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | fn detect_deadlock_patterns(&self, ast: &syn::File) -> Vec { [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) { [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, [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, [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | fn format_as_html(&self, code: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn format_as_json(&self, code: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [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, [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: 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::("backup-dir").unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_backup_dir` [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: for more information, see [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] = 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: for more information, see [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] [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] [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: `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: `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: unused variable: `functions` [INFO] [stdout] --> src/tools/example_gen.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | let mut functions: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_functions` [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 = Vec::new(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [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, [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, [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:17 [INFO] [stdout] | [INFO] [stdout] 807 | let mut output_content = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being 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: `manifest_path` [INFO] [stdout] --> src/tools/vendorize.rs:84:36 [INFO] [stdout] | [INFO] [stdout] 84 | fn analyze_dependencies(&self, manifest_path: &str) -> Result { [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::("format").unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format` [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: 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: `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::("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: `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::("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::("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::() { [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::("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::("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::("framework").unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_framework` [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::() { [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: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:119:38 [INFO] [stdout] | [INFO] [stdout] 119 | if let Ok(Meta::List(meta_list)) = attr.parse_args::() { [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: `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::("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: `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: `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: `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::("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> { [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 { [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 { [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: fields `blocking_compilation` and `frequently_ignored` are never read [INFO] [stdout] --> src/display.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 99 | pub struct PriorityWeights { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 100 | never_seen_before: f32, [INFO] [stdout] 101 | blocking_compilation: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 102 | has_quick_fix: f32, [INFO] [stdout] 103 | 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:160:5 [INFO] [stdout] | [INFO] [stdout] 156 | pub struct CoachingTip { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 160 | 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: 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 { [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 { [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> { [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>> { [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>) -> Vec { [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> { [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 { [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:714:4 [INFO] [stdout] | [INFO] [stdout] 714 | 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 { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn analyze_await_patterns(&self, functions: &[syn::ItemFn]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | fn detect_deadlock_patterns(&self, ast: &syn::File) -> Vec { [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) { [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, [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, [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | fn format_as_html(&self, code: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn format_as_json(&self, code: &str) -> Result { [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, [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: for more information, see [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] = 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: for more information, see [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] [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] [stdout] warning: unused import: `chrono` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use chrono; [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: `colored::*` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use colored::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/main.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use serde_json; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::env` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::env; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf` and `Path` [INFO] [stdout] --> src/main.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `reqwest` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use reqwest; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BuildProgressBar`, `BuildRecord`, and `BuildTracker` [INFO] [stdout] --> src/main.rs:11:16 [INFO] [stdout] | [INFO] [stdout] 11 | use progress::{BuildProgressBar, BuildTracker, BuildRecord}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::sync::atomic::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Output` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::process::Output; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `captain` [INFO] [stdout] --> src/main.rs:19:58 [INFO] [stdout] | [INFO] [stdout] 19 | activate, journey, idea, tool, scrub, sweep, anchor, captain, tide, ddr, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `captain_status` and `shell_integration::ShellIntegration` [INFO] [stdout] --> src/main.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | shell_integration::ShellIntegration, captain_status, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cargo_mate::sweeping` [INFO] [stdout] --> src/main.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | use cargo_mate::sweeping; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cargo_mate::journey::JourneyPlayer` [INFO] [stdout] --> src/main.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | use cargo_mate::journey::JourneyPlayer; [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: 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: `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: unused import: `cargo_mate::cmd::checklist` [INFO] [stdout] --> src/command_factory.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use cargo_mate::cmd::checklist; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cargo_mate::history` [INFO] [stdout] --> src/command_factory.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use cargo_mate::history; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BuildStats` [INFO] [stdout] --> src/progress/mod.rs:3:46 [INFO] [stdout] | [INFO] [stdout] 3 | pub use tracker::{BuildTracker, BuildRecord, BuildStats}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ProgressStyle` [INFO] [stdout] --> src/progress/mod.rs:4:39 [INFO] [stdout] | [INFO] [stdout] 4 | pub use animation::{BuildProgressBar, ProgressStyle}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MultiProgress` and `ProgressBar` [INFO] [stdout] --> src/progress/mod.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | pub use indicatif::{ProgressBar, MultiProgress}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use chrono; [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: `colored::*` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use colored::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/main.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use serde_json; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::env` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::env; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf` and `Path` [INFO] [stdout] --> src/main.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `reqwest` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use reqwest; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BuildProgressBar`, `BuildRecord`, and `BuildTracker` [INFO] [stdout] --> src/main.rs:11:16 [INFO] [stdout] | [INFO] [stdout] 11 | use progress::{BuildProgressBar, BuildTracker, BuildRecord}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::sync::atomic::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Output` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::process::Output; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `captain` [INFO] [stdout] --> src/main.rs:19:58 [INFO] [stdout] | [INFO] [stdout] 19 | activate, journey, idea, tool, scrub, sweep, anchor, captain, tide, ddr, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `captain_status` and `shell_integration::ShellIntegration` [INFO] [stdout] --> src/main.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | shell_integration::ShellIntegration, captain_status, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cargo_mate::sweeping` [INFO] [stdout] --> src/main.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | use cargo_mate::sweeping; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cargo_mate::journey::JourneyPlayer` [INFO] [stdout] --> src/main.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | use cargo_mate::journey::JourneyPlayer; [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: unused import: `cargo_mate::cmd::checklist` [INFO] [stdout] --> src/command_factory.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use cargo_mate::cmd::checklist; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cargo_mate::history` [INFO] [stdout] --> src/command_factory.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use cargo_mate::history; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BuildStats` [INFO] [stdout] --> src/progress/mod.rs:3:46 [INFO] [stdout] | [INFO] [stdout] 3 | pub use tracker::{BuildTracker, BuildRecord, BuildStats}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ProgressStyle` [INFO] [stdout] --> src/progress/mod.rs:4:39 [INFO] [stdout] | [INFO] [stdout] 4 | pub use animation::{BuildProgressBar, ProgressStyle}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MultiProgress` and `ProgressBar` [INFO] [stdout] --> src/progress/mod.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | pub use indicatif::{ProgressBar, MultiProgress}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:306:5 [INFO] [stdout] | [INFO] [stdout] 293 | return journey::handle_journey(journey_action); [INFO] [stdout] | ---------------------------------------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 306 | activate::handle_install(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [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] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `license_issues` is never read [INFO] [stdout] --> src/tools/dep_audit.rs:303:17 [INFO] [stdout] | [INFO] [stdout] 303 | let mut license_issues = 0; [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: `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: unreachable statement [INFO] [stdout] --> src/main.rs:306:5 [INFO] [stdout] | [INFO] [stdout] 293 | return journey::handle_journey(journey_action); [INFO] [stdout] | ---------------------------------------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 306 | activate::handle_install(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [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: 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: 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: `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 { [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 { [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 { [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: 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: 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: `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 { [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> { [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::("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: `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] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `license_issues` is never read [INFO] [stdout] --> src/tools/dep_audit.rs:303:17 [INFO] [stdout] | [INFO] [stdout] 303 | let mut license_issues = 0; [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: `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: `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: `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: `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: `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: `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: unused variable: `functions` [INFO] [stdout] --> src/tools/example_gen.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | let mut functions: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_functions` [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 = Vec::new(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [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: 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: 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: `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 { [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 { [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 { [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: unused variable: `non_breaking_changes` [INFO] [stdout] --> src/tools/api_changelog.rs:447:9 [INFO] [stdout] | [INFO] [stdout] 447 | non_breaking_changes: &mut Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_non_breaking_changes` [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: 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: `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 { [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> { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_path` [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, [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: `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::("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: `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:17 [INFO] [stdout] | [INFO] [stdout] 807 | let mut output_content = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being 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: `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: `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: `manifest_path` [INFO] [stdout] --> src/tools/vendorize.rs:84:36 [INFO] [stdout] | [INFO] [stdout] 84 | fn analyze_dependencies(&self, manifest_path: &str) -> Result { [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::("format").unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format` [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: 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: `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: `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::("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: `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: `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: `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: 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: `functions` [INFO] [stdout] --> src/tools/example_gen.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | let mut functions: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_functions` [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 = Vec::new(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [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::("tool").unwrap(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tool` [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::() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_meta` [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, [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, [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: `database` [INFO] [stdout] --> src/tools/migration_gen.rs:497:13 [INFO] [stdout] | [INFO] [stdout] 497 | let database = matches.get_one::("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::("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::("framework").unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_framework` [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:17 [INFO] [stdout] | [INFO] [stdout] 807 | let mut output_content = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [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::() { [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: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:119:38 [INFO] [stdout] | [INFO] [stdout] 119 | if let Ok(Meta::List(meta_list)) = attr.parse_args::() { [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: `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: `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::("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: `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: `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: `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: `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: `manifest_path` [INFO] [stdout] --> src/tools/vendorize.rs:84:36 [INFO] [stdout] | [INFO] [stdout] 84 | fn analyze_dependencies(&self, manifest_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manifest_path` [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::("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: 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: `args` [INFO] [stdout] --> src/command_factory.rs:34:29 [INFO] [stdout] | [INFO] [stdout] 34 | fn validate_args(&self, args: &CommandArgs) -> Result<()> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `action` [INFO] [stdout] --> src/command_factory.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | action: &str, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_action` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/command_factory.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | target: Option<&str>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [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::("format").unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `factory` [INFO] [stdout] --> src/main.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | let factory = command_factory::CommandFactory::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_factory` [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: 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: function `update_path_for_captain` is never used [INFO] [stdout] --> src/main.rs:164:4 [INFO] [stdout] | [INFO] [stdout] 164 | fn update_path_for_captain() { [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 `should_check_admin_msg` is never used [INFO] [stdout] --> src/main.rs:170:4 [INFO] [stdout] | [INFO] [stdout] 170 | fn should_check_admin_msg(args: &Args) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `requires_license_check` is never used [INFO] [stdout] --> src/main.rs:178:4 [INFO] [stdout] | [INFO] [stdout] 178 | fn requires_license_check(args: &Args) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_cargo_command` is never used [INFO] [stdout] --> src/main.rs:184:4 [INFO] [stdout] | [INFO] [stdout] 184 | fn is_cargo_command(args: &Args) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_command_name` is never used [INFO] [stdout] --> src/main.rs:187:4 [INFO] [stdout] | [INFO] [stdout] 187 | fn get_command_name(args: &Args) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_command` is never used [INFO] [stdout] --> src/main.rs:193:4 [INFO] [stdout] | [INFO] [stdout] 193 | fn format_command(args: &Args) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ToolError` is never used [INFO] [stdout] --> src/tools/mod.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum ToolError { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Result` is never used [INFO] [stdout] --> src/tools/mod.rs:73:10 [INFO] [stdout] | [INFO] [stdout] 73 | pub type Result = std::result::Result; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Tool` is never used [INFO] [stdout] --> src/tools/mod.rs:74:11 [INFO] [stdout] | [INFO] [stdout] 74 | pub trait Tool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ToolRegistry` is never constructed [INFO] [stdout] --> src/tools/mod.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | pub struct ToolRegistry { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `register`, `get`, `list_tools`, and `has_tool` are never used [INFO] [stdout] --> src/tools/mod.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 84 | impl ToolRegistry { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 85 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn register(mut self, tool: T) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get(&self, name: &str) -> Option<&Box> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn list_tools(&self) -> Vec<(&str, &str)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn has_tool(&self, name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ToolConfig` is never constructed [INFO] [stdout] --> src/tools/mod.rs:110:12 [INFO] [stdout] | [INFO] [stdout] 110 | pub struct ToolConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OutputFormat` is never used [INFO] [stdout] --> src/tools/mod.rs:116:10 [INFO] [stdout] | [INFO] [stdout] 116 | pub enum OutputFormat { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_registry` is never used [INFO] [stdout] --> src/tools/mod.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn create_registry() -> ToolRegistry { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `REGISTRY` is never used [INFO] [stdout] --> src/tools/mod.rs:171:12 [INFO] [stdout] | [INFO] [stdout] 171 | static mut REGISTRY: Option = None; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_registry` is never used [INFO] [stdout] --> src/tools/mod.rs:173:8 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn get_registry() -> &'static ToolRegistry { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_tools` is never used [INFO] [stdout] --> src/tools/mod.rs:181:8 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn list_tools() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `show_tool_help` is never used [INFO] [stdout] --> src/tools/mod.rs:201:8 [INFO] [stdout] | [INFO] [stdout] 201 | pub fn show_tool_help(name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_tool` is never used [INFO] [stdout] --> src/tools/mod.rs:217:8 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn run_tool(name: &str, args: &[String]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `common_options` is never used [INFO] [stdout] --> src/tools/mod.rs:232:8 [INFO] [stdout] | [INFO] [stdout] 232 | pub fn common_options() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_output_format` is never used [INFO] [stdout] --> src/tools/mod.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | pub fn parse_output_format(matches: &ArgMatches) -> OutputFormat { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BenchDiffTool` is never constructed [INFO] [stdout] --> src/tools/bench_diff.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct BenchDiffTool; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BenchmarkResult` is never constructed [INFO] [stdout] --> src/tools/bench_diff.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct BenchmarkResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BenchmarkComparison` is never constructed [INFO] [stdout] --> src/tools/bench_diff.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct BenchmarkComparison { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tools/bench_diff.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl BenchDiffTool { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 25 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | fn parse_time_to_ns(&self, time_str: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | fn run_benchmark(&self, commit: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | fn extract_test_name(&self, line: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | fn extract_time(&self, line: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | fn compare_benchmarks( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | fn format_time(&self, ns: f64) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | fn display_comparison( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `save_results` is never used [INFO] [stdout] --> src/tools/bench_diff.rs:309:8 [INFO] [stdout] | [INFO] [stdout] 308 | impl BenchDiffTool { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 309 | fn save_results( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DepAuditTool` is never constructed [INFO] [stdout] --> src/tools/dep_audit.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct DepAuditTool; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DependencyInfo` is never constructed [INFO] [stdout] --> src/tools/dep_audit.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct DependencyInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AuditResult` is never constructed [INFO] [stdout] --> src/tools/dep_audit.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | struct AuditResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AuditSummary` is never constructed [INFO] [stdout] --> src/tools/dep_audit.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | struct AuditSummary { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tools/dep_audit.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl DepAuditTool { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 34 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | fn parse_cargo_tree(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn parse_dependency_line(&self, line: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | fn check_licenses( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | fn check_security(&self, deps: &mut [DependencyInfo]) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | fn check_maintenance(&self, deps: &mut [DependencyInfo]) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | fn display_results( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestGenTool` is never constructed [INFO] [stdout] --> src/tools/test_gen.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct TestGenTool; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FunctionInfo` is never constructed [INFO] [stdout] --> src/tools/test_gen.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct FunctionInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ParamInfo` is never constructed [INFO] [stdout] --> src/tools/test_gen.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | struct ParamInfo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GeneratedTest` is never constructed [INFO] [stdout] --> src/tools/test_gen.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | struct GeneratedTest { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tools/test_gen.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl TestGenTool { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 31 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | fn parse_rust_file(&self, file_path: &Path) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | fn generate_test_for_function( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn generate_unit_test(&self, func: &FunctionInfo) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | fn generate_integration_test(&self, func: &FunctionInfo) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | fn generate_property_test(&self, func: &FunctionInfo) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | fn generate_mock_value(&self, ty: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | fn generate_integration_mock_value(&self, ty: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | fn generate_proptest_params(&self, params: &[ParamInfo]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 327 | fn snake_to_pascal(&self, snake_case: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 341 | fn display_generated_tests(&self, tests: &[GeneratedTest], format: OutputFormat) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FunctionVisitor` is never constructed [INFO] [stdout] --> src/tools/test_gen.rs:374:8 [INFO] [stdout] | [INFO] [stdout] 374 | struct FunctionVisitor { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tools/test_gen.rs:378:8 [INFO] [stdout] | [INFO] [stdout] 377 | impl FunctionVisitor { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 378 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WorkspaceSyncTool` is never constructed [INFO] [stdout] --> src/tools/workspace_sync.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct WorkspaceSyncTool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WorkspaceConfig` is never constructed [INFO] [stdout] --> src/tools/workspace_sync.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct WorkspaceConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Workspace` is never constructed [INFO] [stdout] --> src/tools/workspace_sync.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | struct Workspace { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CargoToml` is never constructed [INFO] [stdout] --> src/tools/workspace_sync.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | struct CargoToml { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Package` is never constructed [INFO] [stdout] --> src/tools/workspace_sync.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | struct Package { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Dependency` is never used [INFO] [stdout] --> src/tools/workspace_sync.rs:33:6 [INFO] [stdout] | [INFO] [stdout] 33 | enum Dependency { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DependencyDetail` is never constructed [INFO] [stdout] --> src/tools/workspace_sync.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | struct DependencyDetail { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DependencyAnalysis` is never constructed [INFO] [stdout] --> src/tools/workspace_sync.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | struct DependencyAnalysis { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tools/workspace_sync.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl WorkspaceSyncTool { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 52 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn find_workspace_root(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn parse_cargo_toml(&self, path: &Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | fn analyze_workspace_dependencies( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | fn analyze_dependencies( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | fn detect_conflicts(&self, analyses: &mut HashMap) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | fn sync_dependencies(&self, workspace_root: &str, dry_run: bool) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | fn display_sync_plan(&self, analyses: &HashMap) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | fn apply_sync_plan( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | fn generate_report( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PanicAnalyzerTool` is never constructed [INFO] [stdout] --> src/tools/panic_analyzer.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct PanicAnalyzerTool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PanicInfo` is never constructed [INFO] [stdout] --> src/tools/panic_analyzer.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct PanicInfo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PanicReport` is never constructed [INFO] [stdout] --> src/tools/panic_analyzer.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | struct PanicReport { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tools/panic_analyzer.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl PanicAnalyzerTool { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 28 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn parse_panic_message(&self, line: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | fn parse_location(&self, line: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | fn extract_source_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | fn generate_suggestions(&self, panic_message: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | fn analyze_log_file(&self, log_path: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | fn analyze_recent_panics(&self, count: usize) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | fn group_similar_panics( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | fn generate_report( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CrossTestTool` is never constructed [INFO] [stdout] --> src/tools/cross_test.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct CrossTestTool; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestResult` is never constructed [INFO] [stdout] --> src/tools/cross_test.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct TestResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CrossTestReport` is never constructed [INFO] [stdout] --> src/tools/cross_test.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | struct CrossTestReport { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestSummary` is never constructed [INFO] [stdout] --> src/tools/cross_test.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | struct TestSummary { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tools/cross_test.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl CrossTestTool { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 34 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | fn get_supported_platforms(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn detect_current_platform(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn run_tests_for_platform( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | fn run_cross_platform_tests( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn generate_summary(&self, results: &[TestResult]) -> TestSummary { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn display_results( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | fn validate_platforms(&self, requested_platforms: &[String]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RefactorEngineTool` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct RefactorEngineTool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RefactoringAnalysis` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | struct RefactoringAnalysis { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SafeTransformation` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | struct SafeTransformation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ComplexSuggestion` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | struct ComplexSuggestion { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AnalysisSummary` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | struct AnalysisSummary { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SafetyMetrics` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | struct SafetyMetrics { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TransformationPlan` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | struct TransformationPlan { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TransformationPhase` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | struct TransformationPhase { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CodeLocation` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | struct CodeLocation { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestResults` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | struct TestResults { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RollbackInfo` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | struct RollbackInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImpactAnalysis` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:106:8 [INFO] [stdout] | [INFO] [stdout] 106 | struct ImpactAnalysis { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PerformanceImpact` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | struct PerformanceImpact { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RiskAssessment` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:120:8 [INFO] [stdout] | [INFO] [stdout] 120 | struct RiskAssessment { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TimeSavings` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | struct TimeSavings { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TransformationType` is never used [INFO] [stdout] --> src/tools/refactor_engine.rs:135:6 [INFO] [stdout] | [INFO] [stdout] 135 | enum TransformationType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SuggestionType` is never used [INFO] [stdout] --> src/tools/refactor_engine.rs:151:6 [INFO] [stdout] | [INFO] [stdout] 151 | enum SuggestionType { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Priority` is never used [INFO] [stdout] --> src/tools/refactor_engine.rs:161:6 [INFO] [stdout] | [INFO] [stdout] 161 | enum Priority { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CodeAnalysis` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:168:8 [INFO] [stdout] | [INFO] [stdout] 168 | struct CodeAnalysis { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FunctionInfo` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:181:8 [INFO] [stdout] | [INFO] [stdout] 181 | struct FunctionInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StructInfo` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:195:8 [INFO] [stdout] | [INFO] [stdout] 195 | struct StructInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TraitInfo` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:205:8 [INFO] [stdout] | [INFO] [stdout] 205 | struct TraitInfo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ModuleInfo` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:212:8 [INFO] [stdout] | [INFO] [stdout] 212 | struct ModuleInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DependencyInfo` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:219:8 [INFO] [stdout] | [INFO] [stdout] 219 | struct DependencyInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PatternInfo` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:226:8 [INFO] [stdout] | [INFO] [stdout] 226 | struct PatternInfo { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CodeIssue` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:233:8 [INFO] [stdout] | [INFO] [stdout] 233 | struct CodeIssue { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemorySummary` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:241:8 [INFO] [stdout] | [INFO] [stdout] 241 | struct MemorySummary { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemoryLeak` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:250:8 [INFO] [stdout] | [INFO] [stdout] 250 | struct MemoryLeak { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HeapAnalysis` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:256:8 [INFO] [stdout] | [INFO] [stdout] 256 | struct HeapAnalysis { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StackAnalysis` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:265:8 [INFO] [stdout] | [INFO] [stdout] 265 | struct StackAnalysis { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemoryPattern` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:274:8 [INFO] [stdout] | [INFO] [stdout] 274 | struct MemoryPattern { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OptimizationSuggestion` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:281:8 [INFO] [stdout] | [INFO] [stdout] 281 | struct OptimizationSuggestion { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemoryAnalysis` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:290:8 [INFO] [stdout] | [INFO] [stdout] 290 | struct MemoryAnalysis { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PerformanceData` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:299:8 [INFO] [stdout] | [INFO] [stdout] 299 | struct PerformanceData { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClippyIssue` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:306:8 [INFO] [stdout] | [INFO] [stdout] 306 | struct ClippyIssue { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ParameterInfo` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:315:8 [INFO] [stdout] | [INFO] [stdout] 315 | struct ParameterInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExtractedFunctions` is never constructed [INFO] [stdout] --> src/tools/refactor_engine.rs:322:8 [INFO] [stdout] | [INFO] [stdout] 322 | struct ExtractedFunctions { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ErrorHandlingType` is never used [INFO] [stdout] --> src/tools/refactor_engine.rs:327:6 [INFO] [stdout] | [INFO] [stdout] 327 | enum ErrorHandlingType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tools/refactor_engine.rs:335:12 [INFO] [stdout] | [INFO] [stdout] 334 | impl RefactorEngineTool { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 335 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 338 | fn analyze_codebase(&self, input_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | fn create_initial_performance_data( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 430 | fn extract_basic_code_issues( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 490 | fn analyze_directory( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 559 | fn analyze_file( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 994 | fn analyze_dependencies( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1064 | fn detect_api_changes(dependency_name: &str, version: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1093 | fn identify_patterns( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1157 | fn identify_issues( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1239 | fn generate_transformations( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1343 | fn calculate_safety_score( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1356 | fn run_tests_for_function( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1384 | fn analyze_transformation_impact( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1431 | fn create_function_extraction_rollback( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1442 | fn create_error_modernization_rollback( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1452 | fn get_actual_file_path(function_name: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1469 | fn apply_transformation_to_file( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1491 | fn apply_function_extraction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1539 | fn apply_error_modernization( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1595 | fn extract_function_parts( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1626 | fn find_function_end(content: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1661 | fn initialize_git_integration(&self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1674 | fn run_advanced_memory_analysis(&self, input_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1724 | fn run_memory_analysis( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1768 | fn create_memory_summary_fallback(&self, input_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1792 | fn run_performance_analysis(&self, input_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1816 | fn run_clippy_analysis(&self, input_path: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1866 | fn generate_complex_suggestions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1954 | fn calculate_file_count(&self, input_path: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1964 | fn calculate_safety_metrics( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1982 | fn calculate_time_savings( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2018 | fn generate_transformation_plan( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2049 | fn generate_analysis_summary( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2070 | fn generate_safety_metrics(&self) -> SafetyMetrics { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tools/refactor_engine.rs:592:16 [INFO] [stdout] | [INFO] [stdout] 591 | impl CodeVisitor<'_> { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 592 | fn analyze_function(node: &ItemFn, file_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 618 | fn analyze_struct(node: &ItemStruct, file_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 638 | fn analyze_trait(node: &ItemTrait, file_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 650 | fn calculate_complexity(node: &ItemFn) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 668 | fn estimate_line_count(node: &ItemFn) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 671 | fn extract_parameters( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 708 | fn extract_return_type(output: &syn::ReturnType) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 714 | fn extract_visibility(node: &ItemFn) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 721 | fn check_unsafe_usage(node: &ItemFn) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 725 | fn analyze_error_handling(node: &ItemFn) -> ErrorHandlingType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 741 | fn identify_code_smells(node: &ItemFn) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 760 | fn identify_transformations(node: &ItemFn) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 783 | fn count_fields(fields: &Fields) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 790 | fn estimate_size(fields: &Fields) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 827 | fn extract_struct_visibility(node: &ItemStruct) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 834 | fn extract_derives(node: &ItemStruct) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 851 | fn parse_attribute_tokens(&self, attr: &syn::Attribute) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 878 | fn parse_attribute_tokens_static(attr: &syn::Attribute) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 905 | fn analyze_impl_methods(node: &ItemStruct, file_path: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 908 | fn find_trait_implementors( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 922 | fn identify_struct_transformations( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 932 | fn extract_trait_requirements(node: &ItemTrait) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 948 | fn type_to_string(ty: &Type) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 978 | fn analyze_type_modifiers(ty: &Type) -> (bool, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `display_human_analysis`, `transformation_type_name`, `suggestion_type_name`, and `display_table_analysis` are never used [INFO] [stdout] --> src/tools/refactor_engine.rs:2318:8 [INFO] [stdout] | [INFO] [stdout] 2317 | impl RefactorEngineTool { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 2318 | fn display_human_analysis( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2481 | fn transformation_type_name(transformation_type: &TransformationType) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2509 | fn suggestion_type_name(suggestion_type: &SuggestionType) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2525 | fn display_table_analysis(&self, analysis: &RefactoringAnalysis) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RustMentorTool` is never constructed [INFO] [stdout] --> src/tools/rust_mentor.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct RustMentorTool; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CodeAnalysis` is never constructed [INFO] [stdout] --> src/tools/rust_mentor.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | struct CodeAnalysis { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FunctionAnalysis` is never constructed [INFO] [stdout] --> src/tools/rust_mentor.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | struct FunctionAnalysis { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StructAnalysis` is never constructed [INFO] [stdout] --> src/tools/rust_mentor.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | struct StructAnalysis { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TraitAnalysis` is never constructed [INFO] [stdout] --> src/tools/rust_mentor.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | struct TraitAnalysis { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PatternAnalysis` is never constructed [INFO] [stdout] --> src/tools/rust_mentor.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | struct PatternAnalysis { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CodeIssue` is never constructed [INFO] [stdout] --> src/tools/rust_mentor.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | struct CodeIssue { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Recommendation` is never constructed [INFO] [stdout] --> src/tools/rust_mentor.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | struct Recommendation { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LearningOpportunity` is never constructed [INFO] [stdout] --> src/tools/rust_mentor.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | struct LearningOpportunity { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ParameterInfo` is never constructed [INFO] [stdout] --> src/tools/rust_mentor.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | struct ParameterInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FieldInfo` is never constructed [INFO] [stdout] --> src/tools/rust_mentor.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | struct FieldInfo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tools/rust_mentor.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 98 | impl RustMentorTool { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 99 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | fn analyze_codebase(&self, input_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | fn analyze_directory( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn analyze_file( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 654 | fn identify_patterns( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 682 | fn identify_issues( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 725 | fn generate_recommendations( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | fn identify_learning_opportunities( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 874 | fn explain_pattern(&self, pattern: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 899 | fn pattern_benefits(&self, pattern: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 924 | fn pattern_alternatives(&self, pattern: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/tools/rust_mentor.rs:200:16 [INFO] [stdout] | [INFO] [stdout] 199 | impl CodeVisitor<'_> { [INFO] [stdout] | -------------------- associated functions in this implementation [INFO] [stdout] 200 | fn analyze_function(node: &ItemFn) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | fn analyze_struct(node: &ItemStruct) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | fn analyze_trait(node: &ItemTrait) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | fn calculate_complexity(node: &ItemFn) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | fn extract_parameters( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | fn extract_return_type(output: &syn::ReturnType) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn extract_fields(fields: &Fields) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 324 | fn extract_trait_methods(node: &ItemTrait) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 337 | fn type_to_string(ty: &Type) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 359 | fn identify_function_patterns(node: &ItemFn) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 381 | fn identify_struct_patterns(node: &ItemStruct) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 408 | fn infer_parameter_purpose(name: &str, ty: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 423 | fn infer_field_purpose(name: &str, ty: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 437 | fn field_considerations(name: &str, ty: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 458 | fn suggest_function_improvements(node: &ItemFn) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 483 | fn struct_design_considerations(node: &ItemStruct) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 506 | fn identify_trait_purpose(node: &ItemTrait) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 530 | fn trait_use_cases(node: &ItemTrait) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 566 | fn explain_function(node: &ItemFn) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 611 | fn explain_struct(node: &ItemStruct) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 636 | fn explain_trait(node: &ItemTrait) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/tools/rust_mentor.rs:1061:8 [INFO] [stdout] | [INFO] [stdout] 1060 | impl RustMentorTool { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 1061 | fn display_human_analysis( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1106 | fn display_functions(&self, functions: &[FunctionAnalysis], detailed: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1133 | fn display_structs(&self, structs: &[StructAnalysis], detailed: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1155 | fn display_traits(&self, traits: &[TraitAnalysis], detailed: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1177 | fn explain_specific_target(&self, analysis: &CodeAnalysis, target: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1211 | fn display_patterns(&self, patterns: &[PatternAnalysis]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1226 | fn display_recommendations(&self, recommendations: &[Recommendation]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1253 | fn display_learning_opportunities( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1282 | fn display_issues(&self, issues: &[CodeIssue]) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1298 | fn display_table_analysis(&self, analysis: &CodeAnalysis) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReleaseAutomationTool` is never constructed [INFO] [stdout] --> src/tools/release_automation.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct ReleaseAutomationTool; [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: struct `ReleasePlan` is never constructed [INFO] [stdout] --> src/tools/release_automation.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct ReleasePlan { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tools/release_automation.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl ReleaseAutomationTool { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 26 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | fn get_current_version(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | fn bump_version(&self, current: &str, bump_type: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | fn update_version_in_file( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | fn find_version_files(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | fn generate_changelog( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | fn run_pre_release_checks(&self, dry_run: bool) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | fn create_git_tag(&self, version: &str, dry_run: bool) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 233 | fn publish_to_crates_io(&self, dry_run: bool) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | fn create_release_plan( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | fn execute_release_plan( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BinarySizeInfo` is never constructed [INFO] [stdout] --> src/tools/bloat_check.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct BinarySizeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SizeComparison` is never constructed [INFO] [stdout] --> src/tools/bloat_check.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct SizeComparison { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SymbolSize` is never constructed [INFO] [stdout] --> src/tools/bloat_check.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct SymbolSize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OptimizationSuggestion` is never constructed [INFO] [stdout] --> src/tools/bloat_check.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct OptimizationSuggestion { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BuildComparison` is never constructed [INFO] [stdout] --> src/tools/bloat_check.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct BuildComparison { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BloatCheckTool` is never constructed [INFO] [stdout] --> src/tools/bloat_check.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub struct BloatCheckTool; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tools/bloat_check.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 47 | impl BloatCheckTool { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 48 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn analyze_binary_size(&self, binary_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | fn analyze_size_changes( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | fn find_largest_symbols(&self, binary_path: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | fn generate_optimization_suggestions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | fn analyze_debug_vs_release( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | fn format_size(&self, bytes: u64) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn format_diff(&self, diff: i64) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 285 | fn colorize_diff(&self, diff: i64, threshold: f64) -> ColoredString { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CacheProfile` is never constructed [INFO] [stdout] --> src/tools/cache_analyzer.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct CacheProfile { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DataStructureAnalysis` is never constructed [INFO] [stdout] --> src/tools/cache_analyzer.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct DataStructureAnalysis { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FalseSharingIssue` is never constructed [INFO] [stdout] --> src/tools/cache_analyzer.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct FalseSharingIssue { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CacheOptimization` is never constructed [INFO] [stdout] --> src/tools/cache_analyzer.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct CacheOptimization { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PrefetchAnalysis` is never constructed [INFO] [stdout] --> src/tools/cache_analyzer.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct PrefetchAnalysis { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CodePattern` is never constructed [INFO] [stdout] --> src/tools/cache_analyzer.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct CodePattern { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CacheAnalyzerTool` is never constructed [INFO] [stdout] --> src/tools/cache_analyzer.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 57 | pub struct CacheAnalyzerTool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tools/cache_analyzer.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl CacheAnalyzerTool { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 59 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | fn profile_cache_usage( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | fn parse_perf_output(&self, output: &str, function: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | fn extract_perf_count(&self, line: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn analyze_data_structures( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn parse_struct_fields(&self, fields_str: &str) -> Vec<(String, String)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | fn estimate_field_size(&self, field_type: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | fn detect_false_sharing( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | fn suggest_optimizations(&self, profile: &CacheProfile) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 324 | fn measure_prefetch_efficiency( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 335 | fn check_tool_availability(&self, tool_name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | fn format_percentage(&self, value: f64) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | fn colorize_percentage(&self, value: f64, threshold: f64) -> ColoredString { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockingOperation` is never constructed [INFO] [stdout] --> src/tools/async_lint.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct BlockingOperation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AwaitIssue` is never constructed [INFO] [stdout] --> src/tools/async_lint.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct AwaitIssue { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeadlockRisk` is never constructed [INFO] [stdout] --> src/tools/async_lint.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct DeadlockRisk { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AsyncSuggestion` is never constructed [INFO] [stdout] --> src/tools/async_lint.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct AsyncSuggestion { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConcurrencyAnalysis` is never constructed [INFO] [stdout] --> src/tools/async_lint.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct ConcurrencyAnalysis { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AsyncIssue` is never constructed [INFO] [stdout] --> src/tools/async_lint.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct AsyncIssue { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AsyncIssueType` is never used [INFO] [stdout] --> src/tools/async_lint.rs:57:10 [INFO] [stdout] | [INFO] [stdout] 57 | pub enum AsyncIssueType { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AsyncLintTool` is never constructed [INFO] [stdout] --> src/tools/async_lint.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct AsyncLintTool; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tools/async_lint.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 63 | impl AsyncLintTool { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 64 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | fn analyze_async_patterns(&self, file_path: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | fn detect_blocking_operations(&self, ast: &syn::File) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn analyze_await_patterns(&self, functions: &[syn::ItemFn]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | fn detect_deadlock_patterns(&self, ast: &syn::File) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn suggest_async_improvements( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn analyze_concurrency_patterns( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AsyncVisitor` is never constructed [INFO] [stdout] --> src/tools/async_lint.rs:259:8 [INFO] [stdout] | [INFO] [stdout] 259 | struct AsyncVisitor { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tools/async_lint.rs:264:8 [INFO] [stdout] | [INFO] [stdout] 263 | impl AsyncVisitor { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 264 | fn new(file_path: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockingOperationVisitor` is never constructed [INFO] [stdout] --> src/tools/async_lint.rs:315:8 [INFO] [stdout] | [INFO] [stdout] 315 | struct BlockingOperationVisitor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tools/async_lint.rs:319:8 [INFO] [stdout] | [INFO] [stdout] 318 | impl BlockingOperationVisitor { [INFO] [stdout] | ----------------------------- associated function in this implementation [INFO] [stdout] 319 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AwaitPatternVisitor` is never constructed [INFO] [stdout] --> src/tools/async_lint.rs:352:8 [INFO] [stdout] | [INFO] [stdout] 352 | struct AwaitPatternVisitor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tools/async_lint.rs:356:8 [INFO] [stdout] | [INFO] [stdout] 355 | impl AwaitPatternVisitor { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 356 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeadlockVisitor` is never constructed [INFO] [stdout] --> src/tools/async_lint.rs:401:8 [INFO] [stdout] | [INFO] [stdout] 401 | struct DeadlockVisitor { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tools/async_lint.rs:405:8 [INFO] [stdout] | [INFO] [stdout] 404 | impl DeadlockVisitor { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 405 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `FunctionNameExtractor` is never used [INFO] [stdout] --> src/tools/async_lint.rs:431:7 [INFO] [stdout] | [INFO] [stdout] 431 | trait FunctionNameExtractor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `find_rust_files` is never used [INFO] [stdout] --> src/tools/async_lint.rs:726:8 [INFO] [stdout] | [INFO] [stdout] 725 | impl AsyncLintTool { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 726 | fn find_rust_files(&self, dir: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CrudGenTool` is never constructed [INFO] [stdout] --> src/tools/crud_gen.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct CrudGenTool; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StructInfo` is never constructed [INFO] [stdout] --> src/tools/crud_gen.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct StructInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FieldInfo` is never constructed [INFO] [stdout] --> src/tools/crud_gen.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct FieldInfo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tools/crud_gen.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl CrudGenTool { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 24 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | fn parse_struct_from_file(&self, file_path: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | fn parse_struct_item(&self, struct_item: &ItemStruct) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn parse_field(&self, field: &Field) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | fn type_to_string(&self, ty: &Type) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | fn is_optional_type(&self, ty: &Type) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | fn generate_crud_operations( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | fn generate_sql_crud(&self, struct_info: &StructInfo) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | fn generate_diesel_crud(&self, struct_info: &StructInfo) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | fn generate_seaorm_crud(&self, struct_info: &StructInfo) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 354 | fn generate_api_endpoints( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 372 | fn generate_axum_api(&self, struct_info: &StructInfo) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 499 | fn generate_actix_api(&self, struct_info: &StructInfo) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 557 | fn generate_rocket_api(&self, struct_info: &StructInfo) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 602 | fn generate_validation_code(&self, struct_info: &StructInfo) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 641 | fn generate_validation_attrs(&self, field: &FieldInfo) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 663 | fn map_rust_type_to_sql(&self, rust_type: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 685 | fn map_rust_type_to_diesel(&self, rust_type: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 707 | fn map_rust_type_to_seaorm(&self, rust_type: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 729 | fn get_primary_key_type(&self, struct_info: &StructInfo) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `snake_case` is never used [INFO] [stdout] --> src/tools/crud_gen.rs:737:4 [INFO] [stdout] | [INFO] [stdout] 737 | fn snake_case(s: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProtoBindTool` is never constructed [INFO] [stdout] --> src/tools/proto_bind.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct ProtoBindTool; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProtoSchema` is never constructed [INFO] [stdout] --> src/tools/proto_bind.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | struct ProtoSchema { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProtoMessage` is never constructed [INFO] [stdout] --> src/tools/proto_bind.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | struct ProtoMessage { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProtoField` is never constructed [INFO] [stdout] --> src/tools/proto_bind.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | struct ProtoField { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProtoService` is never constructed [INFO] [stdout] --> src/tools/proto_bind.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | struct ProtoService { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProtoMethod` is never constructed [INFO] [stdout] --> src/tools/proto_bind.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | struct ProtoMethod { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OpenAPISchema` is never constructed [INFO] [stdout] --> src/tools/proto_bind.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | struct OpenAPISchema { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OpenAPIComponents` is never constructed [INFO] [stdout] --> src/tools/proto_bind.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | struct OpenAPIComponents { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OpenAPISchemaItem` is never constructed [INFO] [stdout] --> src/tools/proto_bind.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | struct OpenAPISchemaItem { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OpenAPIProperty` is never constructed [INFO] [stdout] --> src/tools/proto_bind.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | struct OpenAPIProperty { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OpenAPIPath` is never constructed [INFO] [stdout] --> src/tools/proto_bind.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | struct OpenAPIPath { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GraphQLSchema` is never constructed [INFO] [stdout] --> src/tools/proto_bind.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | struct GraphQLSchema { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GraphQLType` is never constructed [INFO] [stdout] --> src/tools/proto_bind.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | struct GraphQLType { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GraphQLField` is never constructed [INFO] [stdout] --> src/tools/proto_bind.rs:81:8 [INFO] [stdout] | [INFO] [stdout] 81 | struct GraphQLField { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GraphQLArg` is never constructed [INFO] [stdout] --> src/tools/proto_bind.rs:87:8 [INFO] [stdout] | [INFO] [stdout] 87 | struct GraphQLArg { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tools/proto_bind.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 91 | impl ProtoBindTool { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 92 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | fn parse_proto_file(&self, file_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | fn parse_proto_message( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | fn parse_proto_field(&self, line: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | fn parse_proto_service( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | fn parse_proto_method(&self, line: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | fn parse_openapi_spec(&self, file_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 304 | fn extract_openapi_type(&self, schema: &Map) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 333 | fn extract_openapi_request_body( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 351 | fn extract_openapi_response_body( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 370 | fn parse_graphql_schema(&self, file_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 399 | fn parse_graphql_type( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 412 | fn parse_graphql_fields( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 431 | fn parse_graphql_field(&self, line: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 447 | fn parse_graphql_args(&self, args_str: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 462 | fn parse_graphql_type_annotation(&self, ty_str: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 481 | fn generate_rust_bindings( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 496 | fn generate_proto_rust_bindings( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 548 | fn generate_openapi_rust_bindings( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 635 | fn generate_graphql_rust_bindings( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 683 | fn generate_grpc_client(&self, schema: &ProtoSchema) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 734 | fn proto_type_to_rust(&self, proto_type: &str, repeated: bool) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 755 | fn get_default_value(&self, proto_type: &str, repeated: bool) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SchemaType` is never used [INFO] [stdout] --> src/tools/proto_bind.rs:772:6 [INFO] [stdout] | [INFO] [stdout] 772 | enum SchemaType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorDeriveTool` is never constructed [INFO] [stdout] --> src/tools/error_derive.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ErrorDeriveTool; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorPattern` is never constructed [INFO] [stdout] --> src/tools/error_derive.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct ErrorPattern { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorAnalysis` is never constructed [INFO] [stdout] --> src/tools/error_derive.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct ErrorAnalysis { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tools/error_derive.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl ErrorDeriveTool { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 24 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | fn analyze_error_usage(&self, file_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn analyze_directory(&self, dir_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | fn generate_error_enum( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | fn generate_error_impls(&self, error_name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | fn generate_context_methods(&self, error_name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn generate_comprehensive_error_type( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | fn error_type_to_variant_name(&self, error_type: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | fn generate_display_message(&self, error_type: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | fn generate_error_handling_patterns( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorUsageVisitor` is never constructed [INFO] [stdout] --> src/tools/error_derive.rs:371:8 [INFO] [stdout] | [INFO] [stdout] 371 | struct ErrorUsageVisitor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tools/error_derive.rs:377:8 [INFO] [stdout] | [INFO] [stdout] 376 | impl ErrorUsageVisitor { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 377 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `analyze_return_type` is never used [INFO] [stdout] --> src/tools/error_derive.rs:397:8 [INFO] [stdout] | [INFO] [stdout] 396 | impl ErrorUsageVisitor { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] 397 | fn analyze_return_type(&mut self, ty: &Type) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BuilderGenTool` is never constructed [INFO] [stdout] --> src/tools/builder_gen.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct BuilderGenTool; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [WARN] too many lines in the log, truncating it