[INFO] cloning repository https://github.com/Bhup-GitHUB/rust-llm-layer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Bhup-GitHUB/rust-llm-layer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBhup-GitHUB%2Frust-llm-layer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBhup-GitHUB%2Frust-llm-layer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 01f12dd68fd9803a9136eb1cad6d7623636bb1b6
[INFO] checking Bhup-GitHUB/rust-llm-layer against master#04ff05c9c0cfbca33115c5f1b8bb20a66a54b799 for pr-147834
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBhup-GitHUB%2Frust-llm-layer" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Bhup-GitHUB/rust-llm-layer
[INFO] finished tweaking git repo https://github.com/Bhup-GitHUB/rust-llm-layer
[INFO] tweaked toml for git repo https://github.com/Bhup-GitHUB/rust-llm-layer written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Bhup-GitHUB/rust-llm-layer on toolchain 04ff05c9c0cfbca33115c5f1b8bb20a66a54b799
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+04ff05c9c0cfbca33115c5f1b8bb20a66a54b799" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Bhup-GitHUB/rust-llm-layer 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" "+04ff05c9c0cfbca33115c5f1b8bb20a66a54b799" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+04ff05c9c0cfbca33115c5f1b8bb20a66a54b799" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0d399d96e7caf5e61d428fd6edef128e9c1627d4b0e3e50b8f8493d9e94651b8
[INFO] running `Command { std: "docker" "start" "-a" "0d399d96e7caf5e61d428fd6edef128e9c1627d4b0e3e50b8f8493d9e94651b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0d399d96e7caf5e61d428fd6edef128e9c1627d4b0e3e50b8f8493d9e94651b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0d399d96e7caf5e61d428fd6edef128e9c1627d4b0e3e50b8f8493d9e94651b8", kill_on_drop: false }`
[INFO] [stdout] 0d399d96e7caf5e61d428fd6edef128e9c1627d4b0e3e50b8f8493d9e94651b8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+04ff05c9c0cfbca33115c5f1b8bb20a66a54b799" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 33f96d6a7529ca393e94904bb0017caf81ab4a9b8b6ddc3e14df0cddcd9f2cac
[INFO] running `Command { std: "docker" "start" "-a" "33f96d6a7529ca393e94904bb0017caf81ab4a9b8b6ddc3e14df0cddcd9f2cac", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.102
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking rust-llm-layer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/analyzer/export.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[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: `Deserialize`
[INFO] [stdout]  --> src/analyzer/export.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/analyzer/query_parser.rs:125:60
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 min_pos = Some(min_pos.map_or(actual_pos, |m| m.min(actual_pos)));
[INFO] [stdout]     |                                                            ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 min_pos = Some(min_pos.map_or(actual_pos, |m: /* Type */| m.min(actual_pos)));
[INFO] [stdout]     |                                                             ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/analyzer/query_parser.rs:125:60
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 min_pos = Some(min_pos.map_or(actual_pos, |m| m.min(actual_pos)));
[INFO] [stdout]     |                                                            ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 min_pos = Some(min_pos.map_or(actual_pos, |m: /* Type */| m.min(actual_pos)));
[INFO] [stdout]     |                                                             ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]   --> src/analyzer/export.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let json = serde_json::to_string_pretty(data)?;
[INFO] [stdout]    |                    ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]   --> src/analyzer/export.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let json = serde_json::to_string_pretty(data)?;
[INFO] [stdout]    |                    ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `u64` by `{float}`
[INFO] [stdout]   --> src/analyzer/schema_optimizer.rs:92:52
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let benefit = (savings / current_size) * 100.0;
[INFO] [stdout]    |                                                    ^ no implementation for `u64 * {float}`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Mul<{float}>` is not implemented for `u64`
[INFO] [stdout]    = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]              `&u64` implements `Mul<u64>`
[INFO] [stdout]              `&u64` implements `Mul`
[INFO] [stdout]              `u64` implements `Mul<&u64>`
[INFO] [stdout]              `u64` implements `Mul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `u64` by `{float}`
[INFO] [stdout]   --> src/analyzer/schema_optimizer.rs:92:52
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let benefit = (savings / current_size) * 100.0;
[INFO] [stdout]    |                                                    ^ no implementation for `u64 * {float}`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Mul<{float}>` is not implemented for `u64`
[INFO] [stdout]    = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]              `&u64` implements `Mul<u64>`
[INFO] [stdout]              `&u64` implements `Mul`
[INFO] [stdout]              `u64` implements `Mul<&u64>`
[INFO] [stdout]              `u64` implements `Mul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `*self` as immutable because it is also borrowed as mutable
[INFO] [stdout]   --> src/analyzer/query_fingerprinter.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let entry = self.fingerprints.entry(fingerprint.clone()).or_insert_with(|| {
[INFO] [stdout]    |                     ----------------- mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 51 |         self.update_performance_trend(entry);
[INFO] [stdout]    |         ^^^^                          ----- mutable borrow later used here
[INFO] [stdout]    |         |
[INFO] [stdout]    |         immutable borrow occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `*self` as immutable because it is also borrowed as mutable
[INFO] [stdout]   --> src/analyzer/join_analyzer.rs:38:71
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 let entry = self.join_stats.entry(key).or_insert_with(|| {
[INFO] [stdout]    |                             ---------------            -------------- ^^ immutable borrow occurs here
[INFO] [stdout]    |                             |                          |
[INFO] [stdout]    |                             |                          mutable borrow later used by call
[INFO] [stdout]    |                             mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 44 |                         join_type: self.detect_join_type(join_condition),
[INFO] [stdout]    |                                    ---- second borrow occurs due to use of `*self` in closure
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `*self` as immutable because it is also borrowed as mutable
[INFO] [stdout]   --> src/analyzer/join_analyzer.rs:54:43
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 let entry = self.join_stats.entry(key).or_insert_with(|| {
[INFO] [stdout]    |                             --------------- mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 54 |                 entry.performance_score = self.calculate_performance_score(entry);
[INFO] [stdout]    |                                           ^^^^                             ----- mutable borrow later used here
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           immutable borrow occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_time`
[INFO] [stdout]    --> src/analyzer/anomaly_detector.rs:109:38
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn detect_unusual_pattern(&self, current_time: u64) -> bool {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_time`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `*self` as immutable because it is also borrowed as mutable
[INFO] [stdout]   --> src/analyzer/query_fingerprinter.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let entry = self.fingerprints.entry(fingerprint.clone()).or_insert_with(|| {
[INFO] [stdout]    |                     ----------------- mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 51 |         self.update_performance_trend(entry);
[INFO] [stdout]    |         ^^^^                          ----- mutable borrow later used here
[INFO] [stdout]    |         |
[INFO] [stdout]    |         immutable borrow occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table_name`
[INFO] [stdout]   --> src/analyzer/index_usage_simulator.rs:67:37
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn estimate_storage_cost(&self, table_name: &str, columns: &[String], rows_scanned: u64) -> f64 {
[INFO] [stdout]    |                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `*self` as immutable because it is also borrowed as mutable
[INFO] [stdout]   --> src/analyzer/join_analyzer.rs:38:71
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 let entry = self.join_stats.entry(key).or_insert_with(|| {
[INFO] [stdout]    |                             ---------------            -------------- ^^ immutable borrow occurs here
[INFO] [stdout]    |                             |                          |
[INFO] [stdout]    |                             |                          mutable borrow later used by call
[INFO] [stdout]    |                             mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 44 |                         join_type: self.detect_join_type(join_condition),
[INFO] [stdout]    |                                    ---- second borrow occurs due to use of `*self` in closure
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `*self` as immutable because it is also borrowed as mutable
[INFO] [stdout]   --> src/analyzer/join_analyzer.rs:54:43
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 let entry = self.join_stats.entry(key).or_insert_with(|| {
[INFO] [stdout]    |                             --------------- mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 54 |                 entry.performance_score = self.calculate_performance_score(entry);
[INFO] [stdout]    |                                           ^^^^                             ----- mutable borrow later used here
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           immutable borrow occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/analyzer/priority_scoring.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn rank_indexes(&self, scores: &[PriorityScore]) -> Vec<&PriorityScore> {
[INFO] [stdout]     |                         -              - let's call the lifetime of this reference `'1`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         let's call the lifetime of this reference `'2`
[INFO] [stdout] ...
[INFO] [stdout] 135 |         ranked
[INFO] [stdout]     |         ^^^^^^ method was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a named lifetime parameter and update trait if needed
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn rank_indexes<'a>(&self, scores: &'a [PriorityScore]) -> Vec<&'a PriorityScore> {
[INFO] [stdout]     |                        ++++                 ++                          ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_time`
[INFO] [stdout]    --> src/analyzer/anomaly_detector.rs:109:38
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn detect_unusual_pattern(&self, current_time: u64) -> bool {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_time`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/analyzer/index_removal_recommender.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |       pub fn get_safe_removal_candidates(&self, recommendations: &[RemovalRecommendation]) -> Vec<&RemovalRecommendation> {
[INFO] [stdout]     |                                          -                       - let's call the lifetime of this reference `'1`
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          let's call the lifetime of this reference `'2`
[INFO] [stdout] 163 | /         recommendations
[INFO] [stdout] 164 | |             .iter()
[INFO] [stdout] 165 | |             .filter(|rec| rec.risk_level == "Very Low" || rec.risk_level == "Low")
[INFO] [stdout] 166 | |             .collect()
[INFO] [stdout]     | |______________________^ method was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a named lifetime parameter and update trait if needed
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_safe_removal_candidates<'a>(&self, recommendations: &'a [RemovalRecommendation]) -> Vec<&'a RemovalRecommendation> {
[INFO] [stdout]     |                                       ++++                          ++                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table_name`
[INFO] [stdout]   --> src/analyzer/index_usage_simulator.rs:67:37
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn estimate_storage_cost(&self, table_name: &str, columns: &[String], rows_scanned: u64) -> f64 {
[INFO] [stdout]    |                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/analyzer/priority_scoring.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn rank_indexes(&self, scores: &[PriorityScore]) -> Vec<&PriorityScore> {
[INFO] [stdout]     |                         -              - let's call the lifetime of this reference `'1`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         let's call the lifetime of this reference `'2`
[INFO] [stdout] ...
[INFO] [stdout] 135 |         ranked
[INFO] [stdout]     |         ^^^^^^ method was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a named lifetime parameter and update trait if needed
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn rank_indexes<'a>(&self, scores: &'a [PriorityScore]) -> Vec<&'a PriorityScore> {
[INFO] [stdout]     |                        ++++                 ++                          ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/analyzer/index_removal_recommender.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |       pub fn get_safe_removal_candidates(&self, recommendations: &[RemovalRecommendation]) -> Vec<&RemovalRecommendation> {
[INFO] [stdout]     |                                          -                       - let's call the lifetime of this reference `'1`
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          let's call the lifetime of this reference `'2`
[INFO] [stdout] 163 | /         recommendations
[INFO] [stdout] 164 | |             .iter()
[INFO] [stdout] 165 | |             .filter(|rec| rec.risk_level == "Very Low" || rec.risk_level == "Low")
[INFO] [stdout] 166 | |             .collect()
[INFO] [stdout]     | |______________________^ method was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a named lifetime parameter and update trait if needed
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_safe_removal_candidates<'a>(&self, recommendations: &'a [RemovalRecommendation]) -> Vec<&'a RemovalRecommendation> {
[INFO] [stdout]     |                                       ++++                          ++                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly dereference within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/analyzer/deadlock_detector.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |             .filter(|(_, &count)| count > 2)
[INFO] [stdout]     |                          ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/analyzer/deadlock_detector.rs:205:22
[INFO] [stdout]     |
[INFO] [stdout] 205 |             .filter(|(_, &count)| count > 2)
[INFO] [stdout]     |                      ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 205 |             .filter(|&(_, &count)| count > 2)
[INFO] [stdout]     |                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0433, E0502.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-llm-layer` (lib) due to 9 previous errors; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: cannot explicitly dereference within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/analyzer/deadlock_detector.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |             .filter(|(_, &count)| count > 2)
[INFO] [stdout]     |                          ^ reference pattern not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/analyzer/deadlock_detector.rs:205:22
[INFO] [stdout]     |
[INFO] [stdout] 205 |             .filter(|(_, &count)| count > 2)
[INFO] [stdout]     |                      ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 205 |             .filter(|&(_, &count)| count > 2)
[INFO] [stdout]     |                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0433, E0502.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-llm-layer` (lib test) due to 9 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "33f96d6a7529ca393e94904bb0017caf81ab4a9b8b6ddc3e14df0cddcd9f2cac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "33f96d6a7529ca393e94904bb0017caf81ab4a9b8b6ddc3e14df0cddcd9f2cac", kill_on_drop: false }`
[INFO] [stdout] 33f96d6a7529ca393e94904bb0017caf81ab4a9b8b6ddc3e14df0cddcd9f2cac
