refactor: resolve all lint findings

- remove 34 trivial restating comments (auto-fix)
- replace all 20 production .unwrap() calls with graceful handling:
  ?-propagation via LockPoisoned, unwrap_or_default on infallible
  conversions, let _ = on actor-channel sends, and a downloads_sender()
  helper in the TUI that also dedupes three channel-init blocks
- collapse nested if into match guard (clippy::collapsible_match)
- split client.rs (2275 lines) into a client/ module: connection,
  search, downloads, uploads, rooms, operations
- split ui/main_tui.rs (2027 lines) into a main_tui/ module: render,
  input, browse, rooms, downloads, search
- extract oversized functions: peer_actor/server_actor handle_message
  into per-message helpers, main() into init_logging/run_default_tui,
  download_selector and main_tui render into per-section helpers

Mechanical only, zero behavior change. Verified: clippy clean
(pedantic+nursery), fmt clean, 143 unit tests + 16 e2e tests against
soulfind pass, lint clean.
This commit is contained in:
Michel de Graaf
2026-07-20 10:53:57 +02:00
parent 17864ac9b0
commit 2918b0ce75
35 changed files with 4113 additions and 3983 deletions
+5 -10
View File
@@ -184,17 +184,12 @@ impl HuffmanTree {
let mut node = &mut self.root;
for i in (0..n).rev() {
let b = (codeword >> i) & 1;
if b != 0 {
if node.right.is_none() {
node.right = Some(Box::new(Node::new()));
}
node = node.right.as_mut().unwrap();
let child = if b != 0 {
&mut node.right
} else {
if node.left.is_none() {
node.left = Some(Box::new(Node::new()));
}
node = node.left.as_mut().unwrap();
}
&mut node.left
};
node = child.get_or_insert_with(|| Box::new(Node::new()));
}
node.symbol = Some(symbol);
}