[INFO] cloning repository https://github.com/Mlodko/ospf-visualization
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Mlodko/ospf-visualization" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMlodko%2Fospf-visualization", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMlodko%2Fospf-visualization'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9daf9cd15129548af3d092551e1bd0fa7a777c05
[INFO] checking Mlodko/ospf-visualization against master#c756124775121dea0e640652c5ee3c89e3dd0eb4 for pr-154971
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMlodko%2Fospf-visualization" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Mlodko/ospf-visualization
[INFO] finished tweaking git repo https://github.com/Mlodko/ospf-visualization
[INFO] tweaked toml for git repo https://github.com/Mlodko/ospf-visualization written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Mlodko/ospf-visualization on toolchain c756124775121dea0e640652c5ee3c89e3dd0eb4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c756124775121dea0e640652c5ee3c89e3dd0eb4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Mlodko/ospf-visualization 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" "+c756124775121dea0e640652c5ee3c89e3dd0eb4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded snmptools v0.1.3
[INFO] [stderr]   Downloaded ecolor v0.33.2
[INFO] [stderr]   Downloaded catppuccin-egui v5.7.0
[INFO] [stderr]   Downloaded egui_extras v0.33.2
[INFO] [stderr]   Downloaded netsnmp-sys-nocrypto v0.1.3
[INFO] [stderr]   Downloaded egui_graphs v0.29.0
[INFO] [stderr]   Downloaded epaint v0.33.2
[INFO] [stderr]   Downloaded ssh2 v0.9.5
[INFO] [stderr]   Downloaded emath v0.33.2
[INFO] [stderr]   Downloaded nom-derive v0.10.1
[INFO] [stderr]   Downloaded ospf-parser v0.5.0
[INFO] [stderr]   Downloaded snmp2 v0.4.8
[INFO] [stderr]   Downloaded nom-derive-impl v0.10.1
[INFO] [stderr]   Downloaded simple-easing v1.0.1
[INFO] [stderr]   Downloaded egui v0.33.2
[INFO] [stderr]   Downloaded libz-sys v1.1.23
[INFO] [stderr]   Downloaded epaint_default_fonts v0.33.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+c756124775121dea0e640652c5ee3c89e3dd0eb4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2c5d1df017b6b28cafc0126149fb57c334932af970bca59246124da1d1f89569
[INFO] running `Command { std: "docker" "start" "-a" "2c5d1df017b6b28cafc0126149fb57c334932af970bca59246124da1d1f89569", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c5d1df017b6b28cafc0126149fb57c334932af970bca59246124da1d1f89569", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c5d1df017b6b28cafc0126149fb57c334932af970bca59246124da1d1f89569", kill_on_drop: false }`
[INFO] [stdout] 2c5d1df017b6b28cafc0126149fb57c334932af970bca59246124da1d1f89569
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+c756124775121dea0e640652c5ee3c89e3dd0eb4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ec7e98c1deb3dde263a5d0a88511f2faa9551dea425e0ad17611e4be856c0a91
[INFO] running `Command { std: "docker" "start" "-a" "ec7e98c1deb3dde263a5d0a88511f2faa9551dea425e0ad17611e4be856c0a91", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]     Checking cfg-if v1.0.3
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling hashbrown v0.16.0
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling wayland-sys v0.31.7
[INFO] [stderr]    Compiling wayland-backend v0.3.11
[INFO] [stderr]    Compiling endi v1.1.0
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]    Compiling quick-xml v0.37.5
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]     Checking crc32fast v1.5.0
[INFO] [stderr]     Checking owned_ttf_parser v0.25.1
[INFO] [stderr]     Checking rustix v1.1.2
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling async-io v2.6.0
[INFO] [stderr]     Checking ab_glyph v0.2.32
[INFO] [stderr]     Checking quote v1.0.40
[INFO] [stderr]     Checking async-task v4.7.1
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]     Checking piper v0.2.4
[INFO] [stderr]     Checking syn v2.0.106
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]    Compiling indexmap v2.11.4
[INFO] [stderr]    Compiling xml-rs v0.8.28
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling icu_properties_data v2.1.1
[INFO] [stderr]     Checking epaint_default_fonts v0.33.2
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]     Checking async-executor v1.13.3
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling wayland-scanner v0.31.7
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking async-lock v3.4.1
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking memmap2 v0.9.9
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking pxfm v0.1.25
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]    Compiling libz-sys v1.1.23
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]     Checking openssl-sys v0.9.109
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]     Checking png v0.18.0
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]    Compiling glutin v0.32.3
[INFO] [stderr]    Compiling netsnmp-sys-nocrypto v0.1.3
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling mime_guess2 v2.3.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling glutin_egl_sys v0.7.1
[INFO] [stderr]    Compiling glutin_glx_sys v0.6.1
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking kurbo v0.11.3
[INFO] [stderr]    Compiling glutin-winit v0.5.0
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]     Checking unicode-bidi-mirroring v0.4.0
[INFO] [stderr]     Checking unicode-properties v0.1.4
[INFO] [stderr]     Checking unicode-ccc v0.4.0
[INFO] [stderr]     Checking unicode-script v0.5.7
[INFO] [stderr]     Checking rusticata-macros v4.1.0
[INFO] [stderr]    Compiling toml_edit v0.23.7
[INFO] [stderr]     Checking svgtypes v0.15.3
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking fontdb v0.23.0
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking simplecss v0.2.2
[INFO] [stderr]     Checking fixedbitset v0.5.7
[INFO] [stderr]     Checking weezl v0.1.10
[INFO] [stderr]    Compiling catppuccin-egui v5.7.0
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking pico-args v0.5.0
[INFO] [stderr]     Checking imagesize v0.13.0
[INFO] [stderr]     Checking data-url v0.3.2
[INFO] [stderr]     Checking gif v0.13.3
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]     Checking simple-easing v1.0.1
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]     Checking moxcms v0.7.9
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling enumn v0.1.14
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking async-signal v0.2.13
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking async-process v2.5.0
[INFO] [stderr]     Checking wayland-client v0.31.11
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling asn1-rs-impl v0.2.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling asn1-rs-derive v0.5.1
[INFO] [stderr]    Compiling enum-map-derive v0.17.0
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling duplicate v2.0.1
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking rustybuzz v0.20.1
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking openssl v0.10.73
[INFO] [stderr]     Checking enum-map v2.7.3
[INFO] [stderr]     Checking rgb v0.8.52
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking asn1-rs v0.6.2
[INFO] [stderr]     Checking wayland-protocols v0.32.9
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking wayland-cursor v0.31.11
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking ssh2 v0.9.5
[INFO] [stderr]     Checking snmptools v0.1.3
[INFO] [stderr]    Compiling nom-derive-impl v0.10.1
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking image v0.25.8
[INFO] [stderr]     Checking icu_properties v2.1.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking enumflags2 v0.7.12
[INFO] [stderr]     Checking zvariant_utils v3.2.1
[INFO] [stderr]     Checking accesskit v0.21.1
[INFO] [stderr]     Checking quick-xml v0.36.2
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking emath v0.33.2
[INFO] [stderr]     Checking ron v0.11.0
[INFO] [stderr]     Checking nom-derive v0.10.1
[INFO] [stderr]     Checking petgraph v0.8.3
[INFO] [stderr]     Checking ospf-parser v0.5.0
[INFO] [stderr]     Checking ipnetwork v0.21.1
[INFO] [stderr]     Checking usvg v0.45.1
[INFO] [stderr]     Checking ecolor v0.33.2
[INFO] [stderr]    Compiling zvariant_derive v5.8.0
[INFO] [stderr]     Checking epaint v0.33.2
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking accesskit_consumer v0.31.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling zvariant v5.8.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking webbrowser v1.0.6
[INFO] [stderr]     Checking resvg v0.45.1
[INFO] [stderr]     Checking snmp2 v0.4.8
[INFO] [stderr]     Checking egui v0.33.2
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.9
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.9
[INFO] [stderr]    Compiling zbus_names v4.2.0
[INFO] [stderr]    Compiling zbus_xml v5.0.2
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]    Compiling zbus_macros v5.12.0
[INFO] [stderr]    Compiling zbus-lockstep v0.5.1
[INFO] [stderr]    Compiling zbus-lockstep-macros v0.5.1
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking smithay-clipboard v0.7.2
[INFO] [stderr]     Checking zbus v5.12.0
[INFO] [stderr]     Checking winit v0.30.12
[INFO] [stderr]     Checking egui_glow v0.33.0
[INFO] [stderr]     Checking egui_extras v0.33.2
[INFO] [stderr]     Checking egui_dock v0.18.0
[INFO] [stderr]     Checking egui_graphs v0.29.0
[INFO] [stderr]     Checking atspi-common v0.9.0
[INFO] [stderr]     Checking atspi-proxies v0.9.0
[INFO] [stderr]     Checking accesskit_atspi_common v0.14.2
[INFO] [stderr]     Checking atspi-connection v0.9.0
[INFO] [stderr]     Checking atspi v0.25.0
[INFO] [stderr]     Checking accesskit_unix v0.17.2
[INFO] [stderr]     Checking accesskit_winit v0.29.2
[INFO] [stderr]     Checking egui-winit v0.33.0
[INFO] [stderr]     Checking eframe v0.33.0
[INFO] [stderr]     Checking ospf-visualization v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/gui/actions.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, time::SystemTime};
[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: `catppuccin_egui::Theme`
[INFO] [stdout]  --> src/gui/actions.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use catppuccin_egui::Theme;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `modules::graph::GraphWidget`
[INFO] [stdout]  --> src/gui/actions.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{gui::{modules::graph::GraphWidget, new_app::ThemeId, tools::tray::ToolId}, network::{edge::Edge, network_graph::NetworkGr...
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DefaultHasher` and `Hash`
[INFO] [stdout]  --> src/gui/app.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::hash::{DefaultHasher, Hash};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hasher`
[INFO] [stdout]  --> src/gui/app.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::hash::Hasher;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IsIsTopology`
[INFO] [stdout]   --> src/gui/app.rs:22:62
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::parsers::isis_parser::topology::{IsIsBfsTopology, IsIsTopology};
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::topology::ospf_bfs_protocol::OspfBfsProtocol`
[INFO] [stdout]   --> src/gui/app.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::topology::ospf_bfs_protocol::OspfBfsProtocol;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Topology`
[INFO] [stdout]   --> src/gui/app.rs:25:50
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::topology::protocol::{FederationError, Topology};
[INFO] [stdout]    |                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ssh2::DisconnectCode::ProtocolError`
[INFO] [stdout]   --> src/gui/app.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | use ssh2::DisconnectCode::ProtocolError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::watch`
[INFO] [stdout]   --> src/gui/app.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | use tokio::sync::watch;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IsIsTopology` and `OspfSnmpTopology`
[INFO] [stdout]  --> src/gui/autopoll.rs:8:55
[INFO] [stdout]   |
[INFO] [stdout] 8 |     parsers::isis_parser::topology::{IsIsBfsTopology, IsIsTopology},
[INFO] [stdout]   |                                                       ^^^^^^^^^^^^
[INFO] [stdout] 9 |     topology::{OspfSnmpTopology, ospf_protocol::OspfBfsSnmpTopology, source::SnapshotSource},
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::anyhow`
[INFO] [stdout]   --> src/gui/autopoll.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use anyhow::anyhow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stroke`
[INFO] [stdout]  --> src/gui/edge_shape.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use egui::{Color32, Context, Pos2, Shape, Stroke};
[INFO] [stdout]   |                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `petgraph::csr::EdgeIndex`
[INFO] [stdout]  --> src/gui/edge_shape.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use petgraph::csr::EdgeIndex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `network::node::OspfAdvertisement`
[INFO] [stdout]  --> src/gui/modules/dock/packet/parse/lsa/lsa.rs:3:95
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{gui::modules::dock::packet::parse::lsa::{header::LsaHeader, payload::LsaPayload}, network::node::OspfAdvertisement};
[INFO] [stdout]   |                                                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actions::AppActions`
[INFO] [stdout]  --> src/gui/modules/dock/packet/ui.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{gui::{actions::AppActions, modules::dock::packet::{parse::{lsa::{header::LsaHeader, lsa::Lsa, payload::{AsExternalLsa, As...
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `network_graph::NetworkGraph`
[INFO] [stdout]   --> src/gui/modules/graph.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         network_graph::NetworkGraph,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/gui/modules/connection.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]  --> src/gui/modules/connection.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ssh2::DisconnectCode::ProtocolError`
[INFO] [stdout]  --> src/gui/modules/connection.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ssh2::DisconnectCode::ProtocolError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]  --> src/gui/modules/connection.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PollResult`
[INFO] [stdout]  --> src/gui/modules/connection.rs:9:43
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::gui::new_app::{self, AppPanel, PollResult};
[INFO] [stdout]   |                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/gui/actions.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, time::SystemTime};
[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: `catppuccin_egui::Theme`
[INFO] [stdout]  --> src/gui/actions.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use catppuccin_egui::Theme;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `modules::graph::GraphWidget`
[INFO] [stdout]  --> src/gui/actions.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{gui::{modules::graph::GraphWidget, new_app::ThemeId, tools::tray::ToolId}, network::{edge::Edge, network_graph::NetworkGr...
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DefaultHasher` and `Hash`
[INFO] [stdout]  --> src/gui/app.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::hash::{DefaultHasher, Hash};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hasher`
[INFO] [stdout]  --> src/gui/app.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::hash::Hasher;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IsIsTopology`
[INFO] [stdout]   --> src/gui/app.rs:22:62
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::parsers::isis_parser::topology::{IsIsBfsTopology, IsIsTopology};
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::topology::ospf_bfs_protocol::OspfBfsProtocol`
[INFO] [stdout]   --> src/gui/app.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::topology::ospf_bfs_protocol::OspfBfsProtocol;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppPanel`
[INFO] [stdout]  --> src/gui/modules/theme.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::gui::new_app::{AppPanel, ThemeId};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Topology`
[INFO] [stdout]   --> src/gui/app.rs:25:50
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::topology::protocol::{FederationError, Topology};
[INFO] [stdout]    |                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `eframe::CreationContext`
[INFO] [stdout]  --> src/gui/new_app.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use eframe::CreationContext;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `egui_dock::DockState`
[INFO] [stdout]   --> src/gui/new_app.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use egui_dock::DockState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ssh2::DisconnectCode::ProtocolError`
[INFO] [stdout]   --> src/gui/app.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | use ssh2::DisconnectCode::ProtocolError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time::Instant`
[INFO] [stdout]   --> src/gui/new_app.rs:16:44
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::{runtime::Runtime, sync::Mutex, time::Instant};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::watch`
[INFO] [stdout]   --> src/gui/app.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | use tokio::sync::watch;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `usvg::layout`
[INFO] [stdout]   --> src/gui/new_app.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use usvg::layout;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InterfaceStats`
[INFO] [stdout]   --> src/gui/new_app.rs:44:18
[INFO] [stdout]    |
[INFO] [stdout] 44 |         router::{InterfaceStats, RouterId},
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `network::network_graph::NetworkGraph`
[INFO] [stdout]  --> src/gui/tools/path_tool.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | }}, network::network_graph::NetworkGraph};
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImageButton` and `Layout`
[INFO] [stdout]  --> src/gui/tools/tray.rs:1:40
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egui::{Area, Button, Frame, Image, ImageButton, Layout, Margin, Order, Pos2, Sense, Stroke, Vec2};
[INFO] [stdout]   |                                        ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `new_app::AppPanel`
[INFO] [stdout]  --> src/gui/tools/tray.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::gui::{actions::AppActions, new_app::AppPanel};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IsIsTopology` and `OspfSnmpTopology`
[INFO] [stdout]  --> src/gui/autopoll.rs:8:55
[INFO] [stdout]   |
[INFO] [stdout] 8 |     parsers::isis_parser::topology::{IsIsBfsTopology, IsIsTopology},
[INFO] [stdout]   |                                                       ^^^^^^^^^^^^
[INFO] [stdout] 9 |     topology::{OspfSnmpTopology, ospf_protocol::OspfBfsSnmpTopology, source::SnapshotSource},
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::anyhow`
[INFO] [stdout]   --> src/gui/autopoll.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use anyhow::anyhow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stroke`
[INFO] [stdout]  --> src/gui/edge_shape.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use egui::{Color32, Context, Pos2, Shape, Stroke};
[INFO] [stdout]   |                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `petgraph::csr::EdgeIndex`
[INFO] [stdout]  --> src/gui/edge_shape.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use petgraph::csr::EdgeIndex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OspfPayload`
[INFO] [stdout]  --> src/parsers/ospf_parser/lsa.rs:3:54
[INFO] [stdout]   |
[INFO] [stdout] 3 |         Node, NodeInfo, OspfAdvertisement, OspfData, OspfPayload, OspfRouterPayload, OspfVirtualLink, PerAreaRouterFacet, ProtocolData
[INFO] [stdout]   |                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `egui::Link`
[INFO] [stdout]  --> src/parsers/ospf_parser/snmp_source.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use egui::Link;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `network::node::OspfAdvertisement`
[INFO] [stdout]  --> src/gui/modules/dock/packet/parse/lsa/lsa.rs:3:95
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{gui::modules::dock::packet::parse::lsa::{header::LsaHeader, payload::LsaPayload}, network::node::OspfAdvertisement};
[INFO] [stdout]   |                                                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actions::AppActions`
[INFO] [stdout]  --> src/gui/modules/dock/packet/ui.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{gui::{actions::AppActions, modules::dock::packet::{parse::{lsa::{header::LsaHeader, lsa::Lsa, payload::{AsExternalLsa, As...
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]    --> src/parsers/ospf_parser/snmp_source.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 319 |     use std::net::SocketAddr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/parsers/ospf_parser/snmp_source.rs:321:9
[INFO] [stdout]     |
[INFO] [stdout] 321 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core_lsp::NetAddress`
[INFO] [stdout]  --> src/parsers/isis_parser/ssh_source.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | ...   bfs_protocol::JsonIsisBfsProtocol, core_lsp::NetAddress, frr_json_lsp::JsonLspdb, hostname::HostnameMap, protocol::JsonIsisProt...
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `network_graph::NetworkGraph`
[INFO] [stdout]   --> src/gui/modules/graph.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         network_graph::NetworkGraph,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/gui/modules/connection.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]  --> src/gui/modules/connection.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ssh2::DisconnectCode::ProtocolError`
[INFO] [stdout]  --> src/gui/modules/connection.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ssh2::DisconnectCode::ProtocolError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]  --> src/gui/modules/connection.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PollResult`
[INFO] [stdout]  --> src/gui/modules/connection.rs:9:43
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::gui::new_app::{self, AppPanel, PollResult};
[INFO] [stdout]   |                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppPanel`
[INFO] [stdout]  --> src/gui/modules/theme.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::gui::new_app::{AppPanel, ThemeId};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `eframe::CreationContext`
[INFO] [stdout]  --> src/gui/new_app.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use eframe::CreationContext;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `egui_dock::DockState`
[INFO] [stdout]   --> src/gui/new_app.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use egui_dock::DockState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time::Instant`
[INFO] [stdout]   --> src/gui/new_app.rs:16:44
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::{runtime::Runtime, sync::Mutex, time::Instant};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `usvg::layout`
[INFO] [stdout]   --> src/gui/new_app.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use usvg::layout;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InterfaceStats`
[INFO] [stdout]   --> src/gui/new_app.rs:44:18
[INFO] [stdout]    |
[INFO] [stdout] 44 |         router::{InterfaceStats, RouterId},
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `network::network_graph::NetworkGraph`
[INFO] [stdout]  --> src/gui/tools/path_tool.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | }}, network::network_graph::NetworkGraph};
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImageButton` and `Layout`
[INFO] [stdout]  --> src/gui/tools/tray.rs:1:40
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egui::{Area, Button, Frame, Image, ImageButton, Layout, Margin, Order, Pos2, Sense, Stroke, Vec2};
[INFO] [stdout]   |                                        ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `new_app::AppPanel`
[INFO] [stdout]  --> src/gui/tools/tray.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::gui::{actions::AppActions, new_app::AppPanel};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NetAddress`
[INFO] [stdout]   --> src/parsers/isis_parser/protocol.rs:12:69
[INFO] [stdout]    |
[INFO] [stdout] 12 |         core_lsp::{ExtendedIpReachabilityTlv, Lsp, LspError, LspId, NetAddress, SystemId, Tlv},
[INFO] [stdout]    |                                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ProtocolParseError`
[INFO] [stdout]  --> src/parsers/isis_parser/bfs_protocol.rs:7:278
[INFO] [stdout]   |
[INFO] [stdout] 7 | ...JsonLspdb, hostname::HostnameMap}, topology::protocol::{ProtocolParseError, ProtocolTopologyError, RoutingProtocol}};
[INFO] [stdout]   |                                                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `network::node::NodeInfo` and `parsers::isis_parser::protocol::JsonIsisProtocol`
[INFO] [stdout]    --> src/parsers/isis_parser/bfs_protocol.rs:607:17
[INFO] [stdout]     |
[INFO] [stdout] 607 |     use crate::{network::node::NodeInfo, parsers::isis_parser::protocol::JsonIsisProtocol};
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::topology::source::SnapshotSource`
[INFO] [stdout]   --> src/parsers/isis_parser/topology.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     use crate::topology::source::SnapshotSource;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OspfData` and `Router`
[INFO] [stdout]   --> src/topology/ospf_bfs_protocol.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 |         node::{Network, Node, NodeInfo, OspfData, OspfPayload, OspfVirtualLink, PerAreaRouterFacet, ProtocolData},
[INFO] [stdout]    |                                         ^^^^^^^^
[INFO] [stdout] 12 |         router::{Router, RouterId},
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `egui::epaint::stats`
[INFO] [stdout]   --> src/topology/source.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use egui::epaint::stats;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `Formatter`
[INFO] [stdout]   --> src/topology/store.rs:23:44
[INFO] [stdout]    |
[INFO] [stdout] 23 |     collections::{HashMap, HashSet}, fmt::{Display, Formatter}, net::IpAddr, time::SystemTime
[INFO] [stdout]    |                                            ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OspfPayload`
[INFO] [stdout]  --> src/parsers/ospf_parser/lsa.rs:3:54
[INFO] [stdout]   |
[INFO] [stdout] 3 |         Node, NodeInfo, OspfAdvertisement, OspfData, OspfPayload, OspfRouterPayload, OspfVirtualLink, PerAreaRouterFacet, ProtocolData
[INFO] [stdout]   |                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `egui::Link`
[INFO] [stdout]  --> src/parsers/ospf_parser/snmp_source.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use egui::Link;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]    --> src/parsers/ospf_parser/snmp_source.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 319 |     use std::net::SocketAddr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core_lsp::NetAddress`
[INFO] [stdout]  --> src/parsers/isis_parser/ssh_source.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | ...   bfs_protocol::JsonIsisBfsProtocol, core_lsp::NetAddress, frr_json_lsp::JsonLspdb, hostname::HostnameMap, protocol::JsonIsisProt...
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gui::app`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use gui::app;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NetAddress`
[INFO] [stdout]   --> src/parsers/isis_parser/protocol.rs:12:69
[INFO] [stdout]    |
[INFO] [stdout] 12 |         core_lsp::{ExtendedIpReachabilityTlv, Lsp, LspError, LspId, NetAddress, SystemId, Tlv},
[INFO] [stdout]    |                                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ProtocolParseError`
[INFO] [stdout]  --> src/parsers/isis_parser/bfs_protocol.rs:7:278
[INFO] [stdout]   |
[INFO] [stdout] 7 | ...JsonLspdb, hostname::HostnameMap}, topology::protocol::{ProtocolParseError, ProtocolTopologyError, RoutingProtocol}};
[INFO] [stdout]   |                                                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parsers::isis_parser::protocol::JsonIsisProtocol`
[INFO] [stdout]    --> src/parsers/isis_parser/bfs_protocol.rs:607:42
[INFO] [stdout]     |
[INFO] [stdout] 607 |     use crate::{network::node::NodeInfo, parsers::isis_parser::protocol::JsonIsisProtocol};
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OspfData` and `Router`
[INFO] [stdout]   --> src/topology/ospf_bfs_protocol.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 |         node::{Network, Node, NodeInfo, OspfData, OspfPayload, OspfVirtualLink, PerAreaRouterFacet, ProtocolData},
[INFO] [stdout]    |                                         ^^^^^^^^
[INFO] [stdout] 12 |         router::{Router, RouterId},
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `egui::epaint::stats`
[INFO] [stdout]   --> src/topology/source.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use egui::epaint::stats;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `Formatter`
[INFO] [stdout]   --> src/topology/store.rs:23:44
[INFO] [stdout]    |
[INFO] [stdout] 23 |     collections::{HashMap, HashSet}, fmt::{Display, Formatter}, net::IpAddr, time::SystemTime
[INFO] [stdout]    |                                            ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gui::app`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use gui::app;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `topology::ospf_protocol::OspfSnmpTopology`
[INFO] [stdout]   --> src/gui/app.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     topology::OspfSnmpTopology,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `topology::ospf_protocol::OspfSnmpTopology`
[INFO] [stdout]     --> src/gui/app.rs:1393:30
[INFO] [stdout]      |
[INFO] [stdout] 1393 |         self.topo = Box::new(OspfSnmpTopology::from_snmp_client(client));
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `topology::ospf_protocol::OspfSnmpTopology`
[INFO] [stdout]  --> src/gui/autopoll.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 |     topology::{OspfSnmpTopology, ospf_protocol::OspfBfsSnmpTopology, source::SnapshotSource},
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `topology::ospf_protocol::OspfSnmpTopology`
[INFO] [stdout]   --> src/gui/app.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     topology::OspfSnmpTopology,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `topology::ospf_protocol::OspfSnmpTopology`
[INFO] [stdout]     --> src/gui/app.rs:1393:30
[INFO] [stdout]      |
[INFO] [stdout] 1393 |         self.topo = Box::new(OspfSnmpTopology::from_snmp_client(client));
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `topology::ospf_protocol::OspfSnmpTopology`
[INFO] [stdout]  --> src/gui/autopoll.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 |     topology::{OspfSnmpTopology, ospf_protocol::OspfBfsSnmpTopology, source::SnapshotSource},
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `egui::ImageButton`: Use egui::Button::image instead
[INFO] [stdout]  --> src/gui/tools/tray.rs:1:40
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egui::{Area, Button, Frame, Image, ImageButton, Layout, Margin, Order, Pos2, Sense, Stroke, Vec2};
[INFO] [stdout]   |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `egui::ImageButton`: Use egui::Button::image instead
[INFO] [stdout]  --> src/gui/tools/tray.rs:1:40
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egui::{Area, Button, Frame, Image, ImageButton, Layout, Margin, Order, Pos2, Sense, Stroke, Vec2};
[INFO] [stdout]   |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `topology::ospf_protocol::OspfSnmpTopology`
[INFO] [stdout]   --> src/topology/mod.rs:23:25
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub use ospf_protocol::{OspfSnmpTopology};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `topology::ospf_protocol::OspfSnmpTopology`
[INFO] [stdout]    --> src/topology/ospf_protocol.rs:401:6
[INFO] [stdout]     |
[INFO] [stdout] 401 | impl OspfSnmpTopology {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `topology::ospf_protocol::OspfSnmpTopology`
[INFO] [stdout]   --> src/topology/mod.rs:23:25
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub use ospf_protocol::{OspfSnmpTopology};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `topology::ospf_protocol::OspfSnmpTopology`
[INFO] [stdout]    --> src/topology/ospf_protocol.rs:401:6
[INFO] [stdout]     |
[INFO] [stdout] 401 | impl OspfSnmpTopology {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:379:5
[INFO] [stdout]     |
[INFO] [stdout] 376 |         return Err(anyhow!("No OSPF data found"));
[INFO] [stdout]     |         ----------------------------------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 379 |     Ok(())
[INFO] [stdout]     |     ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:379:5
[INFO] [stdout]     |
[INFO] [stdout] 376 |         return Err(anyhow!("No OSPF data found"));
[INFO] [stdout]     |         ----------------------------------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 379 |     Ok(())
[INFO] [stdout]     |     ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gui::new_app::AppPanel`
[INFO] [stdout]   --> src/gui/modules/dock/dock.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::gui::new_app::AppPanel;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AcquisitionSource`
[INFO] [stdout]   --> src/topology/ospf_protocol.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 |         AcquisitionError, AcquisitionSource, FederationError, ProtocolFederator, ProtocolParseError, ProtocolTopologyError
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spec`
[INFO] [stdout]   --> src/gui/autopoll.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 for (id, spec) in &self.source_specs {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_spec`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/gui/autopoll.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         ctx: &egui::Context,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actions`
[INFO] [stdout]   --> src/gui/autopoll.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         actions: &mut dyn super::actions::AppActions,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]   --> src/gui/edge_anim.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let now = Instant::now();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gui/modules/timed_notice.rs:446:13
[INFO] [stdout]     |
[INFO] [stdout] 446 |         let mut frame = egui::Frame::popup(ui.style())
[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 variable: `dock_actions`
[INFO] [stdout]   --> src/gui/modules/dock/sources.rs:18:92
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn ui(&mut self, ui: &mut egui::Ui, actions: &mut dyn crate::gui::actions::AppActions, dock_actions: &mut dyn DockActions) {
[INFO] [stdout]    |                                                                                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dock_actions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/gui/modules/dock/packet/parse/lsa/header.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |             _ => write!(f, "Unknown"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/gui/modules/dock/packet/parse/lsa/header.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |             Self::Router => write!(f, "Router (1)"),
[INFO] [stdout]    |             ------------ matches some of the same values
[INFO] [stdout] 90 |             Self::Network => write!(f, "Network (2)"),
[INFO] [stdout]    |             ------------- matches some of the same values
[INFO] [stdout] 91 |             Self::Summary => write!(f, "Summary (3)"),
[INFO] [stdout]    |             ------------- matches some of the same values
[INFO] [stdout] 92 |             Self::AsExternal => write!(f, "AS External (5)"),
[INFO] [stdout]    |             ---------------- matches some of the same values
[INFO] [stdout] 93 |             _ => write!(f, "Unknown"),
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AcquisitionSource`
[INFO] [stdout]   --> src/topology/ospf_protocol.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 |         AcquisitionError, AcquisitionSource, FederationError, ProtocolFederator, ProtocolParseError, ProtocolTopologyError
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gui::new_app::AppPanel`
[INFO] [stdout]   --> src/gui/modules/dock/dock.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::gui::new_app::AppPanel;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `on_span`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:309:46
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn ui_semantic(&self, ui: &mut egui::Ui, on_span: &mut dyn FnMut(Span)) {
[INFO] [stdout]     |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_on_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `on_span`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:317:46
[INFO] [stdout]     |
[INFO] [stdout] 317 |     fn ui_semantic(&self, ui: &mut egui::Ui, on_span: &mut dyn FnMut(Span)) {
[INFO] [stdout]     |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_on_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `on_span`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:325:46
[INFO] [stdout]     |
[INFO] [stdout] 325 |     fn ui_semantic(&self, ui: &mut egui::Ui, on_span: &mut dyn FnMut(Span)) {
[INFO] [stdout]     |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_on_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `on_span`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:333:46
[INFO] [stdout]     |
[INFO] [stdout] 333 |     fn ui_semantic(&self, ui: &mut egui::Ui, on_span: &mut dyn FnMut(Span)) {
[INFO] [stdout]     |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_on_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `on_span`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:342:46
[INFO] [stdout]     |
[INFO] [stdout] 342 |     fn ui_semantic(&self, ui: &mut egui::Ui, on_span: &mut dyn FnMut(Span)) {
[INFO] [stdout]     |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_on_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `on_span`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:351:46
[INFO] [stdout]     |
[INFO] [stdout] 351 |     fn ui_semantic(&self, ui: &mut egui::Ui, on_span: &mut dyn FnMut(Span)) {
[INFO] [stdout]     |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_on_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:367:31
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn combo_box_lsa_selector(ui: &mut egui::Ui, selected_node: &Node, state: &mut PacketInspectorState) -> anyhow::Result<()> {
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:367:72
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn combo_box_lsa_selector(ui: &mut egui::Ui, selected_node: &Node, state: &mut PacketInspectorState) -> anyhow::Result<()> {
[INFO] [stdout]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `all_advertisements`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:373:9
[INFO] [stdout]     |
[INFO] [stdout] 373 |     let all_advertisements: Vec<Lsa> = if let Some(data) = ospf_data {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_advertisements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:373:52
[INFO] [stdout]     |
[INFO] [stdout] 373 |     let all_advertisements: Vec<Lsa> = if let Some(data) = ospf_data {
[INFO] [stdout]     |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actions`
[INFO] [stdout]   --> src/gui/modules/dock/packet/semantic.rs:20:41
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn ui(&mut self, ui: &mut egui::Ui, actions: &mut dyn crate::gui::actions::AppActions, dock_actions: &mut dyn DockActions) {
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dock_actions`
[INFO] [stdout]   --> src/gui/modules/dock/packet/semantic.rs:20:92
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn ui(&mut self, ui: &mut egui::Ui, actions: &mut dyn crate::gui::actions::AppActions, dock_actions: &mut dyn DockActions) {
[INFO] [stdout]    |                                                                                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dock_actions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dock_actions`
[INFO] [stdout]   --> src/gui/modules/dock/packet/bytes.rs:24:93
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn ui(&mut self, ui: &mut egui::Ui, _actions: &mut dyn crate::gui::actions::AppActions, dock_actions: &mut dyn DockActions) {
[INFO] [stdout]    |                                                                                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dock_actions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `oid`
[INFO] [stdout]    --> src/data_aquisition/snmp.rs:501:42
[INFO] [stdout]     |
[INFO] [stdout] 501 |             if let RawRouterData::Snmp { oid, value } = &result {
[INFO] [stdout]     |                                          ^^^ help: try ignoring the field: `oid: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/gui/modules/theme.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn ui(ctx: &egui::Context, ui: &mut egui::Ui, actions: &mut dyn crate::gui::actions::AppActions) {
[INFO] [stdout]   |               ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `snmp_client`
[INFO] [stdout]    --> src/gui/new_app.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let snmp_client = crate::data_aquisition::snmp::SnmpClient::default();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snmp_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]    --> src/gui/new_app.rs:606:52
[INFO] [stdout]     |
[INFO] [stdout] 606 |     fn render_side_panel(&mut self, ctx: &Context, frame: &mut eframe::Frame, ui: &mut Ui) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/gui/new_app.rs:622:38
[INFO] [stdout]     |
[INFO] [stdout] 622 |     fn render_bottom_dock(&mut self, ctx: &Context, frame: &mut eframe::Frame, ui: &mut Ui) {
[INFO] [stdout]     |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]    --> src/gui/new_app.rs:622:53
[INFO] [stdout]     |
[INFO] [stdout] 622 |     fn render_bottom_dock(&mut self, ctx: &Context, frame: &mut eframe::Frame, ui: &mut Ui) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/gui/tools/path_tool.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         ctx: &egui::Context,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actions`
[INFO] [stdout]   --> src/gui/tools/path_tool.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |         actions: &mut dyn crate::gui::actions::AppActions,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spec`
[INFO] [stdout]   --> src/gui/autopoll.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 for (id, spec) in &self.source_specs {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_spec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/gui/autopoll.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         ctx: &egui::Context,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actions`
[INFO] [stdout]   --> src/gui/autopoll.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         actions: &mut dyn super::actions::AppActions,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]   --> src/gui/edge_anim.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let now = Instant::now();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gui/modules/timed_notice.rs:446:13
[INFO] [stdout]     |
[INFO] [stdout] 446 |         let mut frame = egui::Frame::popup(ui.style())
[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 variable: `dock_actions`
[INFO] [stdout]   --> src/gui/modules/dock/sources.rs:18:92
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn ui(&mut self, ui: &mut egui::Ui, actions: &mut dyn crate::gui::actions::AppActions, dock_actions: &mut dyn DockActions) {
[INFO] [stdout]    |                                                                                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dock_actions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/gui/modules/dock/packet/parse/lsa/header.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |             _ => write!(f, "Unknown"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/gui/modules/dock/packet/parse/lsa/header.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |             Self::Router => write!(f, "Router (1)"),
[INFO] [stdout]    |             ------------ matches some of the same values
[INFO] [stdout] 90 |             Self::Network => write!(f, "Network (2)"),
[INFO] [stdout]    |             ------------- matches some of the same values
[INFO] [stdout] 91 |             Self::Summary => write!(f, "Summary (3)"),
[INFO] [stdout]    |             ------------- matches some of the same values
[INFO] [stdout] 92 |             Self::AsExternal => write!(f, "AS External (5)"),
[INFO] [stdout]    |             ---------------- matches some of the same values
[INFO] [stdout] 93 |             _ => write!(f, "Unknown"),
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `on_span`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:309:46
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn ui_semantic(&self, ui: &mut egui::Ui, on_span: &mut dyn FnMut(Span)) {
[INFO] [stdout]     |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_on_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `on_span`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:317:46
[INFO] [stdout]     |
[INFO] [stdout] 317 |     fn ui_semantic(&self, ui: &mut egui::Ui, on_span: &mut dyn FnMut(Span)) {
[INFO] [stdout]     |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_on_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `on_span`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:325:46
[INFO] [stdout]     |
[INFO] [stdout] 325 |     fn ui_semantic(&self, ui: &mut egui::Ui, on_span: &mut dyn FnMut(Span)) {
[INFO] [stdout]     |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_on_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `on_span`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:333:46
[INFO] [stdout]     |
[INFO] [stdout] 333 |     fn ui_semantic(&self, ui: &mut egui::Ui, on_span: &mut dyn FnMut(Span)) {
[INFO] [stdout]     |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_on_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `on_span`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:342:46
[INFO] [stdout]     |
[INFO] [stdout] 342 |     fn ui_semantic(&self, ui: &mut egui::Ui, on_span: &mut dyn FnMut(Span)) {
[INFO] [stdout]     |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_on_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `on_span`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:351:46
[INFO] [stdout]     |
[INFO] [stdout] 351 |     fn ui_semantic(&self, ui: &mut egui::Ui, on_span: &mut dyn FnMut(Span)) {
[INFO] [stdout]     |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_on_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:367:31
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn combo_box_lsa_selector(ui: &mut egui::Ui, selected_node: &Node, state: &mut PacketInspectorState) -> anyhow::Result<()> {
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:367:72
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn combo_box_lsa_selector(ui: &mut egui::Ui, selected_node: &Node, state: &mut PacketInspectorState) -> anyhow::Result<()> {
[INFO] [stdout]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `all_advertisements`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:373:9
[INFO] [stdout]     |
[INFO] [stdout] 373 |     let all_advertisements: Vec<Lsa> = if let Some(data) = ospf_data {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_advertisements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:373:52
[INFO] [stdout]     |
[INFO] [stdout] 373 |     let all_advertisements: Vec<Lsa> = if let Some(data) = ospf_data {
[INFO] [stdout]     |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actions`
[INFO] [stdout]   --> src/gui/modules/dock/packet/semantic.rs:20:41
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn ui(&mut self, ui: &mut egui::Ui, actions: &mut dyn crate::gui::actions::AppActions, dock_actions: &mut dyn DockActions) {
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dock_actions`
[INFO] [stdout]   --> src/gui/modules/dock/packet/semantic.rs:20:92
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn ui(&mut self, ui: &mut egui::Ui, actions: &mut dyn crate::gui::actions::AppActions, dock_actions: &mut dyn DockActions) {
[INFO] [stdout]    |                                                                                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dock_actions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dock_actions`
[INFO] [stdout]   --> src/gui/modules/dock/packet/bytes.rs:24:93
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn ui(&mut self, ui: &mut egui::Ui, _actions: &mut dyn crate::gui::actions::AppActions, dock_actions: &mut dyn DockActions) {
[INFO] [stdout]    |                                                                                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dock_actions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/network/network_graph.rs:203:17
[INFO] [stdout]     |
[INFO] [stdout] 203 |             let theme = app::get_theme();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_color`
[INFO] [stdout]    --> src/network/network_graph.rs:267:25
[INFO] [stdout]     |
[INFO] [stdout] 267 |                     let node_color = if desired.is_inter_area() {
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_color`
[INFO] [stdout]    --> src/network/network_graph.rs:293:25
[INFO] [stdout]     |
[INFO] [stdout] 293 |                     let node_color = if payload.is_inter_area() {
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/gui/modules/theme.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn ui(ctx: &egui::Context, ui: &mut egui::Ui, actions: &mut dyn crate::gui::actions::AppActions) {
[INFO] [stdout]   |               ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_uuid`
[INFO] [stdout]    --> src/network/network_graph.rs:556:53
[INFO] [stdout]     |
[INFO] [stdout] 556 |     fn membership_metric(&self, src_idx: NodeIndex, src_uuid: Uuid, dst_uuid: Uuid) -> EdgeMetric {
[INFO] [stdout]     |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `snmp_client`
[INFO] [stdout]    --> src/gui/new_app.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let snmp_client = crate::data_aquisition::snmp::SnmpClient::default();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snmp_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_idx`
[INFO] [stdout]    --> src/network/network_graph.rs:636:9
[INFO] [stdout]     |
[INFO] [stdout] 636 |         src_idx: NodeIndex,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst_uuid`
[INFO] [stdout]    --> src/network/network_graph.rs:638:9
[INFO] [stdout]     |
[INFO] [stdout] 638 |         dst_uuid: Uuid,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ospf_data`
[INFO] [stdout]    --> src/network/network_graph.rs:639:9
[INFO] [stdout]     |
[INFO] [stdout] 639 |         ospf_data: &OspfData,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ospf_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]   --> src/network/neighbor.rs:55:26
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn render_row(&self, ui: &mut Ui) {
[INFO] [stdout]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]    --> src/gui/new_app.rs:606:52
[INFO] [stdout]     |
[INFO] [stdout] 606 |     fn render_side_panel(&mut self, ctx: &Context, frame: &mut eframe::Frame, ui: &mut Ui) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/gui/new_app.rs:622:38
[INFO] [stdout]     |
[INFO] [stdout] 622 |     fn render_bottom_dock(&mut self, ctx: &Context, frame: &mut eframe::Frame, ui: &mut Ui) {
[INFO] [stdout]     |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]    --> src/gui/new_app.rs:622:53
[INFO] [stdout]     |
[INFO] [stdout] 622 |     fn render_bottom_dock(&mut self, ctx: &Context, frame: &mut eframe::Frame, ui: &mut Ui) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/gui/tools/path_tool.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         ctx: &egui::Context,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actions`
[INFO] [stdout]   --> src/gui/tools/path_tool.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |         actions: &mut dyn crate::gui::actions::AppActions,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/network/network_graph.rs:203:17
[INFO] [stdout]     |
[INFO] [stdout] 203 |             let theme = app::get_theme();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_color`
[INFO] [stdout]    --> src/network/network_graph.rs:267:25
[INFO] [stdout]     |
[INFO] [stdout] 267 |                     let node_color = if desired.is_inter_area() {
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_color`
[INFO] [stdout]    --> src/network/network_graph.rs:293:25
[INFO] [stdout]     |
[INFO] [stdout] 293 |                     let node_color = if payload.is_inter_area() {
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_uuid`
[INFO] [stdout]    --> src/network/network_graph.rs:556:53
[INFO] [stdout]     |
[INFO] [stdout] 556 |     fn membership_metric(&self, src_idx: NodeIndex, src_uuid: Uuid, dst_uuid: Uuid) -> EdgeMetric {
[INFO] [stdout]     |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_idx`
[INFO] [stdout]    --> src/network/network_graph.rs:636:9
[INFO] [stdout]     |
[INFO] [stdout] 636 |         src_idx: NodeIndex,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst_uuid`
[INFO] [stdout]    --> src/network/network_graph.rs:638:9
[INFO] [stdout]     |
[INFO] [stdout] 638 |         dst_uuid: Uuid,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ospf_data`
[INFO] [stdout]    --> src/network/network_graph.rs:639:9
[INFO] [stdout]     |
[INFO] [stdout] 639 |         ospf_data: &OspfData,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ospf_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]   --> src/network/neighbor.rs:55:26
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn render_row(&self, ui: &mut Ui) {
[INFO] [stdout]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_level`
[INFO] [stdout]    --> src/parsers/isis_parser/bfs_protocol.rs:227:63
[INFO] [stdout]     |
[INFO] [stdout] 227 | ...   if let Some(ProtocolData::IsIs(IsIsData { is_level, lsp_id, net_address, tlvs, owned, .. })) = &net.protocol_data {
[INFO] [stdout]     |                                                 ^^^^^^^^ help: try ignoring the field: `is_level: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `net_address`
[INFO] [stdout]    --> src/parsers/isis_parser/bfs_protocol.rs:227:81
[INFO] [stdout]     |
[INFO] [stdout] 227 | ...   if let Some(ProtocolData::IsIs(IsIsData { is_level, lsp_id, net_address, tlvs, owned, .. })) = &net.protocol_data {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^ help: try ignoring the field: `net_address: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `owned`
[INFO] [stdout]    --> src/parsers/isis_parser/bfs_protocol.rs:227:100
[INFO] [stdout]     |
[INFO] [stdout] 227 | ...a { is_level, lsp_id, net_address, tlvs, owned, .. })) = &net.protocol_data {
[INFO] [stdout]     |                                             ^^^^^ help: try ignoring the field: `owned: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `router`
[INFO] [stdout]    --> src/topology/ospf_bfs_protocol.rs:346:58
[INFO] [stdout]     |
[INFO] [stdout] 346 | ...                   NodeInfo::Router(router) => {
[INFO] [stdout]     |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_router`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/topology/ospf_bfs_protocol.rs:423:14
[INFO] [stdout]     |
[INFO] [stdout] 423 |         for (id, mut nodes) in router_by_id_map {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base`
[INFO] [stdout]    --> src/topology/ospf_bfs_protocol.rs:650:54
[INFO] [stdout]     |
[INFO] [stdout] 650 |                         (OspfPayload::SummaryNetwork(base), OspfPayload::Network(other)) => {
[INFO] [stdout]     |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_base`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/topology/ospf_bfs_protocol.rs:650:82
[INFO] [stdout]     |
[INFO] [stdout] 650 |                         (OspfPayload::SummaryNetwork(base), OspfPayload::Network(other)) => {
[INFO] [stdout]     |                                                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `close` is never used
[INFO] [stdout]    --> src/data_aquisition/ssh.rs:103:18
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl SshClient {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub async fn close(self) -> Result<(), SshError> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_r1_client` is never used
[INFO] [stdout]    --> src/data_aquisition/ssh.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn new_r1_client() -> SshClient {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `selected_edge` and `node_index_to_uuid` are never used
[INFO] [stdout]   --> src/gui/actions.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait GraphActions {
[INFO] [stdout]    |           ------------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn selected_edge(&self) -> Option<&Edge>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 21 |     fn node_index_to_uuid(&self, index: NodeIndex) -> Option<Uuid>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_idle`, `is_pending`, `is_success`, `is_failure`, and `failure_reason` are never used
[INFO] [stdout]   --> src/gui/actions.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl ConnectStatus {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 63 |     pub fn is_idle(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn is_pending(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn is_success(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn is_failure(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn failure_reason(&self) -> Option<&str> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/gui/app.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn main(rt: Arc<Runtime>) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Layout` is never used
[INFO] [stdout]   --> src/gui/app.rs:88:6
[INFO] [stdout]    |
[INFO] [stdout] 88 | type Layout = FruchtermanReingoldWithCenterGravity;
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `LayoutState` is never used
[INFO] [stdout]   --> src/gui/app.rs:89:6
[INFO] [stdout]    |
[INFO] [stdout] 89 | type LayoutState = FruchtermanReingoldWithCenterGravityState;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EditTool` is never used
[INFO] [stdout]    --> src/gui/app.rs:108:6
[INFO] [stdout]     |
[INFO] [stdout] 108 | enum EditTool {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PollResult` is never used
[INFO] [stdout]    --> src/gui/app.rs:114:10
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub type PollResult = Result<(SourceId, Vec<Node>, Vec<InterfaceStats>), String>;
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `App` is never constructed
[INFO] [stdout]    --> src/gui/app.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | struct App {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/gui/app.rs:176:14
[INFO] [stdout]      |
[INFO] [stdout]  175 | impl App {
[INFO] [stdout]      | -------- associated items in this implementation
[INFO] [stdout]  176 |     async fn new(
[INFO] [stdout]      |              ^^^
[INFO] [stdout] ...
[INFO] [stdout]  248 |     fn read_data(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  254 |     fn apply_edge_traffic_weights(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  332 |     fn render_sources_section(&mut self, ui: &mut Ui) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  491 |     fn render_path_controls(&mut self, ui: &mut Ui) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  555 |     fn reload_graph(&mut self) -> Result<(), FederationError> {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  564 |     fn render_edit_tools(&mut self, ui: &mut Ui) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  626 |     fn render_autopoll_controls(&mut self, ui: &mut Ui) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  658 |     fn render(&mut self, ctx: &Context) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1343 |     async fn switch_ssh_target(&mut self) {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1365 |     async fn switch_snmp_target(&mut self) {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1405 |     async fn refresh_from_source(&mut self) {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `info_icon` is never used
[INFO] [stdout]     --> src/gui/app.rs:1458:4
[INFO] [stdout]      |
[INFO] [stdout] 1458 | fn info_icon(ui: &mut egui::Ui, tip: &str) {
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `humanize_value` is never used
[INFO] [stdout]     --> src/gui/app.rs:1463:4
[INFO] [stdout]      |
[INFO] [stdout] 1463 | fn humanize_value(value: u64) -> (f64, String) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `humanize_bytes` is never used
[INFO] [stdout]     --> src/gui/app.rs:1476:4
[INFO] [stdout]      |
[INFO] [stdout] 1476 | fn humanize_bytes(bytes: u64) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `humanize_packet_count` is never used
[INFO] [stdout]     --> src/gui/app.rs:1482:4
[INFO] [stdout]      |
[INFO] [stdout] 1482 | fn humanize_packet_count(count: u64) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_source_specs`, `poll_rx`, and `remove_source` are never used
[INFO] [stdout]    --> src/gui/autopoll.rs:94:12
[INFO] [stdout]     |
[INFO] [stdout]  75 | impl AutoPoller {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn set_source_specs(&mut self, source_specs: HashMap<RouterId, SourceSpec>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn poll_rx(&self) -> Option<&mpsc::Receiver<PollResult>> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn remove_source(&mut self, router_id: &RouterId) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `source_id`, `nodes`, `if_stats`, and `source_spec` are never used
[INFO] [stdout]    --> src/gui/autopoll.rs:315:12
[INFO] [stdout]     |
[INFO] [stdout] 314 | impl PollMessage {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 315 |     pub fn source_id(&self) -> &RouterId {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     pub fn nodes(&self) -> &Vec<Node> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn if_stats(&self) -> &Vec<InterfaceStats> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     pub fn source_spec(&self) -> &SourceSpec {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `publish_create` is never used
[INFO] [stdout]   --> src/gui/edge_anim.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn publish_create(src: Uuid, dst: Uuid, kind: EdgeKind) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `publish_destroy` is never used
[INFO] [stdout]   --> src/gui/edge_anim.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn publish_destroy(src: Uuid, dst: Uuid, kind: EdgeKind) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_finished` is never used
[INFO] [stdout]   --> src/gui/edge_anim.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn cleanup_finished(total: std::time::Duration) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Creating` and `Destroying` are never constructed
[INFO] [stdout]   --> src/gui/edge_anim.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub enum EdgeAnimPhase {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 52 |     Creating,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 53 |     Destroying
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EdgeAnimPhase` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new_creating` and `new_destroying` are never used
[INFO] [stdout]   --> src/gui/edge_anim.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl EdgeAnimation {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] 63 |     pub fn new_creating() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn new_destroying() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_edge_weights` is never used
[INFO] [stdout]   --> src/gui/edge_shape.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn set_edge_weights(weights: HashMap<(Uuid, Uuid), f32>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_edge_weight` is never used
[INFO] [stdout]   --> src/gui/edge_shape.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn get_edge_weight(src: Uuid, dst: Uuid) -> Option<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_edge_labels_enabled` is never used
[INFO] [stdout]   --> src/gui/edge_shape.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn set_edge_labels_enabled(enabled: bool) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_edge_events` is never used
[INFO] [stdout]   --> src/gui/edge_shape.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn clear_edge_events() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `take_edge_events` is never used
[INFO] [stdout]   --> src/gui/edge_shape.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn take_edge_events() -> Vec<EdgeEvent> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_any_hit` is never used
[INFO] [stdout]   --> src/gui/edge_shape.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn clear_any_hit() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `any_hit` is never used
[INFO] [stdout]   --> src/gui/edge_shape.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn any_hit() -> bool {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `src_uuid`, `dst_uuid`, `kind`, and `is_manual` are never read
[INFO] [stdout]   --> src/gui/graph_overlay.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct EdgeEvent {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 12 |     pub src_uuid: Uuid,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 13 |     pub dst_uuid: Uuid,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 14 |     pub kind: EdgeKind,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 15 |     pub is_manual: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EdgeEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `circle_radius` is never read
[INFO] [stdout]   --> src/gui/graph_overlay.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct LabelOverlay {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 21 |     pub center: Pos2,
[INFO] [stdout] 22 |     pub circle_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LabelOverlay` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_label_overlays` is never used
[INFO] [stdout]   --> src/gui/graph_overlay.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn clear_label_overlays(ctx: &Context) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_edge_events` is never used
[INFO] [stdout]   --> src/gui/graph_overlay.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn clear_edge_events(ctx: &Context) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_any_hit` is never used
[INFO] [stdout]    --> src/gui/graph_overlay.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn clear_any_hit(ctx: &Context) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `any_hit` is never used
[INFO] [stdout]    --> src/gui/graph_overlay.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn any_hit(ctx: &Context) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_area_highlight` is never used
[INFO] [stdout]    --> src/gui/graph_overlay.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn clear_area_highlight(ctx: &Context) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_partition_highlight_enabled` is never used
[INFO] [stdout]    --> src/gui/graph_overlay.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn set_partition_highlight_enabled(ctx: &Context, enabled: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_edge_labels_enabled` is never used
[INFO] [stdout]    --> src/gui/graph_overlay.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn set_edge_labels_enabled(ctx: &Context, enabled: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_edge_weights` is never used
[INFO] [stdout]    --> src/gui/graph_overlay.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn set_edge_weights(ctx: &Context, weights: HashMap<(Uuid, Uuid), f32>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_frame_fill`, `with_frame_stroke`, `with_text_bold`, `with_text_size`, `color`, and `resume_from_create` are never used
[INFO] [stdout]    --> src/gui/modules/timed_notice.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl TimedNotice {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn with_frame_fill(mut self, fill: Color32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn with_frame_stroke(mut self, stroke: egui::Stroke) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn with_text_bold(mut self, bold: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn with_text_size(mut self, size: Option<f32>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn color(&self) -> Color32 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     fn resume_from_create(&mut self, now: Instant) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dock_state_mut` is never used
[INFO] [stdout]   --> src/gui/modules/dock/dock.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl Dock {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn dock_state_mut(&mut self) -> &mut DockState<Box<dyn DockPanel>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `CloseTab` and `AddTab` are never constructed
[INFO] [stdout]    --> src/gui/modules/dock/dock.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 139 | enum DockRequest {
[INFO] [stdout]     |      ----------- variants in this enum
[INFO] [stdout] 140 |     CloseTab(DockPanelKind),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 141 |     AddTab(Box<dyn DockPanel>),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `drain` are never used
[INFO] [stdout]    --> src/gui/modules/dock/dock.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl DockActionQueue {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 151 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     fn drain(&mut self) -> Drain<DockRequest> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `close_tab` and `add_tab` are never used
[INFO] [stdout]    --> src/gui/modules/dock/dock.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub trait DockActions {
[INFO] [stdout]     |           ----------- methods in this trait
[INFO] [stdout] 185 |     fn close_tab(&mut self, kind: DockPanelKind);
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 186 |     fn add_tab(&mut self, panel: Box<dyn DockPanel>);
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/gui/modules/dock/packet/parse/lsa/payload.rs:337:9
[INFO] [stdout]     |
[INFO] [stdout] 336 | pub struct RouterLinkTosMetric {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] 337 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RouterLinkTosMetric` 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 `AsExternalTosMetric` is never constructed
[INFO] [stdout]    --> src/gui/modules/dock/packet/parse/lsa/payload.rs:603:12
[INFO] [stdout]     |
[INFO] [stdout] 603 | pub struct AsExternalTosMetric {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `metric_24bit` is never used
[INFO] [stdout]    --> src/gui/modules/dock/packet/parse/lsa/payload.rs:613:12
[INFO] [stdout]     |
[INFO] [stdout] 612 | impl AsExternalTosMetric {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] 613 |     pub fn metric_24bit(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `compose` and `offset` are never used
[INFO] [stdout]   --> src/gui/modules/dock/packet/parse/span.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Span {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn compose(&self, other: &Span) -> Span {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn offset(&self, offset: usize) -> Span {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `clear`, `lsa`, and `lsp` are never used
[INFO] [stdout]   --> src/gui/modules/dock/packet/state.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl PacketInspectorState {
[INFO] [stdout]    | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn lsa(&self) -> Option<&Lsa> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn lsp(&self) -> Option<&Lsp> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `combo_box_lsa_selector` is never used
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:367:8
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn combo_box_lsa_selector(ui: &mut egui::Ui, selected_node: &Node, state: &mut PacketInspectorState) -> anyhow::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `layout_state`, `layout_state_mut`, `take_edge_events`, and `take_label_overlays` are never used
[INFO] [stdout]   --> src/gui/modules/graph.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl GraphPanel {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn layout_state(&self) -> &LayoutState {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn layout_state_mut(&mut self) -> &mut LayoutState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn take_edge_events(&mut self) -> Vec<graph_overlay::EdgeEvent> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn take_label_overlays(&mut self) -> Vec<graph_overlay::LabelOverlay> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `snmp_connection_in_progress` and `ssh_connection_in_progress` are never read
[INFO] [stdout]   --> src/gui/modules/connection.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct ConnectionsPanel {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     snmp_connection_in_progress: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     ssh_connection_in_progress: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gui/modules/connection.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl ConnectionsPanel {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 52 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `topo` and `autopoller_enabled_gui` are never read
[INFO] [stdout]    --> src/gui/new_app.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | struct App {
[INFO] [stdout]     |        --- fields in this struct
[INFO] [stdout] 138 |     // Topology stuffs
[INFO] [stdout] 139 |     topo: Box<dyn SnapshotSource>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     autopoller_enabled_gui: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `protocol_data_section` is never used
[INFO] [stdout]    --> src/gui/node_panel.rs:317:8
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub fn protocol_data_section(ui: &mut Ui, protocol_data: &Option<ProtocolData>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isis_protocol_data_section` is never used
[INFO] [stdout]    --> src/gui/node_panel.rs:330:4
[INFO] [stdout]     |
[INFO] [stdout] 330 | fn isis_protocol_data_section(ui: &mut Ui, data: &IsIsData) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ospf_protocol_data_section` is never used
[INFO] [stdout]    --> src/gui/node_panel.rs:486:4
[INFO] [stdout]     |
[INFO] [stdout] 486 | fn ospf_protocol_data_section(ui: &mut Ui, data: &OspfData) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ospf_payload_section` is never used
[INFO] [stdout]    --> src/gui/node_panel.rs:511:4
[INFO] [stdout]     |
[INFO] [stdout] 511 | fn ospf_payload_section(ui: &mut Ui, payload: &OspfPayload) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collapsible_section` is never used
[INFO] [stdout]    --> src/gui/node_panel.rs:539:8
[INFO] [stdout]     |
[INFO] [stdout] 539 | pub fn collapsible_section(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `label_no_wrap` is never used
[INFO] [stdout]    --> src/gui/node_panel.rs:556:8
[INFO] [stdout]     |
[INFO] [stdout] 556 | pub fn label_no_wrap(text: impl Into<egui::WidgetText>) -> Label {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bullet_list` is never used
[INFO] [stdout]    --> src/gui/node_panel.rs:561:8
[INFO] [stdout]     |
[INFO] [stdout] 561 | pub fn bullet_list<I, S>(ui: &mut Ui, items: I)
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_path_highlight` is never used
[INFO] [stdout]    --> src/gui/node_shape.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn clear_path_highlight(ctx: &Context) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_path_highlight` is never used
[INFO] [stdout]    --> src/gui/node_shape.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn set_path_highlight(ctx: &Context, uuids: impl Iterator<Item = Uuid>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_area_highlight` is never used
[INFO] [stdout]    --> src/gui/node_shape.rs:143:8
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub fn clear_area_highlight(ctx: &Context) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_partition_highlight_enabled` is never used
[INFO] [stdout]    --> src/gui/node_shape.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub fn set_partition_highlight_enabled(ctx: &Context, enabled: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_label_overlays` is never used
[INFO] [stdout]    --> src/gui/node_shape.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub fn clear_label_overlays(ctx: &Context) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `take_label_overlays` is never used
[INFO] [stdout]    --> src/gui/node_shape.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn take_label_overlays(ctx: &Context) -> Vec<LabelOverlay> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Edit` is never constructed
[INFO] [stdout]   --> src/gui/tools/icons/mod.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub enum IconId {
[INFO] [stdout]    |          ------ variant in this enum
[INFO] [stdout] 78 |     Edit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IconId` 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: method `get_tx_to_rx_ratio` is never used
[INFO] [stdout]   --> src/network/router.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl InterfaceStats {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_tx_to_rx_ratio(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ipv6`, `is_is`, and `other` are never used
[INFO] [stdout]   --> src/network/router.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl RouterId {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn ipv6(&self) -> Option<Ipv6Addr> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn is_is(&self) -> Option<SystemId> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn other(&self) -> Option<&str> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `network`, `network_mut`, `summary_network`, and `summary_network_mut` are never used
[INFO] [stdout]    --> src/network/node.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 127 | impl OspfPayload {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn network(&self) -> Option<&OspfNetworkPayload> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn network_mut(&mut self) -> Option<&mut OspfNetworkPayload> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn summary_network(&self) -> Option<&OspfSummaryNetPayload> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn summary_network_mut(&mut self) -> Option<&mut OspfSummaryNetPayload> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OspfSummaryAsbrPayload` is never constructed
[INFO] [stdout]    --> src/network/node.rs:172:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub struct OspfSummaryAsbrPayload {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str_tags` is never used
[INFO] [stdout]    --> src/network/node.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 205 | impl OspfRouterPayload {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] 206 |     pub fn to_str_tags(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `raw_arc` is never used
[INFO] [stdout]    --> src/network/node.rs:268:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | impl OspfAdvertisement {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn raw_arc(&self) -> Arc<Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `isis` and `other` are never used
[INFO] [stdout]    --> src/network/node.rs:427:12
[INFO] [stdout]     |
[INFO] [stdout] 412 | impl ProtocolData {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 427 |     pub fn isis(&self) -> Option<&IsIsData> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 434 |     pub fn other(&self) -> Option<&String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/network/edge.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl UndirectedEdgeKey {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 57 |     pub fn new(a: Uuid, b: Uuid, kind: EdgeKind) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `key` is never read
[INFO] [stdout]   --> src/network/edge.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct ManualEdgeSpec {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 69 |     pub key: UndirectedEdgeKey,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ManualEdgeSpec` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `set_metric` are never used
[INFO] [stdout]   --> src/network/edge.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl ManualEdgeSpec {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 75 |     pub fn new(key: UndirectedEdgeKey, metric: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn set_metric(&mut self, metric: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/network/network_graph.rs:57:12
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl NetworkGraph {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn build_new(nodes: Vec<Node>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     fn collect_edge_specs_stable(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 682 |     pub fn add_manual_edge(&mut self, a: Uuid, b: Uuid, kind: EdgeKind, metric: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 693 |     pub fn update_manual_edge(&mut self, a: Uuid, b: Uuid, kind: EdgeKind, metric: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 704 |     pub fn supress_base_edge(&mut self, a: Uuid, b: Uuid, kind: EdgeKind) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 713 |     pub fn remove_manual_edge(&mut self, a: Uuid, b: Uuid, kind: EdgeKind) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 719 |     pub fn any_manual_changes(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 723 |     pub fn clear_manual_changes(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 780 |     pub fn is_manual_edge(&self, a: Uuid, b: Uuid, kind: EdgeKind) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Neighbor` is never used
[INFO] [stdout]  --> src/network/neighbor.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait Neighbor<P>
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OspfNeighbor` is never constructed
[INFO] [stdout]   --> src/network/neighbor.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct OspfNeighbor {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OspfNeighborState` is never used
[INFO] [stdout]   --> src/network/neighbor.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub enum OspfNeighborState {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_vec` is never used
[INFO] [stdout]    --> src/parsers/isis_parser/core_lsp.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl NetAddress {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 122 |     pub fn to_vec(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/parsers/isis_parser/protocol.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl JsonIsisProtocol {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 28 |     pub fn new(hostname_map: HostnameMap) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `IsIsTopology` is never used
[INFO] [stdout]  --> src/parsers/isis_parser/topology.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type IsIsTopology = Topology<JsonIsisProtocol, IsisSshSource>;
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_from_ssh_client` is never used
[INFO] [stdout]  --> src/parsers/isis_parser/topology.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | impl IsIsTopology {
[INFO] [stdout]   | ----------------- associated function in this implementation
[INFO] [stdout] 7 |     pub async fn new_from_ssh_client(mut client: SshClient) -> Result<Self, AcquisitionError> {
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_r1_client` is never used
[INFO] [stdout]   --> src/parsers/isis_parser/topology.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn new_r1_client() -> SshClient {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `OspfSnmpTopology` is never used
[INFO] [stdout]    --> src/topology/ospf_protocol.rs:399:10
[INFO] [stdout]     |
[INFO] [stdout] 399 | pub type OspfSnmpTopology = super::protocol::Topology<OspfProtocol, OspfSnmpAcquisition>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_snmp_client` is never used
[INFO] [stdout]    --> src/topology/ospf_protocol.rs:402:12
[INFO] [stdout]     |
[INFO] [stdout] 401 | impl OspfSnmpTopology {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 402 |     pub fn from_snmp_client(client: SnmpClient) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_source_id` is never used
[INFO] [stdout]   --> src/topology/ospf_bfs_protocol.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl OspfBfsProtocol {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn set_source_id(&mut self, source_id: RouterId) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `source_mut` is never used
[INFO] [stdout]    --> src/topology/protocol.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout]  92 | / impl<P, S> Topology<P, S>
[INFO] [stdout]  93 | | where
[INFO] [stdout]  94 | |     P: RoutingProtocol,
[INFO] [stdout]  95 | |     S: AcquisitionSource<P>,
[INFO] [stdout]     | |____________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |       pub fn source_mut(&mut self) -> &mut S {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_interface_weight` is never used
[INFO] [stdout]   --> src/topology/store.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl SourceState {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn get_interface_weight(&self, ip_address: IpAddr) -> Option<f32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AvailableFederators` is never used
[INFO] [stdout]    --> src/topology/store.rs:134:10
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub enum AvailableFederators {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `option_to_string` is never used
[INFO] [stdout]    --> src/topology/store.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl AvailableFederators {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] 139 |     pub fn option_to_string(val: Option<Self>) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gui/app.rs:641:25
[INFO] [stdout]     |
[INFO] [stdout] 641 |                         self.autopoller.set_poll_interval(new_duration);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 641 |                         let _ = self.autopoller.set_poll_interval(new_duration);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gui/app.rs:651:21
[INFO] [stdout]     |
[INFO] [stdout] 651 |                     self.autopoller.start();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 651 |                     let _ = self.autopoller.start();
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/gui/modules/dock/dock.rs:165:14
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn drain(&mut self) -> Drain<DockRequest> {
[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] 165 |     fn drain(&mut self) -> Drain<'_, DockRequest> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_level`
[INFO] [stdout]    --> src/parsers/isis_parser/bfs_protocol.rs:227:63
[INFO] [stdout]     |
[INFO] [stdout] 227 | ...   if let Some(ProtocolData::IsIs(IsIsData { is_level, lsp_id, net_address, tlvs, owned, .. })) = &net.protocol_data {
[INFO] [stdout]     |                                                 ^^^^^^^^ help: try ignoring the field: `is_level: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `net_address`
[INFO] [stdout]    --> src/parsers/isis_parser/bfs_protocol.rs:227:81
[INFO] [stdout]     |
[INFO] [stdout] 227 | ...   if let Some(ProtocolData::IsIs(IsIsData { is_level, lsp_id, net_address, tlvs, owned, .. })) = &net.protocol_data {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^ help: try ignoring the field: `net_address: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `owned`
[INFO] [stdout]    --> src/parsers/isis_parser/bfs_protocol.rs:227:100
[INFO] [stdout]     |
[INFO] [stdout] 227 | ...a { is_level, lsp_id, net_address, tlvs, owned, .. })) = &net.protocol_data {
[INFO] [stdout]     |                                             ^^^^^ help: try ignoring the field: `owned: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `router`
[INFO] [stdout]    --> src/topology/ospf_bfs_protocol.rs:346:58
[INFO] [stdout]     |
[INFO] [stdout] 346 | ...                   NodeInfo::Router(router) => {
[INFO] [stdout]     |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_router`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/topology/ospf_bfs_protocol.rs:423:14
[INFO] [stdout]     |
[INFO] [stdout] 423 |         for (id, mut nodes) in router_by_id_map {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base`
[INFO] [stdout]    --> src/topology/ospf_bfs_protocol.rs:650:54
[INFO] [stdout]     |
[INFO] [stdout] 650 |                         (OspfPayload::SummaryNetwork(base), OspfPayload::Network(other)) => {
[INFO] [stdout]     |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_base`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/topology/ospf_bfs_protocol.rs:650:82
[INFO] [stdout]     |
[INFO] [stdout] 650 |                         (OspfPayload::SummaryNetwork(base), OspfPayload::Network(other)) => {
[INFO] [stdout]     |                                                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `close` is never used
[INFO] [stdout]    --> src/data_aquisition/ssh.rs:103:18
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl SshClient {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub async fn close(self) -> Result<(), SshError> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `selected_edge` and `node_index_to_uuid` are never used
[INFO] [stdout]   --> src/gui/actions.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait GraphActions {
[INFO] [stdout]    |           ------------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn selected_edge(&self) -> Option<&Edge>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 21 |     fn node_index_to_uuid(&self, index: NodeIndex) -> Option<Uuid>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_idle`, `is_pending`, `is_success`, `is_failure`, and `failure_reason` are never used
[INFO] [stdout]   --> src/gui/actions.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl ConnectStatus {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 63 |     pub fn is_idle(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn is_pending(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn is_success(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn is_failure(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn failure_reason(&self) -> Option<&str> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/gui/app.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn main(rt: Arc<Runtime>) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Layout` is never used
[INFO] [stdout]   --> src/gui/app.rs:88:6
[INFO] [stdout]    |
[INFO] [stdout] 88 | type Layout = FruchtermanReingoldWithCenterGravity;
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `LayoutState` is never used
[INFO] [stdout]   --> src/gui/app.rs:89:6
[INFO] [stdout]    |
[INFO] [stdout] 89 | type LayoutState = FruchtermanReingoldWithCenterGravityState;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EditTool` is never used
[INFO] [stdout]    --> src/gui/app.rs:108:6
[INFO] [stdout]     |
[INFO] [stdout] 108 | enum EditTool {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PollResult` is never used
[INFO] [stdout]    --> src/gui/app.rs:114:10
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub type PollResult = Result<(SourceId, Vec<Node>, Vec<InterfaceStats>), String>;
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `App` is never constructed
[INFO] [stdout]    --> src/gui/app.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | struct App {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/gui/app.rs:176:14
[INFO] [stdout]      |
[INFO] [stdout]  175 | impl App {
[INFO] [stdout]      | -------- associated items in this implementation
[INFO] [stdout]  176 |     async fn new(
[INFO] [stdout]      |              ^^^
[INFO] [stdout] ...
[INFO] [stdout]  248 |     fn read_data(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  254 |     fn apply_edge_traffic_weights(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  332 |     fn render_sources_section(&mut self, ui: &mut Ui) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  491 |     fn render_path_controls(&mut self, ui: &mut Ui) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  555 |     fn reload_graph(&mut self) -> Result<(), FederationError> {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  564 |     fn render_edit_tools(&mut self, ui: &mut Ui) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  626 |     fn render_autopoll_controls(&mut self, ui: &mut Ui) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  658 |     fn render(&mut self, ctx: &Context) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1343 |     async fn switch_ssh_target(&mut self) {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1365 |     async fn switch_snmp_target(&mut self) {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1405 |     async fn refresh_from_source(&mut self) {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `info_icon` is never used
[INFO] [stdout]     --> src/gui/app.rs:1458:4
[INFO] [stdout]      |
[INFO] [stdout] 1458 | fn info_icon(ui: &mut egui::Ui, tip: &str) {
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `humanize_value` is never used
[INFO] [stdout]     --> src/gui/app.rs:1463:4
[INFO] [stdout]      |
[INFO] [stdout] 1463 | fn humanize_value(value: u64) -> (f64, String) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `humanize_bytes` is never used
[INFO] [stdout]     --> src/gui/app.rs:1476:4
[INFO] [stdout]      |
[INFO] [stdout] 1476 | fn humanize_bytes(bytes: u64) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `humanize_packet_count` is never used
[INFO] [stdout]     --> src/gui/app.rs:1482:4
[INFO] [stdout]      |
[INFO] [stdout] 1482 | fn humanize_packet_count(count: u64) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_source_specs`, `poll_rx`, and `remove_source` are never used
[INFO] [stdout]    --> src/gui/autopoll.rs:94:12
[INFO] [stdout]     |
[INFO] [stdout]  75 | impl AutoPoller {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn set_source_specs(&mut self, source_specs: HashMap<RouterId, SourceSpec>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn poll_rx(&self) -> Option<&mpsc::Receiver<PollResult>> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn remove_source(&mut self, router_id: &RouterId) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `source_id`, `nodes`, `if_stats`, and `source_spec` are never used
[INFO] [stdout]    --> src/gui/autopoll.rs:315:12
[INFO] [stdout]     |
[INFO] [stdout] 314 | impl PollMessage {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 315 |     pub fn source_id(&self) -> &RouterId {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     pub fn nodes(&self) -> &Vec<Node> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn if_stats(&self) -> &Vec<InterfaceStats> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     pub fn source_spec(&self) -> &SourceSpec {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `publish_create` is never used
[INFO] [stdout]   --> src/gui/edge_anim.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn publish_create(src: Uuid, dst: Uuid, kind: EdgeKind) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `publish_destroy` is never used
[INFO] [stdout]   --> src/gui/edge_anim.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn publish_destroy(src: Uuid, dst: Uuid, kind: EdgeKind) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_finished` is never used
[INFO] [stdout]   --> src/gui/edge_anim.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn cleanup_finished(total: std::time::Duration) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Creating` and `Destroying` are never constructed
[INFO] [stdout]   --> src/gui/edge_anim.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub enum EdgeAnimPhase {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 52 |     Creating,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 53 |     Destroying
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EdgeAnimPhase` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new_creating` and `new_destroying` are never used
[INFO] [stdout]   --> src/gui/edge_anim.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl EdgeAnimation {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] 63 |     pub fn new_creating() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn new_destroying() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_edge_weights` is never used
[INFO] [stdout]   --> src/gui/edge_shape.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn set_edge_weights(weights: HashMap<(Uuid, Uuid), f32>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_edge_weight` is never used
[INFO] [stdout]   --> src/gui/edge_shape.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn get_edge_weight(src: Uuid, dst: Uuid) -> Option<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_edge_labels_enabled` is never used
[INFO] [stdout]   --> src/gui/edge_shape.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn set_edge_labels_enabled(enabled: bool) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_edge_events` is never used
[INFO] [stdout]   --> src/gui/edge_shape.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn clear_edge_events() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `take_edge_events` is never used
[INFO] [stdout]   --> src/gui/edge_shape.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn take_edge_events() -> Vec<EdgeEvent> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_any_hit` is never used
[INFO] [stdout]   --> src/gui/edge_shape.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn clear_any_hit() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `any_hit` is never used
[INFO] [stdout]   --> src/gui/edge_shape.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn any_hit() -> bool {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `src_uuid`, `dst_uuid`, `kind`, and `is_manual` are never read
[INFO] [stdout]   --> src/gui/graph_overlay.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct EdgeEvent {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 12 |     pub src_uuid: Uuid,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 13 |     pub dst_uuid: Uuid,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 14 |     pub kind: EdgeKind,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 15 |     pub is_manual: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EdgeEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `circle_radius` is never read
[INFO] [stdout]   --> src/gui/graph_overlay.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct LabelOverlay {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 21 |     pub center: Pos2,
[INFO] [stdout] 22 |     pub circle_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LabelOverlay` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_label_overlays` is never used
[INFO] [stdout]   --> src/gui/graph_overlay.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn clear_label_overlays(ctx: &Context) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_edge_events` is never used
[INFO] [stdout]   --> src/gui/graph_overlay.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn clear_edge_events(ctx: &Context) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_any_hit` is never used
[INFO] [stdout]    --> src/gui/graph_overlay.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn clear_any_hit(ctx: &Context) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `any_hit` is never used
[INFO] [stdout]    --> src/gui/graph_overlay.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn any_hit(ctx: &Context) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_area_highlight` is never used
[INFO] [stdout]    --> src/gui/graph_overlay.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn clear_area_highlight(ctx: &Context) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_partition_highlight_enabled` is never used
[INFO] [stdout]    --> src/gui/graph_overlay.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn set_partition_highlight_enabled(ctx: &Context, enabled: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_edge_labels_enabled` is never used
[INFO] [stdout]    --> src/gui/graph_overlay.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn set_edge_labels_enabled(ctx: &Context, enabled: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_edge_weights` is never used
[INFO] [stdout]    --> src/gui/graph_overlay.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn set_edge_weights(ctx: &Context, weights: HashMap<(Uuid, Uuid), f32>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_frame_fill`, `with_frame_stroke`, `with_text_bold`, `with_text_size`, `color`, and `resume_from_create` are never used
[INFO] [stdout]    --> src/gui/modules/timed_notice.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl TimedNotice {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn with_frame_fill(mut self, fill: Color32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn with_frame_stroke(mut self, stroke: egui::Stroke) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn with_text_bold(mut self, bold: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn with_text_size(mut self, size: Option<f32>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn color(&self) -> Color32 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     fn resume_from_create(&mut self, now: Instant) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dock_state_mut` is never used
[INFO] [stdout]   --> src/gui/modules/dock/dock.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl Dock {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn dock_state_mut(&mut self) -> &mut DockState<Box<dyn DockPanel>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `CloseTab` and `AddTab` are never constructed
[INFO] [stdout]    --> src/gui/modules/dock/dock.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 139 | enum DockRequest {
[INFO] [stdout]     |      ----------- variants in this enum
[INFO] [stdout] 140 |     CloseTab(DockPanelKind),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 141 |     AddTab(Box<dyn DockPanel>),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `drain` are never used
[INFO] [stdout]    --> src/gui/modules/dock/dock.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl DockActionQueue {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 151 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     fn drain(&mut self) -> Drain<DockRequest> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `close_tab` and `add_tab` are never used
[INFO] [stdout]    --> src/gui/modules/dock/dock.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub trait DockActions {
[INFO] [stdout]     |           ----------- methods in this trait
[INFO] [stdout] 185 |     fn close_tab(&mut self, kind: DockPanelKind);
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 186 |     fn add_tab(&mut self, panel: Box<dyn DockPanel>);
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/gui/modules/dock/packet/parse/lsa/payload.rs:337:9
[INFO] [stdout]     |
[INFO] [stdout] 336 | pub struct RouterLinkTosMetric {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] 337 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RouterLinkTosMetric` 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 `AsExternalTosMetric` is never constructed
[INFO] [stdout]    --> src/gui/modules/dock/packet/parse/lsa/payload.rs:603:12
[INFO] [stdout]     |
[INFO] [stdout] 603 | pub struct AsExternalTosMetric {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `metric_24bit` is never used
[INFO] [stdout]    --> src/gui/modules/dock/packet/parse/lsa/payload.rs:613:12
[INFO] [stdout]     |
[INFO] [stdout] 612 | impl AsExternalTosMetric {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] 613 |     pub fn metric_24bit(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `compose` and `offset` are never used
[INFO] [stdout]   --> src/gui/modules/dock/packet/parse/span.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Span {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn compose(&self, other: &Span) -> Span {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn offset(&self, offset: usize) -> Span {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `clear`, `lsa`, and `lsp` are never used
[INFO] [stdout]   --> src/gui/modules/dock/packet/state.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl PacketInspectorState {
[INFO] [stdout]    | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn lsa(&self) -> Option<&Lsa> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn lsp(&self) -> Option<&Lsp> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `combo_box_lsa_selector` is never used
[INFO] [stdout]    --> src/gui/modules/dock/packet/ui.rs:367:8
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn combo_box_lsa_selector(ui: &mut egui::Ui, selected_node: &Node, state: &mut PacketInspectorState) -> anyhow::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `layout_state`, `layout_state_mut`, `take_edge_events`, and `take_label_overlays` are never used
[INFO] [stdout]   --> src/gui/modules/graph.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl GraphPanel {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn layout_state(&self) -> &LayoutState {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn layout_state_mut(&mut self) -> &mut LayoutState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn take_edge_events(&mut self) -> Vec<graph_overlay::EdgeEvent> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn take_label_overlays(&mut self) -> Vec<graph_overlay::LabelOverlay> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `snmp_connection_in_progress` and `ssh_connection_in_progress` are never read
[INFO] [stdout]   --> src/gui/modules/connection.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct ConnectionsPanel {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     snmp_connection_in_progress: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     ssh_connection_in_progress: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gui/modules/connection.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl ConnectionsPanel {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 52 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `topo` and `autopoller_enabled_gui` are never read
[INFO] [stdout]    --> src/gui/new_app.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | struct App {
[INFO] [stdout]     |        --- fields in this struct
[INFO] [stdout] 138 |     // Topology stuffs
[INFO] [stdout] 139 |     topo: Box<dyn SnapshotSource>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     autopoller_enabled_gui: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `protocol_data_section` is never used
[INFO] [stdout]    --> src/gui/node_panel.rs:317:8
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub fn protocol_data_section(ui: &mut Ui, protocol_data: &Option<ProtocolData>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isis_protocol_data_section` is never used
[INFO] [stdout]    --> src/gui/node_panel.rs:330:4
[INFO] [stdout]     |
[INFO] [stdout] 330 | fn isis_protocol_data_section(ui: &mut Ui, data: &IsIsData) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ospf_protocol_data_section` is never used
[INFO] [stdout]    --> src/gui/node_panel.rs:486:4
[INFO] [stdout]     |
[INFO] [stdout] 486 | fn ospf_protocol_data_section(ui: &mut Ui, data: &OspfData) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ospf_payload_section` is never used
[INFO] [stdout]    --> src/gui/node_panel.rs:511:4
[INFO] [stdout]     |
[INFO] [stdout] 511 | fn ospf_payload_section(ui: &mut Ui, payload: &OspfPayload) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collapsible_section` is never used
[INFO] [stdout]    --> src/gui/node_panel.rs:539:8
[INFO] [stdout]     |
[INFO] [stdout] 539 | pub fn collapsible_section(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `label_no_wrap` is never used
[INFO] [stdout]    --> src/gui/node_panel.rs:556:8
[INFO] [stdout]     |
[INFO] [stdout] 556 | pub fn label_no_wrap(text: impl Into<egui::WidgetText>) -> Label {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bullet_list` is never used
[INFO] [stdout]    --> src/gui/node_panel.rs:561:8
[INFO] [stdout]     |
[INFO] [stdout] 561 | pub fn bullet_list<I, S>(ui: &mut Ui, items: I)
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_path_highlight` is never used
[INFO] [stdout]    --> src/gui/node_shape.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn clear_path_highlight(ctx: &Context) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_path_highlight` is never used
[INFO] [stdout]    --> src/gui/node_shape.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn set_path_highlight(ctx: &Context, uuids: impl Iterator<Item = Uuid>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_area_highlight` is never used
[INFO] [stdout]    --> src/gui/node_shape.rs:143:8
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub fn clear_area_highlight(ctx: &Context) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_partition_highlight_enabled` is never used
[INFO] [stdout]    --> src/gui/node_shape.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub fn set_partition_highlight_enabled(ctx: &Context, enabled: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_label_overlays` is never used
[INFO] [stdout]    --> src/gui/node_shape.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub fn clear_label_overlays(ctx: &Context) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `take_label_overlays` is never used
[INFO] [stdout]    --> src/gui/node_shape.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn take_label_overlays(ctx: &Context) -> Vec<LabelOverlay> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Edit` is never constructed
[INFO] [stdout]   --> src/gui/tools/icons/mod.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub enum IconId {
[INFO] [stdout]    |          ------ variant in this enum
[INFO] [stdout] 78 |     Edit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IconId` 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: method `get_tx_to_rx_ratio` is never used
[INFO] [stdout]   --> src/network/router.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl InterfaceStats {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_tx_to_rx_ratio(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ipv6`, `is_is`, and `other` are never used
[INFO] [stdout]   --> src/network/router.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl RouterId {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn ipv6(&self) -> Option<Ipv6Addr> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn is_is(&self) -> Option<SystemId> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn other(&self) -> Option<&str> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `network`, `network_mut`, `summary_network`, and `summary_network_mut` are never used
[INFO] [stdout]    --> src/network/node.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 127 | impl OspfPayload {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn network(&self) -> Option<&OspfNetworkPayload> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn network_mut(&mut self) -> Option<&mut OspfNetworkPayload> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn summary_network(&self) -> Option<&OspfSummaryNetPayload> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn summary_network_mut(&mut self) -> Option<&mut OspfSummaryNetPayload> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OspfSummaryAsbrPayload` is never constructed
[INFO] [stdout]    --> src/network/node.rs:172:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub struct OspfSummaryAsbrPayload {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str_tags` is never used
[INFO] [stdout]    --> src/network/node.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 205 | impl OspfRouterPayload {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] 206 |     pub fn to_str_tags(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `raw_arc` is never used
[INFO] [stdout]    --> src/network/node.rs:268:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | impl OspfAdvertisement {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn raw_arc(&self) -> Arc<Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `isis` and `other` are never used
[INFO] [stdout]    --> src/network/node.rs:427:12
[INFO] [stdout]     |
[INFO] [stdout] 412 | impl ProtocolData {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 427 |     pub fn isis(&self) -> Option<&IsIsData> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 434 |     pub fn other(&self) -> Option<&String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/network/edge.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl UndirectedEdgeKey {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 57 |     pub fn new(a: Uuid, b: Uuid, kind: EdgeKind) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `key` is never read
[INFO] [stdout]   --> src/network/edge.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct ManualEdgeSpec {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 69 |     pub key: UndirectedEdgeKey,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ManualEdgeSpec` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `set_metric` are never used
[INFO] [stdout]   --> src/network/edge.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl ManualEdgeSpec {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 75 |     pub fn new(key: UndirectedEdgeKey, metric: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn set_metric(&mut self, metric: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/network/network_graph.rs:57:12
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl NetworkGraph {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn build_new(nodes: Vec<Node>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     fn collect_edge_specs_stable(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 682 |     pub fn add_manual_edge(&mut self, a: Uuid, b: Uuid, kind: EdgeKind, metric: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 693 |     pub fn update_manual_edge(&mut self, a: Uuid, b: Uuid, kind: EdgeKind, metric: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 704 |     pub fn supress_base_edge(&mut self, a: Uuid, b: Uuid, kind: EdgeKind) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 713 |     pub fn remove_manual_edge(&mut self, a: Uuid, b: Uuid, kind: EdgeKind) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 719 |     pub fn any_manual_changes(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 723 |     pub fn clear_manual_changes(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 780 |     pub fn is_manual_edge(&self, a: Uuid, b: Uuid, kind: EdgeKind) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Neighbor` is never used
[INFO] [stdout]  --> src/network/neighbor.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait Neighbor<P>
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OspfNeighbor` is never constructed
[INFO] [stdout]   --> src/network/neighbor.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct OspfNeighbor {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OspfNeighborState` is never used
[INFO] [stdout]   --> src/network/neighbor.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub enum OspfNeighborState {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_vec` is never used
[INFO] [stdout]    --> src/parsers/isis_parser/core_lsp.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl NetAddress {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 122 |     pub fn to_vec(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/parsers/isis_parser/protocol.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl JsonIsisProtocol {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 28 |     pub fn new(hostname_map: HostnameMap) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `IsIsTopology` is never used
[INFO] [stdout]  --> src/parsers/isis_parser/topology.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type IsIsTopology = Topology<JsonIsisProtocol, IsisSshSource>;
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_from_ssh_client` is never used
[INFO] [stdout]  --> src/parsers/isis_parser/topology.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | impl IsIsTopology {
[INFO] [stdout]   | ----------------- associated function in this implementation
[INFO] [stdout] 7 |     pub async fn new_from_ssh_client(mut client: SshClient) -> Result<Self, AcquisitionError> {
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `OspfSnmpTopology` is never used
[INFO] [stdout]    --> src/topology/ospf_protocol.rs:399:10
[INFO] [stdout]     |
[INFO] [stdout] 399 | pub type OspfSnmpTopology = super::protocol::Topology<OspfProtocol, OspfSnmpAcquisition>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_snmp_client` is never used
[INFO] [stdout]    --> src/topology/ospf_protocol.rs:402:12
[INFO] [stdout]     |
[INFO] [stdout] 401 | impl OspfSnmpTopology {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 402 |     pub fn from_snmp_client(client: SnmpClient) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_source_id` is never used
[INFO] [stdout]   --> src/topology/ospf_bfs_protocol.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl OspfBfsProtocol {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn set_source_id(&mut self, source_id: RouterId) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `source_mut` is never used
[INFO] [stdout]    --> src/topology/protocol.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout]  92 | / impl<P, S> Topology<P, S>
[INFO] [stdout]  93 | | where
[INFO] [stdout]  94 | |     P: RoutingProtocol,
[INFO] [stdout]  95 | |     S: AcquisitionSource<P>,
[INFO] [stdout]     | |____________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |       pub fn source_mut(&mut self) -> &mut S {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_interface_weight` is never used
[INFO] [stdout]   --> src/topology/store.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl SourceState {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn get_interface_weight(&self, ip_address: IpAddr) -> Option<f32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AvailableFederators` is never used
[INFO] [stdout]    --> src/topology/store.rs:134:10
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub enum AvailableFederators {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `option_to_string` is never used
[INFO] [stdout]    --> src/topology/store.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl AvailableFederators {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] 139 |     pub fn option_to_string(val: Option<Self>) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gui/app.rs:641:25
[INFO] [stdout]     |
[INFO] [stdout] 641 |                         self.autopoller.set_poll_interval(new_duration);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 641 |                         let _ = self.autopoller.set_poll_interval(new_duration);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gui/app.rs:651:21
[INFO] [stdout]     |
[INFO] [stdout] 651 |                     self.autopoller.start();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 651 |                     let _ = self.autopoller.start();
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/gui/modules/dock/dock.rs:165:14
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn drain(&mut self) -> Drain<DockRequest> {
[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] 165 |     fn drain(&mut self) -> Drain<'_, DockRequest> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 40s
[INFO] running `Command { std: "docker" "inspect" "ec7e98c1deb3dde263a5d0a88511f2faa9551dea425e0ad17611e4be856c0a91", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec7e98c1deb3dde263a5d0a88511f2faa9551dea425e0ad17611e4be856c0a91", kill_on_drop: false }`
[INFO] [stdout] ec7e98c1deb3dde263a5d0a88511f2faa9551dea425e0ad17611e4be856c0a91
