[INFO] cloning repository https://github.com/siddhantbhattarai/anvil
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/siddhantbhattarai/anvil" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsiddhantbhattarai%2Fanvil", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsiddhantbhattarai%2Fanvil'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5f55dd87ac824e4c91e7f2bee4044c0ee51c5a43
[INFO] testing siddhantbhattarai/anvil against 1.94.0 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsiddhantbhattarai%2Fanvil" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/siddhantbhattarai/anvil
[INFO] finished tweaking git repo https://github.com/siddhantbhattarai/anvil
[INFO] tweaked toml for git repo https://github.com/siddhantbhattarai/anvil written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/siddhantbhattarai/anvil on toolchain 1.94.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/siddhantbhattarai/anvil 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" "+1.94.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cssparser v0.31.2
[INFO] [stderr]   Downloaded getopts v0.2.24
[INFO] [stderr]   Downloaded servo_arc v0.3.0
[INFO] [stderr]   Downloaded md5 v0.7.0
[INFO] [stderr]   Downloaded compression-core v0.4.31
[INFO] [stderr]   Downloaded psl-types v2.0.11
[INFO] [stderr]   Downloaded cookie_store v0.20.0
[INFO] [stderr]   Downloaded compression-codecs v0.4.35
[INFO] [stderr]   Downloaded cookie v0.17.0
[INFO] [stderr]   Downloaded tracing-core v0.1.35
[INFO] [stderr]   Downloaded async-compression v0.4.36
[INFO] [stderr]   Downloaded publicsuffix v2.3.0
[INFO] [stderr]   Downloaded cc v1.2.49
[INFO] [stderr]   Downloaded tracing v0.1.43
[INFO] [stderr]   Downloaded selectors v0.25.0
[INFO] [stderr]   Downloaded scraper v0.18.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+1.94.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dbc7852c0c724d23809f853eb5eef5c87112af0fb0f9071b3139e50d4e2b96a5
[INFO] running `Command { std: "docker" "start" "-a" "dbc7852c0c724d23809f853eb5eef5c87112af0fb0f9071b3139e50d4e2b96a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dbc7852c0c724d23809f853eb5eef5c87112af0fb0f9071b3139e50d4e2b96a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dbc7852c0c724d23809f853eb5eef5c87112af0fb0f9071b3139e50d4e2b96a5", kill_on_drop: false }`
[INFO] [stdout] dbc7852c0c724d23809f853eb5eef5c87112af0fb0f9071b3139e50d4e2b96a5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.94.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8ef152ff433de9255f8b4495636c2fb4be582321909e949dcc085ad1ee1b4e3d
[INFO] running `Command { std: "docker" "start" "-a" "8ef152ff433de9255f8b4495636c2fb4be582321909e949dcc085ad1ee1b4e3d", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling find-msvc-tools v0.1.5
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling tracing-core v0.1.35
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling cc v1.2.49
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling mac v0.1.1
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling futf v0.1.5
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling phf v0.10.1
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling cookie v0.17.0
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling dtoa v1.0.10
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling dtoa-short v0.3.5
[INFO] [stderr]    Compiling flate2 v1.1.5
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling tendril v0.4.3
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling psl-types v2.0.11
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling compression-core v0.4.31
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling idna v0.3.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling servo_arc v0.3.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling compression-codecs v0.4.35
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling ego-tree v0.6.3
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling md5 v0.7.0
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]    Compiling phf_codegen v0.10.0
[INFO] [stderr]    Compiling selectors v0.25.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling markup5ever v0.11.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling cssparser-macros v0.6.1
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling cssparser v0.31.2
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling html5ever v0.26.0
[INFO] [stderr]    Compiling tracing v0.1.43
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling clap v4.5.53
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling string_cache v0.8.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling publicsuffix v2.3.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling cookie_store v0.20.0
[INFO] [stderr]    Compiling tokio-util v0.7.17
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling async-compression v0.4.36
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling scraper v0.18.1
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling anvil v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/core/engine.rs:961:16
[INFO] [stdout]     |
[INFO] [stdout] 961 |             if (payload_lower.contains("onerror=") || payload_lower.contains("onload=") || 
[INFO] [stdout]     |                ^
[INFO] [stdout] 962 |                 payload_lower.contains("onfocus=") || payload_lower.contains("onmouseover=")) {
[INFO] [stdout]     |                                                                                             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 961 ~             if payload_lower.contains("onerror=") || payload_lower.contains("onload=") || 
[INFO] [stdout] 962 ~                 payload_lower.contains("onfocus=") || payload_lower.contains("onmouseover=") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LOWER_RATIO_BOUND` and `UPPER_RATIO_BOUND`
[INFO] [stdout]  --> src/sqli/request/comparison.rs:3:52
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::super::core::settings::{DIFF_TOLERANCE, LOWER_RATIO_BOUND, UPPER_RATIO_BOUND};
[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: `comparison`
[INFO] [stdout]  --> src/sqli/techniques/union/test.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::sqli::request::{Request, comparison, page_ratio};
[INFO] [stdout]   |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `find_position`, `find_union_char_count`, and `fingerprint_dbms`
[INFO] [stdout]  --> src/sqli/techniques/union/mod.rs:6:42
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use test::{check_union, UnionVector, find_union_char_count, find_position, fingerprint_dbms};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CHAR_START` and `CHAR_STOP`
[INFO] [stdout]  --> src/sqli/techniques/blind/inference.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::sqli::core::{DBMS, CHAR_START, CHAR_STOP};
[INFO] [stdout]   |                               ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CHAR_START` and `CHAR_STOP`
[INFO] [stdout]  --> src/sqli/techniques/error/use.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::sqli::core::{DBMS, CHAR_START, CHAR_STOP};
[INFO] [stdout]   |                               ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:142:30
[INFO] [stdout]     |
[INFO] [stdout] 142 |         result.push(ALPHABET[(b0 >> 2)] as char);
[INFO] [stdout]     |                              ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 142 -         result.push(ALPHABET[(b0 >> 2)] as char);
[INFO] [stdout] 142 +         result.push(ALPHABET[b0 >> 2] as char);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Agent`, `CHAR_DELIMITER`, `CHAR_START`, `CHAR_STOP`, `NULL`, and `Queries`
[INFO] [stdout]   --> src/sqli/mod.rs:22:22
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub use core::{DBMS, Agent, Queries, CHAR_START, CHAR_STOP, CHAR_DELIMITER, NULL};
[INFO] [stdout]    |                      ^^^^^  ^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlindVector`, `DnsVector`, `ErrorVector`, `check_dns_exfiltration`, `check_time_blind`, `dns_use`, `error_use`, `extract_string`, `get_current_user`, `get_databases_error`, `get_length`, `get_passwords`, `get_tables_error`, `get_users`, `get_version`, and `union_use`
[INFO] [stdout]   --> src/sqli/mod.rs:26:31
[INFO] [stdout]    |
[INFO] [stdout] 26 |     check_union, UnionVector, union_use, 
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 27 |     get_databases, get_tables, get_columns, dump_table,
[INFO] [stdout] 28 |     get_current_db, get_current_user, get_version, get_users, get_passwords,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 29 |     // Blind
[INFO] [stdout] 30 |     check_boolean_blind, check_time_blind, BlindVector, extract_string, get_length,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 31 |     // Error
[INFO] [stdout] 32 |     check_error_based, ErrorVector, error_use, get_databases_error, get_tables_error,
[INFO] [stdout]    |                        ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     // DNS/OOB
[INFO] [stdout] 34 |     check_dns_exfiltration, DnsVector, dns_use,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `detector::SsrfDetector`
[INFO] [stdout]   --> src/ssrf/mod.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub use detector::SsrfDetector;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EvidenceType`, `Evidence`, and `SsrfClassification`
[INFO] [stdout]   --> src/ssrf/mod.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub use evidence::{Evidence, EvidenceType, SsrfClassification, SsrfResult};
[INFO] [stdout]    |                    ^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Html` and `Selector`
[INFO] [stdout]  --> src/xss/context.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use scraper::{Html, Selector};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `would_break_context`
[INFO] [stdout]  --> src/xss/validate.rs:4:50
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::xss::context::{XssContext, QuoteType, would_break_context};
[INFO] [stdout]   |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Html` and `Selector`
[INFO] [stdout]  --> src/xss/validate.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use scraper::{Html, Selector};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Html` and `Selector`
[INFO] [stdout]  --> src/xss/dom.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use scraper::{Html, Selector};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/xss/dom.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ContextAnalysis`, `QuoteType`, and `XssContext`
[INFO] [stdout]   --> src/xss/mod.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use context::{XssContext, ContextAnalysis, QuoteType};
[INFO] [stdout]    |                   ^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReflectionDiscovery`, `ReflectionPoint`, and `discover_reflections`
[INFO] [stdout]   --> src/xss/mod.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use reflect::{ReflectionPoint, ReflectionDiscovery, discover_reflections};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PayloadSet`, `XssPayload`, and `load_payloads_for_context`
[INFO] [stdout]   --> src/xss/mod.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use payloads::{XssPayload, PayloadSet, load_payloads_for_context};
[INFO] [stdout]    |                    ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExecutionSeverity`, `XssValidationResult`, and `validate_execution_likelihood`
[INFO] [stdout]   --> src/xss/mod.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use validate::{XssValidationResult, ExecutionSeverity, validate_execution_likelihood};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine::XssScanner`
[INFO] [stdout]   --> src/xss/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use engine::XssScanner;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stored::StoredXssEngine`
[INFO] [stdout]   --> src/xss/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use stored::StoredXssEngine;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DomXssFlow` and `analyze_dom_xss`
[INFO] [stdout]   --> src/xss/mod.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub use dom::{DomXssFlow, analyze_dom_xss};
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `blind::BlindXssEngine`
[INFO] [stdout]   --> src/xss/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use blind::BlindXssEngine;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reporter`
[INFO] [stdout]    --> src/core/engine.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |         reporter: &mut crate::reporting::reporter::Reporter,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reporter`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_width`
[INFO] [stdout]    --> src/core/engine.rs:293:21
[INFO] [stdout]     |
[INFO] [stdout] 293 |                 let total_width = content_width + 2; // +2 for the ║ borders
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `baseline`
[INFO] [stdout]   --> src/sqli/techniques/union/test.rs:95:54
[INFO] [stdout]    |
[INFO] [stdout] 95 | async fn union_null_technique(request: &Request<'_>, baseline: &str) -> Result<Option<usize>> {
[INFO] [stdout]    |                                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_baseline`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]    --> src/core/engine.rs:488:9
[INFO] [stdout]     |
[INFO] [stdout] 488 |         client: &HttpClient,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `marker`
[INFO] [stdout]    --> src/core/engine.rs:782:33
[INFO] [stdout]     |
[INFO] [stdout] 782 |             for (idx, (payload, marker, technique)) in xss_tests.iter().enumerate() {
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_marker`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body_lower`
[INFO] [stdout]    --> src/core/engine.rs:800:29
[INFO] [stdout]     |
[INFO] [stdout] 800 |                         let body_lower = body.to_lowercase();
[INFO] [stdout]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_body_lower`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/xss/stored.rs:129:18
[INFO] [stdout]     |
[INFO] [stdout] 129 |             for (id, tracker) in &self.payloads {
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `severity_enum`
[INFO] [stdout]     --> src/core/engine.rs:1605:50
[INFO] [stdout]      |
[INFO] [stdout] 1605 |             let (severity_label, severity_color, severity_enum) = if flow.confidence >= 0.85 {
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_severity_enum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `param_name`
[INFO] [stdout]    --> src/core/engine.rs:916:66
[INFO] [stdout]     |
[INFO] [stdout] 916 |     fn verify_context_breakout(&self, body: &str, payload: &str, param_name: &str) -> (bool, String) {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `technique`
[INFO] [stdout]    --> src/core/engine.rs:981:62
[INFO] [stdout]     |
[INFO] [stdout] 981 |     fn detect_interaction_requirements(&self, payload: &str, technique: &str) -> (bool, String) {
[INFO] [stdout]     |                                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_technique`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_gt`
[INFO] [stdout]     --> src/core/engine.rs:1026:13
[INFO] [stdout]      |
[INFO] [stdout] 1026 |         let encoded_gt = payload.replace(">", "&gt;");
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_gt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cvss_score`
[INFO] [stdout]     --> src/core/engine.rs:1127:13
[INFO] [stdout]      |
[INFO] [stdout] 1127 |         let cvss_score = if exploitability == "Confirmed XSS" && !requires_interaction {
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cvss_score`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_len`
[INFO] [stdout]   --> src/sqli/request/comparison.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let max_len = len1.max(len2);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]   --> src/ssrf/oob.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let timestamp = SystemTime::now()
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/ssrf/params.rs:166:26
[INFO] [stdout]     |
[INFO] [stdout] 166 |     fn get_reason(&self, name: &str, value: &str, name_score: f32, value_score: f32) -> String {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `after`
[INFO] [stdout]    --> src/xss/context.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |     let after = &body[pos..];
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_after`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `marker`
[INFO] [stdout]    --> src/xss/reflect.rs:244:38
[INFO] [stdout]     |
[INFO] [stdout] 244 | fn detect_encoding_level(body: &str, marker: &str) -> EncodingLevel {
[INFO] [stdout]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_marker`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/xss/payloads.rs:261:28
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub fn prioritize_payloads(mut payload_set: PayloadSet, max_count: usize) -> Vec<XssPayload> {
[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: `response_body`
[INFO] [stdout]    --> src/xss/validate.rs:307:31
[INFO] [stdout]     |
[INFO] [stdout] 307 | fn validate_js_code_execution(response_body: &str, payload: &str) -> XssValidationResult {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload`
[INFO] [stdout]    --> src/xss/validate.rs:307:52
[INFO] [stdout]     |
[INFO] [stdout] 307 | fn validate_js_code_execution(response_body: &str, payload: &str) -> XssValidationResult {
[INFO] [stdout]     |                                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response_body`
[INFO] [stdout]    --> src/xss/validate.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 321 |     response_body: &str,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response_body`
[INFO] [stdout]    --> src/xss/validate.rs:419:28
[INFO] [stdout]     |
[INFO] [stdout] 419 | fn validate_json_execution(response_body: &str, payload: &str) -> XssValidationResult {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload`
[INFO] [stdout]    --> src/xss/validate.rs:419:49
[INFO] [stdout]     |
[INFO] [stdout] 419 | fn validate_json_execution(response_body: &str, payload: &str) -> XssValidationResult {
[INFO] [stdout]     |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload`
[INFO] [stdout]    --> src/xss/validate.rs:517:37
[INFO] [stdout]     |
[INFO] [stdout] 517 | fn is_script_tag_intact(body: &str, payload: &str) -> bool {
[INFO] [stdout]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `html`
[INFO] [stdout]   --> src/xss/dom.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn analyze_dom_xss(html: &str, js_code: &str) -> Vec<DomXssFlow> {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_html`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_exploit` is never used
[INFO] [stdout]   --> src/core/capability.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Capability {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn is_exploit(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start` and `stop` are never read
[INFO] [stdout]   --> src/core/context.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct EnumerationConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub start: usize,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 25 |     pub stop: Option<usize>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnumerationConfig` 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: multiple fields are never read
[INFO] [stdout]   --> src/core/context.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct Context {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub quiet: bool,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub sqli_config: SqliConfig,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub post_data: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub extra_data: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub threshold: f32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 75 |     pub risk: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 76 |     pub level: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 77 |     pub technique: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 78 |     pub threads: usize,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 79 |     // Injection customization
[INFO] [stdout] 80 |     pub prefix: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 81 |     pub suffix: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `minimal`, `sqli_all`, `exploit`, `disable`, and `has_exploit` are never used
[INFO] [stdout]   --> src/core/profile.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ScanProfile {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn minimal() -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn sqli_all() -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn exploit() -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn disable(&mut self, cap: Capability) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn has_exploit(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_cookies` and `send` are never used
[INFO] [stdout]    --> src/http/client.rs:38:12
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl HttpClient {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub fn with_cookies(scope: Scope, limiter: RateLimiter, cookies: &str) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub async fn send(&self, req: HttpRequest) -> Result<HttpResponse> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `set_body`, `set_body_bytes`, `set_header`, `post`, and `inject_payload` are never used
[INFO] [stdout]   --> src/http/request.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl HttpRequest {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn set_body(&mut self, body: String) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn set_body_bytes(&mut self, body: Vec<u8>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn set_header(&mut self, name: &str, value: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn post(url: Url, body: String) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn inject_payload(&mut self, payload: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PayloadSet` is never constructed
[INFO] [stdout]  --> src/payload/loader.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct PayloadSet {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_payloads` is never used
[INFO] [stdout]   --> src/payload/loader.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn load_payloads<P: AsRef<Path>>(path: P) -> anyhow::Result<PayloadSet> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PayloadIterator` is never constructed
[INFO] [stdout]  --> src/payload/iterator.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct PayloadIterator {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/payload/iterator.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl PayloadIterator {
[INFO] [stdout]   | -------------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(set: PayloadSet) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DatabaseType` is never used
[INFO] [stdout]   --> src/sqli/mod.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub type DatabaseType = DBMS;
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Error`, `Time`, `Stacked`, and `Inline` are never constructed
[INFO] [stdout]   --> src/sqli/mod.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub enum SqliTechnique {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 49 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 50 |     Time,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 51 |     TimeBased,  // Alias for Time
[INFO] [stdout] 52 |     Stacked,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 53 |     Inline,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SqliTechnique` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `techniques`, `level`, and `risk` are never read
[INFO] [stdout]   --> src/sqli/mod.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct SqliConfig {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 72 |     pub techniques: Vec<SqliTechnique>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 73 |     pub level: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 74 |     pub risk: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SqliConfig` 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: constant `DIFF_TOLERANCE` is never used
[INFO] [stdout]  --> src/sqli/core/settings.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const DIFF_TOLERANCE: f64 = 0.05;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONSTANT_RATIO` is never used
[INFO] [stdout]  --> src/sqli/core/settings.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const CONSTANT_RATIO: f64 = 0.9;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOWER_RATIO_BOUND` is never used
[INFO] [stdout]  --> src/sqli/core/settings.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LOWER_RATIO_BOUND: f64 = 0.02;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UPPER_RATIO_BOUND` is never used
[INFO] [stdout]  --> src/sqli/core/settings.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const UPPER_RATIO_BOUND: f64 = 0.98;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_RATIO` is never used
[INFO] [stdout]   --> src/sqli/core/settings.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const MIN_RATIO: f64 = 0.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_RATIO` is never used
[INFO] [stdout]   --> src/sqli/core/settings.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const MAX_RATIO: f64 = 1.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_UNION_RESPONSES` is never used
[INFO] [stdout]   --> src/sqli/core/settings.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const MIN_UNION_RESPONSES: usize = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNION_MIN_RESPONSE_CHARS` is never used
[INFO] [stdout]   --> src/sqli/core/settings.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const UNION_MIN_RESPONSE_CHARS: usize = 10;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNION_STDEV_COEFF` is never used
[INFO] [stdout]   --> src/sqli/core/settings.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const UNION_STDEV_COEFF: f64 = 7.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_STATISTICAL_RANGE` is never used
[INFO] [stdout]   --> src/sqli/core/settings.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const MIN_STATISTICAL_RANGE: f64 = 0.01;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ORDER_BY_ERROR_PATTERNS` is never used
[INFO] [stdout]   --> src/sqli/core/settings.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const ORDER_BY_ERROR_PATTERNS: &[&str] = &[
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COLUMN_MISMATCH_PATTERNS` is never used
[INFO] [stdout]   --> src/sqli/core/settings.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const COLUMN_MISMATCH_PATTERNS: &[&str] = &[
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Oracle`, `SQLite`, and `Access` are never constructed
[INFO] [stdout]   --> src/sqli/core/enums.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum DBMS {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  9 |     Oracle,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 10 |     SQLite,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 11 |     Access,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DBMS` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PayloadWhere` is never used
[INFO] [stdout]   --> src/sqli/core/enums.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum PayloadWhere {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Technique` is never used
[INFO] [stdout]   --> src/sqli/core/enums.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub enum Technique {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Agent` is never constructed
[INFO] [stdout]  --> src/sqli/core/agent.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Agent {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `concat_field`, `concat_fields`, `forge_union_query`, and `payload` are never used
[INFO] [stdout]    --> src/sqli/core/agent.rs:15:12
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl Agent {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  15 |     pub fn new(dbms: DBMS) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  36 |     pub fn concat_field(&self, field: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn concat_fields(&self, fields: &[&str]) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn forge_union_query(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn payload(&self, query: &str, where_type: super::enums::PayloadWhere) -> String {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `current_user`, `version`, `count`, `users`, `passwords`, and `from_dummy` are never used
[INFO] [stdout]    --> src/sqli/core/queries.rs:28:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl Queries {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  28 |     pub fn current_user(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  40 |     pub fn version(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn count(&self, database: &str, table: &str) -> String {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn users(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn passwords(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn from_dummy(&self) -> Option<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `comparison` is never used
[INFO] [stdout]   --> src/sqli/request/comparison.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn comparison(page1: &str, page2: &str, ratio_threshold: Option<f64>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ratio` is never used
[INFO] [stdout]   --> src/sqli/request/comparison.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn get_ratio(page: &str, baseline: &str) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_true_ratio` is never used
[INFO] [stdout]   --> src/sqli/request/comparison.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn is_true_ratio(ratio: f64, match_ratio: f64) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_false_ratio` is never used
[INFO] [stdout]   --> src/sqli/request/comparison.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn is_false_ratio(ratio: f64, match_ratio: f64) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_dynamic_content` is never used
[INFO] [stdout]    --> src/sqli/request/comparison.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn remove_dynamic_content(page: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `query_page_full` is never used
[INFO] [stdout]   --> src/sqli/request/connect.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<'a> Request<'a> {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub async fn query_page_full(&self, payload: &str) -> Result<(String, u16, usize)> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `char` is never read
[INFO] [stdout]   --> src/sqli/techniques/union/test.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct UnionVector {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub char: String,      // Character to use (NULL or specific)
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnionVector` 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: function `extract_result` is never used
[INFO] [stdout]    --> src/sqli/techniques/union/use.rs:211:4
[INFO] [stdout]     |
[INFO] [stdout] 211 | fn extract_result(page: &str) -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_current_user` is never used
[INFO] [stdout]    --> src/sqli/techniques/union/use.rs:334:14
[INFO] [stdout]     |
[INFO] [stdout] 334 | pub async fn get_current_user(request: &Request<'_>, vector: &UnionVector) -> Result<String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_version` is never used
[INFO] [stdout]    --> src/sqli/techniques/union/use.rs:342:14
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub async fn get_version(request: &Request<'_>, vector: &UnionVector) -> Result<String> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_users` is never used
[INFO] [stdout]    --> src/sqli/techniques/union/use.rs:350:14
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub async fn get_users(request: &Request<'_>, vector: &UnionVector) -> Result<Vec<String>> {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_passwords` is never used
[INFO] [stdout]    --> src/sqli/techniques/union/use.rs:357:14
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub async fn get_passwords(request: &Request<'_>, vector: &UnionVector) -> Result<Vec<(String, String)>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/sqli/techniques/blind/inference.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct BlindVector {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 11 |     pub dbms: DBMS,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 12 |     pub prefix: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 13 |     pub suffix: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 14 |     pub true_code: String,    // Payload that returns true
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 15 |     pub false_code: String,   // Payload that returns false
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 16 |     pub time_based: bool,     // Use time-based instead of boolean
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 17 |     pub delay: u64,           // Delay in seconds for time-based
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BlindVector` 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: function `check_time_blind` is never used
[INFO] [stdout]   --> src/sqli/techniques/blind/inference.rs:68:14
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub async fn check_time_blind(request: &Request<'_>) -> Result<Option<BlindVector>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_char_boolean` is never used
[INFO] [stdout]    --> src/sqli/techniques/blind/inference.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub async fn extract_char_boolean(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_char_time` is never used
[INFO] [stdout]    --> src/sqli/techniques/blind/inference.rs:167:14
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub async fn extract_char_time(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_string` is never used
[INFO] [stdout]    --> src/sqli/techniques/blind/inference.rs:216:14
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub async fn extract_string(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_length` is never used
[INFO] [stdout]    --> src/sqli/techniques/blind/inference.rs:245:14
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub async fn get_length(
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prefix`, `suffix`, and `payload_template` are never read
[INFO] [stdout]   --> src/sqli/techniques/error/use.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ErrorVector {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 11 |     pub dbms: DBMS,
[INFO] [stdout] 12 |     pub prefix: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 13 |     pub suffix: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 14 |     pub payload_template: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ErrorVector` 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: function `error_use` is never used
[INFO] [stdout]    --> src/sqli/techniques/error/use.rs:123:14
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub async fn error_use(
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_databases_error` is never used
[INFO] [stdout]    --> src/sqli/techniques/error/use.rs:137:14
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub async fn get_databases_error(request: &Request<'_>, vector: &ErrorVector) -> Result<Vec<String>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_tables_error` is never used
[INFO] [stdout]    --> src/sqli/techniques/error/use.rs:159:14
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub async fn get_tables_error(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsVector` is never constructed
[INFO] [stdout]  --> src/sqli/techniques/dns/test.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct DnsVector {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_dns_exfiltration` is never used
[INFO] [stdout]   --> src/sqli/techniques/dns/test.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub async fn check_dns_exfiltration(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dns_use` is never used
[INFO] [stdout]   --> src/sqli/techniques/dns/test.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub async fn dns_use(
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TamperFn` is never used
[INFO] [stdout]  --> src/sqli/tamper/mod.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type TamperFn = fn(&str) -> String;
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_tamper` is never used
[INFO] [stdout]  --> src/sqli/tamper/mod.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn get_tamper(name: &str) -> Option<TamperFn> {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_tampers` is never used
[INFO] [stdout]   --> src/sqli/tamper/mod.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn list_tampers() -> Vec<(&'static str, &'static str)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space2comment` is never used
[INFO] [stdout]   --> src/sqli/tamper/mod.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn space2comment(payload: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space2hash` is never used
[INFO] [stdout]   --> src/sqli/tamper/mod.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn space2hash(payload: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space2mssqlhash` is never used
[INFO] [stdout]   --> src/sqli/tamper/mod.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn space2mssqlhash(payload: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space2plus` is never used
[INFO] [stdout]   --> src/sqli/tamper/mod.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn space2plus(payload: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space2randomblank` is never used
[INFO] [stdout]   --> src/sqli/tamper/mod.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn space2randomblank(payload: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `between` is never used
[INFO] [stdout]   --> src/sqli/tamper/mod.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn between(payload: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `randomcase` is never used
[INFO] [stdout]   --> src/sqli/tamper/mod.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn randomcase(payload: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `charencode` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn charencode(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chardoubleencode` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn chardoubleencode(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `base64encode` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn base64encode(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `appendnullbyte` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn appendnullbyte(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `percentage` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn percentage(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `uppercase` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn uppercase(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lowercase` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:177:8
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub fn lowercase(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `equaltolike` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:182:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub fn equaltolike(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `greatest` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub fn greatest(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiplespaces` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn multiplespaces(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nonrecursivereplacement` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn nonrecursivereplacement(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_tampers` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub fn apply_tampers(payload: &str, tampers: &[&str]) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SqlShell` is never constructed
[INFO] [stdout]   --> src/sqli/shell.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SqlShell<'a> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run`, `execute_query`, `print_help`, and `print_info` are never used
[INFO] [stdout]    --> src/sqli/shell.rs:19:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl<'a> SqlShell<'a> {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout]  19 |     pub fn new(client: &'a HttpClient, url: Url, parameter: String, vector: UnionVector) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  29 |     pub async fn run(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     async fn execute_query(&self, query: &str) -> Result<Vec<String>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     fn print_help(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn print_info(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileAccess` is never constructed
[INFO] [stdout]   --> src/sqli/file_access.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FileAccess<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `read_file`, `write_file`, and `common_files` are never used
[INFO] [stdout]    --> src/sqli/file_access.rs:19:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl<'a> FileAccess<'a> {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout]  19 |     pub fn new(client: &'a HttpClient, url: Url, parameter: String, vector: UnionVector) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  29 |     pub async fn read_file(&self, filepath: &str) -> Result<Option<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub async fn write_file(&self, filepath: &str, content: &str) -> Result<bool> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn common_files() -> Vec<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OsShell` is never constructed
[INFO] [stdout]   --> src/sqli/os_shell.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct OsShell<'a> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `execute_command`, `run`, and `enable_xp_cmdshell` are never used
[INFO] [stdout]    --> src/sqli/os_shell.rs:20:12
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<'a> OsShell<'a> {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  20 |     pub fn new(client: &'a HttpClient, url: Url, parameter: String, vector: UnionVector) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  30 |     pub async fn execute_command(&self, command: &str) -> Result<Option<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub async fn run(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub async fn enable_xp_cmdshell(&self) -> Result<bool> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_php_shell` is never used
[INFO] [stdout]    --> src/sqli/os_shell.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn generate_php_shell() -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `common_webshell_paths` is never used
[INFO] [stdout]    --> src/sqli/os_shell.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub fn common_webshell_paths() -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `test_internal`, `test_metadata`, `test_schemes`, `external_timeout`, and `internal_timeout` are never read
[INFO] [stdout]   --> src/ssrf/mod.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct SsrfConfig {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub test_internal: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub test_metadata: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub test_schemes: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub external_timeout: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub internal_timeout: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SsrfConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ResponseBehaviorDiff`, `DnsResolution`, and `ParameterControl` are never constructed
[INFO] [stdout]   --> src/ssrf/evidence.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum EvidenceType {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 40 |     ResponseBehaviorDiff {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     DnsResolution {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     ParameterControl {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EvidenceType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `evidence_type` is never read
[INFO] [stdout]    --> src/ssrf/evidence.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub struct Evidence {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 144 |     pub evidence_type: EvidenceType,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Evidence` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NegativeEvidence` is never used
[INFO] [stdout]    --> src/ssrf/evidence.rs:161:10
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub enum NegativeEvidence {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SsrfNegativeResult` is never constructed
[INFO] [stdout]    --> src/ssrf/evidence.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub struct SsrfNegativeResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate_dns_callback`, `generate_callback_variants`, and `extract_identifier` are never used
[INFO] [stdout]   --> src/ssrf/oob.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl OobCallbackGenerator {
[INFO] [stdout]    | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn generate_dns_callback(&self, identifier: &str) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn generate_callback_variants(&self, identifier: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn extract_identifier(&self, callback_url: &str) -> Option<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `callback_domain` is never read
[INFO] [stdout]   --> src/ssrf/oob.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct OobCallbackListener {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 75 |     pub callback_domain: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OobCallbackListener` 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 `identify_from_post_data` is never used
[INFO] [stdout]   --> src/ssrf/params.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl SsrfParamIdentifier {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn identify_from_post_data(&self, data: &str) -> Vec<SsrfCandidate> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_high_priority` and `is_medium_priority` are never used
[INFO] [stdout]    --> src/ssrf/params.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl SsrfCandidate {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] 205 |     /// Check if this is a high-priority candidate
[INFO] [stdout] 206 |     pub fn is_high_priority(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn is_medium_priority(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERNAL_PORTS` is never used
[INFO] [stdout]   --> src/ssrf/probes.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub const INTERNAL_PORTS: &[u16] = &[
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate_internal_ip_port_probes` and `generate_smuggling_probes` are never used
[INFO] [stdout]    --> src/ssrf/probes.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout]  98 | impl SsrfProbeGenerator {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn generate_internal_ip_port_probes(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn generate_smuggling_probes(&self, target: &str) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ProtocolSmuggling` is never constructed
[INFO] [stdout]    --> src/ssrf/probes.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub enum SsrfProbeType {
[INFO] [stdout]     |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 321 |     ProtocolSmuggling,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SsrfProbeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/ssrf/scanner.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct SsrfScanner {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 13 |     config: SsrfConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_oob_callback`, `with_threshold`, `with_internal_testing`, `with_metadata_testing`, and `with_scheme_testing` are never used
[INFO] [stdout]    --> src/ssrf/scanner.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl SsrfConfig {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 146 |     /// Set OOB callback domain
[INFO] [stdout] 147 |     pub fn with_oob_callback(mut self, callback: Option<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn with_threshold(mut self, threshold: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn with_internal_testing(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn with_metadata_testing(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn with_scheme_testing(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `status`, `body_len`, `body_hash`, and `elapsed_ms` are never read
[INFO] [stdout]  --> src/validation/baseline.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Baseline {
[INFO] [stdout]   |            -------- fields in this struct
[INFO] [stdout] 5 |     pub status: u16,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 6 |     pub body_len: usize,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 7 |     pub body_hash: String,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 8 |     pub elapsed_ms: u128,
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Baseline` 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: struct `DiffResult` is never constructed
[INFO] [stdout]  --> src/validation/diff.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DiffResult {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `diff` is never used
[INFO] [stdout]   --> src/validation/diff.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn diff(baseline: &Baseline, resp: &HttpResponse) -> DiffResult {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Verdict` is never constructed
[INFO] [stdout]  --> src/validation/verdict.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Verdict {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate` is never used
[INFO] [stdout]  --> src/validation/verdict.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn evaluate(diff: &DiffResult) -> Verdict {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LatencyProfile` is never constructed
[INFO] [stdout]  --> src/validation/time_sqli.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct LatencyProfile {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimeSqlResult` is never constructed
[INFO] [stdout]   --> src/validation/time_sqli.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct TimeSqlResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimeBasedSqlEngine` is never constructed
[INFO] [stdout]   --> src/validation/time_sqli.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct TimeBasedSqlEngine {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `measure_baseline`, `measure_injected`, `decide`, and `delay_payload` are never used
[INFO] [stdout]    --> src/validation/time_sqli.rs:28:12
[INFO] [stdout]     |
[INFO] [stdout]  27 | impl TimeBasedSqlEngine {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout]  28 |     pub fn new(samples: usize, delay_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub async fn measure_baseline(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub async fn measure_injected(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn decide(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn delay_payload(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `classify_signal` is never used
[INFO] [stdout]    --> src/validation/time_sqli.rs:117:4
[INFO] [stdout]     |
[INFO] [stdout] 117 | fn classify_signal(signal_ratio: f64) -> (bool, f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_profile` is never used
[INFO] [stdout]    --> src/validation/time_sqli.rs:129:4
[INFO] [stdout]     |
[INFO] [stdout] 129 | fn build_profile(samples: Vec<u128>) -> LatencyProfile {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_mean` is never used
[INFO] [stdout]    --> src/validation/time_sqli.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn calculate_mean(samples: &[u128]) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_variance` is never used
[INFO] [stdout]    --> src/validation/time_sqli.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn calculate_variance(samples: &[u128], mean: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `confidence`, `marker_position`, `surrounding_html`, `encoding_detected`, and `waf_signatures` are never read
[INFO] [stdout]   --> src/xss/context.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct ContextAnalysis {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 62 |     pub context: XssContext,
[INFO] [stdout] 63 |     pub confidence: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 64 |     pub marker_position: Vec<usize>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 65 |     pub surrounding_html: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 66 |     pub encoding_detected: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 67 |     pub waf_signatures: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContextAnalysis` 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: function `would_break_context` is never used
[INFO] [stdout]    --> src/xss/context.rs:372:8
[INFO] [stdout]     |
[INFO] [stdout] 372 | pub fn would_break_context(context: &XssContext, payload: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReflectionPoint` is never constructed
[INFO] [stdout]   --> src/xss/reflect.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ReflectionPoint {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReflectionDiscovery` is never constructed
[INFO] [stdout]   --> src/xss/reflect.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ReflectionDiscovery {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `discover_reflections` is never used
[INFO] [stdout]   --> src/xss/reflect.rs:29:14
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub async fn discover_reflections(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `probe_parameter` is never used
[INFO] [stdout]   --> src/xss/reflect.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 67 | async fn probe_parameter(
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_markers` is never used
[INFO] [stdout]    --> src/xss/reflect.rs:106:4
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn generate_markers() -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_string` is never used
[INFO] [stdout]    --> src/xss/reflect.rs:115:4
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn random_string(len: usize) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `discover_post_reflections` is never used
[INFO] [stdout]    --> src/xss/reflect.rs:125:14
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub async fn discover_post_reflections(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `probe_post_parameter` is never used
[INFO] [stdout]    --> src/xss/reflect.rs:159:10
[INFO] [stdout]     |
[INFO] [stdout] 159 | async fn probe_post_parameter(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze_reflection_characteristics` is never used
[INFO] [stdout]    --> src/xss/reflect.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn analyze_reflection_characteristics(reflection: &ReflectionPoint) -> ReflectionCharacteristics {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReflectionCharacteristics` is never constructed
[INFO] [stdout]    --> src/xss/reflect.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct ReflectionCharacteristics {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EncodingLevel` is never used
[INFO] [stdout]    --> src/xss/reflect.rs:237:10
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub enum EncodingLevel {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_encoding_level` is never used
[INFO] [stdout]    --> src/xss/reflect.rs:244:4
[INFO] [stdout]     |
[INFO] [stdout] 244 | fn detect_encoding_level(body: &str, marker: &str) -> EncodingLevel {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_sanitization_patterns` is never used
[INFO] [stdout]    --> src/xss/reflect.rs:269:4
[INFO] [stdout]     |
[INFO] [stdout] 269 | fn detect_sanitization_patterns(body: &str, marker: &str) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XssPayload` is never constructed
[INFO] [stdout]  --> src/xss/payloads.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct XssPayload {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PayloadSet` is never constructed
[INFO] [stdout]   --> src/xss/payloads.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct PayloadSet {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add`, `len`, and `is_empty` are never used
[INFO] [stdout]   --> src/xss/payloads.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl PayloadSet {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new(context: XssContext) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn add(&mut self, payload: XssPayload) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn len(&mut self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_payloads_for_context` is never used
[INFO] [stdout]   --> src/xss/payloads.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn load_payloads_for_context(ctx: &XssContext) -> anyhow::Result<PayloadSet> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_polyglot_payloads` is never used
[INFO] [stdout]   --> src/xss/payloads.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn load_polyglot_payloads() -> anyhow::Result<PayloadSet> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_blind_payloads` is never used
[INFO] [stdout]   --> src/xss/payloads.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn load_blind_payloads(callback_domain: &str) -> anyhow::Result<PayloadSet> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_bypass_payloads` is never used
[INFO] [stdout]    --> src/xss/payloads.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn generate_bypass_payloads(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_encoding_bypasses` is never used
[INFO] [stdout]    --> src/xss/payloads.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn generate_encoding_bypasses(ctx: &XssContext) -> Vec<XssPayload> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_script_keyword_bypasses` is never used
[INFO] [stdout]    --> src/xss/payloads.rs:185:4
[INFO] [stdout]     |
[INFO] [stdout] 185 | fn generate_script_keyword_bypasses(ctx: &XssContext) -> Vec<XssPayload> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_protocol_bypasses` is never used
[INFO] [stdout]    --> src/xss/payloads.rs:210:4
[INFO] [stdout]     |
[INFO] [stdout] 210 | fn generate_protocol_bypasses(ctx: &XssContext) -> Vec<XssPayload> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_case_bypasses` is never used
[INFO] [stdout]    --> src/xss/payloads.rs:240:4
[INFO] [stdout]     |
[INFO] [stdout] 240 | fn generate_case_bypasses(ctx: &XssContext) -> Vec<XssPayload> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prioritize_payloads` is never used
[INFO] [stdout]    --> src/xss/payloads.rs:261:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub fn prioritize_payloads(mut payload_set: PayloadSet, max_count: usize) -> Vec<XssPayload> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_payload_file` is never used
[INFO] [stdout]    --> src/xss/payloads.rs:278:4
[INFO] [stdout]     |
[INFO] [stdout] 278 | fn read_payload_file<P: AsRef<Path>>(path: P) -> anyhow::Result<Vec<String>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `classify_technique` is never used
[INFO] [stdout]    --> src/xss/payloads.rs:290:4
[INFO] [stdout]     |
[INFO] [stdout] 290 | fn classify_technique(payload: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_markers` is never used
[INFO] [stdout]    --> src/xss/payloads.rs:315:8
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub fn load_markers() -> anyhow::Result<Vec<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `exploitable`, `reason`, `breakout_required`, and `csp_bypass_needed` are never read
[INFO] [stdout]   --> src/xss/validate.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct XssValidationResult {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout]  9 |     pub exploitable: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub reason: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 13 |     pub technical_details: String,
[INFO] [stdout] 14 |     pub breakout_required: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     pub csp_bypass_needed: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `XssValidationResult` 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 `XssScanner` is never constructed
[INFO] [stdout]   --> src/xss/engine.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct XssScanner {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `scan`, `scan_endpoint`, and `test_reflection` are never used
[INFO] [stdout]    --> src/xss/engine.rs:34:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl XssScanner {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  34 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub async fn scan(
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     async fn scan_endpoint(
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     async fn test_reflection(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_cvss` is never used
[INFO] [stdout]    --> src/xss/engine.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn calculate_cvss(confidence: f32, severity: &crate::xss::validate::ExecutionSeverity) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_xss_description` is never used
[INFO] [stdout]    --> src/xss/engine.rs:306:4
[INFO] [stdout]     |
[INFO] [stdout] 306 | fn generate_xss_description(context: &XssContext, technique: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_xss_impact` is never used
[INFO] [stdout]    --> src/xss/engine.rs:322:4
[INFO] [stdout]     |
[INFO] [stdout] 322 | fn generate_xss_impact(severity: &crate::xss::validate::ExecutionSeverity) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_xss_remediation` is never used
[INFO] [stdout]    --> src/xss/engine.rs:343:4
[INFO] [stdout]     |
[INFO] [stdout] 343 | fn generate_xss_remediation() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]   --> src/xss/stored.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct StoredPayloadTracker {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub timestamp: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StoredPayloadTracker` 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: associated items `new` and `inject_markers` are never used
[INFO] [stdout]   --> src/xss/stored.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl StoredXssEngine {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 40 |     pub fn new(crawl_depth: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub async fn inject_markers(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlindXssProbe` is never constructed
[INFO] [stdout]   --> src/xss/blind.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct BlindXssProbe {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlindXssEngine` is never constructed
[INFO] [stdout]   --> src/xss/blind.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct BlindXssEngine {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `inject`, and `confirm_callback` are never used
[INFO] [stdout]   --> src/xss/blind.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl BlindXssEngine {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 27 |     pub fn new(callback_domain: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub async fn inject(
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn confirm_callback(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_unique_id` is never used
[INFO] [stdout]    --> src/xss/blind.rs:108:4
[INFO] [stdout]     |
[INFO] [stdout] 108 | fn generate_unique_id() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `current_timestamp` is never used
[INFO] [stdout]    --> src/xss/blind.rs:113:4
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn current_timestamp() -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 10s
[INFO] running `Command { std: "docker" "inspect" "8ef152ff433de9255f8b4495636c2fb4be582321909e949dcc085ad1ee1b4e3d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ef152ff433de9255f8b4495636c2fb4be582321909e949dcc085ad1ee1b4e3d", kill_on_drop: false }`
[INFO] [stdout] 8ef152ff433de9255f8b4495636c2fb4be582321909e949dcc085ad1ee1b4e3d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.94.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 87cd4576dd48f7f113f46038f26c294158af7338e2b4a71d829666c0f8679b97
[INFO] running `Command { std: "docker" "start" "-a" "87cd4576dd48f7f113f46038f26c294158af7338e2b4a71d829666c0f8679b97", kill_on_drop: false }`
[INFO] [stderr]    Compiling anvil v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/core/engine.rs:961:16
[INFO] [stdout]     |
[INFO] [stdout] 961 |             if (payload_lower.contains("onerror=") || payload_lower.contains("onload=") || 
[INFO] [stdout]     |                ^
[INFO] [stdout] 962 |                 payload_lower.contains("onfocus=") || payload_lower.contains("onmouseover=")) {
[INFO] [stdout]     |                                                                                             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 961 ~             if payload_lower.contains("onerror=") || payload_lower.contains("onload=") || 
[INFO] [stdout] 962 ~                 payload_lower.contains("onfocus=") || payload_lower.contains("onmouseover=") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LOWER_RATIO_BOUND` and `UPPER_RATIO_BOUND`
[INFO] [stdout]  --> src/sqli/request/comparison.rs:3:52
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::super::core::settings::{DIFF_TOLERANCE, LOWER_RATIO_BOUND, UPPER_RATIO_BOUND};
[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: `comparison`
[INFO] [stdout]  --> src/sqli/techniques/union/test.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::sqli::request::{Request, comparison, page_ratio};
[INFO] [stdout]   |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `find_position`, `find_union_char_count`, and `fingerprint_dbms`
[INFO] [stdout]  --> src/sqli/techniques/union/mod.rs:6:42
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use test::{check_union, UnionVector, find_union_char_count, find_position, fingerprint_dbms};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CHAR_START` and `CHAR_STOP`
[INFO] [stdout]  --> src/sqli/techniques/blind/inference.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::sqli::core::{DBMS, CHAR_START, CHAR_STOP};
[INFO] [stdout]   |                               ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CHAR_START` and `CHAR_STOP`
[INFO] [stdout]  --> src/sqli/techniques/error/use.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::sqli::core::{DBMS, CHAR_START, CHAR_STOP};
[INFO] [stdout]   |                               ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:142:30
[INFO] [stdout]     |
[INFO] [stdout] 142 |         result.push(ALPHABET[(b0 >> 2)] as char);
[INFO] [stdout]     |                              ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 142 -         result.push(ALPHABET[(b0 >> 2)] as char);
[INFO] [stdout] 142 +         result.push(ALPHABET[b0 >> 2] as char);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Agent`, `CHAR_DELIMITER`, `CHAR_START`, `CHAR_STOP`, `NULL`, and `Queries`
[INFO] [stdout]   --> src/sqli/mod.rs:22:22
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub use core::{DBMS, Agent, Queries, CHAR_START, CHAR_STOP, CHAR_DELIMITER, NULL};
[INFO] [stdout]    |                      ^^^^^  ^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlindVector`, `DnsVector`, `ErrorVector`, `check_dns_exfiltration`, `check_time_blind`, `dns_use`, `error_use`, `extract_string`, `get_current_user`, `get_databases_error`, `get_length`, `get_passwords`, `get_tables_error`, `get_users`, `get_version`, and `union_use`
[INFO] [stdout]   --> src/sqli/mod.rs:26:31
[INFO] [stdout]    |
[INFO] [stdout] 26 |     check_union, UnionVector, union_use, 
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 27 |     get_databases, get_tables, get_columns, dump_table,
[INFO] [stdout] 28 |     get_current_db, get_current_user, get_version, get_users, get_passwords,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 29 |     // Blind
[INFO] [stdout] 30 |     check_boolean_blind, check_time_blind, BlindVector, extract_string, get_length,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 31 |     // Error
[INFO] [stdout] 32 |     check_error_based, ErrorVector, error_use, get_databases_error, get_tables_error,
[INFO] [stdout]    |                        ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     // DNS/OOB
[INFO] [stdout] 34 |     check_dns_exfiltration, DnsVector, dns_use,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `detector::SsrfDetector`
[INFO] [stdout]   --> src/ssrf/mod.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub use detector::SsrfDetector;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EvidenceType`, `Evidence`, and `SsrfClassification`
[INFO] [stdout]   --> src/ssrf/mod.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub use evidence::{Evidence, EvidenceType, SsrfClassification, SsrfResult};
[INFO] [stdout]    |                    ^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Html` and `Selector`
[INFO] [stdout]  --> src/xss/context.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use scraper::{Html, Selector};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `would_break_context`
[INFO] [stdout]  --> src/xss/validate.rs:4:50
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::xss::context::{XssContext, QuoteType, would_break_context};
[INFO] [stdout]   |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Html` and `Selector`
[INFO] [stdout]  --> src/xss/validate.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use scraper::{Html, Selector};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Html` and `Selector`
[INFO] [stdout]  --> src/xss/dom.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use scraper::{Html, Selector};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/xss/dom.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ContextAnalysis`, `QuoteType`, and `XssContext`
[INFO] [stdout]   --> src/xss/mod.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use context::{XssContext, ContextAnalysis, QuoteType};
[INFO] [stdout]    |                   ^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReflectionDiscovery`, `ReflectionPoint`, and `discover_reflections`
[INFO] [stdout]   --> src/xss/mod.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use reflect::{ReflectionPoint, ReflectionDiscovery, discover_reflections};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PayloadSet`, `XssPayload`, and `load_payloads_for_context`
[INFO] [stdout]   --> src/xss/mod.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use payloads::{XssPayload, PayloadSet, load_payloads_for_context};
[INFO] [stdout]    |                    ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExecutionSeverity`, `XssValidationResult`, and `validate_execution_likelihood`
[INFO] [stdout]   --> src/xss/mod.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use validate::{XssValidationResult, ExecutionSeverity, validate_execution_likelihood};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine::XssScanner`
[INFO] [stdout]   --> src/xss/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use engine::XssScanner;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stored::StoredXssEngine`
[INFO] [stdout]   --> src/xss/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use stored::StoredXssEngine;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DomXssFlow` and `analyze_dom_xss`
[INFO] [stdout]   --> src/xss/mod.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub use dom::{DomXssFlow, analyze_dom_xss};
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `blind::BlindXssEngine`
[INFO] [stdout]   --> src/xss/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use blind::BlindXssEngine;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reporter`
[INFO] [stdout]    --> src/core/engine.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |         reporter: &mut crate::reporting::reporter::Reporter,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reporter`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_width`
[INFO] [stdout]    --> src/core/engine.rs:293:21
[INFO] [stdout]     |
[INFO] [stdout] 293 |                 let total_width = content_width + 2; // +2 for the ║ borders
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `baseline`
[INFO] [stdout]   --> src/sqli/techniques/union/test.rs:95:54
[INFO] [stdout]    |
[INFO] [stdout] 95 | async fn union_null_technique(request: &Request<'_>, baseline: &str) -> Result<Option<usize>> {
[INFO] [stdout]    |                                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_baseline`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]    --> src/core/engine.rs:488:9
[INFO] [stdout]     |
[INFO] [stdout] 488 |         client: &HttpClient,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `marker`
[INFO] [stdout]    --> src/core/engine.rs:782:33
[INFO] [stdout]     |
[INFO] [stdout] 782 |             for (idx, (payload, marker, technique)) in xss_tests.iter().enumerate() {
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_marker`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body_lower`
[INFO] [stdout]    --> src/core/engine.rs:800:29
[INFO] [stdout]     |
[INFO] [stdout] 800 |                         let body_lower = body.to_lowercase();
[INFO] [stdout]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_body_lower`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/xss/stored.rs:129:18
[INFO] [stdout]     |
[INFO] [stdout] 129 |             for (id, tracker) in &self.payloads {
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `severity_enum`
[INFO] [stdout]     --> src/core/engine.rs:1605:50
[INFO] [stdout]      |
[INFO] [stdout] 1605 |             let (severity_label, severity_color, severity_enum) = if flow.confidence >= 0.85 {
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_severity_enum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `param_name`
[INFO] [stdout]    --> src/core/engine.rs:916:66
[INFO] [stdout]     |
[INFO] [stdout] 916 |     fn verify_context_breakout(&self, body: &str, payload: &str, param_name: &str) -> (bool, String) {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `technique`
[INFO] [stdout]    --> src/core/engine.rs:981:62
[INFO] [stdout]     |
[INFO] [stdout] 981 |     fn detect_interaction_requirements(&self, payload: &str, technique: &str) -> (bool, String) {
[INFO] [stdout]     |                                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_technique`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_gt`
[INFO] [stdout]     --> src/core/engine.rs:1026:13
[INFO] [stdout]      |
[INFO] [stdout] 1026 |         let encoded_gt = payload.replace(">", "&gt;");
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_gt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cvss_score`
[INFO] [stdout]     --> src/core/engine.rs:1127:13
[INFO] [stdout]      |
[INFO] [stdout] 1127 |         let cvss_score = if exploitability == "Confirmed XSS" && !requires_interaction {
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cvss_score`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_len`
[INFO] [stdout]   --> src/sqli/request/comparison.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let max_len = len1.max(len2);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]   --> src/ssrf/oob.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let timestamp = SystemTime::now()
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/ssrf/params.rs:166:26
[INFO] [stdout]     |
[INFO] [stdout] 166 |     fn get_reason(&self, name: &str, value: &str, name_score: f32, value_score: f32) -> String {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `after`
[INFO] [stdout]    --> src/xss/context.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |     let after = &body[pos..];
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_after`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `marker`
[INFO] [stdout]    --> src/xss/reflect.rs:244:38
[INFO] [stdout]     |
[INFO] [stdout] 244 | fn detect_encoding_level(body: &str, marker: &str) -> EncodingLevel {
[INFO] [stdout]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_marker`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/xss/payloads.rs:261:28
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub fn prioritize_payloads(mut payload_set: PayloadSet, max_count: usize) -> Vec<XssPayload> {
[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: `response_body`
[INFO] [stdout]    --> src/xss/validate.rs:307:31
[INFO] [stdout]     |
[INFO] [stdout] 307 | fn validate_js_code_execution(response_body: &str, payload: &str) -> XssValidationResult {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload`
[INFO] [stdout]    --> src/xss/validate.rs:307:52
[INFO] [stdout]     |
[INFO] [stdout] 307 | fn validate_js_code_execution(response_body: &str, payload: &str) -> XssValidationResult {
[INFO] [stdout]     |                                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response_body`
[INFO] [stdout]    --> src/xss/validate.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 321 |     response_body: &str,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response_body`
[INFO] [stdout]    --> src/xss/validate.rs:419:28
[INFO] [stdout]     |
[INFO] [stdout] 419 | fn validate_json_execution(response_body: &str, payload: &str) -> XssValidationResult {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload`
[INFO] [stdout]    --> src/xss/validate.rs:419:49
[INFO] [stdout]     |
[INFO] [stdout] 419 | fn validate_json_execution(response_body: &str, payload: &str) -> XssValidationResult {
[INFO] [stdout]     |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload`
[INFO] [stdout]    --> src/xss/validate.rs:517:37
[INFO] [stdout]     |
[INFO] [stdout] 517 | fn is_script_tag_intact(body: &str, payload: &str) -> bool {
[INFO] [stdout]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `html`
[INFO] [stdout]   --> src/xss/dom.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn analyze_dom_xss(html: &str, js_code: &str) -> Vec<DomXssFlow> {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_html`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_exploit` is never used
[INFO] [stdout]   --> src/core/capability.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Capability {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn is_exploit(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start` and `stop` are never read
[INFO] [stdout]   --> src/core/context.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct EnumerationConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub start: usize,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 25 |     pub stop: Option<usize>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnumerationConfig` 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: multiple fields are never read
[INFO] [stdout]   --> src/core/context.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct Context {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub quiet: bool,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub sqli_config: SqliConfig,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub post_data: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub extra_data: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub threshold: f32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 75 |     pub risk: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 76 |     pub level: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 77 |     pub technique: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 78 |     pub threads: usize,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 79 |     // Injection customization
[INFO] [stdout] 80 |     pub prefix: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 81 |     pub suffix: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `minimal`, `sqli_all`, `exploit`, `disable`, and `has_exploit` are never used
[INFO] [stdout]   --> src/core/profile.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ScanProfile {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn minimal() -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn sqli_all() -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn exploit() -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn disable(&mut self, cap: Capability) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn has_exploit(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_cookies` and `send` are never used
[INFO] [stdout]    --> src/http/client.rs:38:12
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl HttpClient {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub fn with_cookies(scope: Scope, limiter: RateLimiter, cookies: &str) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub async fn send(&self, req: HttpRequest) -> Result<HttpResponse> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `set_body`, `set_body_bytes`, `set_header`, `post`, and `inject_payload` are never used
[INFO] [stdout]   --> src/http/request.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl HttpRequest {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn set_body(&mut self, body: String) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn set_body_bytes(&mut self, body: Vec<u8>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn set_header(&mut self, name: &str, value: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn post(url: Url, body: String) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn inject_payload(&mut self, payload: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PayloadSet` is never constructed
[INFO] [stdout]  --> src/payload/loader.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct PayloadSet {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_payloads` is never used
[INFO] [stdout]   --> src/payload/loader.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn load_payloads<P: AsRef<Path>>(path: P) -> anyhow::Result<PayloadSet> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PayloadIterator` is never constructed
[INFO] [stdout]  --> src/payload/iterator.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct PayloadIterator {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/payload/iterator.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl PayloadIterator {
[INFO] [stdout]   | -------------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(set: PayloadSet) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DatabaseType` is never used
[INFO] [stdout]   --> src/sqli/mod.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub type DatabaseType = DBMS;
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Error`, `Time`, `Stacked`, and `Inline` are never constructed
[INFO] [stdout]   --> src/sqli/mod.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub enum SqliTechnique {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 49 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 50 |     Time,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 51 |     TimeBased,  // Alias for Time
[INFO] [stdout] 52 |     Stacked,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 53 |     Inline,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SqliTechnique` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `techniques`, `level`, and `risk` are never read
[INFO] [stdout]   --> src/sqli/mod.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct SqliConfig {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 72 |     pub techniques: Vec<SqliTechnique>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 73 |     pub level: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 74 |     pub risk: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SqliConfig` 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: constant `DIFF_TOLERANCE` is never used
[INFO] [stdout]  --> src/sqli/core/settings.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const DIFF_TOLERANCE: f64 = 0.05;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONSTANT_RATIO` is never used
[INFO] [stdout]  --> src/sqli/core/settings.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const CONSTANT_RATIO: f64 = 0.9;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOWER_RATIO_BOUND` is never used
[INFO] [stdout]  --> src/sqli/core/settings.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LOWER_RATIO_BOUND: f64 = 0.02;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UPPER_RATIO_BOUND` is never used
[INFO] [stdout]  --> src/sqli/core/settings.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const UPPER_RATIO_BOUND: f64 = 0.98;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_RATIO` is never used
[INFO] [stdout]   --> src/sqli/core/settings.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const MIN_RATIO: f64 = 0.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_RATIO` is never used
[INFO] [stdout]   --> src/sqli/core/settings.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const MAX_RATIO: f64 = 1.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_UNION_RESPONSES` is never used
[INFO] [stdout]   --> src/sqli/core/settings.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const MIN_UNION_RESPONSES: usize = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNION_MIN_RESPONSE_CHARS` is never used
[INFO] [stdout]   --> src/sqli/core/settings.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const UNION_MIN_RESPONSE_CHARS: usize = 10;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNION_STDEV_COEFF` is never used
[INFO] [stdout]   --> src/sqli/core/settings.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const UNION_STDEV_COEFF: f64 = 7.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_STATISTICAL_RANGE` is never used
[INFO] [stdout]   --> src/sqli/core/settings.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const MIN_STATISTICAL_RANGE: f64 = 0.01;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ORDER_BY_ERROR_PATTERNS` is never used
[INFO] [stdout]   --> src/sqli/core/settings.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const ORDER_BY_ERROR_PATTERNS: &[&str] = &[
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COLUMN_MISMATCH_PATTERNS` is never used
[INFO] [stdout]   --> src/sqli/core/settings.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const COLUMN_MISMATCH_PATTERNS: &[&str] = &[
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Oracle`, `SQLite`, and `Access` are never constructed
[INFO] [stdout]   --> src/sqli/core/enums.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum DBMS {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  9 |     Oracle,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 10 |     SQLite,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 11 |     Access,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DBMS` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PayloadWhere` is never used
[INFO] [stdout]   --> src/sqli/core/enums.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum PayloadWhere {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Technique` is never used
[INFO] [stdout]   --> src/sqli/core/enums.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub enum Technique {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Agent` is never constructed
[INFO] [stdout]  --> src/sqli/core/agent.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Agent {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `concat_field`, `concat_fields`, `forge_union_query`, and `payload` are never used
[INFO] [stdout]    --> src/sqli/core/agent.rs:15:12
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl Agent {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  15 |     pub fn new(dbms: DBMS) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  36 |     pub fn concat_field(&self, field: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn concat_fields(&self, fields: &[&str]) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn forge_union_query(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn payload(&self, query: &str, where_type: super::enums::PayloadWhere) -> String {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `current_user`, `version`, `count`, `users`, `passwords`, and `from_dummy` are never used
[INFO] [stdout]    --> src/sqli/core/queries.rs:28:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl Queries {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  28 |     pub fn current_user(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  40 |     pub fn version(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn count(&self, database: &str, table: &str) -> String {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn users(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn passwords(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn from_dummy(&self) -> Option<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `comparison` is never used
[INFO] [stdout]   --> src/sqli/request/comparison.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn comparison(page1: &str, page2: &str, ratio_threshold: Option<f64>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ratio` is never used
[INFO] [stdout]   --> src/sqli/request/comparison.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn get_ratio(page: &str, baseline: &str) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_true_ratio` is never used
[INFO] [stdout]   --> src/sqli/request/comparison.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn is_true_ratio(ratio: f64, match_ratio: f64) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_false_ratio` is never used
[INFO] [stdout]   --> src/sqli/request/comparison.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn is_false_ratio(ratio: f64, match_ratio: f64) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_dynamic_content` is never used
[INFO] [stdout]    --> src/sqli/request/comparison.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn remove_dynamic_content(page: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `query_page_full` is never used
[INFO] [stdout]   --> src/sqli/request/connect.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<'a> Request<'a> {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub async fn query_page_full(&self, payload: &str) -> Result<(String, u16, usize)> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `char` is never read
[INFO] [stdout]   --> src/sqli/techniques/union/test.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct UnionVector {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub char: String,      // Character to use (NULL or specific)
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnionVector` 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: function `extract_result` is never used
[INFO] [stdout]    --> src/sqli/techniques/union/use.rs:211:4
[INFO] [stdout]     |
[INFO] [stdout] 211 | fn extract_result(page: &str) -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_current_user` is never used
[INFO] [stdout]    --> src/sqli/techniques/union/use.rs:334:14
[INFO] [stdout]     |
[INFO] [stdout] 334 | pub async fn get_current_user(request: &Request<'_>, vector: &UnionVector) -> Result<String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_version` is never used
[INFO] [stdout]    --> src/sqli/techniques/union/use.rs:342:14
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub async fn get_version(request: &Request<'_>, vector: &UnionVector) -> Result<String> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_users` is never used
[INFO] [stdout]    --> src/sqli/techniques/union/use.rs:350:14
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub async fn get_users(request: &Request<'_>, vector: &UnionVector) -> Result<Vec<String>> {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_passwords` is never used
[INFO] [stdout]    --> src/sqli/techniques/union/use.rs:357:14
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub async fn get_passwords(request: &Request<'_>, vector: &UnionVector) -> Result<Vec<(String, String)>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/sqli/techniques/blind/inference.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct BlindVector {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 11 |     pub dbms: DBMS,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 12 |     pub prefix: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 13 |     pub suffix: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 14 |     pub true_code: String,    // Payload that returns true
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 15 |     pub false_code: String,   // Payload that returns false
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 16 |     pub time_based: bool,     // Use time-based instead of boolean
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 17 |     pub delay: u64,           // Delay in seconds for time-based
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BlindVector` 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: function `check_time_blind` is never used
[INFO] [stdout]   --> src/sqli/techniques/blind/inference.rs:68:14
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub async fn check_time_blind(request: &Request<'_>) -> Result<Option<BlindVector>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_char_boolean` is never used
[INFO] [stdout]    --> src/sqli/techniques/blind/inference.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub async fn extract_char_boolean(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_char_time` is never used
[INFO] [stdout]    --> src/sqli/techniques/blind/inference.rs:167:14
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub async fn extract_char_time(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_string` is never used
[INFO] [stdout]    --> src/sqli/techniques/blind/inference.rs:216:14
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub async fn extract_string(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_length` is never used
[INFO] [stdout]    --> src/sqli/techniques/blind/inference.rs:245:14
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub async fn get_length(
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prefix`, `suffix`, and `payload_template` are never read
[INFO] [stdout]   --> src/sqli/techniques/error/use.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ErrorVector {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 11 |     pub dbms: DBMS,
[INFO] [stdout] 12 |     pub prefix: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 13 |     pub suffix: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 14 |     pub payload_template: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ErrorVector` 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: function `error_use` is never used
[INFO] [stdout]    --> src/sqli/techniques/error/use.rs:123:14
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub async fn error_use(
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_databases_error` is never used
[INFO] [stdout]    --> src/sqli/techniques/error/use.rs:137:14
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub async fn get_databases_error(request: &Request<'_>, vector: &ErrorVector) -> Result<Vec<String>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_tables_error` is never used
[INFO] [stdout]    --> src/sqli/techniques/error/use.rs:159:14
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub async fn get_tables_error(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsVector` is never constructed
[INFO] [stdout]  --> src/sqli/techniques/dns/test.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct DnsVector {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_dns_exfiltration` is never used
[INFO] [stdout]   --> src/sqli/techniques/dns/test.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub async fn check_dns_exfiltration(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dns_use` is never used
[INFO] [stdout]   --> src/sqli/techniques/dns/test.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub async fn dns_use(
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TamperFn` is never used
[INFO] [stdout]  --> src/sqli/tamper/mod.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type TamperFn = fn(&str) -> String;
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_tamper` is never used
[INFO] [stdout]  --> src/sqli/tamper/mod.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn get_tamper(name: &str) -> Option<TamperFn> {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_tampers` is never used
[INFO] [stdout]   --> src/sqli/tamper/mod.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn list_tampers() -> Vec<(&'static str, &'static str)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space2comment` is never used
[INFO] [stdout]   --> src/sqli/tamper/mod.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn space2comment(payload: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space2hash` is never used
[INFO] [stdout]   --> src/sqli/tamper/mod.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn space2hash(payload: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space2mssqlhash` is never used
[INFO] [stdout]   --> src/sqli/tamper/mod.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn space2mssqlhash(payload: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space2plus` is never used
[INFO] [stdout]   --> src/sqli/tamper/mod.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn space2plus(payload: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space2randomblank` is never used
[INFO] [stdout]   --> src/sqli/tamper/mod.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn space2randomblank(payload: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `between` is never used
[INFO] [stdout]   --> src/sqli/tamper/mod.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn between(payload: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `randomcase` is never used
[INFO] [stdout]   --> src/sqli/tamper/mod.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn randomcase(payload: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `charencode` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn charencode(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chardoubleencode` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn chardoubleencode(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `base64encode` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn base64encode(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `appendnullbyte` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn appendnullbyte(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `percentage` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn percentage(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `uppercase` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn uppercase(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lowercase` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:177:8
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub fn lowercase(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `equaltolike` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:182:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub fn equaltolike(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `greatest` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub fn greatest(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiplespaces` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn multiplespaces(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nonrecursivereplacement` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn nonrecursivereplacement(payload: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_tampers` is never used
[INFO] [stdout]    --> src/sqli/tamper/mod.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub fn apply_tampers(payload: &str, tampers: &[&str]) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SqlShell` is never constructed
[INFO] [stdout]   --> src/sqli/shell.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SqlShell<'a> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run`, `execute_query`, `print_help`, and `print_info` are never used
[INFO] [stdout]    --> src/sqli/shell.rs:19:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl<'a> SqlShell<'a> {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout]  19 |     pub fn new(client: &'a HttpClient, url: Url, parameter: String, vector: UnionVector) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  29 |     pub async fn run(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     async fn execute_query(&self, query: &str) -> Result<Vec<String>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     fn print_help(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn print_info(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileAccess` is never constructed
[INFO] [stdout]   --> src/sqli/file_access.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FileAccess<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `read_file`, `write_file`, and `common_files` are never used
[INFO] [stdout]    --> src/sqli/file_access.rs:19:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl<'a> FileAccess<'a> {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout]  19 |     pub fn new(client: &'a HttpClient, url: Url, parameter: String, vector: UnionVector) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  29 |     pub async fn read_file(&self, filepath: &str) -> Result<Option<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub async fn write_file(&self, filepath: &str, content: &str) -> Result<bool> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn common_files() -> Vec<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OsShell` is never constructed
[INFO] [stdout]   --> src/sqli/os_shell.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct OsShell<'a> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `execute_command`, `run`, and `enable_xp_cmdshell` are never used
[INFO] [stdout]    --> src/sqli/os_shell.rs:20:12
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<'a> OsShell<'a> {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  20 |     pub fn new(client: &'a HttpClient, url: Url, parameter: String, vector: UnionVector) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  30 |     pub async fn execute_command(&self, command: &str) -> Result<Option<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub async fn run(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub async fn enable_xp_cmdshell(&self) -> Result<bool> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_php_shell` is never used
[INFO] [stdout]    --> src/sqli/os_shell.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn generate_php_shell() -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `common_webshell_paths` is never used
[INFO] [stdout]    --> src/sqli/os_shell.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub fn common_webshell_paths() -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `test_internal`, `test_metadata`, `test_schemes`, `external_timeout`, and `internal_timeout` are never read
[INFO] [stdout]   --> src/ssrf/mod.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct SsrfConfig {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub test_internal: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub test_metadata: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub test_schemes: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub external_timeout: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub internal_timeout: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SsrfConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ResponseBehaviorDiff`, `DnsResolution`, and `ParameterControl` are never constructed
[INFO] [stdout]   --> src/ssrf/evidence.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum EvidenceType {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 40 |     ResponseBehaviorDiff {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     DnsResolution {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     ParameterControl {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EvidenceType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `evidence_type` is never read
[INFO] [stdout]    --> src/ssrf/evidence.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub struct Evidence {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 144 |     pub evidence_type: EvidenceType,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Evidence` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NegativeEvidence` is never used
[INFO] [stdout]    --> src/ssrf/evidence.rs:161:10
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub enum NegativeEvidence {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SsrfNegativeResult` is never constructed
[INFO] [stdout]    --> src/ssrf/evidence.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub struct SsrfNegativeResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_dns_callback` is never used
[INFO] [stdout]   --> src/ssrf/oob.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl OobCallbackGenerator {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn generate_dns_callback(&self, identifier: &str) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `callback_domain` is never read
[INFO] [stdout]   --> src/ssrf/oob.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct OobCallbackListener {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 75 |     pub callback_domain: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OobCallbackListener` 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 `identify_from_post_data` is never used
[INFO] [stdout]   --> src/ssrf/params.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl SsrfParamIdentifier {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn identify_from_post_data(&self, data: &str) -> Vec<SsrfCandidate> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_medium_priority` is never used
[INFO] [stdout]    --> src/ssrf/params.rs:211:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl SsrfCandidate {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn is_medium_priority(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERNAL_PORTS` is never used
[INFO] [stdout]   --> src/ssrf/probes.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub const INTERNAL_PORTS: &[u16] = &[
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate_internal_ip_port_probes` and `generate_smuggling_probes` are never used
[INFO] [stdout]    --> src/ssrf/probes.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout]  98 | impl SsrfProbeGenerator {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn generate_internal_ip_port_probes(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn generate_smuggling_probes(&self, target: &str) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ProtocolSmuggling` is never constructed
[INFO] [stdout]    --> src/ssrf/probes.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub enum SsrfProbeType {
[INFO] [stdout]     |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 321 |     ProtocolSmuggling,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SsrfProbeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/ssrf/scanner.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct SsrfScanner {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 13 |     config: SsrfConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_oob_callback`, `with_threshold`, `with_internal_testing`, `with_metadata_testing`, and `with_scheme_testing` are never used
[INFO] [stdout]    --> src/ssrf/scanner.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl SsrfConfig {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 146 |     /// Set OOB callback domain
[INFO] [stdout] 147 |     pub fn with_oob_callback(mut self, callback: Option<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn with_threshold(mut self, threshold: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn with_internal_testing(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn with_metadata_testing(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn with_scheme_testing(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `status`, `body_len`, `body_hash`, and `elapsed_ms` are never read
[INFO] [stdout]  --> src/validation/baseline.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Baseline {
[INFO] [stdout]   |            -------- fields in this struct
[INFO] [stdout] 5 |     pub status: u16,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 6 |     pub body_len: usize,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 7 |     pub body_hash: String,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 8 |     pub elapsed_ms: u128,
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Baseline` 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: struct `DiffResult` is never constructed
[INFO] [stdout]  --> src/validation/diff.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DiffResult {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `diff` is never used
[INFO] [stdout]   --> src/validation/diff.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn diff(baseline: &Baseline, resp: &HttpResponse) -> DiffResult {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Verdict` is never constructed
[INFO] [stdout]  --> src/validation/verdict.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Verdict {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate` is never used
[INFO] [stdout]  --> src/validation/verdict.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn evaluate(diff: &DiffResult) -> Verdict {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LatencyProfile` is never constructed
[INFO] [stdout]  --> src/validation/time_sqli.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct LatencyProfile {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimeSqlResult` is never constructed
[INFO] [stdout]   --> src/validation/time_sqli.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct TimeSqlResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimeBasedSqlEngine` is never constructed
[INFO] [stdout]   --> src/validation/time_sqli.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct TimeBasedSqlEngine {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `measure_baseline`, `measure_injected`, `decide`, and `delay_payload` are never used
[INFO] [stdout]    --> src/validation/time_sqli.rs:28:12
[INFO] [stdout]     |
[INFO] [stdout]  27 | impl TimeBasedSqlEngine {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout]  28 |     pub fn new(samples: usize, delay_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub async fn measure_baseline(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub async fn measure_injected(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn decide(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn delay_payload(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `classify_signal` is never used
[INFO] [stdout]    --> src/validation/time_sqli.rs:117:4
[INFO] [stdout]     |
[INFO] [stdout] 117 | fn classify_signal(signal_ratio: f64) -> (bool, f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_profile` is never used
[INFO] [stdout]    --> src/validation/time_sqli.rs:129:4
[INFO] [stdout]     |
[INFO] [stdout] 129 | fn build_profile(samples: Vec<u128>) -> LatencyProfile {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_mean` is never used
[INFO] [stdout]    --> src/validation/time_sqli.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn calculate_mean(samples: &[u128]) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_variance` is never used
[INFO] [stdout]    --> src/validation/time_sqli.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn calculate_variance(samples: &[u128], mean: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `confidence`, `marker_position`, `surrounding_html`, and `waf_signatures` are never read
[INFO] [stdout]   --> src/xss/context.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct ContextAnalysis {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 62 |     pub context: XssContext,
[INFO] [stdout] 63 |     pub confidence: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 64 |     pub marker_position: Vec<usize>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 65 |     pub surrounding_html: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 66 |     pub encoding_detected: bool,
[INFO] [stdout] 67 |     pub waf_signatures: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContextAnalysis` 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: function `would_break_context` is never used
[INFO] [stdout]    --> src/xss/context.rs:372:8
[INFO] [stdout]     |
[INFO] [stdout] 372 | pub fn would_break_context(context: &XssContext, payload: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReflectionPoint` is never constructed
[INFO] [stdout]   --> src/xss/reflect.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ReflectionPoint {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReflectionDiscovery` is never constructed
[INFO] [stdout]   --> src/xss/reflect.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ReflectionDiscovery {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `discover_reflections` is never used
[INFO] [stdout]   --> src/xss/reflect.rs:29:14
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub async fn discover_reflections(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `probe_parameter` is never used
[INFO] [stdout]   --> src/xss/reflect.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 67 | async fn probe_parameter(
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `discover_post_reflections` is never used
[INFO] [stdout]    --> src/xss/reflect.rs:125:14
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub async fn discover_post_reflections(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `probe_post_parameter` is never used
[INFO] [stdout]    --> src/xss/reflect.rs:159:10
[INFO] [stdout]     |
[INFO] [stdout] 159 | async fn probe_post_parameter(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze_reflection_characteristics` is never used
[INFO] [stdout]    --> src/xss/reflect.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn analyze_reflection_characteristics(reflection: &ReflectionPoint) -> ReflectionCharacteristics {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReflectionCharacteristics` is never constructed
[INFO] [stdout]    --> src/xss/reflect.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct ReflectionCharacteristics {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `technique` and `context` are never read
[INFO] [stdout]   --> src/xss/payloads.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct XssPayload {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 10 |     pub value: String,
[INFO] [stdout] 11 |     pub technique: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 12 |     pub context: XssContext,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `XssPayload` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/xss/payloads.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct PayloadSet {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 17 |     pub payloads: Vec<XssPayload>,
[INFO] [stdout] 18 |     pub context: XssContext,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PayloadSet` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len` and `is_empty` are never used
[INFO] [stdout]   --> src/xss/payloads.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl PayloadSet {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn len(&mut self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_payloads_for_context` is never used
[INFO] [stdout]   --> src/xss/payloads.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn load_payloads_for_context(ctx: &XssContext) -> anyhow::Result<PayloadSet> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_polyglot_payloads` is never used
[INFO] [stdout]   --> src/xss/payloads.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn load_polyglot_payloads() -> anyhow::Result<PayloadSet> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_bypass_payloads` is never used
[INFO] [stdout]    --> src/xss/payloads.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn generate_bypass_payloads(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_encoding_bypasses` is never used
[INFO] [stdout]    --> src/xss/payloads.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn generate_encoding_bypasses(ctx: &XssContext) -> Vec<XssPayload> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_protocol_bypasses` is never used
[INFO] [stdout]    --> src/xss/payloads.rs:210:4
[INFO] [stdout]     |
[INFO] [stdout] 210 | fn generate_protocol_bypasses(ctx: &XssContext) -> Vec<XssPayload> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_case_bypasses` is never used
[INFO] [stdout]    --> src/xss/payloads.rs:240:4
[INFO] [stdout]     |
[INFO] [stdout] 240 | fn generate_case_bypasses(ctx: &XssContext) -> Vec<XssPayload> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prioritize_payloads` is never used
[INFO] [stdout]    --> src/xss/payloads.rs:261:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub fn prioritize_payloads(mut payload_set: PayloadSet, max_count: usize) -> Vec<XssPayload> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_markers` is never used
[INFO] [stdout]    --> src/xss/payloads.rs:315:8
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub fn load_markers() -> anyhow::Result<Vec<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `exploitable`, `reason`, `breakout_required`, and `csp_bypass_needed` are never read
[INFO] [stdout]   --> src/xss/validate.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct XssValidationResult {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout]  9 |     pub exploitable: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub reason: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 13 |     pub technical_details: String,
[INFO] [stdout] 14 |     pub breakout_required: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     pub csp_bypass_needed: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `XssValidationResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `test_stored` and `test_dom` are never read
[INFO] [stdout]   --> src/xss/engine.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct XssScanner {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 18 |     pub max_payloads_per_context: usize,
[INFO] [stdout] 19 |     pub test_stored: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 20 |     pub test_dom: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `scan`, `scan_endpoint`, and `test_reflection` are never used
[INFO] [stdout]    --> src/xss/engine.rs:39:18
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl XssScanner {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub async fn scan(
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     async fn scan_endpoint(
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     async fn test_reflection(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_cvss` is never used
[INFO] [stdout]    --> src/xss/engine.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn calculate_cvss(confidence: f32, severity: &crate::xss::validate::ExecutionSeverity) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_xss_description` is never used
[INFO] [stdout]    --> src/xss/engine.rs:306:4
[INFO] [stdout]     |
[INFO] [stdout] 306 | fn generate_xss_description(context: &XssContext, technique: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_xss_impact` is never used
[INFO] [stdout]    --> src/xss/engine.rs:322:4
[INFO] [stdout]     |
[INFO] [stdout] 322 | fn generate_xss_impact(severity: &crate::xss::validate::ExecutionSeverity) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_xss_remediation` is never used
[INFO] [stdout]    --> src/xss/engine.rs:343:4
[INFO] [stdout]     |
[INFO] [stdout] 343 | fn generate_xss_remediation() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]   --> src/xss/stored.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct StoredPayloadTracker {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub timestamp: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StoredPayloadTracker` 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: associated items `new` and `inject_markers` are never used
[INFO] [stdout]   --> src/xss/stored.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl StoredXssEngine {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 40 |     pub fn new(crawl_depth: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub async fn inject_markers(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlindXssProbe` is never constructed
[INFO] [stdout]   --> src/xss/blind.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct BlindXssProbe {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlindXssEngine` is never constructed
[INFO] [stdout]   --> src/xss/blind.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct BlindXssEngine {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `inject`, and `confirm_callback` are never used
[INFO] [stdout]   --> src/xss/blind.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl BlindXssEngine {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 27 |     pub fn new(callback_domain: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub async fn inject(
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn confirm_callback(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.63s
[INFO] running `Command { std: "docker" "inspect" "87cd4576dd48f7f113f46038f26c294158af7338e2b4a71d829666c0f8679b97", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "87cd4576dd48f7f113f46038f26c294158af7338e2b4a71d829666c0f8679b97", kill_on_drop: false }`
[INFO] [stdout] 87cd4576dd48f7f113f46038f26c294158af7338e2b4a71d829666c0f8679b97
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.94.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c8ed8485f2752d51402ee8650010195c9397facf6b955d32cca9f51c0babd369
[INFO] running `Command { std: "docker" "start" "-a" "c8ed8485f2752d51402ee8650010195c9397facf6b955d32cca9f51c0babd369", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/core/engine.rs:961:16
[INFO] [stderr]     |
[INFO] [stderr] 961 |             if (payload_lower.contains("onerror=") || payload_lower.contains("onload=") || 
[INFO] [stderr]     |                ^
[INFO] [stderr] 962 |                 payload_lower.contains("onfocus=") || payload_lower.contains("onmouseover=")) {
[INFO] [stderr]     |                                                                                             ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 961 ~             if payload_lower.contains("onerror=") || payload_lower.contains("onload=") || 
[INFO] [stderr] 962 ~                 payload_lower.contains("onfocus=") || payload_lower.contains("onmouseover=") {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `LOWER_RATIO_BOUND` and `UPPER_RATIO_BOUND`
[INFO] [stderr]  --> src/sqli/request/comparison.rs:3:52
[INFO] [stderr]   |
[INFO] [stderr] 3 | use super::super::core::settings::{DIFF_TOLERANCE, LOWER_RATIO_BOUND, UPPER_RATIO_BOUND};
[INFO] [stderr]   |                                                    ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `comparison`
[INFO] [stderr]  --> src/sqli/techniques/union/test.rs:4:37
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::sqli::request::{Request, comparison, page_ratio};
[INFO] [stderr]   |                                     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `find_position`, `find_union_char_count`, and `fingerprint_dbms`
[INFO] [stderr]  --> src/sqli/techniques/union/mod.rs:6:42
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub use test::{check_union, UnionVector, find_union_char_count, find_position, fingerprint_dbms};
[INFO] [stderr]   |                                          ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CHAR_START` and `CHAR_STOP`
[INFO] [stderr]  --> src/sqli/techniques/blind/inference.rs:3:31
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::sqli::core::{DBMS, CHAR_START, CHAR_STOP};
[INFO] [stderr]   |                               ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CHAR_START` and `CHAR_STOP`
[INFO] [stderr]  --> src/sqli/techniques/error/use.rs:3:31
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::sqli::core::{DBMS, CHAR_START, CHAR_STOP};
[INFO] [stderr]   |                               ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around index expression
[INFO] [stderr]    --> src/sqli/tamper/mod.rs:142:30
[INFO] [stderr]     |
[INFO] [stderr] 142 |         result.push(ALPHABET[(b0 >> 2)] as char);
[INFO] [stderr]     |                              ^       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 142 -         result.push(ALPHABET[(b0 >> 2)] as char);
[INFO] [stderr] 142 +         result.push(ALPHABET[b0 >> 2] as char);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Agent`, `CHAR_DELIMITER`, `CHAR_START`, `CHAR_STOP`, `NULL`, and `Queries`
[INFO] [stderr]   --> src/sqli/mod.rs:22:22
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub use core::{DBMS, Agent, Queries, CHAR_START, CHAR_STOP, CHAR_DELIMITER, NULL};
[INFO] [stderr]    |                      ^^^^^  ^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BlindVector`, `DnsVector`, `ErrorVector`, `check_dns_exfiltration`, `check_time_blind`, `dns_use`, `error_use`, `extract_string`, `get_current_user`, `get_databases_error`, `get_length`, `get_passwords`, `get_tables_error`, `get_users`, `get_version`, and `union_use`
[INFO] [stderr]   --> src/sqli/mod.rs:26:31
[INFO] [stderr]    |
[INFO] [stderr] 26 |     check_union, UnionVector, union_use, 
[INFO] [stderr]    |                               ^^^^^^^^^
[INFO] [stderr] 27 |     get_databases, get_tables, get_columns, dump_table,
[INFO] [stderr] 28 |     get_current_db, get_current_user, get_version, get_users, get_passwords,
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 29 |     // Blind
[INFO] [stderr] 30 |     check_boolean_blind, check_time_blind, BlindVector, extract_string, get_length,
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 31 |     // Error
[INFO] [stderr] 32 |     check_error_based, ErrorVector, error_use, get_databases_error, get_tables_error,
[INFO] [stderr]    |                        ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 33 |     // DNS/OOB
[INFO] [stderr] 34 |     check_dns_exfiltration, DnsVector, dns_use,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `detector::SsrfDetector`
[INFO] [stderr]   --> src/ssrf/mod.rs:39:9
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub use detector::SsrfDetector;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `EvidenceType`, `Evidence`, and `SsrfClassification`
[INFO] [stderr]   --> src/ssrf/mod.rs:40:20
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub use evidence::{Evidence, EvidenceType, SsrfClassification, SsrfResult};
[INFO] [stderr]    |                    ^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Html` and `Selector`
[INFO] [stderr]  --> src/xss/context.rs:4:15
[INFO] [stderr]   |
[INFO] [stderr] 4 | use scraper::{Html, Selector};
[INFO] [stderr]   |               ^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `would_break_context`
[INFO] [stderr]  --> src/xss/validate.rs:4:50
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::xss::context::{XssContext, QuoteType, would_break_context};
[INFO] [stderr]   |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Html` and `Selector`
[INFO] [stderr]  --> src/xss/validate.rs:5:15
[INFO] [stderr]   |
[INFO] [stderr] 5 | use scraper::{Html, Selector};
[INFO] [stderr]   |               ^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Html` and `Selector`
[INFO] [stderr]  --> src/xss/dom.rs:4:15
[INFO] [stderr]   |
[INFO] [stderr] 4 | use scraper::{Html, Selector};
[INFO] [stderr]   |               ^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]  --> src/xss/dom.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::collections::HashSet;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ContextAnalysis`, `QuoteType`, and `XssContext`
[INFO] [stderr]   --> src/xss/mod.rs:14:19
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub use context::{XssContext, ContextAnalysis, QuoteType};
[INFO] [stderr]    |                   ^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ReflectionDiscovery`, `ReflectionPoint`, and `discover_reflections`
[INFO] [stderr]   --> src/xss/mod.rs:15:19
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub use reflect::{ReflectionPoint, ReflectionDiscovery, discover_reflections};
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `PayloadSet`, `XssPayload`, and `load_payloads_for_context`
[INFO] [stderr]   --> src/xss/mod.rs:16:20
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub use payloads::{XssPayload, PayloadSet, load_payloads_for_context};
[INFO] [stderr]    |                    ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ExecutionSeverity`, `XssValidationResult`, and `validate_execution_likelihood`
[INFO] [stderr]   --> src/xss/mod.rs:17:20
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub use validate::{XssValidationResult, ExecutionSeverity, validate_execution_likelihood};
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `engine::XssScanner`
[INFO] [stderr]   --> src/xss/mod.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub use engine::XssScanner;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `stored::StoredXssEngine`
[INFO] [stderr]   --> src/xss/mod.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub use stored::StoredXssEngine;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DomXssFlow` and `analyze_dom_xss`
[INFO] [stderr]   --> src/xss/mod.rs:20:15
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub use dom::{DomXssFlow, analyze_dom_xss};
[INFO] [stderr]    |               ^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `blind::BlindXssEngine`
[INFO] [stderr]   --> src/xss/mod.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub use blind::BlindXssEngine;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `reporter`
[INFO] [stderr]    --> src/core/engine.rs:233:9
[INFO] [stderr]     |
[INFO] [stderr] 233 |         reporter: &mut crate::reporting::reporter::Reporter,
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reporter`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `total_width`
[INFO] [stderr]    --> src/core/engine.rs:293:21
[INFO] [stderr]     |
[INFO] [stderr] 293 |                 let total_width = content_width + 2; // +2 for the ║ borders
[INFO] [stderr]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_width`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `baseline`
[INFO] [stderr]   --> src/sqli/techniques/union/test.rs:95:54
[INFO] [stderr]    |
[INFO] [stderr] 95 | async fn union_null_technique(request: &Request<'_>, baseline: &str) -> Result<Option<usize>> {
[INFO] [stderr]    |                                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_baseline`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `client`
[INFO] [stderr]    --> src/core/engine.rs:488:9
[INFO] [stderr]     |
[INFO] [stderr] 488 |         client: &HttpClient,
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `marker`
[INFO] [stderr]    --> src/core/engine.rs:782:33
[INFO] [stderr]     |
[INFO] [stderr] 782 |             for (idx, (payload, marker, technique)) in xss_tests.iter().enumerate() {
[INFO] [stderr]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_marker`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `body_lower`
[INFO] [stderr]    --> src/core/engine.rs:800:29
[INFO] [stderr]     |
[INFO] [stderr] 800 |                         let body_lower = body.to_lowercase();
[INFO] [stderr]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_body_lower`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/xss/stored.rs:129:18
[INFO] [stderr]     |
[INFO] [stderr] 129 |             for (id, tracker) in &self.payloads {
[INFO] [stderr]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `severity_enum`
[INFO] [stderr]     --> src/core/engine.rs:1605:50
[INFO] [stderr]      |
[INFO] [stderr] 1605 |             let (severity_label, severity_color, severity_enum) = if flow.confidence >= 0.85 {
[INFO] [stderr]      |                                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_severity_enum`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param_name`
[INFO] [stderr]    --> src/core/engine.rs:916:66
[INFO] [stderr]     |
[INFO] [stderr] 916 |     fn verify_context_breakout(&self, body: &str, payload: &str, param_name: &str) -> (bool, String) {
[INFO] [stderr]     |                                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `technique`
[INFO] [stderr]    --> src/core/engine.rs:981:62
[INFO] [stderr]     |
[INFO] [stderr] 981 |     fn detect_interaction_requirements(&self, payload: &str, technique: &str) -> (bool, String) {
[INFO] [stderr]     |                                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_technique`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded_gt`
[INFO] [stderr]     --> src/core/engine.rs:1026:13
[INFO] [stderr]      |
[INFO] [stderr] 1026 |         let encoded_gt = payload.replace(">", "&gt;");
[INFO] [stderr]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_gt`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cvss_score`
[INFO] [stderr]     --> src/core/engine.rs:1127:13
[INFO] [stderr]      |
[INFO] [stderr] 1127 |         let cvss_score = if exploitability == "Confirmed XSS" && !requires_interaction {
[INFO] [stderr]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cvss_score`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `max_len`
[INFO] [stderr]   --> src/sqli/request/comparison.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 31 |     let max_len = len1.max(len2);
[INFO] [stderr]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_len`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `timestamp`
[INFO] [stderr]   --> src/ssrf/oob.rs:22:13
[INFO] [stderr]    |
[INFO] [stderr] 22 |         let timestamp = SystemTime::now()
[INFO] [stderr]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/ssrf/params.rs:166:26
[INFO] [stderr]     |
[INFO] [stderr] 166 |     fn get_reason(&self, name: &str, value: &str, name_score: f32, value_score: f32) -> String {
[INFO] [stderr]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `after`
[INFO] [stderr]    --> src/xss/context.rs:200:9
[INFO] [stderr]     |
[INFO] [stderr] 200 |     let after = &body[pos..];
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_after`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `marker`
[INFO] [stderr]    --> src/xss/reflect.rs:244:38
[INFO] [stderr]     |
[INFO] [stderr] 244 | fn detect_encoding_level(body: &str, marker: &str) -> EncodingLevel {
[INFO] [stderr]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_marker`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/xss/payloads.rs:261:28
[INFO] [stderr]     |
[INFO] [stderr] 261 | pub fn prioritize_payloads(mut payload_set: PayloadSet, max_count: usize) -> Vec<XssPayload> {
[INFO] [stderr]     |                            ----^^^^^^^^^^^
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `response_body`
[INFO] [stderr]    --> src/xss/validate.rs:307:31
[INFO] [stderr]     |
[INFO] [stderr] 307 | fn validate_js_code_execution(response_body: &str, payload: &str) -> XssValidationResult {
[INFO] [stderr]     |                               ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_body`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `payload`
[INFO] [stderr]    --> src/xss/validate.rs:307:52
[INFO] [stderr]     |
[INFO] [stderr] 307 | fn validate_js_code_execution(response_body: &str, payload: &str) -> XssValidationResult {
[INFO] [stderr]     |                                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `response_body`
[INFO] [stderr]    --> src/xss/validate.rs:321:5
[INFO] [stderr]     |
[INFO] [stderr] 321 |     response_body: &str,
[INFO] [stderr]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_body`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `response_body`
[INFO] [stderr]    --> src/xss/validate.rs:419:28
[INFO] [stderr]     |
[INFO] [stderr] 419 | fn validate_json_execution(response_body: &str, payload: &str) -> XssValidationResult {
[INFO] [stderr]     |                            ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_body`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `payload`
[INFO] [stderr]    --> src/xss/validate.rs:419:49
[INFO] [stderr]     |
[INFO] [stderr] 419 | fn validate_json_execution(response_body: &str, payload: &str) -> XssValidationResult {
[INFO] [stderr]     |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `payload`
[INFO] [stderr]    --> src/xss/validate.rs:517:37
[INFO] [stderr]     |
[INFO] [stderr] 517 | fn is_script_tag_intact(body: &str, payload: &str) -> bool {
[INFO] [stderr]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `html`
[INFO] [stderr]   --> src/xss/dom.rs:29:24
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub fn analyze_dom_xss(html: &str, js_code: &str) -> Vec<DomXssFlow> {
[INFO] [stderr]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_html`
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_exploit` is never used
[INFO] [stderr]   --> src/core/capability.rs:45:12
[INFO] [stderr]    |
[INFO] [stderr] 31 | impl Capability {
[INFO] [stderr]    | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub fn is_exploit(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `start` and `stop` are never read
[INFO] [stderr]   --> src/core/context.rs:24:9
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct EnumerationConfig {
[INFO] [stderr]    |            ----------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 24 |     pub start: usize,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 25 |     pub stop: Option<usize>,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `EnumerationConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> src/core/context.rs:53:9
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub struct Context {
[INFO] [stderr]    |            ------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 53 |     pub quiet: bool,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 57 |     pub sqli_config: SqliConfig,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 66 |     pub post_data: Option<String>,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 70 |     pub extra_data: Option<String>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 74 |     pub threshold: f32,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 75 |     pub risk: u8,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 76 |     pub level: u8,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 77 |     pub technique: String,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 78 |     pub threads: usize,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 79 |     // Injection customization
[INFO] [stderr] 80 |     pub prefix: Option<String>,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 81 |     pub suffix: Option<String>,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `minimal`, `sqli_all`, `exploit`, `disable`, and `has_exploit` are never used
[INFO] [stderr]   --> src/core/profile.rs:39:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | impl ScanProfile {
[INFO] [stderr]    | ---------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 39 |     pub fn minimal() -> Self {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 47 |     pub fn sqli_all() -> Self {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 |     pub fn exploit() -> Self {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 76 |     pub fn disable(&mut self, cap: Capability) {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 91 |     pub fn has_exploit(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `with_cookies` and `send` are never used
[INFO] [stderr]    --> src/http/client.rs:38:12
[INFO] [stderr]     |
[INFO] [stderr]  21 | impl HttpClient {
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  38 |     pub fn with_cookies(scope: Scope, limiter: RateLimiter, cookies: &str) -> Result<Self> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 139 |     pub async fn send(&self, req: HttpRequest) -> Result<HttpResponse> {
[INFO] [stderr]     |                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `set_body`, `set_body_bytes`, `set_header`, `post`, and `inject_payload` are never used
[INFO] [stderr]   --> src/http/request.rs:24:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl HttpRequest {
[INFO] [stderr]    | ---------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 24 |     pub fn set_body(&mut self, body: String) {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 29 |     pub fn set_body_bytes(&mut self, body: Vec<u8>) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 34 |     pub fn set_header(&mut self, name: &str, value: &str) {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |     pub fn post(url: Url, body: String) -> Self {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 55 |     pub fn inject_payload(&mut self, payload: &str) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PayloadSet` is never constructed
[INFO] [stderr]  --> src/payload/loader.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct PayloadSet {
[INFO] [stderr]   |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `load_payloads` is never used
[INFO] [stderr]   --> src/payload/loader.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub fn load_payloads<P: AsRef<Path>>(path: P) -> anyhow::Result<PayloadSet> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PayloadIterator` is never constructed
[INFO] [stderr]  --> src/payload/iterator.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct PayloadIterator {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]  --> src/payload/iterator.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | impl PayloadIterator {
[INFO] [stderr]   | -------------------- associated function in this implementation
[INFO] [stderr] 9 |     pub fn new(set: PayloadSet) -> Self {
[INFO] [stderr]   |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `DatabaseType` is never used
[INFO] [stderr]   --> src/sqli/mod.rs:42:10
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub type DatabaseType = DBMS;
[INFO] [stderr]    |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Error`, `Time`, `Stacked`, and `Inline` are never constructed
[INFO] [stderr]   --> src/sqli/mod.rs:49:5
[INFO] [stderr]    |
[INFO] [stderr] 46 | pub enum SqliTechnique {
[INFO] [stderr]    |          ------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 49 |     Error,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 50 |     Time,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 51 |     TimeBased,  // Alias for Time
[INFO] [stderr] 52 |     Stacked,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 53 |     Inline,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SqliTechnique` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `techniques`, `level`, and `risk` are never read
[INFO] [stderr]   --> src/sqli/mod.rs:72:9
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub struct SqliConfig {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 72 |     pub techniques: Vec<SqliTechnique>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 73 |     pub level: u8,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 74 |     pub risk: u8,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SqliConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DIFF_TOLERANCE` is never used
[INFO] [stderr]  --> src/sqli/core/settings.rs:4:11
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub const DIFF_TOLERANCE: f64 = 0.05;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CONSTANT_RATIO` is never used
[INFO] [stderr]  --> src/sqli/core/settings.rs:5:11
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub const CONSTANT_RATIO: f64 = 0.9;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LOWER_RATIO_BOUND` is never used
[INFO] [stderr]  --> src/sqli/core/settings.rs:8:11
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub const LOWER_RATIO_BOUND: f64 = 0.02;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `UPPER_RATIO_BOUND` is never used
[INFO] [stderr]  --> src/sqli/core/settings.rs:9:11
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub const UPPER_RATIO_BOUND: f64 = 0.98;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MIN_RATIO` is never used
[INFO] [stderr]   --> src/sqli/core/settings.rs:12:11
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub const MIN_RATIO: f64 = 0.0;
[INFO] [stderr]    |           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MAX_RATIO` is never used
[INFO] [stderr]   --> src/sqli/core/settings.rs:13:11
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub const MAX_RATIO: f64 = 1.0;
[INFO] [stderr]    |           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MIN_UNION_RESPONSES` is never used
[INFO] [stderr]   --> src/sqli/core/settings.rs:23:11
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub const MIN_UNION_RESPONSES: usize = 5;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `UNION_MIN_RESPONSE_CHARS` is never used
[INFO] [stderr]   --> src/sqli/core/settings.rs:24:11
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub const UNION_MIN_RESPONSE_CHARS: usize = 10;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `UNION_STDEV_COEFF` is never used
[INFO] [stderr]   --> src/sqli/core/settings.rs:25:11
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub const UNION_STDEV_COEFF: f64 = 7.0;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MIN_STATISTICAL_RANGE` is never used
[INFO] [stderr]   --> src/sqli/core/settings.rs:26:11
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub const MIN_STATISTICAL_RANGE: f64 = 0.01;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ORDER_BY_ERROR_PATTERNS` is never used
[INFO] [stderr]   --> src/sqli/core/settings.rs:34:11
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub const ORDER_BY_ERROR_PATTERNS: &[&str] = &[
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `COLUMN_MISMATCH_PATTERNS` is never used
[INFO] [stderr]   --> src/sqli/core/settings.rs:43:11
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub const COLUMN_MISMATCH_PATTERNS: &[&str] = &[
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Oracle`, `SQLite`, and `Access` are never constructed
[INFO] [stderr]   --> src/sqli/core/enums.rs:9:5
[INFO] [stderr]    |
[INFO] [stderr]  5 | pub enum DBMS {
[INFO] [stderr]    |          ---- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr]  9 |     Oracle,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 10 |     SQLite,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 11 |     Access,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DBMS` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: enum `PayloadWhere` is never used
[INFO] [stderr]   --> src/sqli/core/enums.rs:31:10
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub enum PayloadWhere {
[INFO] [stderr]    |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Technique` is never used
[INFO] [stderr]   --> src/sqli/core/enums.rs:39:10
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub enum Technique {
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Agent` is never constructed
[INFO] [stderr]  --> src/sqli/core/agent.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct Agent {
[INFO] [stderr]   |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `concat_field`, `concat_fields`, `forge_union_query`, and `payload` are never used
[INFO] [stderr]    --> src/sqli/core/agent.rs:15:12
[INFO] [stderr]     |
[INFO] [stderr]  14 | impl Agent {
[INFO] [stderr]     | ---------- associated items in this implementation
[INFO] [stderr]  15 |     pub fn new(dbms: DBMS) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  36 |     pub fn concat_field(&self, field: &str) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  66 |     pub fn concat_fields(&self, fields: &[&str]) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  99 |     pub fn forge_union_query(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 119 |     pub fn payload(&self, query: &str, where_type: super::enums::PayloadWhere) -> String {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `current_user`, `version`, `count`, `users`, `passwords`, and `from_dummy` are never used
[INFO] [stderr]    --> src/sqli/core/queries.rs:28:12
[INFO] [stderr]     |
[INFO] [stderr]  10 | impl Queries {
[INFO] [stderr]     | ------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  28 |     pub fn current_user(&self) -> &'static str {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  40 |     pub fn version(&self) -> &'static str {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 151 |     pub fn count(&self, database: &str, table: &str) -> String {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 200 |     pub fn users(&self) -> &'static str {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 220 |     pub fn passwords(&self) -> &'static str {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 240 |     pub fn from_dummy(&self) -> Option<&'static str> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `comparison` is never used
[INFO] [stderr]   --> src/sqli/request/comparison.rs:37:8
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub fn comparison(page1: &str, page2: &str, ratio_threshold: Option<f64>) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_ratio` is never used
[INFO] [stderr]   --> src/sqli/request/comparison.rs:44:8
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub fn get_ratio(page: &str, baseline: &str) -> f64 {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_true_ratio` is never used
[INFO] [stderr]   --> src/sqli/request/comparison.rs:49:8
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub fn is_true_ratio(ratio: f64, match_ratio: f64) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_false_ratio` is never used
[INFO] [stderr]   --> src/sqli/request/comparison.rs:54:8
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub fn is_false_ratio(ratio: f64, match_ratio: f64) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `remove_dynamic_content` is never used
[INFO] [stderr]    --> src/sqli/request/comparison.rs:105:8
[INFO] [stderr]     |
[INFO] [stderr] 105 | pub fn remove_dynamic_content(page: &str) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `query_page_full` is never used
[INFO] [stderr]   --> src/sqli/request/connect.rs:58:18
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl<'a> Request<'a> {
[INFO] [stderr]    | -------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 58 |     pub async fn query_page_full(&self, payload: &str) -> Result<(String, u16, usize)> {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `char` is never read
[INFO] [stderr]   --> src/sqli/techniques/union/test.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct UnionVector {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 15 |     pub char: String,      // Character to use (NULL or specific)
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `UnionVector` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `extract_result` is never used
[INFO] [stderr]    --> src/sqli/techniques/union/use.rs:211:4
[INFO] [stderr]     |
[INFO] [stderr] 211 | fn extract_result(page: &str) -> Option<String> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_current_user` is never used
[INFO] [stderr]    --> src/sqli/techniques/union/use.rs:334:14
[INFO] [stderr]     |
[INFO] [stderr] 334 | pub async fn get_current_user(request: &Request<'_>, vector: &UnionVector) -> Result<String> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_version` is never used
[INFO] [stderr]    --> src/sqli/techniques/union/use.rs:342:14
[INFO] [stderr]     |
[INFO] [stderr] 342 | pub async fn get_version(request: &Request<'_>, vector: &UnionVector) -> Result<String> {
[INFO] [stderr]     |              ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_users` is never used
[INFO] [stderr]    --> src/sqli/techniques/union/use.rs:350:14
[INFO] [stderr]     |
[INFO] [stderr] 350 | pub async fn get_users(request: &Request<'_>, vector: &UnionVector) -> Result<Vec<String>> {
[INFO] [stderr]     |              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_passwords` is never used
[INFO] [stderr]    --> src/sqli/techniques/union/use.rs:357:14
[INFO] [stderr]     |
[INFO] [stderr] 357 | pub async fn get_passwords(request: &Request<'_>, vector: &UnionVector) -> Result<Vec<(String, String)>> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> src/sqli/techniques/blind/inference.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct BlindVector {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] 11 |     pub dbms: DBMS,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 12 |     pub prefix: String,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 13 |     pub suffix: String,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 14 |     pub true_code: String,    // Payload that returns true
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 15 |     pub false_code: String,   // Payload that returns false
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 16 |     pub time_based: bool,     // Use time-based instead of boolean
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 17 |     pub delay: u64,           // Delay in seconds for time-based
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BlindVector` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `check_time_blind` is never used
[INFO] [stderr]   --> src/sqli/techniques/blind/inference.rs:68:14
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub async fn check_time_blind(request: &Request<'_>) -> Result<Option<BlindVector>> {
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `extract_char_boolean` is never used
[INFO] [stderr]    --> src/sqli/techniques/blind/inference.rs:114:14
[INFO] [stderr]     |
[INFO] [stderr] 114 | pub async fn extract_char_boolean(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `extract_char_time` is never used
[INFO] [stderr]    --> src/sqli/techniques/blind/inference.rs:167:14
[INFO] [stderr]     |
[INFO] [stderr] 167 | pub async fn extract_char_time(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `extract_string` is never used
[INFO] [stderr]    --> src/sqli/techniques/blind/inference.rs:216:14
[INFO] [stderr]     |
[INFO] [stderr] 216 | pub async fn extract_string(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_length` is never used
[INFO] [stderr]    --> src/sqli/techniques/blind/inference.rs:245:14
[INFO] [stderr]     |
[INFO] [stderr] 245 | pub async fn get_length(
[INFO] [stderr]     |              ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `prefix`, `suffix`, and `payload_template` are never read
[INFO] [stderr]   --> src/sqli/techniques/error/use.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct ErrorVector {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] 11 |     pub dbms: DBMS,
[INFO] [stderr] 12 |     pub prefix: String,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 13 |     pub suffix: String,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 14 |     pub payload_template: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ErrorVector` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `error_use` is never used
[INFO] [stderr]    --> src/sqli/techniques/error/use.rs:123:14
[INFO] [stderr]     |
[INFO] [stderr] 123 | pub async fn error_use(
[INFO] [stderr]     |              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_databases_error` is never used
[INFO] [stderr]    --> src/sqli/techniques/error/use.rs:137:14
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub async fn get_databases_error(request: &Request<'_>, vector: &ErrorVector) -> Result<Vec<String>> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_tables_error` is never used
[INFO] [stderr]    --> src/sqli/techniques/error/use.rs:159:14
[INFO] [stderr]     |
[INFO] [stderr] 159 | pub async fn get_tables_error(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DnsVector` is never constructed
[INFO] [stderr]  --> src/sqli/techniques/dns/test.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub struct DnsVector {
[INFO] [stderr]   |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `check_dns_exfiltration` is never used
[INFO] [stderr]   --> src/sqli/techniques/dns/test.rs:17:14
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub async fn check_dns_exfiltration(
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `dns_use` is never used
[INFO] [stderr]   --> src/sqli/techniques/dns/test.rs:49:14
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub async fn dns_use(
[INFO] [stderr]    |              ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `TamperFn` is never used
[INFO] [stderr]  --> src/sqli/tamper/mod.rs:6:10
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub type TamperFn = fn(&str) -> String;
[INFO] [stderr]   |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_tamper` is never used
[INFO] [stderr]  --> src/sqli/tamper/mod.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub fn get_tamper(name: &str) -> Option<TamperFn> {
[INFO] [stderr]   |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `list_tampers` is never used
[INFO] [stderr]   --> src/sqli/tamper/mod.rs:34:8
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub fn list_tampers() -> Vec<(&'static str, &'static str)> {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `space2comment` is never used
[INFO] [stderr]   --> src/sqli/tamper/mod.rs:58:8
[INFO] [stderr]    |
[INFO] [stderr] 58 | pub fn space2comment(payload: &str) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `space2hash` is never used
[INFO] [stderr]   --> src/sqli/tamper/mod.rs:63:8
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub fn space2hash(payload: &str) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `space2mssqlhash` is never used
[INFO] [stderr]   --> src/sqli/tamper/mod.rs:68:8
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub fn space2mssqlhash(payload: &str) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `space2plus` is never used
[INFO] [stderr]   --> src/sqli/tamper/mod.rs:73:8
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub fn space2plus(payload: &str) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `space2randomblank` is never used
[INFO] [stderr]   --> src/sqli/tamper/mod.rs:78:8
[INFO] [stderr]    |
[INFO] [stderr] 78 | pub fn space2randomblank(payload: &str) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `between` is never used
[INFO] [stderr]   --> src/sqli/tamper/mod.rs:93:8
[INFO] [stderr]    |
[INFO] [stderr] 93 | pub fn between(payload: &str) -> String {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `randomcase` is never used
[INFO] [stderr]   --> src/sqli/tamper/mod.rs:98:8
[INFO] [stderr]    |
[INFO] [stderr] 98 | pub fn randomcase(payload: &str) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `charencode` is never used
[INFO] [stderr]    --> src/sqli/tamper/mod.rs:113:8
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub fn charencode(payload: &str) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `chardoubleencode` is never used
[INFO] [stderr]    --> src/sqli/tamper/mod.rs:124:8
[INFO] [stderr]     |
[INFO] [stderr] 124 | pub fn chardoubleencode(payload: &str) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `base64encode` is never used
[INFO] [stderr]    --> src/sqli/tamper/mod.rs:131:8
[INFO] [stderr]     |
[INFO] [stderr] 131 | pub fn base64encode(payload: &str) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `appendnullbyte` is never used
[INFO] [stderr]    --> src/sqli/tamper/mod.rs:162:8
[INFO] [stderr]     |
[INFO] [stderr] 162 | pub fn appendnullbyte(payload: &str) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `percentage` is never used
[INFO] [stderr]    --> src/sqli/tamper/mod.rs:167:8
[INFO] [stderr]     |
[INFO] [stderr] 167 | pub fn percentage(payload: &str) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `uppercase` is never used
[INFO] [stderr]    --> src/sqli/tamper/mod.rs:172:8
[INFO] [stderr]     |
[INFO] [stderr] 172 | pub fn uppercase(payload: &str) -> String {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `lowercase` is never used
[INFO] [stderr]    --> src/sqli/tamper/mod.rs:177:8
[INFO] [stderr]     |
[INFO] [stderr] 177 | pub fn lowercase(payload: &str) -> String {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `equaltolike` is never used
[INFO] [stderr]    --> src/sqli/tamper/mod.rs:182:8
[INFO] [stderr]     |
[INFO] [stderr] 182 | pub fn equaltolike(payload: &str) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `greatest` is never used
[INFO] [stderr]    --> src/sqli/tamper/mod.rs:187:8
[INFO] [stderr]     |
[INFO] [stderr] 187 | pub fn greatest(payload: &str) -> String {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `multiplespaces` is never used
[INFO] [stderr]    --> src/sqli/tamper/mod.rs:193:8
[INFO] [stderr]     |
[INFO] [stderr] 193 | pub fn multiplespaces(payload: &str) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `nonrecursivereplacement` is never used
[INFO] [stderr]    --> src/sqli/tamper/mod.rs:207:8
[INFO] [stderr]     |
[INFO] [stderr] 207 | pub fn nonrecursivereplacement(payload: &str) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `apply_tampers` is never used
[INFO] [stderr]    --> src/sqli/tamper/mod.rs:226:8
[INFO] [stderr]     |
[INFO] [stderr] 226 | pub fn apply_tampers(payload: &str, tampers: &[&str]) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SqlShell` is never constructed
[INFO] [stderr]   --> src/sqli/shell.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct SqlShell<'a> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `run`, `execute_query`, `print_help`, and `print_info` are never used
[INFO] [stderr]    --> src/sqli/shell.rs:19:12
[INFO] [stderr]     |
[INFO] [stderr]  18 | impl<'a> SqlShell<'a> {
[INFO] [stderr]     | --------------------- associated items in this implementation
[INFO] [stderr]  19 |     pub fn new(client: &'a HttpClient, url: Url, parameter: String, vector: UnionVector) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  29 |     pub async fn run(&self) -> Result<()> {
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] ...
[INFO] [stderr]  82 |     async fn execute_query(&self, query: &str) -> Result<Vec<String>> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  95 |     fn print_help(&self) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 111 |     fn print_info(&self) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FileAccess` is never constructed
[INFO] [stderr]   --> src/sqli/file_access.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct FileAccess<'a> {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `read_file`, `write_file`, and `common_files` are never used
[INFO] [stderr]    --> src/sqli/file_access.rs:19:12
[INFO] [stderr]     |
[INFO] [stderr]  18 | impl<'a> FileAccess<'a> {
[INFO] [stderr]     | ----------------------- associated items in this implementation
[INFO] [stderr]  19 |     pub fn new(client: &'a HttpClient, url: Url, parameter: String, vector: UnionVector) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  29 |     pub async fn read_file(&self, filepath: &str) -> Result<Option<String>> {
[INFO] [stderr]     |                  ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  63 |     pub async fn write_file(&self, filepath: &str, content: &str) -> Result<bool> {
[INFO] [stderr]     |                  ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 104 |     pub fn common_files() -> Vec<&'static str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `OsShell` is never constructed
[INFO] [stderr]   --> src/sqli/os_shell.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct OsShell<'a> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `execute_command`, `run`, and `enable_xp_cmdshell` are never used
[INFO] [stderr]    --> src/sqli/os_shell.rs:20:12
[INFO] [stderr]     |
[INFO] [stderr]  19 | impl<'a> OsShell<'a> {
[INFO] [stderr]     | -------------------- associated items in this implementation
[INFO] [stderr]  20 |     pub fn new(client: &'a HttpClient, url: Url, parameter: String, vector: UnionVector) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  30 |     pub async fn execute_command(&self, command: &str) -> Result<Option<String>> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  76 |     pub async fn run(&self) -> Result<()> {
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] ...
[INFO] [stderr] 132 |     pub async fn enable_xp_cmdshell(&self) -> Result<bool> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_php_shell` is never used
[INFO] [stderr]    --> src/sqli/os_shell.rs:154:8
[INFO] [stderr]     |
[INFO] [stderr] 154 | pub fn generate_php_shell() -> &'static str {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `common_webshell_paths` is never used
[INFO] [stderr]    --> src/sqli/os_shell.rs:159:8
[INFO] [stderr]     |
[INFO] [stderr] 159 | pub fn common_webshell_paths() -> Vec<&'static str> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `test_internal`, `test_metadata`, `test_schemes`, `external_timeout`, and `internal_timeout` are never read
[INFO] [stderr]   --> src/ssrf/mod.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub struct SsrfConfig {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 50 |     pub test_internal: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 53 |     pub test_metadata: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 56 |     pub test_schemes: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 59 |     pub external_timeout: u64,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62 |     pub internal_timeout: u64,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SsrfConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `ResponseBehaviorDiff`, `DnsResolution`, and `ParameterControl` are never constructed
[INFO] [stderr]   --> src/ssrf/evidence.rs:40:5
[INFO] [stderr]    |
[INFO] [stderr]  7 | pub enum EvidenceType {
[INFO] [stderr]    |          ------------ variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 40 |     ResponseBehaviorDiff {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 47 |     DnsResolution {
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 53 |     ParameterControl {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `EvidenceType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `evidence_type` is never read
[INFO] [stderr]    --> src/ssrf/evidence.rs:144:9
[INFO] [stderr]     |
[INFO] [stderr] 143 | pub struct Evidence {
[INFO] [stderr]     |            -------- field in this struct
[INFO] [stderr] 144 |     pub evidence_type: EvidenceType,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Evidence` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: enum `NegativeEvidence` is never used
[INFO] [stderr]    --> src/ssrf/evidence.rs:161:10
[INFO] [stderr]     |
[INFO] [stderr] 161 | pub enum NegativeEvidence {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SsrfNegativeResult` is never constructed
[INFO] [stderr]    --> src/ssrf/evidence.rs:248:12
[INFO] [stderr]     |
[INFO] [stderr] 248 | pub struct SsrfNegativeResult {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `generate_dns_callback` is never used
[INFO] [stderr]   --> src/ssrf/oob.rs:31:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl OobCallbackGenerator {
[INFO] [stderr]    | ------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 31 |     pub fn generate_dns_callback(&self, identifier: &str) -> String {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `callback_domain` is never read
[INFO] [stderr]   --> src/ssrf/oob.rs:75:9
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub struct OobCallbackListener {
[INFO] [stderr]    |            ------------------- field in this struct
[INFO] [stderr] 75 |     pub callback_domain: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `OobCallbackListener` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `identify_from_post_data` is never used
[INFO] [stderr]   --> src/ssrf/params.rs:87:12
[INFO] [stderr]    |
[INFO] [stderr] 49 | impl SsrfParamIdentifier {
[INFO] [stderr]    | ------------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 87 |     pub fn identify_from_post_data(&self, data: &str) -> Vec<SsrfCandidate> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_medium_priority` is never used
[INFO] [stderr]    --> src/ssrf/params.rs:211:12
[INFO] [stderr]     |
[INFO] [stderr] 204 | impl SsrfCandidate {
[INFO] [stderr]     | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 211 |     pub fn is_medium_priority(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `INTERNAL_PORTS` is never used
[INFO] [stderr]   --> src/ssrf/probes.rs:81:11
[INFO] [stderr]    |
[INFO] [stderr] 81 | pub const INTERNAL_PORTS: &[u16] = &[
[INFO] [stderr]    |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `generate_internal_ip_port_probes` and `generate_smuggling_probes` are never used
[INFO] [stderr]    --> src/ssrf/probes.rs:122:12
[INFO] [stderr]     |
[INFO] [stderr]  98 | impl SsrfProbeGenerator {
[INFO] [stderr]     | ----------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 122 |     pub fn generate_internal_ip_port_probes(&self) -> Vec<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 222 |     pub fn generate_smuggling_probes(&self, target: &str) -> Vec<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `ProtocolSmuggling` is never constructed
[INFO] [stderr]    --> src/ssrf/probes.rs:321:5
[INFO] [stderr]     |
[INFO] [stderr] 304 | pub enum SsrfProbeType {
[INFO] [stderr]     |          ------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 321 |     ProtocolSmuggling,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `SsrfProbeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `config` is never read
[INFO] [stderr]   --> src/ssrf/scanner.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct SsrfScanner {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] 13 |     config: SsrfConfig,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `with_oob_callback`, `with_threshold`, `with_internal_testing`, `with_metadata_testing`, and `with_scheme_testing` are never used
[INFO] [stderr]    --> src/ssrf/scanner.rs:147:12
[INFO] [stderr]     |
[INFO] [stderr] 145 | impl SsrfConfig {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] 146 |     /// Set OOB callback domain
[INFO] [stderr] 147 |     pub fn with_oob_callback(mut self, callback: Option<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 153 |     pub fn with_threshold(mut self, threshold: f32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 159 |     pub fn with_internal_testing(mut self, enabled: bool) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 165 |     pub fn with_metadata_testing(mut self, enabled: bool) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 171 |     pub fn with_scheme_testing(mut self, enabled: bool) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `status`, `body_len`, `body_hash`, and `elapsed_ms` are never read
[INFO] [stderr]  --> src/validation/baseline.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct Baseline {
[INFO] [stderr]   |            -------- fields in this struct
[INFO] [stderr] 5 |     pub status: u16,
[INFO] [stderr]   |         ^^^^^^
[INFO] [stderr] 6 |     pub body_len: usize,
[INFO] [stderr]   |         ^^^^^^^^
[INFO] [stderr] 7 |     pub body_hash: String,
[INFO] [stderr]   |         ^^^^^^^^^
[INFO] [stderr] 8 |     pub elapsed_ms: u128,
[INFO] [stderr]   |         ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Baseline` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DiffResult` is never constructed
[INFO] [stderr]  --> src/validation/diff.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct DiffResult {
[INFO] [stderr]   |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `diff` is never used
[INFO] [stderr]   --> src/validation/diff.rs:11:8
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub fn diff(baseline: &Baseline, resp: &HttpResponse) -> DiffResult {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Verdict` is never constructed
[INFO] [stderr]  --> src/validation/verdict.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct Verdict {
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `evaluate` is never used
[INFO] [stderr]  --> src/validation/verdict.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub fn evaluate(diff: &DiffResult) -> Verdict {
[INFO] [stderr]   |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LatencyProfile` is never constructed
[INFO] [stderr]  --> src/validation/time_sqli.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct LatencyProfile {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TimeSqlResult` is never constructed
[INFO] [stderr]   --> src/validation/time_sqli.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct TimeSqlResult {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TimeBasedSqlEngine` is never constructed
[INFO] [stderr]   --> src/validation/time_sqli.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct TimeBasedSqlEngine {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `measure_baseline`, `measure_injected`, `decide`, and `delay_payload` are never used
[INFO] [stderr]    --> src/validation/time_sqli.rs:28:12
[INFO] [stderr]     |
[INFO] [stderr]  27 | impl TimeBasedSqlEngine {
[INFO] [stderr]     | ----------------------- associated items in this implementation
[INFO] [stderr]  28 |     pub fn new(samples: usize, delay_seconds: u64) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  38 |     pub async fn measure_baseline(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  57 |     pub async fn measure_injected(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  81 |     pub fn decide(
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 106 |     fn delay_payload(&self) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `classify_signal` is never used
[INFO] [stderr]    --> src/validation/time_sqli.rs:117:4
[INFO] [stderr]     |
[INFO] [stderr] 117 | fn classify_signal(signal_ratio: f64) -> (bool, f32) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `build_profile` is never used
[INFO] [stderr]    --> src/validation/time_sqli.rs:129:4
[INFO] [stderr]     |
[INFO] [stderr] 129 | fn build_profile(samples: Vec<u128>) -> LatencyProfile {
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `calculate_mean` is never used
[INFO] [stderr]    --> src/validation/time_sqli.rs:140:4
[INFO] [stderr]     |
[INFO] [stderr] 140 | fn calculate_mean(samples: &[u128]) -> f64 {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `calculate_variance` is never used
[INFO] [stderr]    --> src/validation/time_sqli.rs:145:4
[INFO] [stderr]     |
[INFO] [stderr] 145 | fn calculate_variance(samples: &[u128], mean: f64) -> f64 {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `confidence`, `marker_position`, `surrounding_html`, and `waf_signatures` are never read
[INFO] [stderr]   --> src/xss/context.rs:63:9
[INFO] [stderr]    |
[INFO] [stderr] 61 | pub struct ContextAnalysis {
[INFO] [stderr]    |            --------------- fields in this struct
[INFO] [stderr] 62 |     pub context: XssContext,
[INFO] [stderr] 63 |     pub confidence: f32,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 64 |     pub marker_position: Vec<usize>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 65 |     pub surrounding_html: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 66 |     pub encoding_detected: bool,
[INFO] [stderr] 67 |     pub waf_signatures: Vec<String>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ContextAnalysis` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `would_break_context` is never used
[INFO] [stderr]    --> src/xss/context.rs:372:8
[INFO] [stderr]     |
[INFO] [stderr] 372 | pub fn would_break_context(context: &XssContext, payload: &str) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ReflectionPoint` is never constructed
[INFO] [stderr]   --> src/xss/reflect.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct ReflectionPoint {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ReflectionDiscovery` is never constructed
[INFO] [stderr]   --> src/xss/reflect.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct ReflectionDiscovery {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `discover_reflections` is never used
[INFO] [stderr]   --> src/xss/reflect.rs:29:14
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub async fn discover_reflections(
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `probe_parameter` is never used
[INFO] [stderr]   --> src/xss/reflect.rs:67:10
[INFO] [stderr]    |
[INFO] [stderr] 67 | async fn probe_parameter(
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `discover_post_reflections` is never used
[INFO] [stderr]    --> src/xss/reflect.rs:125:14
[INFO] [stderr]     |
[INFO] [stderr] 125 | pub async fn discover_post_reflections(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `probe_post_parameter` is never used
[INFO] [stderr]    --> src/xss/reflect.rs:159:10
[INFO] [stderr]     |
[INFO] [stderr] 159 | async fn probe_post_parameter(
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `analyze_reflection_characteristics` is never used
[INFO] [stderr]    --> src/xss/reflect.rs:210:8
[INFO] [stderr]     |
[INFO] [stderr] 210 | pub fn analyze_reflection_characteristics(reflection: &ReflectionPoint) -> ReflectionCharacteristics {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ReflectionCharacteristics` is never constructed
[INFO] [stderr]    --> src/xss/reflect.rs:228:12
[INFO] [stderr]     |
[INFO] [stderr] 228 | pub struct ReflectionCharacteristics {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `technique` and `context` are never read
[INFO] [stderr]   --> src/xss/payloads.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub struct XssPayload {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 10 |     pub value: String,
[INFO] [stderr] 11 |     pub technique: String,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 12 |     pub context: XssContext,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `XssPayload` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `context` is never read
[INFO] [stderr]   --> src/xss/payloads.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub struct PayloadSet {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] 17 |     pub payloads: Vec<XssPayload>,
[INFO] [stderr] 18 |     pub context: XssContext,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `PayloadSet` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `len` and `is_empty` are never used
[INFO] [stderr]   --> src/xss/payloads.rs:33:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | impl PayloadSet {
[INFO] [stderr]    | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 33 |     pub fn len(&mut self) -> usize {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `load_payloads_for_context` is never used
[INFO] [stderr]   --> src/xss/payloads.rs:43:8
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub fn load_payloads_for_context(ctx: &XssContext) -> anyhow::Result<PayloadSet> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `load_polyglot_payloads` is never used
[INFO] [stderr]   --> src/xss/payloads.rs:69:8
[INFO] [stderr]    |
[INFO] [stderr] 69 | pub fn load_polyglot_payloads() -> anyhow::Result<PayloadSet> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_bypass_payloads` is never used
[INFO] [stderr]    --> src/xss/payloads.rs:104:8
[INFO] [stderr]     |
[INFO] [stderr] 104 | pub fn generate_bypass_payloads(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_encoding_bypasses` is never used
[INFO] [stderr]    --> src/xss/payloads.rs:131:4
[INFO] [stderr]     |
[INFO] [stderr] 131 | fn generate_encoding_bypasses(ctx: &XssContext) -> Vec<XssPayload> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_protocol_bypasses` is never used
[INFO] [stderr]    --> src/xss/payloads.rs:210:4
[INFO] [stderr]     |
[INFO] [stderr] 210 | fn generate_protocol_bypasses(ctx: &XssContext) -> Vec<XssPayload> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_case_bypasses` is never used
[INFO] [stderr]    --> src/xss/payloads.rs:240:4
[INFO] [stderr]     |
[INFO] [stderr] 240 | fn generate_case_bypasses(ctx: &XssContext) -> Vec<XssPayload> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `prioritize_payloads` is never used
[INFO] [stderr]    --> src/xss/payloads.rs:261:8
[INFO] [stderr]     |
[INFO] [stderr] 261 | pub fn prioritize_payloads(mut payload_set: PayloadSet, max_count: usize) -> Vec<XssPayload> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `load_markers` is never used
[INFO] [stderr]    --> src/xss/payloads.rs:315:8
[INFO] [stderr]     |
[INFO] [stderr] 315 | pub fn load_markers() -> anyhow::Result<Vec<String>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `exploitable`, `reason`, `breakout_required`, and `csp_bypass_needed` are never read
[INFO] [stderr]   --> src/xss/validate.rs:9:9
[INFO] [stderr]    |
[INFO] [stderr]  8 | pub struct XssValidationResult {
[INFO] [stderr]    |            ------------------- fields in this struct
[INFO] [stderr]  9 |     pub exploitable: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 12 |     pub reason: String,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 13 |     pub technical_details: String,
[INFO] [stderr] 14 |     pub breakout_required: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 15 |     pub csp_bypass_needed: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `XssValidationResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `test_stored` and `test_dom` are never read
[INFO] [stderr]   --> src/xss/engine.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub struct XssScanner {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 18 |     pub max_payloads_per_context: usize,
[INFO] [stderr] 19 |     pub test_stored: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 20 |     pub test_dom: bool,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `scan`, `scan_endpoint`, and `test_reflection` are never used
[INFO] [stderr]    --> src/xss/engine.rs:39:18
[INFO] [stderr]     |
[INFO] [stderr]  33 | impl XssScanner {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  39 |     pub async fn scan(
[INFO] [stderr]     |                  ^^^^
[INFO] [stderr] ...
[INFO] [stderr]  79 |     async fn scan_endpoint(
[INFO] [stderr]     |              ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 |     async fn test_reflection(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `calculate_cvss` is never used
[INFO] [stderr]    --> src/xss/engine.rs:295:4
[INFO] [stderr]     |
[INFO] [stderr] 295 | fn calculate_cvss(confidence: f32, severity: &crate::xss::validate::ExecutionSeverity) -> f32 {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_xss_description` is never used
[INFO] [stderr]    --> src/xss/engine.rs:306:4
[INFO] [stderr]     |
[INFO] [stderr] 306 | fn generate_xss_description(context: &XssContext, technique: &str) -> String {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_xss_impact` is never used
[INFO] [stderr]    --> src/xss/engine.rs:322:4
[INFO] [stderr]     |
[INFO] [stderr] 322 | fn generate_xss_impact(severity: &crate::xss::validate::ExecutionSeverity) -> String {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_xss_remediation` is never used
[INFO] [stderr]    --> src/xss/engine.rs:343:4
[INFO] [stderr]     |
[INFO] [stderr] 343 | fn generate_xss_remediation() -> String {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `timestamp` is never read
[INFO] [stderr]   --> src/xss/stored.rs:20:9
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct StoredPayloadTracker {
[INFO] [stderr]    |            -------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 20 |     pub timestamp: u64,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `StoredPayloadTracker` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `inject_markers` are never used
[INFO] [stderr]   --> src/xss/stored.rs:40:12
[INFO] [stderr]    |
[INFO] [stderr] 39 | impl StoredXssEngine {
[INFO] [stderr]    | -------------------- associated items in this implementation
[INFO] [stderr] 40 |     pub fn new(crawl_depth: usize) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |     pub async fn inject_markers(
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BlindXssProbe` is never constructed
[INFO] [stderr]   --> src/xss/blind.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct BlindXssProbe {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BlindXssEngine` is never constructed
[INFO] [stderr]   --> src/xss/blind.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub struct BlindXssEngine {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `inject`, and `confirm_callback` are never used
[INFO] [stderr]   --> src/xss/blind.rs:27:12
[INFO] [stderr]    |
[INFO] [stderr] 26 | impl BlindXssEngine {
[INFO] [stderr]    | ------------------- associated items in this implementation
[INFO] [stderr] 27 |     pub fn new(callback_domain: String) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 35 |     pub async fn inject(
[INFO] [stderr]    |                  ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 72 |     pub fn confirm_callback(
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `anvil` (bin "anvil" test) generated 195 warnings (run `cargo fix --bin "anvil" -p anvil --tests` to apply 49 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.28s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/anvil-8d896953ad0a9d0b)
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[INFO] [stdout] test ssrf::oob::tests::test_generate_callback_url ... ok
[INFO] [stdout] test ssrf::oob::tests::test_extract_identifier ... ok
[INFO] [stdout] test ssrf::probes::tests::test_generate_internal_ip_probes ... ok
[INFO] [stdout] test ssrf::params::tests::test_score_param_value ... ok
[INFO] [stdout] test ssrf::params::tests::test_identify_url_params ... ok
[INFO] [stdout] test ssrf::probes::tests::test_generate_external_probes ... ok
[INFO] [stdout] test ssrf::probes::tests::test_generate_metadata_probes ... ok
[INFO] [stdout] test ssrf::oob::tests::test_generate_variants ... ok
[INFO] [stdout] test ssrf::params::tests::test_score_param_name ... ok
[INFO] [stdout] test ssrf::probes::tests::test_probe_priority ... ok
[INFO] [stdout] test xss::context::tests::test_attribute_context_double_quotes ... ok
[INFO] [stdout] test xss::context::tests::test_html_encoded ... ok
[INFO] [stdout] test xss::context::tests::test_javascript_string_context ... ok
[INFO] [stdout] test xss::dom::tests::test_sink_extraction ... ok
[INFO] [stdout] test xss::dom::tests::test_source_extraction ... ok
[INFO] [stdout] test xss::engine::tests::test_scanner_creation ... ok
[INFO] [stdout] test xss::payloads::tests::test_bypass_generation ... ok
[INFO] [stdout] test xss::payloads::tests::test_technique_classification ... ok
[INFO] [stdout] test xss::validate::tests::test_encoding_detection ... ok
[INFO] [stdout] test xss::stored::tests::test_marker_generation ... ok
[INFO] [stdout] test xss::payloads::tests::test_blind_payload_substitution ... ok
[INFO] [stdout] test xss::reflect::tests::test_marker_generation ... ok
[INFO] [stdout] test xss::context::tests::test_html_text_context ... ok
[INFO] [stdout] test xss::validate::tests::test_event_handler_detection ... ok
[INFO] [stdout] test xss::validate::tests::test_script_tag_detection ... ok
[INFO] [stdout] test xss::blind::tests::test_id_generation ... FAILED
[INFO] [stdout] test xss::reflect::tests::test_sanitization_detection ... FAILED
[INFO] [stdout] test xss::stored::tests::test_unique_id_generation ... FAILED
[INFO] [stdout] test xss::reflect::tests::test_encoding_detection ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- xss::blind::tests::test_id_generation stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'xss::blind::tests::test_id_generation' (34) panicked at src/xss/blind.rs:128:9:
[INFO] [stdout] assertion `left != right` failed
[INFO] [stdout]   left: "BXSS1773168082"
[INFO] [stdout]  right: "BXSS1773168082"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55dfbf618bd2 - std::backtrace_rs::backtrace::libunwind::trace::hff358a60abf734fc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55dfbf618bd2 - std::backtrace_rs::backtrace::trace_unsynchronized::h3b121f916dd95ec6
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55dfbf618bd2 - std::sys::backtrace::_print_fmt::hde0a62ded68798e9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x55dfbf618bd2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h93773fc827e3113d
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x55dfbf62b22a - core::fmt::rt::Argument::fmt::h01eff69902dad97f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x55dfbf62b22a - core::fmt::write::hed7b5c73d82ecb7c
[INFO] [stdout]    6:     0x55dfbf5e66e6 - std::io::default_write_fmt::h2f696ff5b8bbaa4b
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55dfbf5e66e6 - std::io::Write::write_fmt::h5e66814db8a9cfce
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x55dfbf5f77e9 - std::sys::backtrace::BacktraceLock::print::h8b1d6fcc5a56d1a3
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x55dfbf5f77e9 - std::panicking::default_hook::{{closure}}::h2be84df4f189ae36
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x55dfbf5f7681 - std::panicking::default_hook::hf0ea8939246f43a9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x55dfbf533f2e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h02d35e3888986252
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x55dfbf533f2e - test::test_main_with_exit_callback::{{closure}}::h939640a27d647173
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55dfbf5f7a62 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc9df09ff391af3e7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x55dfbf5f7a62 - std::panicking::panic_with_hook::hb4bd9ac1123582a0
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x55dfbf5f78a8 - std::panicking::panic_handler::{{closure}}::hde00dd15f5637fe2
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x55dfbf5f24d9 - std::sys::backtrace::__rust_end_short_backtrace::hb72197fa777c1785
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x55dfbf5dadad - __rustc[4425a7e20b4c8619]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x55dfbf632d0c - core::panicking::panic_fmt::ha59b517dd231f4da
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55dfbf632b93 - core::panicking::assert_failed_inner::h3c3301979dc81b81
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x55dfbf509d2d - core::panicking::assert_failed::hce874397463f4873
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x55dfbf507a30 - anvil::xss::blind::tests::test_id_generation::hfd973446e3b44038
[INFO] [stdout]                                at /opt/rustwide/workdir/src/xss/blind.rs:128:9
[INFO] [stdout]   22:     0x55dfbf507ad7 - anvil::xss::blind::tests::test_id_generation::{{closure}}::h608c8de682fd5c1e
[INFO] [stdout]                                at /opt/rustwide/workdir/src/xss/blind.rs:125:28
[INFO] [stdout]   23:     0x55dfbf506726 - core::ops::function::FnOnce::call_once::h2bb339cb72504671
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55dfbf533ceb - core::ops::function::FnOnce::call_once::hddb3cd395c36bfbb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55dfbf533ceb - test::__rust_begin_short_backtrace::h0b6a7601d9750bfa
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x55dfbf5476fa - test::run_test_in_process::{{closure}}::h444209903f00b347
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x55dfbf5476fa - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hfb3ba8f46e537649
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x55dfbf5476fa - std::panicking::catch_unwind::do_call::h1672a45911fcf9dc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x55dfbf5476fa - std::panicking::catch_unwind::h0fadaee22787a6dd
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x55dfbf5476fa - std::panic::catch_unwind::hc47ad190f2c8e188
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x55dfbf5476fa - test::run_test_in_process::hcd7faaf934f29999
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x55dfbf5476fa - test::run_test::{{closure}}::hddc4550da4871867
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x55dfbf521b54 - test::run_test::{{closure}}::h98ae26689f13ed94
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x55dfbf521b54 - std::sys::backtrace::__rust_begin_short_backtrace::h3ec4d1f21ad44588
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x55dfbf5254f2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd8bf2c73d479939f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x55dfbf5254f2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3b4248f358af2491
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x55dfbf5254f2 - std::panicking::catch_unwind::do_call::hda10a64f4b8daebe
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x55dfbf5254f2 - std::panicking::catch_unwind::h659e5ee8336ec8c7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x55dfbf5254f2 - std::panic::catch_unwind::h9d4d66a538912c18
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x55dfbf5254f2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h7557906bb51d79f1
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x55dfbf5254f2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9e460d1d7fc83d35
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x55dfbf5ed76f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h61282da819d64ea9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x55dfbf5ed76f - std::sys::thread::unix::Thread::new::thread_start::h982f9ea829d1b5fb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   44:     0x72f3a5fbdaa4 - <unknown>
[INFO] [stdout]   45:     0x72f3a604aa64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- xss::reflect::tests::test_sanitization_detection stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'xss::reflect::tests::test_sanitization_detection' (47) panicked at src/xss/reflect.rs:316:9:
[INFO] [stdout] assertion failed: !patterns.is_empty()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55dfbf618bd2 - std::backtrace_rs::backtrace::libunwind::trace::hff358a60abf734fc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55dfbf618bd2 - std::backtrace_rs::backtrace::trace_unsynchronized::h3b121f916dd95ec6
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55dfbf618bd2 - std::sys::backtrace::_print_fmt::hde0a62ded68798e9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x55dfbf618bd2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h93773fc827e3113d
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x55dfbf62b22a - core::fmt::rt::Argument::fmt::h01eff69902dad97f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x55dfbf62b22a - core::fmt::write::hed7b5c73d82ecb7c
[INFO] [stdout]    6:     0x55dfbf5e66e6 - std::io::default_write_fmt::h2f696ff5b8bbaa4b
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55dfbf5e66e6 - std::io::Write::write_fmt::h5e66814db8a9cfce
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x55dfbf5f77e9 - std::sys::backtrace::BacktraceLock::print::h8b1d6fcc5a56d1a3
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x55dfbf5f77e9 - std::panicking::default_hook::{{closure}}::h2be84df4f189ae36
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x55dfbf5f7681 - std::panicking::default_hook::hf0ea8939246f43a9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x55dfbf533f2e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h02d35e3888986252
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x55dfbf533f2e - test::test_main_with_exit_callback::{{closure}}::h939640a27d647173
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55dfbf5f7a62 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc9df09ff391af3e7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x55dfbf5f7a62 - std::panicking::panic_with_hook::hb4bd9ac1123582a0
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x55dfbf5f78da - std::panicking::panic_handler::{{closure}}::hde00dd15f5637fe2
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x55dfbf5f24d9 - std::sys::backtrace::__rust_end_short_backtrace::hb72197fa777c1785
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x55dfbf5dadad - __rustc[4425a7e20b4c8619]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x55dfbf632d0c - core::panicking::panic_fmt::ha59b517dd231f4da
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55dfbf632cd2 - core::panicking::panic::hbff2745fd4c5afec
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x55dfbf4ff0c2 - anvil::xss::reflect::tests::test_sanitization_detection::h5cc959ed1da0fe46
[INFO] [stdout]                                at /opt/rustwide/workdir/src/xss/reflect.rs:316:9
[INFO] [stdout]   21:     0x55dfbf4ff0f7 - anvil::xss::reflect::tests::test_sanitization_detection::{{closure}}::h631474c08ca40c1e
[INFO] [stdout]                                at /opt/rustwide/workdir/src/xss/reflect.rs:313:37
[INFO] [stdout]   22:     0x55dfbf5066a6 - core::ops::function::FnOnce::call_once::h124f5f39e8fce878
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x55dfbf533ceb - core::ops::function::FnOnce::call_once::hddb3cd395c36bfbb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55dfbf533ceb - test::__rust_begin_short_backtrace::h0b6a7601d9750bfa
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x55dfbf5476fa - test::run_test_in_process::{{closure}}::h444209903f00b347
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x55dfbf5476fa - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hfb3ba8f46e537649
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x55dfbf5476fa - std::panicking::catch_unwind::do_call::h1672a45911fcf9dc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x55dfbf5476fa - std::panicking::catch_unwind::h0fadaee22787a6dd
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x55dfbf5476fa - std::panic::catch_unwind::hc47ad190f2c8e188
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x55dfbf5476fa - test::run_test_in_process::hcd7faaf934f29999
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x55dfbf5476fa - test::run_test::{{closure}}::hddc4550da4871867
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x55dfbf521b54 - test::run_test::{{closure}}::h98ae26689f13ed94
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x55dfbf521b54 - std::sys::backtrace::__rust_begin_short_backtrace::h3ec4d1f21ad44588
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x55dfbf5254f2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd8bf2c73d479939f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x55dfbf5254f2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3b4248f358af2491
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x55dfbf5254f2 - std::panicking::catch_unwind::do_call::hda10a64f4b8daebe
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x55dfbf5254f2 - std::panicking::catch_unwind::h659e5ee8336ec8c7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x55dfbf5254f2 - std::panic::catch_unwind::h9d4d66a538912c18
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x55dfbf5254f2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h7557906bb51d79f1
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x55dfbf5254f2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9e460d1d7fc83d35
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x55dfbf5ed76f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h61282da819d64ea9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   42:     0x55dfbf5ed76f - std::sys::thread::unix::Thread::new::thread_start::h982f9ea829d1b5fb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   43:     0x72f3a5fbdaa4 - <unknown>
[INFO] [stdout]   44:     0x72f3a604aa64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- xss::stored::tests::test_unique_id_generation stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'xss::stored::tests::test_unique_id_generation' (49) panicked at src/xss/stored.rs:437:9:
[INFO] [stdout] assertion `left != right` failed
[INFO] [stdout]   left: "ANVIL_STORED_1773168082"
[INFO] [stdout]  right: "ANVIL_STORED_1773168082"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55dfbf618bd2 - std::backtrace_rs::backtrace::libunwind::trace::hff358a60abf734fc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55dfbf618bd2 - std::backtrace_rs::backtrace::trace_unsynchronized::h3b121f916dd95ec6
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55dfbf618bd2 - std::sys::backtrace::_print_fmt::hde0a62ded68798e9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x55dfbf618bd2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h93773fc827e3113d
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x55dfbf62b22a - core::fmt::rt::Argument::fmt::h01eff69902dad97f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x55dfbf62b22a - core::fmt::write::hed7b5c73d82ecb7c
[INFO] [stdout]    6:     0x55dfbf5e66e6 - std::io::default_write_fmt::h2f696ff5b8bbaa4b
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55dfbf5e66e6 - std::io::Write::write_fmt::h5e66814db8a9cfce
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x55dfbf5f77e9 - std::sys::backtrace::BacktraceLock::print::h8b1d6fcc5a56d1a3
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x55dfbf5f77e9 - std::panicking::default_hook::{{closure}}::h2be84df4f189ae36
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x55dfbf5f7681 - std::panicking::default_hook::hf0ea8939246f43a9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x55dfbf533f2e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h02d35e3888986252
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x55dfbf533f2e - test::test_main_with_exit_callback::{{closure}}::h939640a27d647173
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55dfbf5f7a62 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc9df09ff391af3e7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x55dfbf5f7a62 - std::panicking::panic_with_hook::hb4bd9ac1123582a0
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x55dfbf5f78a8 - std::panicking::panic_handler::{{closure}}::hde00dd15f5637fe2
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x55dfbf5f24d9 - std::sys::backtrace::__rust_end_short_backtrace::hb72197fa777c1785
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x55dfbf5dadad - __rustc[4425a7e20b4c8619]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x55dfbf632d0c - core::panicking::panic_fmt::ha59b517dd231f4da
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55dfbf632b93 - core::panicking::assert_failed_inner::h3c3301979dc81b81
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x55dfbf509d2d - core::panicking::assert_failed::hce874397463f4873
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x55dfbf4fad9a - anvil::xss::stored::tests::test_unique_id_generation::hbf308d3f56e31660
[INFO] [stdout]                                at /opt/rustwide/workdir/src/xss/stored.rs:437:9
[INFO] [stdout]   22:     0x55dfbf4fadd7 - anvil::xss::stored::tests::test_unique_id_generation::{{closure}}::h0c75532b9c74d4b9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/xss/stored.rs:434:35
[INFO] [stdout]   23:     0x55dfbf506926 - core::ops::function::FnOnce::call_once::h58969cbf2bf23260
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55dfbf533ceb - core::ops::function::FnOnce::call_once::hddb3cd395c36bfbb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55dfbf533ceb - test::__rust_begin_short_backtrace::h0b6a7601d9750bfa
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x55dfbf5476fa - test::run_test_in_process::{{closure}}::h444209903f00b347
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x55dfbf5476fa - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hfb3ba8f46e537649
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x55dfbf5476fa - std::panicking::catch_unwind::do_call::h1672a45911fcf9dc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x55dfbf5476fa - std::panicking::catch_unwind::h0fadaee22787a6dd
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x55dfbf5476fa - std::panic::catch_unwind::hc47ad190f2c8e188
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x55dfbf5476fa - test::run_test_in_process::hcd7faaf934f29999
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x55dfbf5476fa - test::run_test::{{closure}}::hddc4550da4871867
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x55dfbf521b54 - test::run_test::{{closure}}::h98ae26689f13ed94
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x55dfbf521b54 - std::sys::backtrace::__rust_begin_short_backtrace::h3ec4d1f21ad44588
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x55dfbf5254f2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd8bf2c73d479939f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x55dfbf5254f2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3b4248f358af2491
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x55dfbf5254f2 - std::panicking::catch_unwind::do_call::hda10a64f4b8daebe
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x55dfbf5254f2 - std::panicking::catch_unwind::h659e5ee8336ec8c7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x55dfbf5254f2 - std::panic::catch_unwind::h9d4d66a538912c18
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x55dfbf5254f2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h7557906bb51d79f1
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x55dfbf5254f2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9e460d1d7fc83d35
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x55dfbf5ed76f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h61282da819d64ea9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x55dfbf5ed76f - std::sys::thread::unix::Thread::new::thread_start::h982f9ea829d1b5fb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   44:     0x72f3a5fbdaa4 - <unknown>
[INFO] [stdout]   45:     0x72f3a604aa64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- xss::reflect::tests::test_encoding_detection stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'xss::reflect::tests::test_encoding_detection' (45) panicked at src/xss/reflect.rs:309:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: Partial
[INFO] [stdout]  right: Full
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55dfbf618bd2 - std::backtrace_rs::backtrace::libunwind::trace::hff358a60abf734fc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55dfbf618bd2 - std::backtrace_rs::backtrace::trace_unsynchronized::h3b121f916dd95ec6
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55dfbf618bd2 - std::sys::backtrace::_print_fmt::hde0a62ded68798e9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x55dfbf618bd2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h93773fc827e3113d
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x55dfbf62b22a - core::fmt::rt::Argument::fmt::h01eff69902dad97f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x55dfbf62b22a - core::fmt::write::hed7b5c73d82ecb7c
[INFO] [stdout]    6:     0x55dfbf5e66e6 - std::io::default_write_fmt::h2f696ff5b8bbaa4b
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55dfbf5e66e6 - std::io::Write::write_fmt::h5e66814db8a9cfce
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x55dfbf5f77e9 - std::sys::backtrace::BacktraceLock::print::h8b1d6fcc5a56d1a3
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x55dfbf5f77e9 - std::panicking::default_hook::{{closure}}::h2be84df4f189ae36
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x55dfbf5f7681 - std::panicking::default_hook::hf0ea8939246f43a9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x55dfbf533f2e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h02d35e3888986252
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x55dfbf533f2e - test::test_main_with_exit_callback::{{closure}}::h939640a27d647173
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55dfbf5f7a62 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc9df09ff391af3e7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x55dfbf5f7a62 - std::panicking::panic_with_hook::hb4bd9ac1123582a0
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x55dfbf5f78a8 - std::panicking::panic_handler::{{closure}}::hde00dd15f5637fe2
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x55dfbf5f24d9 - std::sys::backtrace::__rust_end_short_backtrace::hb72197fa777c1785
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x55dfbf5dadad - __rustc[4425a7e20b4c8619]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x55dfbf632d0c - core::panicking::panic_fmt::ha59b517dd231f4da
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55dfbf632b93 - core::panicking::assert_failed_inner::h3c3301979dc81b81
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x55dfbf509be9 - core::panicking::assert_failed::h19b1aae01aca8705
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x55dfbf4fefe8 - anvil::xss::reflect::tests::test_encoding_detection::h91d821ad562eea59
[INFO] [stdout]                                at /opt/rustwide/workdir/src/xss/reflect.rs:309:9
[INFO] [stdout]   22:     0x55dfbf4ff007 - anvil::xss::reflect::tests::test_encoding_detection::{{closure}}::h03c820d52935e5cd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/xss/reflect.rs:306:33
[INFO] [stdout]   23:     0x55dfbf506766 - core::ops::function::FnOnce::call_once::h2dfdde1abb357abe
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55dfbf533ceb - core::ops::function::FnOnce::call_once::hddb3cd395c36bfbb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55dfbf533ceb - test::__rust_begin_short_backtrace::h0b6a7601d9750bfa
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x55dfbf5476fa - test::run_test_in_process::{{closure}}::h444209903f00b347
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x55dfbf5476fa - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hfb3ba8f46e537649
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x55dfbf5476fa - std::panicking::catch_unwind::do_call::h1672a45911fcf9dc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x55dfbf5476fa - std::panicking::catch_unwind::h0fadaee22787a6dd
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x55dfbf5476fa - std::panic::catch_unwind::hc47ad190f2c8e188
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x55dfbf5476fa - test::run_test_in_process::hcd7faaf934f29999
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x55dfbf5476fa - test::run_test::{{closure}}::hddc4550da4871867
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x55dfbf521b54 - test::run_test::{{closure}}::h98ae26689f13ed94
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x55dfbf521b54 - std::sys::backtrace::__rust_begin_short_backtrace::h3ec4d1f21ad44588
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x55dfbf5254f2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd8bf2c73d479939f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x55dfbf5254f2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3b4248f358af2491
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x55dfbf5254f2 - std::panicking::catch_unwind::do_call::hda10a64f4b8daebe
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x55dfbf5254f2 - std::panicking::catch_unwind::h659e5ee8336ec8c7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x55dfbf5254f2 - std::panic::catch_unwind::h9d4d66a538912c18
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x55dfbf5254f2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h7557906bb51d79f1
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x55dfbf5254f2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9e460d1d7fc83d35
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x55dfbf5ed76f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h61282da819d64ea9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x55dfbf5ed76f - std::sys::thread::unix::Thread::new::thread_start::h982f9ea829d1b5fb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   44:     0x72f3a5fbdaa4 - <unknown>
[INFO] [stdout]   45:     0x72f3a604aa64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     xss::blind::tests::test_id_generation
[INFO] [stdout]     xss::reflect::tests::test_encoding_detection
[INFO] [stdout]     xss::reflect::tests::test_sanitization_detection
[INFO] [stdout]     xss::stored::tests::test_unique_id_generation
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 25 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin anvil`
[INFO] running `Command { std: "docker" "inspect" "c8ed8485f2752d51402ee8650010195c9397facf6b955d32cca9f51c0babd369", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c8ed8485f2752d51402ee8650010195c9397facf6b955d32cca9f51c0babd369", kill_on_drop: false }`
[INFO] [stdout] c8ed8485f2752d51402ee8650010195c9397facf6b955d32cca9f51c0babd369
