[INFO] cloning repository https://github.com/MisakiSATA/Rustscan [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MisakiSATA/Rustscan" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMisakiSATA%2FRustscan", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMisakiSATA%2FRustscan'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] dc07e1b1aa90392e12cb1ba5afd0d5a3e9d26d2e [INFO] checking MisakiSATA/Rustscan against master#35d55b34bffd51384ac430cc20852b7d16dd5a90 for pr-145108 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMisakiSATA%2FRustscan" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/MisakiSATA/Rustscan [INFO] finished tweaking git repo https://github.com/MisakiSATA/Rustscan [INFO] tweaked toml for git repo https://github.com/MisakiSATA/Rustscan written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/MisakiSATA/Rustscan on toolchain 35d55b34bffd51384ac430cc20852b7d16dd5a90 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+35d55b34bffd51384ac430cc20852b7d16dd5a90" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/MisakiSATA/Rustscan 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" "+35d55b34bffd51384ac430cc20852b7d16dd5a90" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+35d55b34bffd51384ac430cc20852b7d16dd5a90" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4253f02cae545619c3c9b2c07e5ef637b10ef8dec9697575f4ad2eacebcf8f11 [INFO] running `Command { std: "docker" "start" "-a" "4253f02cae545619c3c9b2c07e5ef637b10ef8dec9697575f4ad2eacebcf8f11", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4253f02cae545619c3c9b2c07e5ef637b10ef8dec9697575f4ad2eacebcf8f11", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4253f02cae545619c3c9b2c07e5ef637b10ef8dec9697575f4ad2eacebcf8f11", kill_on_drop: false }` [INFO] [stdout] 4253f02cae545619c3c9b2c07e5ef637b10ef8dec9697575f4ad2eacebcf8f11 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+35d55b34bffd51384ac430cc20852b7d16dd5a90" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5641c23f4208d98ef050aaa54a5b2fac3711687f472f62918bbd1493aac526ed [INFO] running `Command { std: "docker" "start" "-a" "5641c23f4208d98ef050aaa54a5b2fac3711687f472f62918bbd1493aac526ed", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling libc v0.2.171 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Checking anstyle-parse v0.2.6 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking colorchoice v1.0.3 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Checking anstyle-query v1.1.2 [INFO] [stderr] Checking smallvec v1.15.0 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Checking anstyle v1.0.10 [INFO] [stderr] Compiling portable-atomic v1.11.0 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking anstream v0.6.18 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Checking clap_lex v0.7.4 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking unicode-width v0.2.0 [INFO] [stderr] Compiling anyhow v1.0.97 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Checking console v0.15.11 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking clap_builder v4.5.35 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking socket2 v0.5.9 [INFO] [stderr] Checking mio v1.0.3 [INFO] [stderr] Checking csv-core v0.1.12 [INFO] [stderr] Checking bytes v1.10.1 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking number_prefix v0.4.0 [INFO] [stderr] Checking colored v2.2.0 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking indicatif v0.17.11 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling clap_derive v4.5.32 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Checking tokio v1.44.2 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking clap v4.5.35 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking csv v1.3.1 [INFO] [stderr] Checking rustscan v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `tokio::net::TcpSocket` [INFO] [stdout] --> src/scanner.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use tokio::net::TcpSocket; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::net::TcpSocket` [INFO] [stdout] --> src/scanner.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use tokio::net::TcpSocket; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::io::AsyncWriteExt` [INFO] [stdout] --> src/scanner.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use tokio::io::AsyncWriteExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::io::AsyncWriteExt` [INFO] [stdout] --> src/scanner.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use tokio::io::AsyncWriteExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored` [INFO] [stdout] --> src/progress.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored` [INFO] [stdout] --> src/progress.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `connections`, `last_used`, and `max_idle_time` are never read [INFO] [stdout] --> src/scanner.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | struct ConnectionPool { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 20 | connections: HashMap, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 21 | last_used: HashMap, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 22 | max_idle_time: Duration, [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 `get_connection` and `cleanup_expired` are never used [INFO] [stdout] --> src/scanner.rs:34:14 [INFO] [stdout] | [INFO] [stdout] 25 | impl ConnectionPool { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 34 | async fn get_connection(&mut self, addr: SocketAddr) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | fn cleanup_expired(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `connection_pool` and `batch_size` are never read [INFO] [stdout] --> src/scanner.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct Scanner { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 80 | connection_pool: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 81 | batch_size: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Scanner` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `run_udp_scan` and `scan_udp_port` are never used [INFO] [stdout] --> src/scanner.rs:217:14 [INFO] [stdout] | [INFO] [stdout] 84 | impl Scanner { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 217 | async fn run_udp_scan(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | async fn scan_udp_port( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `connections`, `last_used`, and `max_idle_time` are never read [INFO] [stdout] --> src/scanner.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | struct ConnectionPool { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 20 | connections: HashMap, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 21 | last_used: HashMap, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 22 | max_idle_time: Duration, [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 `get_connection` and `cleanup_expired` are never used [INFO] [stdout] --> src/scanner.rs:34:14 [INFO] [stdout] | [INFO] [stdout] 25 | impl ConnectionPool { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 34 | async fn get_connection(&mut self, addr: SocketAddr) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | fn cleanup_expired(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `connection_pool` and `batch_size` are never read [INFO] [stdout] --> src/scanner.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct Scanner { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 80 | connection_pool: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 81 | batch_size: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Scanner` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `run_udp_scan` and `scan_udp_port` are never used [INFO] [stdout] --> src/scanner.rs:217:14 [INFO] [stdout] | [INFO] [stdout] 84 | impl Scanner { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 217 | async fn run_udp_scan(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | async fn scan_udp_port( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::net::TcpSocket` [INFO] [stdout] --> src/scanner.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use tokio::net::TcpSocket; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::io::AsyncWriteExt` [INFO] [stdout] --> src/scanner.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use tokio::io::AsyncWriteExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::net::TcpSocket` [INFO] [stdout] --> src/scanner.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use tokio::net::TcpSocket; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::io::AsyncWriteExt` [INFO] [stdout] --> src/scanner.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use tokio::io::AsyncWriteExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored` [INFO] [stdout] --> src/progress.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored` [INFO] [stdout] --> src/progress.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConnectionPool` is never constructed [INFO] [stdout] --> src/scanner.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | struct ConnectionPool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_connection`, and `cleanup_expired` are never used [INFO] [stdout] --> src/scanner.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 25 | impl ConnectionPool { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 26 | fn new(max_idle_time: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | async fn get_connection(&mut self, addr: SocketAddr) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | fn cleanup_expired(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ScanType` is never used [INFO] [stdout] --> src/scanner.rs:65:10 [INFO] [stdout] | [INFO] [stdout] 65 | pub enum ScanType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scanner` is never constructed [INFO] [stdout] --> src/scanner.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct Scanner { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `run`, `run_tcp_scan`, `run_udp_scan`, `scan_port`, and `scan_udp_port` are never used [INFO] [stdout] --> src/scanner.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 84 | impl Scanner { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 85 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub async fn run(&self) -> Result> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub async fn run_tcp_scan(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | async fn run_udp_scan(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | async fn scan_port( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | async fn scan_udp_port( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServiceDetector` is never constructed [INFO] [stdout] --> src/service_detector.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ServiceDetector { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `detect`, and `detect_batch` are never used [INFO] [stdout] --> src/service_detector.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl ServiceDetector { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub async fn detect(&self, addr: IpAddr, port: u16) -> Result> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub async fn detect_batch(&self, addr: IpAddr, ports: &[u16]) -> Result)>> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OSInfo` is never constructed [INFO] [stdout] --> src/os_detector.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct OSInfo { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OSDetector` is never constructed [INFO] [stdout] --> src/os_detector.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct OSDetector { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/os_detector.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl OSDetector { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 25 | pub fn new(target: IpAddr) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub async fn detect(&self) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | async fn detect_via_http(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn analyze_http_headers(&self, response: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | async fn detect_via_tcp(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | async fn detect_via_services(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | fn extract_version(&self, text: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Output` is never constructed [INFO] [stdout] --> src/output.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Output { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PortInfo` is never constructed [INFO] [stdout] --> src/output.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct PortInfo { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set_os_info`, `add_port`, `print_console`, `save_json`, and `save_csv` are never used [INFO] [stdout] --> src/output.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Output { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 21 | pub fn new(target: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn set_os_info(&mut self, os_info: OSInfo) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn add_port(&mut self, port: u16, service: String, protocol: String) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn print_console(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn save_json(&self, path: &PathBuf) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn save_csv(&self, path: &PathBuf) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServiceFingerprint` is never constructed [INFO] [stdout] --> src/service_fingerprints.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct ServiceFingerprint { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FingerprintConfig` is never constructed [INFO] [stdout] --> src/service_fingerprints.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct FingerprintConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServiceFingerprintDB` is never constructed [INFO] [stdout] --> src/service_fingerprints.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct ServiceFingerprintDB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/service_fingerprints.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl ServiceFingerprintDB { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn load_config>(&self, path: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | fn initialize_from_config(&mut self, config: FingerprintConfig) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | fn add_fingerprint(&mut self, fingerprint: ServiceFingerprint) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | fn initialize_default_fingerprints(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub async fn identify_service( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn get_fingerprints_by_port(&self, port: u16) -> Option<&Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn get_all_fingerprints(&self) -> Vec<&ServiceFingerprint> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RateController` is never constructed [INFO] [stdout] --> src/rate_controller.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct RateController { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/rate_controller.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl RateController { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 19 | pub fn new(max_rate: u64, min_rate: u64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub async fn wait(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn increment_requests(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn adjust_rate(&mut self, success: bool, _response_time: Duration) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn get_current_rate(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn get_total_requests(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn get_requests_per_second(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScanProgress` is never constructed [INFO] [stdout] --> src/progress.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ScanProgress { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/progress.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl ScanProgress { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 25 | pub fn new(total_ports: u64, total_ips: u64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn increment_port_scan(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn add_alive_ip(&self, ip: IpAddr) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn increment_ip_scan(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn set_total_services(&self, total: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn increment_service_detect(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn set_os_detected(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn finish(&self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConnectionPool` is never constructed [INFO] [stdout] --> src/scanner.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | struct ConnectionPool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_connection`, and `cleanup_expired` are never used [INFO] [stdout] --> src/scanner.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 25 | impl ConnectionPool { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 26 | fn new(max_idle_time: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | async fn get_connection(&mut self, addr: SocketAddr) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | fn cleanup_expired(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.25s [INFO] [stdout] warning: enum `ScanType` is never used [INFO] [stdout] --> src/scanner.rs:65:10 [INFO] [stdout] | [INFO] [stdout] 65 | pub enum ScanType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scanner` is never constructed [INFO] [stdout] --> src/scanner.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct Scanner { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `run`, `run_tcp_scan`, `run_udp_scan`, `scan_port`, and `scan_udp_port` are never used [INFO] [stdout] --> src/scanner.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 84 | impl Scanner { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 85 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub async fn run(&self) -> Result> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub async fn run_tcp_scan(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | async fn run_udp_scan(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | async fn scan_port( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | async fn scan_udp_port( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServiceDetector` is never constructed [INFO] [stdout] --> src/service_detector.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ServiceDetector { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `detect`, and `detect_batch` are never used [INFO] [stdout] --> src/service_detector.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl ServiceDetector { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub async fn detect(&self, addr: IpAddr, port: u16) -> Result> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub async fn detect_batch(&self, addr: IpAddr, ports: &[u16]) -> Result)>> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Output` is never constructed [INFO] [stdout] --> src/output.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Output { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PortInfo` is never constructed [INFO] [stdout] --> src/output.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct PortInfo { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set_os_info`, `add_port`, `print_console`, `save_json`, and `save_csv` are never used [INFO] [stdout] --> src/output.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Output { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 21 | pub fn new(target: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn set_os_info(&mut self, os_info: OSInfo) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn add_port(&mut self, port: u16, service: String, protocol: String) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn print_console(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn save_json(&self, path: &PathBuf) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn save_csv(&self, path: &PathBuf) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_fingerprints_by_port` and `get_all_fingerprints` are never used [INFO] [stdout] --> src/service_fingerprints.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl ServiceFingerprintDB { [INFO] [stdout] | ------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn get_fingerprints_by_port(&self, port: u16) -> Option<&Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn get_all_fingerprints(&self) -> Vec<&ServiceFingerprint> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_total_requests` and `get_requests_per_second` are never used [INFO] [stdout] --> src/rate_controller.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl RateController { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn get_total_requests(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn get_requests_per_second(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/progress.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ScanProgress { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 9 | multi_progress: MultiProgress, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 10 | port_scan_bar: ProgressBar, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 11 | service_detect_bar: ProgressBar, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | os_detect_bar: ProgressBar, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 13 | ip_scan_bar: ProgressBar, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | total_services: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 17 | detected_services: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | os_detected: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 19 | alive_ips: Mutex>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 20 | total_ips: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 21 | scanned_ips: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/progress.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl ScanProgress { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn increment_port_scan(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn add_alive_ip(&self, ip: IpAddr) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn increment_ip_scan(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn set_total_services(&self, total: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn increment_service_detect(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn set_os_detected(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn finish(&self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5641c23f4208d98ef050aaa54a5b2fac3711687f472f62918bbd1493aac526ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5641c23f4208d98ef050aaa54a5b2fac3711687f472f62918bbd1493aac526ed", kill_on_drop: false }` [INFO] [stdout] 5641c23f4208d98ef050aaa54a5b2fac3711687f472f62918bbd1493aac526ed