[INFO] cloning repository https://github.com/playauraai/fluid-grep
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/playauraai/fluid-grep" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fplayauraai%2Ffluid-grep", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fplayauraai%2Ffluid-grep'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 82cbdf56011fd1404cecbcaf2e947844bf1a287e
[INFO] checking playauraai/fluid-grep against try#012cd62c9add58ab3910e44c137d87db3ab70f61 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fplayauraai%2Ffluid-grep" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/playauraai/fluid-grep
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/playauraai/fluid-grep
[INFO] tweaked toml for git repo https://github.com/playauraai/fluid-grep written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/playauraai/fluid-grep on toolchain 012cd62c9add58ab3910e44c137d87db3ab70f61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/playauraai/fluid-grep 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" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d8199518dcd38d01ce44eb0d5487b1d65acbd7797e5ac18ed0fb75adfd862dd6
[INFO] running `Command { std: "docker" "start" "-a" "d8199518dcd38d01ce44eb0d5487b1d65acbd7797e5ac18ed0fb75adfd862dd6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d8199518dcd38d01ce44eb0d5487b1d65acbd7797e5ac18ed0fb75adfd862dd6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d8199518dcd38d01ce44eb0d5487b1d65acbd7797e5ac18ed0fb75adfd862dd6", kill_on_drop: false }`
[INFO] [stdout] d8199518dcd38d01ce44eb0d5487b1d65acbd7797e5ac18ed0fb75adfd862dd6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 82ada5fd385f4b154365fc05f6b9d42eb32522da71a1c658724e874446ccfe9a
[INFO] running `Command { std: "docker" "start" "-a" "82ada5fd385f4b154365fc05f6b9d42eb32522da71a1c658724e874446ccfe9a", kill_on_drop: false }`
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]     Checking grep-matcher v0.1.8 (/opt/rustwide/workdir/crates/matcher)
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling find-msvc-tools v0.1.4
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]     Checking encoding_rs_io v0.1.7
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling ripgrep v15.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking textwrap v0.16.2
[INFO] [stderr]     Checking lexopt v0.3.1
[INFO] [stderr]     Checking glob v0.3.3
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking memmap2 v0.9.9
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling cc v1.2.41
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling pcre2-sys v0.2.10
[INFO] [stderr]     Checking bstr v1.12.0
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking pcre2 v0.2.11
[INFO] [stderr]     Checking grep-pcre2 v0.1.9 (/opt/rustwide/workdir/crates/pcre2)
[INFO] [stderr]     Checking globset v0.4.18 (/opt/rustwide/workdir/crates/globset)
[INFO] [stderr]     Checking grep-regex v0.1.14 (/opt/rustwide/workdir/crates/regex)
[INFO] [stderr]     Checking grep-searcher v0.1.16 (/opt/rustwide/workdir/crates/searcher)
[INFO] [stderr]     Checking grep-printer v0.3.1 (/opt/rustwide/workdir/crates/printer)
[INFO] [stderr]     Checking ignore v0.4.24 (/opt/rustwide/workdir/crates/ignore)
[INFO] [stderr]     Checking grep-cli v0.1.12 (/opt/rustwide/workdir/crates/cli)
[INFO] [stderr]     Checking grep v0.4.1 (/opt/rustwide/workdir/crates/grep)
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> crates/core/ripgrep_config.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::path::{Path, PathBuf};
[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: `Path`
[INFO] [stdout]   --> crates/core/ripgrep_config.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DirectoryCache` is never constructed
[INFO] [stdout]   --> crates/core/cache.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) struct DirectoryCache {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `canonicalize_key`, `get`, `insert`, and `cleanup` are never used
[INFO] [stdout]   --> crates/core/cache.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl DirectoryCache {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 29 |     /// Create a new directory cache with 5-second TTL.
[INFO] [stdout] 30 |     pub(crate) fn new() -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn canonicalize_key(dir: &Path) -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub(crate) fn get(&self, dir: &Path) -> Option<Arc<Vec<PathBuf>>> {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub(crate) fn insert(&mut self, dir: PathBuf, entries: Vec<PathBuf>) {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub(crate) fn cleanup(&mut self) {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CachedResult` is never constructed
[INFO] [stdout]   --> crates/core/cache.rs:75:19
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub(crate) struct CachedResult {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchResultCache` is never constructed
[INFO] [stdout]   --> crates/core/cache.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub(crate) struct SearchResultCache {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `is_valid`, `get`, `update`, and `clear` are never used
[INFO] [stdout]    --> crates/core/cache.rs:98:19
[INFO] [stdout]     |
[INFO] [stdout]  96 | impl SearchResultCache {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  97 |     /// Create a new search result cache.
[INFO] [stdout]  98 |     pub(crate) fn new() -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub(crate) fn is_valid(&self, pattern: &str) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub(crate) fn get(&self, pattern: &str) -> Option<Vec<CachedResult>> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub(crate) fn update(&mut self, pattern: String, results: Vec<CachedResult>) {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub(crate) fn clear(&mut self) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `unlimited` are never used
[INFO] [stdout]    --> crates/core/cache.rs:164:19
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl BoundedSearch {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout] 163 |     /// Create bounded search with custom limits.
[INFO] [stdout] 164 |     pub(crate) fn new(max_results: usize) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub(crate) fn unlimited() -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `wsl2_optimized` is never read
[INFO] [stdout]   --> crates/core/flags/hiargs.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) struct HiArgs {
[INFO] [stdout]    |                   ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub(crate) wsl2_optimized: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HiArgs` 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 `exact_match`, `case_sensitive`, `word_boundary`, `fuzzy_match`, `substring_match`, and `length_similarity` are never read
[INFO] [stdout]   --> crates/core/heuristic.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct ScoringWeights {
[INFO] [stdout]    |                   -------------- fields in this struct
[INFO] [stdout] 16 |     /// Weight for exact matches. Default: 1.0
[INFO] [stdout] 17 |     pub exact_match: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 18 |     /// Weight for case-sensitive matches. Default: 0.5
[INFO] [stdout] 19 |     pub case_sensitive: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     /// Weight for word boundary matches. Default: 0.3
[INFO] [stdout] 21 |     pub word_boundary: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 22 |     /// Weight for fuzzy/consecutive matches. Default: 0.2
[INFO] [stdout] 23 |     pub fuzzy_match: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 24 |     /// Weight for substring matches. Default: 0.15
[INFO] [stdout] 25 |     pub substring_match: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     /// Weight for length similarity. Default: 0.1
[INFO] [stdout] 27 |     pub length_similarity: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScoringWeights` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `normalize` are never used
[INFO] [stdout]   --> crates/core/heuristic.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl ScoringWeights {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 44 |     /// Creates custom weights for domain-specific scoring.
[INFO] [stdout] 45 |     pub(crate) fn new(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub(crate) fn normalize(&self) -> Self {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fuzzy_threshold`, `max_edit_distance`, `unicode_aware`, `case_sensitive_substring`, `consecutive_match_bonus`, and `weights` are never read
[INFO] [stdout]    --> crates/core/heuristic.rs:91:9
[INFO] [stdout]     |
[INFO] [stdout]  89 | pub(crate) struct HeuristicConfig {
[INFO] [stdout]     |                   --------------- fields in this struct
[INFO] [stdout]  90 |     /// Minimum fuzzy match threshold (0.0-1.0). Default: 0.6 (60%)
[INFO] [stdout]  91 |     pub fuzzy_threshold: f32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]  92 |     /// Maximum edit distance for close matches. If None, uses pattern.len() / 4
[INFO] [stdout]  93 |     pub max_edit_distance: Option<usize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  94 |     /// Whether to use Unicode-aware word boundaries. Default: true
[INFO] [stdout]  95 |     pub unicode_aware: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]  96 |     /// Whether to require case-sensitive substring matching. Default: false
[INFO] [stdout]  97 |     pub case_sensitive_substring: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  98 |     /// Bonus multiplier for consecutive character matches. Default: 1.0
[INFO] [stdout]  99 |     pub consecutive_match_bonus: f32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 100 |     /// Custom scoring weights. Default: standard weights
[INFO] [stdout] 101 |     pub weights: ScoringWeights,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HeuristicConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `with_weights` are never used
[INFO] [stdout]    --> crates/core/heuristic.rs:106:19
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl HeuristicConfig {
[INFO] [stdout]     | -------------------- associated functions in this implementation
[INFO] [stdout] 105 |     /// Creates a new configuration with custom settings.
[INFO] [stdout] 106 |     pub(crate) fn new(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub(crate) fn with_weights(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScoredMatch` is never constructed
[INFO] [stdout]    --> crates/core/heuristic.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub(crate) struct ScoredMatch {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScoreBreakdown` is never constructed
[INFO] [stdout]    --> crates/core/heuristic.rs:181:19
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub(crate) struct ScoreBreakdown {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_relevance_score` is never used
[INFO] [stdout]    --> crates/core/heuristic.rs:201:15
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub(crate) fn calculate_relevance_score(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_relevance_score_with_config` is never used
[INFO] [stdout]    --> crates/core/heuristic.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub(crate) fn calculate_relevance_score_with_config(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_relevance_score_breakdown` is never used
[INFO] [stdout]    --> crates/core/heuristic.rs:271:15
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub(crate) fn calculate_relevance_score_breakdown(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_word_boundary_match` is never used
[INFO] [stdout]    --> crates/core/heuristic.rs:329:4
[INFO] [stdout]     |
[INFO] [stdout] 329 | fn is_word_boundary_match(pattern: &str, text: &str, unicode_aware: bool) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_substring_match` is never used
[INFO] [stdout]    --> crates/core/heuristic.rs:362:4
[INFO] [stdout]     |
[INFO] [stdout] 362 | fn is_substring_match(pattern: &str, text: &str, case_sensitive: bool) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_consecutive_matches` is never used
[INFO] [stdout]    --> crates/core/heuristic.rs:373:4
[INFO] [stdout]     |
[INFO] [stdout] 373 | fn count_consecutive_matches(pattern: &str, text: &str) -> (usize, bool) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_length_similarity` is never used
[INFO] [stdout]    --> crates/core/heuristic.rs:405:4
[INFO] [stdout]     |
[INFO] [stdout] 405 | fn calculate_length_similarity(pattern: &str, text: &str) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuzzy_match_with_threshold` is never used
[INFO] [stdout]    --> crates/core/heuristic.rs:420:4
[INFO] [stdout]     |
[INFO] [stdout] 420 | fn fuzzy_match_with_threshold(pattern: &str, text: &str, threshold: f32) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuzzy_match` is never used
[INFO] [stdout]    --> crates/core/heuristic.rs:445:15
[INFO] [stdout]     |
[INFO] [stdout] 445 | pub(crate) fn fuzzy_match(pattern: &str, text: &str) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `levenshtein_distance` is never used
[INFO] [stdout]    --> crates/core/heuristic.rs:453:15
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub(crate) fn levenshtein_distance(s1: &str, s2: &str) -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_close_match` is never used
[INFO] [stdout]    --> crates/core/heuristic.rs:500:15
[INFO] [stdout]     |
[INFO] [stdout] 500 | pub(crate) fn is_close_match(pattern: &str, text: &str, max_distance: Option<usize>) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rank_candidates` is never used
[INFO] [stdout]    --> crates/core/heuristic.rs:507:15
[INFO] [stdout]     |
[INFO] [stdout] 507 | pub(crate) fn rank_candidates(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_match_positions` is never used
[INFO] [stdout]    --> crates/core/heuristic.rs:537:15
[INFO] [stdout]     |
[INFO] [stdout] 537 | pub(crate) fn find_match_positions(pattern: &str, text: &str) -> Vec<(usize, usize)> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `highlight_matches` is never used
[INFO] [stdout]    --> crates/core/heuristic.rs:556:15
[INFO] [stdout]     |
[INFO] [stdout] 556 | pub(crate) fn highlight_matches(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IncrementalResult` is never constructed
[INFO] [stdout]   --> crates/core/incremental.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) struct IncrementalResult {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IncrementalSearch` is never constructed
[INFO] [stdout]   --> crates/core/incremental.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(crate) struct IncrementalSearch {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/core/incremental.rs:61:19
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl IncrementalSearch {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  60 |     /// Create a new incremental search engine.
[INFO] [stdout]  61 |     pub(crate) fn new(max_results: usize) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub(crate) fn can_reuse(&self, new_pattern: &str) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub(crate) fn filter_results(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub(crate) fn update(
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub(crate) fn get_cached(&self) -> Option<&[IncrementalResult]> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub(crate) fn clear(&mut self) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub(crate) fn stats(&self) -> (usize, usize) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `incremental_score` is never used
[INFO] [stdout]    --> crates/core/incremental.rs:189:15
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub(crate) fn incremental_score(pattern: &str, text: &str) -> u32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatternCache` is never constructed
[INFO] [stdout]   --> crates/core/optimizer.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) struct PatternCache {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `is_cached`, `add`, `clear`, and `len` are never used
[INFO] [stdout]   --> crates/core/optimizer.rs:26:19
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl PatternCache {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 25 |     /// Create a new pattern cache with size limit.
[INFO] [stdout] 26 |     pub(crate) fn new(max_size: usize) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub(crate) fn is_cached(&self, pattern: &str) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub(crate) fn add(&mut self, pattern: String) {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub(crate) fn clear(&mut self) {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub(crate) fn len(&self) -> usize {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileContentCache` is never constructed
[INFO] [stdout]   --> crates/core/optimizer.rs:76:19
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) struct FileContentCache {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, `insert`, `clear`, and `stats` are never used
[INFO] [stdout]    --> crates/core/optimizer.rs:85:19
[INFO] [stdout]     |
[INFO] [stdout]  83 | impl FileContentCache {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout]  84 |     /// Create a new file content cache with size limit (in bytes).
[INFO] [stdout]  85 |     pub(crate) fn new(max_size_bytes: usize) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub(crate) fn get(&self, path: &Path) -> Option<Arc<[u8]>> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub(crate) fn insert(&mut self, path: std::path::PathBuf, content: Vec<u8>) {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub(crate) fn clear(&mut self) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub(crate) fn stats(&self) -> (usize, usize) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PathFilter` is never constructed
[INFO] [stdout]    --> crates/core/optimizer.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub(crate) struct PathFilter {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `default_filter`, `should_skip`, `bytes_contains`, and `is_binary` are never used
[INFO] [stdout]    --> crates/core/optimizer.rs:162:19
[INFO] [stdout]     |
[INFO] [stdout] 160 | impl PathFilter {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 161 |     /// Create filter with sensible defaults.
[INFO] [stdout] 162 |     pub(crate) fn default_filter() -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub(crate) fn should_skip(&self, path: &Path) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn bytes_contains(haystack: &[u8], needle: &[u8]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub(crate) fn is_binary(&self, content: &[u8]) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> crates/core/ripgrep_config.rs:38:19
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl SearchMode {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub(crate) fn as_str(&self) -> &'static str {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save` and `to_toml` are never used
[INFO] [stdout]    --> crates/core/ripgrep_config.rs:172:19
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl RipgrepConfig {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub(crate) fn save(&self) -> Result<()> {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     fn to_toml(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SimdMatcher` is never constructed
[INFO] [stdout]   --> crates/core/simd.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct SimdMatcher;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new`, `find_all`, `find_single_byte`, and `find_scalar` are never used
[INFO] [stdout]   --> crates/core/simd.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl SimdMatcher {
[INFO] [stdout]    | ---------------- associated functions in this implementation
[INFO] [stdout] 17 |     /// Create a new SIMD matcher
[INFO] [stdout] 18 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn find_all(pattern: &[u8], text: &[u8]) -> Vec<usize> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn find_single_byte(byte: u8, text: &[u8]) -> Vec<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn find_scalar(pattern: &[u8], text: &[u8]) -> Vec<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SimdCaseInsensitiveMatcher` is never constructed
[INFO] [stdout]   --> crates/core/simd.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct SimdCaseInsensitiveMatcher;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `find_all` are never used
[INFO] [stdout]   --> crates/core/simd.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl SimdCaseInsensitiveMatcher {
[INFO] [stdout]    | ------------------------------- associated functions in this implementation
[INFO] [stdout] 77 |     /// Create a new case-insensitive SIMD matcher
[INFO] [stdout] 78 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn find_all(pattern: &[u8], text: &[u8]) -> Vec<usize> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cleanup` is never used
[INFO] [stdout]   --> crates/core/cache.rs:61:19
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl DirectoryCache {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub(crate) fn cleanup(&mut self) {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]    --> crates/core/cache.rs:138:19
[INFO] [stdout]     |
[INFO] [stdout]  96 | impl SearchResultCache {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub(crate) fn clear(&mut self) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/core/cache.rs:164:19
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl BoundedSearch {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 163 |     /// Create bounded search with custom limits.
[INFO] [stdout] 164 |     pub(crate) fn new(max_results: usize) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `wsl2_optimized` is never read
[INFO] [stdout]   --> crates/core/flags/hiargs.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) struct HiArgs {
[INFO] [stdout]    |                   ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub(crate) wsl2_optimized: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HiArgs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `weights` is never read
[INFO] [stdout]    --> crates/core/heuristic.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout]  89 | pub(crate) struct HeuristicConfig {
[INFO] [stdout]     |                   --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub weights: ScoringWeights,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HeuristicConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_weights` is never used
[INFO] [stdout]    --> crates/core/heuristic.rs:124:19
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl HeuristicConfig {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub(crate) fn with_weights(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_cached` and `stats` are never used
[INFO] [stdout]    --> crates/core/incremental.rs:159:19
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl IncrementalSearch {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub(crate) fn get_cached(&self) -> Option<&[IncrementalResult]> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub(crate) fn stats(&self) -> (usize, usize) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `clear` and `len` are never used
[INFO] [stdout]   --> crates/core/optimizer.rs:54:19
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl PatternCache {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub(crate) fn clear(&mut self) {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub(crate) fn len(&self) -> usize {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `clear` and `stats` are never used
[INFO] [stdout]    --> crates/core/optimizer.rs:128:19
[INFO] [stdout]     |
[INFO] [stdout]  83 | impl FileContentCache {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub(crate) fn clear(&mut self) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub(crate) fn stats(&self) -> (usize, usize) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save` is never used
[INFO] [stdout]    --> crates/core/ripgrep_config.rs:172:19
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl RipgrepConfig {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub(crate) fn save(&self) -> Result<()> {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.17s
[INFO] running `Command { std: "docker" "inspect" "82ada5fd385f4b154365fc05f6b9d42eb32522da71a1c658724e874446ccfe9a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "82ada5fd385f4b154365fc05f6b9d42eb32522da71a1c658724e874446ccfe9a", kill_on_drop: false }`
[INFO] [stdout] 82ada5fd385f4b154365fc05f6b9d42eb32522da71a1c658724e874446ccfe9a
