[INFO] cloning repository https://github.com/ntargon/termcom [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ntargon/termcom" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fntargon%2Ftermcom", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fntargon%2Ftermcom'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c73f655aca07ecac503c317b305499246e239062 [INFO] building ntargon/termcom against try#d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 for pr-146237-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fntargon%2Ftermcom" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ntargon/termcom [INFO] finished tweaking git repo https://github.com/ntargon/termcom [INFO] tweaked toml for git repo https://github.com/ntargon/termcom written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ntargon/termcom on toolchain d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ntargon/termcom 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" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f598527e818749b9ec08ab982422688df3f9a66c667b655c4422be727211dc9b [INFO] running `Command { std: "docker" "start" "-a" "f598527e818749b9ec08ab982422688df3f9a66c667b655c4422be727211dc9b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f598527e818749b9ec08ab982422688df3f9a66c667b655c4422be727211dc9b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f598527e818749b9ec08ab982422688df3f9a66c667b655c4422be727211dc9b", kill_on_drop: false }` [INFO] [stdout] f598527e818749b9ec08ab982422688df3f9a66c667b655c4422be727211dc9b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0dccd76063e30908c5a5dc8865c767c9da7fb489b3c65f34d3373aeee097e4ae [INFO] running `Command { std: "docker" "start" "-a" "0dccd76063e30908c5a5dc8865c767c9da7fb489b3c65f34d3373aeee097e4ae", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling cfg-if v1.0.1 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling rustversion v1.0.21 [INFO] [stderr] Compiling libudev-sys v0.1.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling tracing-core v0.1.34 [INFO] [stderr] Compiling anstyle-query v1.1.3 [INFO] [stderr] Compiling bitflags v2.9.1 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling anstyle v1.0.11 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling indexmap v2.10.0 [INFO] [stderr] Compiling bytecount v0.6.9 [INFO] [stderr] Compiling anstream v0.6.19 [INFO] [stderr] Compiling winnow v0.7.12 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling serde_json v1.0.141 [INFO] [stderr] Compiling clap_lex v0.7.5 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling itertools v0.11.0 [INFO] [stderr] Compiling clap_builder v4.5.41 [INFO] [stderr] Compiling papergrid v0.10.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.5 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling mio v0.8.11 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling libudev v0.3.0 [INFO] [stderr] Compiling tabled_derive v0.6.0 [INFO] [stderr] Compiling signal-hook-mio v0.2.4 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling crossterm v0.27.0 [INFO] [stderr] Compiling socket2 v0.6.0 [INFO] [stderr] Compiling nix v0.26.4 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling indoc v2.0.6 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling tabled v0.14.0 [INFO] [stderr] Compiling uuid v1.17.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling strum_macros v0.25.3 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling clap_derive v4.5.41 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling unescaper v0.1.6 [INFO] [stderr] Compiling tokio v1.47.0 [INFO] [stderr] Compiling serialport v4.7.2 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling strum v0.25.0 [INFO] [stderr] Compiling ratatui v0.24.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.19 [INFO] [stderr] Compiling async-trait v0.1.88 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling clap v4.5.41 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling termcom v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `ConnectionConfig`, `DeviceConfig`, and `SessionConfig` [INFO] [stdout] --> src/tui/state.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | core::session::{SessionManager, SessionConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 5 | domain::{error::TermComError, config::{DeviceConfig, ConnectionConfig}}, [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 imports: `Clear`, `Constraint`, `Direction`, and `Layout` [INFO] [stdout] --> src/tui/widgets/main.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | layout::{Constraint, Direction, Layout, Rect}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5 | widgets::{Block, Borders, List, ListItem, Paragraph, Clear}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/memory.rs:274:17 [INFO] [stdout] | [INFO] [stdout] 274 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 274 | pub fn iter(&self) -> std::slice::Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/memory.rs:279:21 [INFO] [stdout] | [INFO] [stdout] 279 | pub fn iter_mut(&mut self) -> std::slice::IterMut { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 279 | pub fn iter_mut(&mut self) -> std::slice::IterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ConnectionConfig`, `DeviceConfig`, and `SessionConfig` [INFO] [stdout] --> src/tui/state.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | core::session::{SessionManager, SessionConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 5 | domain::{error::TermComError, config::{DeviceConfig, ConnectionConfig}}, [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 imports: `Clear`, `Constraint`, `Direction`, and `Layout` [INFO] [stdout] --> src/tui/widgets/main.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | layout::{Constraint, Direction, Layout, Rect}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5 | widgets::{Block, Borders, List, ListItem, Paragraph, Clear}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Session` [INFO] [stdout] --> src/core/session/mod.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | pub use session::{Session, SessionConfig, SessionType}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TableError` is never constructed [INFO] [stdout] --> src/cli/output.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum OutputError { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 27 | TableError(String), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OutputError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileWriter` is never constructed [INFO] [stdout] --> src/cli/output.rs:331:12 [INFO] [stdout] | [INFO] [stdout] 331 | pub struct FileWriter { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `write_to_file` are never used [INFO] [stdout] --> src/cli/output.rs:337:12 [INFO] [stdout] | [INFO] [stdout] 336 | impl FileWriter { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 337 | pub fn new(path: String, format: OutputFormat) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 341 | fn write_to_file(&self, content: &str) -> Result<(), OutputError> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config_info` is never read [INFO] [stdout] --> src/tui/state.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Connection { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 23 | pub name: String, [INFO] [stdout] 24 | pub config_info: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Connection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_connection_mut` and `clear_status_message` are never used [INFO] [stdout] --> src/tui/state.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl AppState { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn get_connection_mut(&mut self) -> Option<&mut Connection> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn clear_status_message(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sequence_counter`, `total_bytes_sent`, and `total_bytes_received` are never read [INFO] [stdout] --> src/core/communication/engine.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct CommunicationEngine { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | sequence_counter: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | total_bytes_sent: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 25 | total_bytes_received: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/core/communication/engine.rs:89:18 [INFO] [stdout] | [INFO] [stdout] 32 | impl CommunicationEngine { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | pub async fn stop(&self) -> TermComResult<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub async fn send_data(&self, session_id: &str, data: Vec) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub async fn send_command(&self, session_id: &str, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | pub async fn get_session_info(&self, session_id: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | pub async fn list_sessions(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub async fn available_transports(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | pub async fn get_message_history(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | pub async fn get_filtered_messages(&self, pattern: &MessagePattern) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | pub async fn clear_history(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub async fn get_statistics(&self) -> CommunicationStats { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | pub async fn is_running(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | fn next_sequence(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub async fn cleanup_old_data(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 379 | pub async fn get_memory_info(&self) -> MemoryInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommunicationStats` is never constructed [INFO] [stdout] --> src/core/communication/engine.rs:423:12 [INFO] [stdout] | [INFO] [stdout] 423 | pub struct CommunicationStats { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemoryInfo` is never constructed [INFO] [stdout] --> src/core/communication/engine.rs:437:12 [INFO] [stdout] | [INFO] [stdout] 437 | pub struct MemoryInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/communication/message.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl Message { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn sent( [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn received( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn error( [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn command( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn response( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn data_as_string(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn data_as_hex(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn add_tag(&mut self, tag: String) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn add_property(&mut self, key: String, value: String) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn set_sequence(&mut self, sequence: u64) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn matches_pattern(&self, pattern: &MessagePattern) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MessagePattern` is never constructed [INFO] [stdout] --> src/core/communication/message.rs:241:12 [INFO] [stdout] | [INFO] [stdout] 241 | pub struct MessagePattern { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `with_session_id`, `with_device_name`, `with_message_type`, `with_transport`, and `with_tag` are never used [INFO] [stdout] --> src/core/communication/message.rs:250:12 [INFO] [stdout] | [INFO] [stdout] 249 | impl MessagePattern { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 250 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn with_session_id(mut self, session_id: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn with_device_name(mut self, device_name: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn with_message_type(mut self, message_type: MessageType) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn with_transport(mut self, transport: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn with_tag(mut self, tag: String) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/core/communication/transport.rs:35:14 [INFO] [stdout] | [INFO] [stdout] 24 | pub trait Transport: Send + Sync { [INFO] [stdout] | --------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 35 | async fn send_data(&self, session_id: &str, data: Vec) -> TermComResult<()>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | async fn send_command(&self, session_id: &str, command: &str) -> TermComResult<()>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | async fn receive_message(&mut self) -> Option; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | async fn list_sessions(&self) -> Vec; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | async fn close_all_sessions(&self) -> TermComResult<()>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | async fn get_session_count(&self) -> usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | fn get_max_sessions(&self) -> usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/core/communication/transport.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct SessionInfo { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 65 | pub id: String, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub status: SessionStatus, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 69 | pub created_at: std::time::SystemTime, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 70 | pub last_activity: std::time::SystemTime, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 71 | pub bytes_sent: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 72 | pub bytes_received: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 73 | pub messages_sent: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 74 | pub messages_received: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionInfo` 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: variants `Connecting` and `Closing` are never constructed [INFO] [stdout] --> src/core/communication/transport.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 79 | pub enum SessionStatus { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 83 | Connecting, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 84 | Closing, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionStatus` 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 `available_transports`, `has_transport`, `send_data`, `list_all_sessions`, and `close_all_sessions` are never used [INFO] [stdout] --> src/core/communication/transport.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 104 | impl TransportRegistry { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn available_transports(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn has_transport(&self, transport_type: &TransportType) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub async fn send_data(&mut self, session_id: &str, data: Vec) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub async fn list_all_sessions(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub async fn close_all_sessions(&mut self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SessionId` is never used [INFO] [stdout] --> src/core/session/mod.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub type SessionId = String; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `with_name_pattern` and `with_tag` are never used [INFO] [stdout] --> src/core/session/manager.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 53 | impl SessionFilter { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn with_name_pattern(mut self, pattern: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn with_tag(mut self, tag: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/core/session/manager.rs:208:18 [INFO] [stdout] | [INFO] [stdout] 101 | impl SessionManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 208 | pub async fn send_data(&self, session_id: &str, data: Vec) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub async fn send_command(&self, session_id: &str, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub async fn list_sessions(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub async fn list_sessions_filtered(&self, filter: &SessionFilter) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub async fn get_session_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub async fn get_active_session_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn get_max_sessions(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | pub async fn stop_all_sessions(&self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | pub async fn remove_all_sessions(&self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | pub async fn start_all_sessions(&self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 354 | pub async fn get_statistics(&self) -> SessionManagerStats { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 467 | pub async fn find_sessions_by_name(&self, pattern: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 482 | pub async fn find_sessions_by_device(&self, device_name: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 497 | pub async fn update_session_config( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 517 | async fn create_session_summary(&self, session: &Session) -> TermComResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 539 | fn matches_filter(&self, summary: &SessionSummary, filter: &SessionFilter) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionManagerStats` is never constructed [INFO] [stdout] --> src/core/session/manager.rs:577:12 [INFO] [stdout] | [INFO] [stdout] 577 | pub struct SessionManagerStats { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `message_history` and `activity_history` are never read [INFO] [stdout] --> src/core/session/session.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct Session { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 63 | message_history: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 64 | /// Activity history [INFO] [stdout] 65 | activity_history: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/core/session/session.rs:227:18 [INFO] [stdout] | [INFO] [stdout] 74 | impl Session { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 227 | pub async fn send_data(&self, data: Vec) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | pub async fn send_command(&self, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | pub async fn get_message_history(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | pub async fn get_filtered_messages(&self, pattern: &MessagePattern) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub async fn get_activity_history(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 306 | pub async fn clear_message_history(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 313 | pub async fn clear_activity_history(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | pub async fn update_config(&mut self, new_config: SessionConfig) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 353 | async fn ensure_running(&self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/core/session/state.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 117 | impl SessionState { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn set_connection_param(&mut self, key: String, value: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn get_uptime(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn get_idle_time(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | pub fn is_active(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn is_closed(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn has_error(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 233 | pub fn get_error_message(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn update_statistics(&mut self, updater: F) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/session/state.rs:278:12 [INFO] [stdout] | [INFO] [stdout] 265 | impl SessionActivity { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 278 | pub fn with_data_size(mut self, size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | pub fn with_duration(mut self, duration: Duration) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | pub fn data_sent(description: String, size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 295 | pub fn data_received(description: String, size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub fn command_executed(command: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | pub fn response_received(description: String, duration: Duration) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn custom(activity_name: String, description: String) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemoryManager` is never constructed [INFO] [stdout] --> src/core/memory.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct MemoryManager { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/memory.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl MemoryManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 26 | /// Create a new memory manager [INFO] [stdout] 27 | pub fn new(max_memory_mb: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub async fn check_memory_usage(&self) -> MemoryStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn get_memory_stats(&self) -> MemoryStats { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn record_allocation(&self, size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn record_deallocation(&self, size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub async fn trigger_cleanup(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn get_estimated_usage(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn set_thresholds(&mut self, warning: f64, critical: f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MemoryStatus` is never used [INFO] [stdout] --> src/core/memory.rs:149:10 [INFO] [stdout] | [INFO] [stdout] 149 | pub enum MemoryStatus { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemoryStats` is never constructed [INFO] [stdout] --> src/core/memory.rs:157:12 [INFO] [stdout] | [INFO] [stdout] 157 | pub struct MemoryStats { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `usage_percentage`, `peak_usage_percentage`, `is_above_warning`, and `is_critical` are never used [INFO] [stdout] --> src/core/memory.rs:171:12 [INFO] [stdout] | [INFO] [stdout] 169 | impl MemoryStats { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 170 | /// Get current usage as a percentage [INFO] [stdout] 171 | pub fn usage_percentage(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn peak_usage_percentage(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn is_above_warning(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn is_critical(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BoundedVec` is never constructed [INFO] [stdout] --> src/core/memory.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 200 | pub struct BoundedVec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/memory.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 206 | impl BoundedVec { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 207 | /// Create a new bounded vector [INFO] [stdout] 208 | pub fn new(max_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn with_memory_manager(max_size: usize, memory_manager: Arc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn push(&mut self, item: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn capacity(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn shrink_to_fit(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 279 | pub fn iter_mut(&mut self) -> std::slice::IterMut { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Timeout`, `InvalidData`, `DeviceNotConnected`, and `Protocol` are never constructed [INFO] [stdout] --> src/domain/error.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum TermComError { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 19 | Timeout, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | InvalidData(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | DeviceNotConnected, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | Protocol(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TermComError` 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 `timestamp`, `direction`, and `data` are never read [INFO] [stdout] --> src/infrastructure/serial/client.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct SerialMessage { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 10 | pub timestamp: std::time::SystemTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 11 | pub direction: MessageDirection, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | pub data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SerialMessage` 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 `message_receiver` is never read [INFO] [stdout] --> src/infrastructure/serial/client.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct SerialClient { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | message_receiver: mpsc::UnboundedReceiver, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `send`, `receive`, and `send_command` are never used [INFO] [stdout] --> src/infrastructure/serial/client.rs:165:18 [INFO] [stdout] | [INFO] [stdout] 29 | impl SerialClient { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 165 | pub async fn send(&self, data: Vec) -> TermComResult<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub async fn receive(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub async fn send_command(&self, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Disconnected` and `Error` are never constructed [INFO] [stdout] --> src/infrastructure/serial/manager.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum SessionStatus { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 21 | Connected, [INFO] [stdout] 22 | Disconnected, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 23 | Error(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionStatus` 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 `message_receiver` is never read [INFO] [stdout] --> src/infrastructure/serial/manager.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct SerialManager { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 36 | message_receiver: mpsc::UnboundedReceiver, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/infrastructure/serial/manager.rs:109:18 [INFO] [stdout] | [INFO] [stdout] 40 | impl SerialManager { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 109 | pub async fn send_data(&self, session_id: &SessionId, data: Vec) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub async fn send_command(&self, session_id: &SessionId, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub async fn list_sessions(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub async fn receive_message(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub async fn close_all_sessions(&self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub async fn get_session_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn get_max_sessions(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `timestamp`, `direction`, and `data` are never read [INFO] [stdout] --> src/infrastructure/tcp/client.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct TcpMessage { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 11 | pub timestamp: std::time::SystemTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | pub direction: MessageDirection, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 13 | pub data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TcpMessage` 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 `message_receiver` is never read [INFO] [stdout] --> src/infrastructure/tcp/client.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct TcpClient { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | message_receiver: mpsc::UnboundedReceiver, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `send`, `receive`, and `send_command` are never used [INFO] [stdout] --> src/infrastructure/tcp/client.rs:151:18 [INFO] [stdout] | [INFO] [stdout] 30 | impl TcpClient { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 151 | pub async fn send(&self, data: Vec) -> TermComResult<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub async fn receive(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub async fn send_command(&self, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `peer_addr` and `local_addr` are never read [INFO] [stdout] --> src/infrastructure/tcp/manager.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct SessionInfo { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | pub peer_addr: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 19 | pub local_addr: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionInfo` 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: variants `Disconnected` and `Error` are never constructed [INFO] [stdout] --> src/infrastructure/tcp/manager.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum SessionStatus { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 24 | Connected, [INFO] [stdout] 25 | Disconnected, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 26 | Error(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionStatus` 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 `message_receiver` and `echo_server` are never read [INFO] [stdout] --> src/infrastructure/tcp/manager.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct TcpManager { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | message_receiver: mpsc::UnboundedReceiver, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | message_sender: mpsc::UnboundedSender, [INFO] [stdout] 41 | echo_server: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/infrastructure/tcp/manager.rs:120:18 [INFO] [stdout] | [INFO] [stdout] 44 | impl TcpManager { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 120 | pub async fn send_data(&self, session_id: &SessionId, data: Vec) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub async fn send_command(&self, session_id: &SessionId, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub async fn list_sessions(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub async fn receive_message(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub async fn close_all_sessions(&self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub async fn get_session_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn get_max_sessions(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub async fn get_session_stats(&self, session_id: &SessionId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub async fn update_session_status(&self, session_id: &SessionId, status: SessionStatus) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | pub async fn start_echo_server(&mut self, bind_addr: &str) -> TermComResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | pub async fn stop_echo_server(&mut self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | pub fn is_echo_server_running(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | pub async fn get_echo_server_stats(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub async fn get_echo_server_clients(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 278 | pub async fn receive_server_message(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionStats` is never constructed [INFO] [stdout] --> src/infrastructure/tcp/manager.rs:288:12 [INFO] [stdout] | [INFO] [stdout] 288 | pub struct SessionStats { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `connected_at` is never read [INFO] [stdout] --> src/infrastructure/tcp/server.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct ClientConnection { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 19 | pub addr: SocketAddr, [INFO] [stdout] 20 | pub connected_at: std::time::SystemTime, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClientConnection` 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 `get_connected_clients`, `get_server_stats`, and `is_running` are never used [INFO] [stdout] --> src/infrastructure/tcp/server.rs:254:18 [INFO] [stdout] | [INFO] [stdout] 36 | impl EchoServer { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 254 | pub async fn get_connected_clients(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub async fn get_server_stats(&self) -> ServerStats { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn is_running(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerStats` is never constructed [INFO] [stdout] --> src/infrastructure/tcp/server.rs:287:12 [INFO] [stdout] | [INFO] [stdout] 287 | pub struct ServerStats { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_logging` is never used [INFO] [stdout] --> src/infrastructure/logging/mod.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn init_logging() -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `save_config` and `get_project_config_path` are never used [INFO] [stdout] --> src/infrastructure/config.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl ConfigManager { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn save_config(&self, config: &TermComConfig) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | pub fn get_project_config_path(&self) -> Option<&PathBuf> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/memory.rs:274:17 [INFO] [stdout] | [INFO] [stdout] 274 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 274 | pub fn iter(&self) -> std::slice::Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/memory.rs:279:21 [INFO] [stdout] | [INFO] [stdout] 279 | pub fn iter_mut(&mut self) -> std::slice::IterMut { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 279 | pub fn iter_mut(&mut self) -> std::slice::IterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 58s [INFO] running `Command { std: "docker" "inspect" "0dccd76063e30908c5a5dc8865c767c9da7fb489b3c65f34d3373aeee097e4ae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0dccd76063e30908c5a5dc8865c767c9da7fb489b3c65f34d3373aeee097e4ae", kill_on_drop: false }` [INFO] [stdout] 0dccd76063e30908c5a5dc8865c767c9da7fb489b3c65f34d3373aeee097e4ae [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 90427e9c89a02d246925bf6d433de0debf088365d99a57bd3f5c3a847b945a99 [INFO] running `Command { std: "docker" "start" "-a" "90427e9c89a02d246925bf6d433de0debf088365d99a57bd3f5c3a847b945a99", kill_on_drop: false }` [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling bitflags v2.9.1 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Compiling tokio v1.47.0 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling crossterm v0.27.0 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling serialport v4.7.2 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling uuid v1.17.0 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling ratatui v0.24.0 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling tempfile v3.20.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.19 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rusty-fork v0.3.0 [INFO] [stderr] Compiling proptest v1.7.0 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling termcom v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling tokio-test v0.4.4 [INFO] [stdout] warning: unused imports: `ConnectionConfig`, `DeviceConfig`, and `SessionConfig` [INFO] [stdout] --> src/tui/state.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | core::session::{SessionManager, SessionConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 5 | domain::{error::TermComError, config::{DeviceConfig, ConnectionConfig}}, [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 imports: `Clear`, `Constraint`, `Direction`, and `Layout` [INFO] [stdout] --> src/tui/widgets/main.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | layout::{Constraint, Direction, Layout, Rect}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5 | widgets::{Block, Borders, List, ListItem, Paragraph, Clear}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/memory.rs:274:17 [INFO] [stdout] | [INFO] [stdout] 274 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 274 | pub fn iter(&self) -> std::slice::Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/memory.rs:279:21 [INFO] [stdout] | [INFO] [stdout] 279 | pub fn iter_mut(&mut self) -> std::slice::IterMut { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 279 | pub fn iter_mut(&mut self) -> std::slice::IterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ConnectionConfig`, `DeviceConfig`, and `SessionConfig` [INFO] [stdout] --> src/tui/state.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | core::session::{SessionManager, SessionConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 5 | domain::{error::TermComError, config::{DeviceConfig, ConnectionConfig}}, [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 imports: `Clear`, `Constraint`, `Direction`, and `Layout` [INFO] [stdout] --> src/tui/widgets/main.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | layout::{Constraint, Direction, Layout, Rect}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5 | widgets::{Block, Borders, List, ListItem, Paragraph, Clear}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/infrastructure/tcp/server.rs:323:13 [INFO] [stdout] | [INFO] [stdout] 323 | let addr = server.get_bind_addr(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/memory.rs:274:17 [INFO] [stdout] | [INFO] [stdout] 274 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 274 | pub fn iter(&self) -> std::slice::Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/memory.rs:279:21 [INFO] [stdout] | [INFO] [stdout] 279 | pub fn iter_mut(&mut self) -> std::slice::IterMut { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 279 | pub fn iter_mut(&mut self) -> std::slice::IterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> tests/error_handling_tests.rs:28:17 [INFO] [stdout] | [INFO] [stdout] 28 | let source = error.source(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stats` [INFO] [stdout] --> tests/performance_tests.rs:174:17 [INFO] [stdout] | [INFO] [stdout] 174 | let stats = manager.get_statistics().await; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_manager` [INFO] [stdout] --> tests/benchmarks.rs:305:13 [INFO] [stdout] | [INFO] [stdout] 305 | let session_manager = SessionManager::new(engine.clone(), 20); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_manager` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ConnectionConfig`, `DeviceConfig`, and `SessionConfig` [INFO] [stdout] --> src/tui/state.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | core::session::{SessionManager, SessionConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 5 | domain::{error::TermComError, config::{DeviceConfig, ConnectionConfig}}, [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 imports: `Clear`, `Constraint`, `Direction`, and `Layout` [INFO] [stdout] --> src/tui/widgets/main.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | layout::{Constraint, Direction, Layout, Rect}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5 | widgets::{Block, Borders, List, ListItem, Paragraph, Clear}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Session` [INFO] [stdout] --> src/core/session/mod.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | pub use session::{Session, SessionConfig, SessionType}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ConnectionConfig`, `DeviceConfig`, and `SessionConfig` [INFO] [stdout] --> src/tui/state.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | core::session::{SessionManager, SessionConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 5 | domain::{error::TermComError, config::{DeviceConfig, ConnectionConfig}}, [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 imports: `Clear`, `Constraint`, `Direction`, and `Layout` [INFO] [stdout] --> src/tui/widgets/main.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | layout::{Constraint, Direction, Layout, Rect}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5 | widgets::{Block, Borders, List, ListItem, Paragraph, Clear}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Session` [INFO] [stdout] --> src/core/session/mod.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | pub use session::{Session, SessionConfig, SessionType}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/infrastructure/tcp/server.rs:323:13 [INFO] [stdout] | [INFO] [stdout] 323 | let addr = server.get_bind_addr(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TableError` is never constructed [INFO] [stdout] --> src/cli/output.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum OutputError { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 27 | TableError(String), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OutputError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileWriter` is never constructed [INFO] [stdout] --> src/cli/output.rs:331:12 [INFO] [stdout] | [INFO] [stdout] 331 | pub struct FileWriter { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `write_to_file` are never used [INFO] [stdout] --> src/cli/output.rs:337:12 [INFO] [stdout] | [INFO] [stdout] 336 | impl FileWriter { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 337 | pub fn new(path: String, format: OutputFormat) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 341 | fn write_to_file(&self, content: &str) -> Result<(), OutputError> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config_info` is never read [INFO] [stdout] --> src/tui/state.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Connection { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 23 | pub name: String, [INFO] [stdout] 24 | pub config_info: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Connection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_connection_mut` and `clear_status_message` are never used [INFO] [stdout] --> src/tui/state.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl AppState { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn get_connection_mut(&mut self) -> Option<&mut Connection> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn clear_status_message(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_session_info`, `get_filtered_messages`, `clear_history`, `cleanup_old_data`, and `get_memory_info` are never used [INFO] [stdout] --> src/core/communication/engine.rs:219:18 [INFO] [stdout] | [INFO] [stdout] 32 | impl CommunicationEngine { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 219 | pub async fn get_session_info(&self, session_id: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | pub async fn get_filtered_messages(&self, pattern: &MessagePattern) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | pub async fn clear_history(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub async fn cleanup_old_data(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 379 | pub async fn get_memory_info(&self) -> MemoryInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sent_messages`, `received_messages`, `error_messages`, `total_bytes_sent`, `total_bytes_received`, and `uptime` are never read [INFO] [stdout] --> src/core/communication/engine.rs:427:9 [INFO] [stdout] | [INFO] [stdout] 423 | pub struct CommunicationStats { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 427 | pub sent_messages: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 428 | pub received_messages: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 429 | pub error_messages: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 430 | pub total_bytes_sent: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 431 | pub total_bytes_received: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 432 | pub uptime: Duration, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CommunicationStats` 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 `MemoryInfo` is never constructed [INFO] [stdout] --> src/core/communication/engine.rs:437:12 [INFO] [stdout] | [INFO] [stdout] 437 | pub struct MemoryInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `received`, `error`, and `response` are never used [INFO] [stdout] --> src/core/communication/message.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl Message { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn received( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn error( [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn response( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `with_device_name` and `with_transport` are never used [INFO] [stdout] --> src/core/communication/message.rs:259:12 [INFO] [stdout] | [INFO] [stdout] 249 | impl MessagePattern { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn with_device_name(mut self, device_name: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn with_transport(mut self, transport: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `send_command`, `receive_message`, `get_session_count`, and `get_max_sessions` are never used [INFO] [stdout] --> src/core/communication/transport.rs:38:14 [INFO] [stdout] | [INFO] [stdout] 24 | pub trait Transport: Send + Sync { [INFO] [stdout] | --------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 38 | async fn send_command(&self, session_id: &str, command: &str) -> TermComResult<()>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | async fn receive_message(&mut self) -> Option; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | async fn get_session_count(&self) -> usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | fn get_max_sessions(&self) -> usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/core/communication/transport.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct SessionInfo { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 65 | pub id: String, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub created_at: std::time::SystemTime, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 70 | pub last_activity: std::time::SystemTime, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 71 | pub bytes_sent: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 72 | pub bytes_received: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 73 | pub messages_sent: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 74 | pub messages_received: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionInfo` 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 `sessions` is never read [INFO] [stdout] --> src/core/communication/transport.rs:232:9 [INFO] [stdout] | [INFO] [stdout] 230 | struct MockTransport { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 231 | transport_type: TransportType, [INFO] [stdout] 232 | sessions: HashMap, // session_id -> device_name [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SessionId` is never used [INFO] [stdout] --> src/core/session/mod.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub type SessionId = String; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `with_name_pattern` and `with_tag` are never used [INFO] [stdout] --> src/core/session/manager.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 53 | impl SessionFilter { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn with_name_pattern(mut self, pattern: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn with_tag(mut self, tag: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `start_all_sessions` and `update_session_config` are never used [INFO] [stdout] --> src/core/session/manager.rs:331:18 [INFO] [stdout] | [INFO] [stdout] 101 | impl SessionManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 331 | pub async fn start_all_sessions(&self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 497 | pub async fn update_session_config( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_filtered_messages` is never used [INFO] [stdout] --> src/core/session/session.rs:290:18 [INFO] [stdout] | [INFO] [stdout] 74 | impl Session { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 290 | pub async fn get_filtered_messages(&self, pattern: &MessagePattern) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_statistics` is never used [INFO] [stdout] --> src/core/session/state.rs:241:12 [INFO] [stdout] | [INFO] [stdout] 117 | impl SessionState { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn update_statistics(&mut self, updater: F) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `custom` is never used [INFO] [stdout] --> src/core/session/state.rs:315:12 [INFO] [stdout] | [INFO] [stdout] 265 | impl SessionActivity { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn custom(activity_name: String, description: String) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `trigger_cleanup` is never used [INFO] [stdout] --> src/core/memory.rs:110:18 [INFO] [stdout] | [INFO] [stdout] 25 | impl MemoryManager { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 110 | pub async fn trigger_cleanup(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `current_usage_bytes`, `peak_usage_bytes`, `cleanup_operations`, `warning_threshold`, and `critical_threshold` are never read [INFO] [stdout] --> src/core/memory.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 157 | pub struct MemoryStats { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 158 | pub current_usage_bytes: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 159 | pub peak_usage_bytes: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub cleanup_operations: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 165 | pub warning_threshold: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 166 | pub critical_threshold: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MemoryStats` 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 `usage_percentage`, `peak_usage_percentage`, `is_above_warning`, and `is_critical` are never used [INFO] [stdout] --> src/core/memory.rs:171:12 [INFO] [stdout] | [INFO] [stdout] 169 | impl MemoryStats { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 170 | /// Get current usage as a percentage [INFO] [stdout] 171 | pub fn usage_percentage(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn peak_usage_percentage(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn is_above_warning(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn is_critical(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/memory.rs:217:12 [INFO] [stdout] | [INFO] [stdout] 206 | impl BoundedVec { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn with_memory_manager(max_size: usize, memory_manager: Arc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn capacity(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn shrink_to_fit(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 279 | pub fn iter_mut(&mut self) -> std::slice::IterMut { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Timeout`, `InvalidData`, `DeviceNotConnected`, and `Protocol` are never constructed [INFO] [stdout] --> src/domain/error.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum TermComError { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 19 | Timeout, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | InvalidData(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | DeviceNotConnected, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | Protocol(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TermComError` 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 `timestamp` is never read [INFO] [stdout] --> src/infrastructure/serial/client.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct SerialMessage { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 10 | pub timestamp: std::time::SystemTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SerialMessage` 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 `message_receiver` is never read [INFO] [stdout] --> src/infrastructure/serial/client.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct SerialClient { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | message_receiver: mpsc::UnboundedReceiver, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `receive` and `send_command` are never used [INFO] [stdout] --> src/infrastructure/serial/client.rs:173:18 [INFO] [stdout] | [INFO] [stdout] 29 | impl SerialClient { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 173 | pub async fn receive(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub async fn send_command(&self, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Disconnected` and `Error` are never constructed [INFO] [stdout] --> src/infrastructure/serial/manager.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum SessionStatus { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 21 | Connected, [INFO] [stdout] 22 | Disconnected, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 23 | Error(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionStatus` 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 `message_receiver` is never read [INFO] [stdout] --> src/infrastructure/serial/manager.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct SerialManager { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 36 | message_receiver: mpsc::UnboundedReceiver, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `send_command` and `receive_message` are never used [INFO] [stdout] --> src/infrastructure/serial/manager.rs:130:18 [INFO] [stdout] | [INFO] [stdout] 40 | impl SerialManager { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 130 | pub async fn send_command(&self, session_id: &SessionId, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub async fn receive_message(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/infrastructure/tcp/client.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct TcpMessage { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 11 | pub timestamp: std::time::SystemTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TcpMessage` 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 `message_receiver` is never read [INFO] [stdout] --> src/infrastructure/tcp/client.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct TcpClient { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | message_receiver: mpsc::UnboundedReceiver, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `receive` and `send_command` are never used [INFO] [stdout] --> src/infrastructure/tcp/client.rs:159:18 [INFO] [stdout] | [INFO] [stdout] 30 | impl TcpClient { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 159 | pub async fn receive(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub async fn send_command(&self, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `peer_addr` and `local_addr` are never read [INFO] [stdout] --> src/infrastructure/tcp/manager.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct SessionInfo { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | pub peer_addr: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 19 | pub local_addr: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionInfo` 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: variants `Disconnected` and `Error` are never constructed [INFO] [stdout] --> src/infrastructure/tcp/manager.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum SessionStatus { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 24 | Connected, [INFO] [stdout] 25 | Disconnected, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 26 | Error(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionStatus` 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 `message_receiver` and `echo_server` are never read [INFO] [stdout] --> src/infrastructure/tcp/manager.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct TcpManager { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | message_receiver: mpsc::UnboundedReceiver, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | message_sender: mpsc::UnboundedSender, [INFO] [stdout] 41 | echo_server: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/infrastructure/tcp/manager.rs:141:18 [INFO] [stdout] | [INFO] [stdout] 44 | impl TcpManager { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 141 | pub async fn send_command(&self, session_id: &SessionId, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub async fn receive_message(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub async fn get_session_stats(&self, session_id: &SessionId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub async fn update_session_status(&self, session_id: &SessionId, status: SessionStatus) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | pub async fn start_echo_server(&mut self, bind_addr: &str) -> TermComResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | pub async fn stop_echo_server(&mut self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | pub fn is_echo_server_running(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | pub async fn get_echo_server_stats(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub async fn get_echo_server_clients(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 278 | pub async fn receive_server_message(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionStats` is never constructed [INFO] [stdout] --> src/infrastructure/tcp/manager.rs:288:12 [INFO] [stdout] | [INFO] [stdout] 288 | pub struct SessionStats { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `connected_at` is never read [INFO] [stdout] --> src/infrastructure/tcp/server.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct ClientConnection { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 19 | pub addr: SocketAddr, [INFO] [stdout] 20 | pub connected_at: std::time::SystemTime, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClientConnection` 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 `get_connected_clients` and `get_server_stats` are never used [INFO] [stdout] --> src/infrastructure/tcp/server.rs:254:18 [INFO] [stdout] | [INFO] [stdout] 36 | impl EchoServer { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 254 | pub async fn get_connected_clients(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub async fn get_server_stats(&self) -> ServerStats { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerStats` is never constructed [INFO] [stdout] --> src/infrastructure/tcp/server.rs:287:12 [INFO] [stdout] | [INFO] [stdout] 287 | pub struct ServerStats { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `save_config` and `get_project_config_path` are never used [INFO] [stdout] --> src/infrastructure/config.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl ConfigManager { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn save_config(&self, config: &TermComConfig) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | pub fn get_project_config_path(&self) -> Option<&PathBuf> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/memory.rs:274:17 [INFO] [stdout] | [INFO] [stdout] 274 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 274 | pub fn iter(&self) -> std::slice::Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/memory.rs:279:21 [INFO] [stdout] | [INFO] [stdout] 279 | pub fn iter_mut(&mut self) -> std::slice::IterMut { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 279 | pub fn iter_mut(&mut self) -> std::slice::IterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TableError` is never constructed [INFO] [stdout] --> src/cli/output.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum OutputError { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 27 | TableError(String), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OutputError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileWriter` is never constructed [INFO] [stdout] --> src/cli/output.rs:331:12 [INFO] [stdout] | [INFO] [stdout] 331 | pub struct FileWriter { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `write_to_file` are never used [INFO] [stdout] --> src/cli/output.rs:337:12 [INFO] [stdout] | [INFO] [stdout] 336 | impl FileWriter { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 337 | pub fn new(path: String, format: OutputFormat) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 341 | fn write_to_file(&self, content: &str) -> Result<(), OutputError> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config_info` is never read [INFO] [stdout] --> src/tui/state.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Connection { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 23 | pub name: String, [INFO] [stdout] 24 | pub config_info: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Connection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_connection_mut` and `clear_status_message` are never used [INFO] [stdout] --> src/tui/state.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl AppState { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn get_connection_mut(&mut self) -> Option<&mut Connection> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn clear_status_message(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sequence_counter`, `total_bytes_sent`, and `total_bytes_received` are never read [INFO] [stdout] --> src/core/communication/engine.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct CommunicationEngine { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | sequence_counter: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | total_bytes_sent: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 25 | total_bytes_received: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/core/communication/engine.rs:89:18 [INFO] [stdout] | [INFO] [stdout] 32 | impl CommunicationEngine { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | pub async fn stop(&self) -> TermComResult<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub async fn send_data(&self, session_id: &str, data: Vec) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub async fn send_command(&self, session_id: &str, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | pub async fn get_session_info(&self, session_id: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | pub async fn list_sessions(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub async fn available_transports(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | pub async fn get_message_history(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | pub async fn get_filtered_messages(&self, pattern: &MessagePattern) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | pub async fn clear_history(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub async fn get_statistics(&self) -> CommunicationStats { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | pub async fn is_running(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | fn next_sequence(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub async fn cleanup_old_data(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 379 | pub async fn get_memory_info(&self) -> MemoryInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommunicationStats` is never constructed [INFO] [stdout] --> src/core/communication/engine.rs:423:12 [INFO] [stdout] | [INFO] [stdout] 423 | pub struct CommunicationStats { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemoryInfo` is never constructed [INFO] [stdout] --> src/core/communication/engine.rs:437:12 [INFO] [stdout] | [INFO] [stdout] 437 | pub struct MemoryInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/communication/message.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl Message { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn sent( [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn received( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn error( [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn command( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn response( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn data_as_string(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn data_as_hex(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn add_tag(&mut self, tag: String) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn add_property(&mut self, key: String, value: String) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn set_sequence(&mut self, sequence: u64) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn matches_pattern(&self, pattern: &MessagePattern) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MessagePattern` is never constructed [INFO] [stdout] --> src/core/communication/message.rs:241:12 [INFO] [stdout] | [INFO] [stdout] 241 | pub struct MessagePattern { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `with_session_id`, `with_device_name`, `with_message_type`, `with_transport`, and `with_tag` are never used [INFO] [stdout] --> src/core/communication/message.rs:250:12 [INFO] [stdout] | [INFO] [stdout] 249 | impl MessagePattern { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 250 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn with_session_id(mut self, session_id: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn with_device_name(mut self, device_name: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn with_message_type(mut self, message_type: MessageType) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn with_transport(mut self, transport: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn with_tag(mut self, tag: String) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/core/communication/transport.rs:35:14 [INFO] [stdout] | [INFO] [stdout] 24 | pub trait Transport: Send + Sync { [INFO] [stdout] | --------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 35 | async fn send_data(&self, session_id: &str, data: Vec) -> TermComResult<()>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | async fn send_command(&self, session_id: &str, command: &str) -> TermComResult<()>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | async fn receive_message(&mut self) -> Option; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | async fn list_sessions(&self) -> Vec; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | async fn close_all_sessions(&self) -> TermComResult<()>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | async fn get_session_count(&self) -> usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | fn get_max_sessions(&self) -> usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/core/communication/transport.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct SessionInfo { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 65 | pub id: String, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub status: SessionStatus, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 69 | pub created_at: std::time::SystemTime, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 70 | pub last_activity: std::time::SystemTime, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 71 | pub bytes_sent: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 72 | pub bytes_received: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 73 | pub messages_sent: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 74 | pub messages_received: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionInfo` 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: variants `Connecting` and `Closing` are never constructed [INFO] [stdout] --> src/core/communication/transport.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 79 | pub enum SessionStatus { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 83 | Connecting, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 84 | Closing, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionStatus` 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 `available_transports`, `has_transport`, `send_data`, `list_all_sessions`, and `close_all_sessions` are never used [INFO] [stdout] --> src/core/communication/transport.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 104 | impl TransportRegistry { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn available_transports(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn has_transport(&self, transport_type: &TransportType) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub async fn send_data(&mut self, session_id: &str, data: Vec) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub async fn list_all_sessions(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub async fn close_all_sessions(&mut self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SessionId` is never used [INFO] [stdout] --> src/core/session/mod.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub type SessionId = String; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `with_name_pattern` and `with_tag` are never used [INFO] [stdout] --> src/core/session/manager.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 53 | impl SessionFilter { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn with_name_pattern(mut self, pattern: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn with_tag(mut self, tag: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/core/session/manager.rs:208:18 [INFO] [stdout] | [INFO] [stdout] 101 | impl SessionManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 208 | pub async fn send_data(&self, session_id: &str, data: Vec) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub async fn send_command(&self, session_id: &str, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub async fn list_sessions(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub async fn list_sessions_filtered(&self, filter: &SessionFilter) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub async fn get_session_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub async fn get_active_session_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn get_max_sessions(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | pub async fn stop_all_sessions(&self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | pub async fn remove_all_sessions(&self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | pub async fn start_all_sessions(&self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 354 | pub async fn get_statistics(&self) -> SessionManagerStats { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 467 | pub async fn find_sessions_by_name(&self, pattern: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 482 | pub async fn find_sessions_by_device(&self, device_name: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 497 | pub async fn update_session_config( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 517 | async fn create_session_summary(&self, session: &Session) -> TermComResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 539 | fn matches_filter(&self, summary: &SessionSummary, filter: &SessionFilter) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionManagerStats` is never constructed [INFO] [stdout] --> src/core/session/manager.rs:577:12 [INFO] [stdout] | [INFO] [stdout] 577 | pub struct SessionManagerStats { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `message_history` and `activity_history` are never read [INFO] [stdout] --> src/core/session/session.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct Session { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 63 | message_history: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 64 | /// Activity history [INFO] [stdout] 65 | activity_history: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/core/session/session.rs:227:18 [INFO] [stdout] | [INFO] [stdout] 74 | impl Session { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 227 | pub async fn send_data(&self, data: Vec) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | pub async fn send_command(&self, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | pub async fn get_message_history(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | pub async fn get_filtered_messages(&self, pattern: &MessagePattern) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub async fn get_activity_history(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 306 | pub async fn clear_message_history(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 313 | pub async fn clear_activity_history(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | pub async fn update_config(&mut self, new_config: SessionConfig) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 353 | async fn ensure_running(&self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/core/session/state.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 117 | impl SessionState { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn set_connection_param(&mut self, key: String, value: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn get_uptime(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn get_idle_time(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | pub fn is_active(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn is_closed(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn has_error(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 233 | pub fn get_error_message(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn update_statistics(&mut self, updater: F) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/session/state.rs:278:12 [INFO] [stdout] | [INFO] [stdout] 265 | impl SessionActivity { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 278 | pub fn with_data_size(mut self, size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | pub fn with_duration(mut self, duration: Duration) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | pub fn data_sent(description: String, size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 295 | pub fn data_received(description: String, size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub fn command_executed(command: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | pub fn response_received(description: String, duration: Duration) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn custom(activity_name: String, description: String) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemoryManager` is never constructed [INFO] [stdout] --> src/core/memory.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct MemoryManager { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/memory.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl MemoryManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 26 | /// Create a new memory manager [INFO] [stdout] 27 | pub fn new(max_memory_mb: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub async fn check_memory_usage(&self) -> MemoryStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn get_memory_stats(&self) -> MemoryStats { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn record_allocation(&self, size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn record_deallocation(&self, size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub async fn trigger_cleanup(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn get_estimated_usage(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn set_thresholds(&mut self, warning: f64, critical: f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MemoryStatus` is never used [INFO] [stdout] --> src/core/memory.rs:149:10 [INFO] [stdout] | [INFO] [stdout] 149 | pub enum MemoryStatus { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemoryStats` is never constructed [INFO] [stdout] --> src/core/memory.rs:157:12 [INFO] [stdout] | [INFO] [stdout] 157 | pub struct MemoryStats { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `usage_percentage`, `peak_usage_percentage`, `is_above_warning`, and `is_critical` are never used [INFO] [stdout] --> src/core/memory.rs:171:12 [INFO] [stdout] | [INFO] [stdout] 169 | impl MemoryStats { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 170 | /// Get current usage as a percentage [INFO] [stdout] 171 | pub fn usage_percentage(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn peak_usage_percentage(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn is_above_warning(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn is_critical(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BoundedVec` is never constructed [INFO] [stdout] --> src/core/memory.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 200 | pub struct BoundedVec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/memory.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 206 | impl BoundedVec { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 207 | /// Create a new bounded vector [INFO] [stdout] 208 | pub fn new(max_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn with_memory_manager(max_size: usize, memory_manager: Arc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn push(&mut self, item: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn capacity(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn shrink_to_fit(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 279 | pub fn iter_mut(&mut self) -> std::slice::IterMut { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Timeout`, `InvalidData`, `DeviceNotConnected`, and `Protocol` are never constructed [INFO] [stdout] --> src/domain/error.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum TermComError { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 19 | Timeout, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | InvalidData(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | DeviceNotConnected, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | Protocol(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TermComError` 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 `timestamp`, `direction`, and `data` are never read [INFO] [stdout] --> src/infrastructure/serial/client.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct SerialMessage { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 10 | pub timestamp: std::time::SystemTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 11 | pub direction: MessageDirection, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | pub data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SerialMessage` 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 `message_receiver` is never read [INFO] [stdout] --> src/infrastructure/serial/client.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct SerialClient { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | message_receiver: mpsc::UnboundedReceiver, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `send`, `receive`, and `send_command` are never used [INFO] [stdout] --> src/infrastructure/serial/client.rs:165:18 [INFO] [stdout] | [INFO] [stdout] 29 | impl SerialClient { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 165 | pub async fn send(&self, data: Vec) -> TermComResult<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub async fn receive(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub async fn send_command(&self, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Disconnected` and `Error` are never constructed [INFO] [stdout] --> src/infrastructure/serial/manager.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum SessionStatus { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 21 | Connected, [INFO] [stdout] 22 | Disconnected, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 23 | Error(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionStatus` 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 `message_receiver` is never read [INFO] [stdout] --> src/infrastructure/serial/manager.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct SerialManager { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 36 | message_receiver: mpsc::UnboundedReceiver, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/infrastructure/serial/manager.rs:109:18 [INFO] [stdout] | [INFO] [stdout] 40 | impl SerialManager { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 109 | pub async fn send_data(&self, session_id: &SessionId, data: Vec) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub async fn send_command(&self, session_id: &SessionId, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub async fn list_sessions(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub async fn receive_message(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub async fn close_all_sessions(&self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub async fn get_session_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn get_max_sessions(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `timestamp`, `direction`, and `data` are never read [INFO] [stdout] --> src/infrastructure/tcp/client.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct TcpMessage { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 11 | pub timestamp: std::time::SystemTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | pub direction: MessageDirection, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 13 | pub data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TcpMessage` 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 `message_receiver` is never read [INFO] [stdout] --> src/infrastructure/tcp/client.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct TcpClient { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | message_receiver: mpsc::UnboundedReceiver, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `send`, `receive`, and `send_command` are never used [INFO] [stdout] --> src/infrastructure/tcp/client.rs:151:18 [INFO] [stdout] | [INFO] [stdout] 30 | impl TcpClient { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 151 | pub async fn send(&self, data: Vec) -> TermComResult<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub async fn receive(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub async fn send_command(&self, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `peer_addr` and `local_addr` are never read [INFO] [stdout] --> src/infrastructure/tcp/manager.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct SessionInfo { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | pub peer_addr: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 19 | pub local_addr: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionInfo` 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: variants `Disconnected` and `Error` are never constructed [INFO] [stdout] --> src/infrastructure/tcp/manager.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum SessionStatus { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 24 | Connected, [INFO] [stdout] 25 | Disconnected, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 26 | Error(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionStatus` 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 `message_receiver` and `echo_server` are never read [INFO] [stdout] --> src/infrastructure/tcp/manager.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct TcpManager { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | message_receiver: mpsc::UnboundedReceiver, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | message_sender: mpsc::UnboundedSender, [INFO] [stdout] 41 | echo_server: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/infrastructure/tcp/manager.rs:120:18 [INFO] [stdout] | [INFO] [stdout] 44 | impl TcpManager { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 120 | pub async fn send_data(&self, session_id: &SessionId, data: Vec) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub async fn send_command(&self, session_id: &SessionId, command: &str) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub async fn list_sessions(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub async fn receive_message(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub async fn close_all_sessions(&self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub async fn get_session_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn get_max_sessions(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub async fn get_session_stats(&self, session_id: &SessionId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub async fn update_session_status(&self, session_id: &SessionId, status: SessionStatus) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | pub async fn start_echo_server(&mut self, bind_addr: &str) -> TermComResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | pub async fn stop_echo_server(&mut self) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | pub fn is_echo_server_running(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | pub async fn get_echo_server_stats(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub async fn get_echo_server_clients(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 278 | pub async fn receive_server_message(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionStats` is never constructed [INFO] [stdout] --> src/infrastructure/tcp/manager.rs:288:12 [INFO] [stdout] | [INFO] [stdout] 288 | pub struct SessionStats { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `connected_at` is never read [INFO] [stdout] --> src/infrastructure/tcp/server.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct ClientConnection { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 19 | pub addr: SocketAddr, [INFO] [stdout] 20 | pub connected_at: std::time::SystemTime, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClientConnection` 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 `get_connected_clients`, `get_server_stats`, and `is_running` are never used [INFO] [stdout] --> src/infrastructure/tcp/server.rs:254:18 [INFO] [stdout] | [INFO] [stdout] 36 | impl EchoServer { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 254 | pub async fn get_connected_clients(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub async fn get_server_stats(&self) -> ServerStats { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn is_running(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerStats` is never constructed [INFO] [stdout] --> src/infrastructure/tcp/server.rs:287:12 [INFO] [stdout] | [INFO] [stdout] 287 | pub struct ServerStats { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_logging` is never used [INFO] [stdout] --> src/infrastructure/logging/mod.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn init_logging() -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `save_config` and `get_project_config_path` are never used [INFO] [stdout] --> src/infrastructure/config.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl ConfigManager { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn save_config(&self, config: &TermComConfig) -> TermComResult<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | pub fn get_project_config_path(&self) -> Option<&PathBuf> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/memory.rs:274:17 [INFO] [stdout] | [INFO] [stdout] 274 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 274 | pub fn iter(&self) -> std::slice::Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/memory.rs:279:21 [INFO] [stdout] | [INFO] [stdout] 279 | pub fn iter_mut(&mut self) -> std::slice::IterMut { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 279 | pub fn iter_mut(&mut self) -> std::slice::IterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 31s [INFO] running `Command { std: "docker" "inspect" "90427e9c89a02d246925bf6d433de0debf088365d99a57bd3f5c3a847b945a99", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "90427e9c89a02d246925bf6d433de0debf088365d99a57bd3f5c3a847b945a99", kill_on_drop: false }` [INFO] [stdout] 90427e9c89a02d246925bf6d433de0debf088365d99a57bd3f5c3a847b945a99