diff --git a/src/bench/mod.rs b/src/bench/mod.rs index 45576c9..6e045b0 100644 --- a/src/bench/mod.rs +++ b/src/bench/mod.rs @@ -155,7 +155,7 @@ impl BenchResult { println!("║ RECALL ║"); println!("║ Recall@{}: {:>6.2}% ║", self.config.k, self.recall_at_k * 100.0); - if let Some(ref cmp) = self.comparison { + if let Some(cmp) = self.comparison.as_ref() { println!("╠════════════════════════════════════════════════════════════════╣"); println!("║ VS FLOAT32 COSINE BASELINE ║"); println!("║ RAM savings: {:>6.1}x less memory ║", cmp.ram_savings_factor); diff --git a/src/bin/server.rs b/src/bin/server.rs index 24b61e8..2dd8195 100644 --- a/src/bin/server.rs +++ b/src/bin/server.rs @@ -486,7 +486,7 @@ fn handle_topk(body: &str, state: &SharedState) -> String { scored.truncate(k); let results: Vec = scored.iter().map(|&(idx, dist, sim)| { - let (ref id, _, ref meta): &(String, Fingerprint, HashMap) = &db.fingerprints[idx]; + let (id, _, meta) = &db.fingerprints[idx]; let meta_json = meta.iter() .map(|(k, v)| format!(r#""{}":"{}""#, k, v)) .collect::>().join(","); @@ -550,7 +550,7 @@ fn handle_resonate(body: &str, state: &SharedState) -> String { scored.truncate(limit); let results: Vec = scored.iter().map(|&(idx, sim)| { - let (ref id, _, ref _meta): &(String, Fingerprint, HashMap) = &db.fingerprints[idx]; + let (id, _, _meta) = &db.fingerprints[idx]; format!(r#"{{"index":{},"id":"{}","similarity":{:.6}}}"#, idx, id, sim) }).collect(); @@ -758,7 +758,7 @@ fn handle_lance_search(body: &str, state: &SharedState) -> String { scored.truncate(limit); let results: Vec = scored.iter().map(|&(idx, dist, sim)| { - let (ref id, _, ref meta): &(String, Fingerprint, HashMap) = &db.fingerprints[idx]; + let (id, _, meta) = &db.fingerprints[idx]; let text = meta.get("text").cloned().unwrap_or_default(); format!(r#"{{"id":"{}","_distance":{},"_similarity":{:.6},"text":"{}"}}"#, id, dist, sim, text.replace('"', "'")) diff --git a/src/extensions/spo/jina_cache.rs b/src/extensions/spo/jina_cache.rs index deff9a4..6ab42ca 100644 --- a/src/extensions/spo/jina_cache.rs +++ b/src/extensions/spo/jina_cache.rs @@ -279,7 +279,7 @@ impl JinaCache { } fn save_to_disk(&self) { - if let Some(ref path) = self.cache_path { + if let Some(path) = self.cache_path.as_ref() { if let Ok(file) = File::create(path) { let mut writer = BufWriter::new(file); @@ -299,7 +299,7 @@ impl JinaCache { } fn load_from_disk(&mut self) { - if let Some(ref path) = self.cache_path { + if let Some(path) = self.cache_path.as_ref() { if let Ok(file) = File::open(path) { let mut reader = BufReader::new(file); diff --git a/src/fabric/udp_transport.rs b/src/fabric/udp_transport.rs index 903c00e..69ebbf8 100644 --- a/src/fabric/udp_transport.rs +++ b/src/fabric/udp_transport.rs @@ -335,7 +335,7 @@ impl UdpReceiver { } // Notify callback - if let Some(ref callback) = self.on_result { + if let Some(callback) = self.on_result.as_ref() { callback(packet.from, result); } } @@ -400,7 +400,7 @@ impl LaneRouter { pub fn route(&mut self, packet: FramePacket) -> ExecResult { let lane_id = packet.frame.header.lane_id as usize; - if let Some(Some(ref mut executor)) = self.lanes.get_mut(lane_id) { + if let Some(Some(executor)) = self.lanes.get_mut(lane_id) { executor.execute(&packet.frame) } else { ExecResult::Error(format!("lane {} not found", lane_id)) diff --git a/src/query/cypher.rs b/src/query/cypher.rs index c46e5ac..2858734 100644 --- a/src/query/cypher.rs +++ b/src/query/cypher.rs @@ -1084,7 +1084,7 @@ impl CypherTranspiler { } // Build SELECT clause - let select_cols = if let Some(ref ret) = query.return_clause { + let select_cols = if let Some(ret) = query.return_clause.as_ref() { ret.items.iter() .map(|item| Self::expr_to_sql(&item.expr)) .collect::>() @@ -1102,7 +1102,7 @@ impl CypherTranspiler { } // WHERE clause - if let Some(ref where_clause) = query.where_clause { + if let Some(where_clause) = query.where_clause.as_ref() { where_parts.push(Self::condition_to_sql(&where_clause.condition)); } @@ -1111,7 +1111,7 @@ impl CypherTranspiler { } // ORDER BY - if let Some(ref order) = query.order_by { + if let Some(order) = query.order_by.as_ref() { let order_sql = order.items.iter() .map(|item| { let dir = if item.direction == SortDirection::Desc { "DESC" } else { "ASC" }; @@ -1194,7 +1194,7 @@ ORDER BY t.depth, t.amplification DESC edge_type_filter = edge_type_filter, max_depth = edge.max_hops, min_depth = edge.min_hops, - end_label_filter = if let Some(ref end) = end_node { + end_label_filter = if let Some(end) = end_node.as_ref() { if !end.labels.is_empty() { format!(" AND n.label = '{}'", end.labels[0]) } else { @@ -1203,7 +1203,7 @@ ORDER BY t.depth, t.amplification DESC } else { String::new() }, - user_where = if let Some(ref w) = query.where_clause { + user_where = if let Some(w) = query.where_clause.as_ref() { format!(" AND ({})", Self::condition_to_sql(&w.condition)) } else { String::new() diff --git a/src/query/hybrid.rs b/src/query/hybrid.rs index 2a75456..a4963ed 100644 --- a/src/query/hybrid.rs +++ b/src/query/hybrid.rs @@ -412,7 +412,7 @@ impl HybridEngine { fn execute_graph(&self, query: &HybridQuery, candidates: Vec<(Addr, f32)>) -> Result, String> { match &query.graph { Some(gc) => { - if let Some(ref parsed) = gc.parsed { + if let Some(parsed) = gc.parsed.as_ref() { // Apply pattern constraints (simplified - check labels) Ok(candidates .into_iter() @@ -432,13 +432,13 @@ impl HybridEngine { fn matches_pattern(&self, addr: Addr, query: &CypherQuery) -> bool { if let Some(node) = self.bind_space.read(addr) { // Check label matches if specified in pattern - if let Some(ref match_clause) = query.match_clause { + if let Some(match_clause) = query.match_clause.as_ref() { for pattern in &match_clause.patterns { for element in &pattern.elements { if let PatternElement::Node(node_pat) = element { for label in &node_pat.labels { // Check if node has matching label - if let Some(ref node_label) = node.label { + if let Some(node_label) = node.label.as_ref() { if !node_label.to_lowercase().contains(&label.to_lowercase()) { return false; } @@ -482,14 +482,14 @@ impl HybridEngine { for (addr, similarity) in candidates { if let Some(node) = self.bind_space.read(addr) { // Apply qualia filter - if let Some(ref qf) = query.qualia { + if let Some(qf) = query.qualia.as_ref() { if !qf.matches(node.qidx) { continue; } } // Apply label filter - if let Some(ref label_filter) = query.label_filter { + if let Some(label_filter) = query.label_filter.as_ref() { match &node.label { Some(label) if label.contains(label_filter) => {} _ => continue, diff --git a/src/storage/database.rs b/src/storage/database.rs index fbeaba9..f3ad234 100644 --- a/src/storage/database.rs +++ b/src/storage/database.rs @@ -277,7 +277,7 @@ impl Database { .with_content(&thought.content); // Add fingerprint if available - let node = if let Some(ref fp) = thought.fingerprint { + let node = if let Some(fp) = thought.fingerprint.as_ref() { node.with_fingerprint(fp) } else { node diff --git a/src/storage/hardening.rs b/src/storage/hardening.rs index 88bf936..2281e8e 100644 --- a/src/storage/hardening.rs +++ b/src/storage/hardening.rs @@ -416,7 +416,7 @@ impl WriteAheadLog { /// Append entry to WAL pub fn append(&mut self, entry: &WalEntry) -> std::io::Result<()> { let bytes = entry.to_bytes(); - if let Some(ref mut file) = self.file { + if let Some(file) = self.file.as_mut() { file.write_all(&bytes)?; self.size += bytes.len(); self.entries_since_checkpoint += 1; @@ -436,7 +436,7 @@ impl WriteAheadLog { /// Perform checkpoint (truncate WAL) pub fn checkpoint(&mut self) -> std::io::Result<()> { // Flush and close current file - if let Some(ref mut file) = self.file { + if let Some(file) = self.file.as_mut() { file.flush()?; } self.file = None; @@ -752,7 +752,7 @@ impl HardenedBindSpace { } // WAL - if let Some(ref wal) = self.wal { + if let Some(wal) = self.wal.as_ref() { if let Ok(mut wal) = wal.lock() { let entry = WalEntry::Write { addr: addr.0, @@ -786,7 +786,7 @@ impl HardenedBindSpace { } // WAL - if let Some(ref wal) = self.wal { + if let Some(wal) = self.wal.as_ref() { if let Ok(mut wal) = wal.lock() { let entry = WalEntry::Delete { addr: addr.0 }; let _ = wal.append(&entry); @@ -798,7 +798,7 @@ impl HardenedBindSpace { /// Record a link pub fn on_link(&self, from: Addr, verb: Addr, to: Addr) { // WAL - if let Some(ref wal) = self.wal { + if let Some(wal) = self.wal.as_ref() { if let Ok(mut wal) = wal.lock() { let entry = WalEntry::Link { from: from.0, @@ -832,7 +832,7 @@ impl HardenedBindSpace { } // Check WAL - if let Some(ref wal) = self.wal { + if let Some(wal) = self.wal.as_ref() { if let Ok(wal) = wal.lock() { needs_checkpoint = wal.needs_checkpoint(); } @@ -843,7 +843,7 @@ impl HardenedBindSpace { /// Perform WAL checkpoint pub fn checkpoint(&self) -> std::io::Result<()> { - if let Some(ref wal) = self.wal { + if let Some(wal) = self.wal.as_ref() { if let Ok(mut wal) = wal.lock() { wal.checkpoint()?; self.metrics.checkpoints.fetch_add(1, Ordering::Relaxed); @@ -869,7 +869,7 @@ impl HardenedBindSpace { /// Recover from WAL pub fn recover(&self) -> std::io::Result> { - if let Some(ref wal) = self.wal { + if let Some(wal) = self.wal.as_ref() { if let Ok(wal) = wal.lock() { return wal.recover(); } diff --git a/src/storage/lance.rs b/src/storage/lance.rs index b0dce36..bf4d828 100644 --- a/src/storage/lance.rs +++ b/src/storage/lance.rs @@ -552,7 +552,7 @@ impl NodeRecord { let fp_builder = FixedSizeBinaryBuilder::new(FINGERPRINT_BYTES as i32); let mut fp_array = fp_builder; for node in nodes { - if let Some(ref fp) = node.fingerprint { + if let Some(fp) = node.fingerprint.as_ref() { fp_array.append_value(fp)?; } else { fp_array.append_null(); diff --git a/src/storage/lance_zero_copy/mod.rs b/src/storage/lance_zero_copy/mod.rs index 2b43e4d..d2c545a 100644 --- a/src/storage/lance_zero_copy/mod.rs +++ b/src/storage/lance_zero_copy/mod.rs @@ -2593,7 +2593,7 @@ impl CsrBuilder { for neighbors in &self.adj_list { for &(dst, weight) in neighbors { edges.push(dst); - if let Some(ref mut w) = weights { + if let Some(w) = weights.as_mut() { w.push(weight); } } diff --git a/src/storage/substrate.rs b/src/storage/substrate.rs index 64e9d70..597afc3 100644 --- a/src/storage/substrate.rs +++ b/src/storage/substrate.rs @@ -861,7 +861,7 @@ impl Substrate { // Promote candidates for (old_addr, fingerprint, label) in promote_candidates { // Write to node space - let new_addr = if let Some(ref lbl) = label { + let new_addr = if let Some(lbl) = label.as_ref() { self.write_labeled(fingerprint, lbl) } else { self.write(fingerprint) @@ -895,7 +895,7 @@ impl Substrate { drop(bind_space); // Write to node space - let new_addr = if let Some(ref lbl) = label { + let new_addr = if let Some(lbl) = label.as_ref() { self.write_labeled(fingerprint, lbl) } else { self.write(fingerprint)