[INFO] cloning repository https://github.com/Akanoa/tower
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Akanoa/tower" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAkanoa%2Ftower", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAkanoa%2Ftower'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 47f4e4bfed406e6a1ac905edd4bf244ebae48d40
[INFO] checking Akanoa/tower against try#e117153a45c546e883c1f91d82611775fcaeffe0 for pr-146470
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAkanoa%2Ftower" "/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/Akanoa/tower
[INFO] finished tweaking git repo https://github.com/Akanoa/tower
[INFO] tweaked toml for git repo https://github.com/Akanoa/tower written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Akanoa/tower on toolchain e117153a45c546e883c1f91d82611775fcaeffe0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Akanoa/tower 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" "+e117153a45c546e883c1f91d82611775fcaeffe0" "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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 36e00997ad6a1ce60ffd8b1edce66516df7d6fb95f05139135528352c13bcee1
[INFO] running `Command { std: "docker" "start" "-a" "36e00997ad6a1ce60ffd8b1edce66516df7d6fb95f05139135528352c13bcee1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "36e00997ad6a1ce60ffd8b1edce66516df7d6fb95f05139135528352c13bcee1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "36e00997ad6a1ce60ffd8b1edce66516df7d6fb95f05139135528352c13bcee1", kill_on_drop: false }`
[INFO] [stdout] 36e00997ad6a1ce60ffd8b1edce66516df7d6fb95f05139135528352c13bcee1
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e82f54912b90d39ace81fcebe51ebdba667868605156bdb1ca8dabd2f6b8eb17
[INFO] running `Command { std: "docker" "start" "-a" "e82f54912b90d39ace81fcebe51ebdba667868605156bdb1ca8dabd2f6b8eb17", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.97
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]     Checking cfg-if v1.0.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking anstyle-query v1.1.4
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]    Compiling thiserror v2.0.14
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]     Checking anstyle v1.0.11
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]     Checking unty v0.0.4
[INFO] [stderr]     Checking clap_lex v0.7.5
[INFO] [stderr]     Checking anstream v0.6.20
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]     Checking clap_builder v4.5.44
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking bincode v2.0.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling instability v0.3.9
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]    Compiling indoc v2.0.6
[INFO] [stderr]     Checking protocol v0.1.0 (/opt/rustwide/workdir/protocol)
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking iana-time-zone v0.1.63
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]     Checking circular-buffer v1.1.0
[INFO] [stderr]     Checking unix_stream v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling thiserror-impl v2.0.14
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling clap_derive v4.5.45
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking elyze v1.5.5
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking clap v4.5.45
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stderr]     Checking job v0.1.0 (/opt/rustwide/workdir/job)
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> server/src/lib.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, error, info, warn};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::join`
[INFO] [stdout]  --> server/src/tcp_server.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::join;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Receiver`
[INFO] [stdout]  --> server/src/tcp_server.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::sync::mpsc::{Receiver, UnboundedReceiver, UnboundedSender};
[INFO] [stdout]   |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> server/src/interface/mod.rs:491:9
[INFO] [stdout]     |
[INFO] [stdout] 491 |     let mut logs_offset: usize = 0; // 0 = follow last lines
[INFO] [stdout]     |         ----^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> server/src/lib.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, error, info, warn};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::join`
[INFO] [stdout]  --> server/src/tcp_server.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::join;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Receiver`
[INFO] [stdout]  --> server/src/tcp_server.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::sync::mpsc::{Receiver, UnboundedReceiver, UnboundedSender};
[INFO] [stdout]   |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> server/src/tcp_server.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut make_backend_task = |addr: String, port: u16| {
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> server/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     mut log_rx: mpsc::UnboundedReceiver<String>,
[INFO] [stdout]    |     ----^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> server/src/interface/mod.rs:491:9
[INFO] [stdout]     |
[INFO] [stdout] 491 |     let mut logs_offset: usize = 0; // 0 = follow last lines
[INFO] [stdout]     |         ----^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> server/src/lib.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     mut log_rx: mpsc::UnboundedReceiver<String>,
[INFO] [stdout]     |     ----^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Execute` is never constructed
[INFO] [stdout]  --> job/src/errors.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum JobError {
[INFO] [stdout]   |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 8 |     Execute(String),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `JobError` 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: variant `Execute` is never constructed
[INFO] [stdout]  --> job/src/errors.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum JobError {
[INFO] [stdout]   |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 8 |     Execute(String),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `JobError` 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: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> server/src/interface/mod.rs:941:48
[INFO] [stdout]     |
[INFO] [stdout] 941 | ...                   _ => Local.timestamp(0, 0),
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> server/src/tcp_server.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut make_backend_task = |addr: String, port: u16| {
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> server/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     mut log_rx: mpsc::UnboundedReceiver<String>,
[INFO] [stdout]    |     ----^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> server/src/lib.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     mut log_rx: mpsc::UnboundedReceiver<String>,
[INFO] [stdout]     |     ----^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `logs_offset`
[INFO] [stdout]    --> server/src/interface/mod.rs:491:9
[INFO] [stdout]     |
[INFO] [stdout] 491 |     let mut logs_offset: usize = 0; // 0 = follow last lines
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_logs_offset`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lag_points`
[INFO] [stdout]    --> server/src/interface/mod.rs:776:33
[INFO] [stdout]     |
[INFO] [stdout] 776 | ...                   let lag_points: Vec<(f64, f64)> = times
[INFO] [stdout]     |                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lag_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exec_points`
[INFO] [stdout]    --> server/src/interface/mod.rs:781:33
[INFO] [stdout]     |
[INFO] [stdout] 781 | ...                   let exec_points: Vec<(f64, f64)> = times
[INFO] [stdout]     |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exec_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/tcp_server.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 |             if let Err(e) = stream.write_all(&buffer).await {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/tcp_server.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |             if let Err(e) = stream.flush().await {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tenant_name` and `exec_id` are never read
[INFO] [stdout]   --> server/src/interface/mod.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     Executor {
[INFO] [stdout]    |     -------- fields in this variant
[INFO] [stdout] 45 |         tenant_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 46 |         exec_id: (i64, String),
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RowPos` has derived impls for the traits `Clone` and `Debug`, but these are 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: method `toggle_fold_at` is never used
[INFO] [stdout]    --> server/src/interface/mod.rs:400:12
[INFO] [stdout]     |
[INFO] [stdout]  70 | impl AppState {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 400 |     pub fn toggle_fold_at(&mut self, index: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> server/src/interface/filters.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | impl Filters {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `logs` is never read
[INFO] [stdout]    --> server/src/interface/tab_state.rs:311:9
[INFO] [stdout]     |
[INFO] [stdout] 306 | pub struct Rendering {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 311 |     pub logs: VecDeque<String>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Rendering` 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: enum `TabEvent` is never used
[INFO] [stdout]   --> server/src/interface/tabs/mod.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum TabEvent {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Tab` is never used
[INFO] [stdout]   --> server/src/interface/tabs/mod.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | trait Tab {
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BackendEvent` is never used
[INFO] [stdout]  --> server/src/interface/tabs/tab_backends.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum BackendEvent {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `BackendIdentifier` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_backends.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type BackendIdentifier = (String, u16);
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Mode` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_backends.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Mode {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabBackends` is never constructed
[INFO] [stdout]   --> server/src/interface/tabs/tab_backends.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct TabBackends {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle_tab_event` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_backends.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl TabBackends {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 32 |     fn handle_tab_event(&mut self, event: TabEvent) -> TabEvent {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabBackendsAdd` is never constructed
[INFO] [stdout]    --> server/src/interface/tabs/tab_backends.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | struct TabBackendsAdd {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update` is never used
[INFO] [stdout]    --> server/src/interface/tabs/tab_backends.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl TabBackendsAdd {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 123 |     fn update(&mut self, key: KeyEvent) -> TabEvent {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TabKind` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_controller.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum TabKind {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabController` is never constructed
[INFO] [stdout]   --> server/src/interface/tabs/tab_controller.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct TabController {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cycle` and `handle_tab_event` are never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_controller.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl TabController {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 24 |     fn cycle(&mut self) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn handle_tab_event(&mut self, event: TabEvent) -> TabEvent {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `render` and `update` are never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_controller.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl TabController {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 47 |     fn render(&self) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     fn update(&mut self) -> std::io::Result<TabEvent> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabLogs` is never constructed
[INFO] [stdout]  --> server/src/interface/tabs/tab_logs.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TabLogs {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MainViewEvent` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/mod.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum MainViewEvent {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Mode` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/mod.rs:22:6
[INFO] [stdout]    |
[INFO] [stdout] 22 | enum Mode {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabMainView` is never constructed
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/mod.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct TabMainView {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `reset_selected_row`, `increase_selected_row`, `decrease_selected_row`, `visible_rows`, and `handle_filter_event` are never used
[INFO] [stdout]    --> server/src/interface/tabs/tab_main_view/mod.rs:36:8
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl TabMainView {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout]  35 |     /// Reset the visible row cursor
[INFO] [stdout]  36 |     fn reset_selected_row(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  40 |     fn increase_selected_row(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     fn decrease_selected_row(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn visible_rows(&self) -> Vec<Row<'static>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn handle_filter_event(&mut self, event: TabEvent) -> TabEvent {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabMainViewFilter` is never constructed
[INFO] [stdout]    --> server/src/interface/tabs/tab_main_view/mod.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | struct TabMainViewFilter {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update` is never used
[INFO] [stdout]    --> server/src/interface/tabs/tab_main_view/mod.rs:160:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl TabMainViewFilter {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] 160 |     fn update(&mut self, key: KeyEvent) -> TabEvent {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExecutorItem` is never constructed
[INFO] [stdout]  --> server/src/interface/tabs/tab_main_view/executor_item.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ExecutorItem {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExecutorStatistics` is never constructed
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/executor_item.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct ExecutorStatistics {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_statistics` and `as_row` are never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/executor_item.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl ExecutorItem {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 27 |     /// Compute means from current watcher values
[INFO] [stdout] 28 |     fn get_statistics(&self) -> ExecutorStatistics {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn as_row(&self) -> Row<'static> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Displaying` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/filters.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | trait Displaying {
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Rowable` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/filters.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub trait Rowable {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Filters` is never constructed
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/filters.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct Filters {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> server/src/interface/tabs/tab_main_view/filters.rs:98:12
[INFO] [stdout]     |
[INFO] [stdout]  88 | impl Filters {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn is_active(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn push_char(&mut self, c: char) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn pop_char(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn create_filter(&mut self, filter: FilterType, name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn set_filter(&mut self, mode: FilterType) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn is_filter_active(&self, mode: FilterType) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub fn disable_filter(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     pub fn is_row_visible(&self, row: &impl Rowable, mode: FilterType) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FilterType` is never used
[INFO] [stdout]    --> server/src/interface/tabs/tab_main_view/filters.rs:304:10
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub enum FilterType {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Filter` is never constructed
[INFO] [stdout]    --> server/src/interface/tabs/tab_main_view/filters.rs:323:8
[INFO] [stdout]     |
[INFO] [stdout] 323 | struct Filter {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push` and `pop` are never used
[INFO] [stdout]    --> server/src/interface/tabs/tab_main_view/filters.rs:339:12
[INFO] [stdout]     |
[INFO] [stdout] 328 | impl Filter {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub fn push(&mut self, c: char) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub fn pop(&mut self) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_string` is never used
[INFO] [stdout]    --> server/src/interface/tabs/tab_main_view/filters.rs:377:8
[INFO] [stdout]     |
[INFO] [stdout] 360 | impl Filter {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 377 |     fn to_string(&self, active: bool) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAG_THRESHOLD` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/tenant_item.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const LAG_THRESHOLD: u64 = 10_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXECUTION_TIME_THRESHOLD` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/tenant_item.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const EXECUTION_TIME_THRESHOLD: f64 = 1000.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TenantItem` is never constructed
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/tenant_item.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct TenantItem {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TenantStatistics` is never constructed
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/tenant_item.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct TenantStatistics {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_statistics` and `as_row` are never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/tenant_item.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl TenantItem {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 45 |     /// Compute tenant-level means based on means of its visible executors (with watchers)
[INFO] [stdout] 46 |     fn get_statistics(&self, executors: &[&ExecutorItem]) -> TenantStatistics {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn as_row(&self, executors: &[&ExecutorItem]) -> Row<'static> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAG_THRESHOLD` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/watch_item.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const LAG_THRESHOLD: u64 = 10_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXECUTION_TIME_THRESHOLD` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/watch_item.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const EXECUTION_TIME_THRESHOLD: f64 = 1000.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WatchItem` is never constructed
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/watch_item.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct WatchItem {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_row` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/watch_item.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl WatchItem {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 38 |     pub fn as_row(&self) -> Row<'static> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> server/src/interface/mod.rs:941:48
[INFO] [stdout]     |
[INFO] [stdout] 941 | ...                   _ => Local.timestamp(0, 0),
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `logs_offset`
[INFO] [stdout]    --> server/src/interface/mod.rs:491:9
[INFO] [stdout]     |
[INFO] [stdout] 491 |     let mut logs_offset: usize = 0; // 0 = follow last lines
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_logs_offset`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lag_points`
[INFO] [stdout]    --> server/src/interface/mod.rs:776:33
[INFO] [stdout]     |
[INFO] [stdout] 776 | ...                   let lag_points: Vec<(f64, f64)> = times
[INFO] [stdout]     |                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lag_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exec_points`
[INFO] [stdout]    --> server/src/interface/mod.rs:781:33
[INFO] [stdout]     |
[INFO] [stdout] 781 | ...                   let exec_points: Vec<(f64, f64)> = times
[INFO] [stdout]     |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exec_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/tcp_server.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 |             if let Err(e) = stream.write_all(&buffer).await {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/tcp_server.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |             if let Err(e) = stream.flush().await {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tenant_name` and `exec_id` are never read
[INFO] [stdout]   --> server/src/interface/mod.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     Executor {
[INFO] [stdout]    |     -------- fields in this variant
[INFO] [stdout] 45 |         tenant_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 46 |         exec_id: (i64, String),
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RowPos` has derived impls for the traits `Clone` and `Debug`, but these are 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: method `toggle_fold_at` is never used
[INFO] [stdout]    --> server/src/interface/mod.rs:400:12
[INFO] [stdout]     |
[INFO] [stdout]  70 | impl AppState {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 400 |     pub fn toggle_fold_at(&mut self, index: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> server/src/interface/filters.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | impl Filters {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `logs` is never read
[INFO] [stdout]    --> server/src/interface/tab_state.rs:311:9
[INFO] [stdout]     |
[INFO] [stdout] 306 | pub struct Rendering {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 311 |     pub logs: VecDeque<String>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Rendering` 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: enum `TabEvent` is never used
[INFO] [stdout]   --> server/src/interface/tabs/mod.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum TabEvent {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Tab` is never used
[INFO] [stdout]   --> server/src/interface/tabs/mod.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | trait Tab {
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BackendEvent` is never used
[INFO] [stdout]  --> server/src/interface/tabs/tab_backends.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum BackendEvent {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `BackendIdentifier` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_backends.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type BackendIdentifier = (String, u16);
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Mode` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_backends.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Mode {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabBackends` is never constructed
[INFO] [stdout]   --> server/src/interface/tabs/tab_backends.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct TabBackends {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle_tab_event` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_backends.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl TabBackends {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 32 |     fn handle_tab_event(&mut self, event: TabEvent) -> TabEvent {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabBackendsAdd` is never constructed
[INFO] [stdout]    --> server/src/interface/tabs/tab_backends.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | struct TabBackendsAdd {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update` is never used
[INFO] [stdout]    --> server/src/interface/tabs/tab_backends.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl TabBackendsAdd {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 123 |     fn update(&mut self, key: KeyEvent) -> TabEvent {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TabKind` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_controller.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum TabKind {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabController` is never constructed
[INFO] [stdout]   --> server/src/interface/tabs/tab_controller.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct TabController {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cycle` and `handle_tab_event` are never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_controller.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl TabController {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 24 |     fn cycle(&mut self) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn handle_tab_event(&mut self, event: TabEvent) -> TabEvent {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `render` and `update` are never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_controller.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl TabController {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 47 |     fn render(&self) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     fn update(&mut self) -> std::io::Result<TabEvent> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabLogs` is never constructed
[INFO] [stdout]  --> server/src/interface/tabs/tab_logs.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TabLogs {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MainViewEvent` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/mod.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum MainViewEvent {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Mode` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/mod.rs:22:6
[INFO] [stdout]    |
[INFO] [stdout] 22 | enum Mode {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabMainView` is never constructed
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/mod.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct TabMainView {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `reset_selected_row`, `increase_selected_row`, `decrease_selected_row`, `visible_rows`, and `handle_filter_event` are never used
[INFO] [stdout]    --> server/src/interface/tabs/tab_main_view/mod.rs:36:8
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl TabMainView {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout]  35 |     /// Reset the visible row cursor
[INFO] [stdout]  36 |     fn reset_selected_row(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  40 |     fn increase_selected_row(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     fn decrease_selected_row(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn visible_rows(&self) -> Vec<Row<'static>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn handle_filter_event(&mut self, event: TabEvent) -> TabEvent {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabMainViewFilter` is never constructed
[INFO] [stdout]    --> server/src/interface/tabs/tab_main_view/mod.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | struct TabMainViewFilter {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update` is never used
[INFO] [stdout]    --> server/src/interface/tabs/tab_main_view/mod.rs:160:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl TabMainViewFilter {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] 160 |     fn update(&mut self, key: KeyEvent) -> TabEvent {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExecutorItem` is never constructed
[INFO] [stdout]  --> server/src/interface/tabs/tab_main_view/executor_item.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ExecutorItem {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExecutorStatistics` is never constructed
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/executor_item.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct ExecutorStatistics {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_statistics` and `as_row` are never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/executor_item.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl ExecutorItem {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 27 |     /// Compute means from current watcher values
[INFO] [stdout] 28 |     fn get_statistics(&self) -> ExecutorStatistics {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn as_row(&self) -> Row<'static> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Displaying` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/filters.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | trait Displaying {
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Rowable` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/filters.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub trait Rowable {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Filters` is never constructed
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/filters.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct Filters {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> server/src/interface/tabs/tab_main_view/filters.rs:98:12
[INFO] [stdout]     |
[INFO] [stdout]  88 | impl Filters {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn is_active(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn push_char(&mut self, c: char) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn pop_char(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn create_filter(&mut self, filter: FilterType, name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn set_filter(&mut self, mode: FilterType) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn is_filter_active(&self, mode: FilterType) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub fn disable_filter(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     pub fn is_row_visible(&self, row: &impl Rowable, mode: FilterType) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FilterType` is never used
[INFO] [stdout]    --> server/src/interface/tabs/tab_main_view/filters.rs:304:10
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub enum FilterType {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Filter` is never constructed
[INFO] [stdout]    --> server/src/interface/tabs/tab_main_view/filters.rs:323:8
[INFO] [stdout]     |
[INFO] [stdout] 323 | struct Filter {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push` and `pop` are never used
[INFO] [stdout]    --> server/src/interface/tabs/tab_main_view/filters.rs:339:12
[INFO] [stdout]     |
[INFO] [stdout] 328 | impl Filter {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub fn push(&mut self, c: char) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub fn pop(&mut self) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_string` is never used
[INFO] [stdout]    --> server/src/interface/tabs/tab_main_view/filters.rs:377:8
[INFO] [stdout]     |
[INFO] [stdout] 360 | impl Filter {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 377 |     fn to_string(&self, active: bool) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAG_THRESHOLD` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/tenant_item.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const LAG_THRESHOLD: u64 = 10_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXECUTION_TIME_THRESHOLD` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/tenant_item.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const EXECUTION_TIME_THRESHOLD: f64 = 1000.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TenantItem` is never constructed
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/tenant_item.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct TenantItem {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TenantStatistics` is never constructed
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/tenant_item.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct TenantStatistics {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_statistics` and `as_row` are never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/tenant_item.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl TenantItem {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 45 |     /// Compute tenant-level means based on means of its visible executors (with watchers)
[INFO] [stdout] 46 |     fn get_statistics(&self, executors: &[&ExecutorItem]) -> TenantStatistics {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn as_row(&self, executors: &[&ExecutorItem]) -> Row<'static> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAG_THRESHOLD` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/watch_item.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const LAG_THRESHOLD: u64 = 10_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXECUTION_TIME_THRESHOLD` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/watch_item.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const EXECUTION_TIME_THRESHOLD: f64 = 1000.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WatchItem` is never constructed
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/watch_item.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct WatchItem {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_row` is never used
[INFO] [stdout]   --> server/src/interface/tabs/tab_main_view/watch_item.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl WatchItem {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 38 |     pub fn as_row(&self) -> Row<'static> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.25s
[INFO] running `Command { std: "docker" "inspect" "e82f54912b90d39ace81fcebe51ebdba667868605156bdb1ca8dabd2f6b8eb17", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e82f54912b90d39ace81fcebe51ebdba667868605156bdb1ca8dabd2f6b8eb17", kill_on_drop: false }`
[INFO] [stdout] e82f54912b90d39ace81fcebe51ebdba667868605156bdb1ca8dabd2f6b8eb17
