[INFO] fetching crate psi_detector 0.1.3... [INFO] testing psi_detector-0.1.3 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-8 [INFO] extracting crate psi_detector 0.1.3 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate psi_detector 0.1.3 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate psi_detector 0.1.3 [INFO] tweaked toml for crates.io crate psi_detector 0.1.3 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate psi_detector 0.1.3 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate psi_detector 0.1.3 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded quinn-udp v0.4.1 [INFO] [stderr] Downloaded tungstenite v0.21.0 [INFO] [stderr] Downloaded async-executor v1.13.2 [INFO] [stderr] Downloaded quinn v0.10.2 [INFO] [stderr] Downloaded polling v3.8.0 [INFO] [stderr] Downloaded cc v1.2.28 [INFO] [stderr] Downloaded h2 v0.4.11 [INFO] [stderr] Downloaded rat_logger v0.2.8 [INFO] [stderr] Downloaded proptest v1.7.0 [INFO] [stderr] Downloaded quinn-proto v0.10.6 [INFO] [stderr] Downloaded async-io v2.4.1 [INFO] [stderr] Downloaded async-channel v2.4.0 [INFO] [stderr] Downloaded blocking v1.6.1 [INFO] [stderr] Downloaded futures-lite v2.6.0 [INFO] [stderr] Downloaded bit-set v0.8.0 [INFO] [stderr] Downloaded threadpool v1.8.1 [INFO] [stderr] Downloaded tokio v1.46.1 [INFO] [stderr] Downloaded tokio-tungstenite v0.21.0 [INFO] [stderr] Downloaded io-uring v0.7.8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 03cece842c0f05db9116d2bdcf6efc6b234e3093d6d977d4bc4f2355c0228d04 [INFO] running `Command { std: "docker" "start" "-a" "03cece842c0f05db9116d2bdcf6efc6b234e3093d6d977d4bc4f2355c0228d04", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "03cece842c0f05db9116d2bdcf6efc6b234e3093d6d977d4bc4f2355c0228d04", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "03cece842c0f05db9116d2bdcf6efc6b234e3093d6d977d4bc4f2355c0228d04", kill_on_drop: false }` [INFO] [stdout] 03cece842c0f05db9116d2bdcf6efc6b234e3093d6d977d4bc4f2355c0228d04 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cb21d3df14fec67611be6f27b238c66db1620ea764352f55ebd1625a66668ab8 [INFO] running `Command { std: "docker" "start" "-a" "cb21d3df14fec67611be6f27b238c66db1620ea764352f55ebd1625a66668ab8", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling cfg-if v1.0.1 [INFO] [stderr] Compiling slab v0.4.10 [INFO] [stderr] Compiling cc v1.2.28 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling virtue v0.0.18 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling bytemuck v1.23.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling unty v0.0.4 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling safe_arch v0.7.4 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling indexmap v2.10.0 [INFO] [stderr] Compiling bincode_derive v2.0.1 [INFO] [stderr] Compiling wide v0.7.33 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling socket2 v0.5.10 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling signal-hook-registry v1.4.5 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling threadpool v1.8.1 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling lz4-sys v1.11.1+lz4-1.10.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling async-trait v0.1.88 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tokio v1.46.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling bincode v2.0.1 [INFO] [stderr] Compiling uuid v1.17.0 [INFO] [stderr] Compiling tokio-util v0.7.15 [INFO] [stderr] Compiling h2 v0.4.11 [INFO] [stderr] Compiling lz4 v1.28.1 [INFO] [stderr] Compiling rat_logger v0.2.8 [INFO] [stderr] Compiling psi_detector v0.1.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `DetectorError` [INFO] [stdout] --> src/core/fingerprint.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::error::{DetectorError, Result}; [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: `DetectorError` [INFO] [stdout] --> src/core/probe.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::error::{DetectorError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DetectorError` and `Result` [INFO] [stdout] --> src/core/magic.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::error::{DetectorError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DetectorError` and `Result` [INFO] [stdout] --> src/core/tls_alpn.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::error::{DetectorError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/error.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DetectorError` [INFO] [stdout] --> src/simd/mod.rs:19:20 [INFO] [stdout] | [INFO] [stdout] 19 | use crate::error::{DetectorError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/upgrade/http.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DetectionResult` and `ProtocolDetector` [INFO] [stdout] --> src/stream/mod.rs:5:29 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::core::detector::{DetectionResult, ProtocolDetector}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DetectorError` [INFO] [stdout] --> src/stream/mod.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::error::{DetectorError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ProtocolType` [INFO] [stdout] --> src/probe/mod.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::core::{ProtocolType, DetectionResult}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ProtocolDetector` [INFO] [stdout] --> src/builder.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | ProtocolDetector, DetectionConfig, DefaultProtocolDetector, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/simd/x86_64.rs:655:13 [INFO] [stdout] | [INFO] [stdout] 655 | let start = Instant::now(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/simd/detector.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | let start = Instant::now(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fin` [INFO] [stdout] --> src/simd/detector.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | let fin = (first_byte & 0x80) != 0; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_fin` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `masked` [INFO] [stdout] --> src/simd/detector.rs:205:17 [INFO] [stdout] | [INFO] [stdout] 205 | let masked = (second_byte & 0x80) != 0; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_masked` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `detector` [INFO] [stdout] --> src/simd/mod.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | let detector = create_best_detector(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_detector` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/upgrade/http.rs:235:28 [INFO] [stdout] | [INFO] [stdout] 235 | if let Err(e) = self.validate_upgrade_request(data, to) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/upgrade/websocket.rs:504:13 [INFO] [stdout] | [INFO] [stdout] 504 | let mut required_headers = vec![ [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: `from` [INFO] [stdout] --> src/upgrade/mod.rs:36:37 [INFO] [stdout] | [INFO] [stdout] 36 | fn estimate_upgrade_time(&self, from: ProtocolType, to: ProtocolType) -> Duration { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/upgrade/mod.rs:36:57 [INFO] [stdout] | [INFO] [stdout] 36 | fn estimate_upgrade_time(&self, from: ProtocolType, to: ProtocolType) -> Duration { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `removed_count` is assigned to, but never used [INFO] [stdout] --> src/stream/buffer.rs:408:13 [INFO] [stdout] | [INFO] [stdout] 408 | let mut removed_count = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_removed_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `removed_count` is never read [INFO] [stdout] --> src/stream/buffer.rs:414:17 [INFO] [stdout] | [INFO] [stdout] 414 | removed_count += 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LOGGER_INIT` is never used [INFO] [stdout] --> src/utils/logger.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | static LOGGER_INIT: Once = Once::new(); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `has_sse2` is never read [INFO] [stdout] --> src/simd/x86_64.rs:320:5 [INFO] [stdout] | [INFO] [stdout] 318 | pub struct X86_64SimdDetector { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] 319 | instruction_set: SimdInstructionSet, [INFO] [stdout] 320 | has_sse2: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parse_websocket_frame` is never used [INFO] [stdout] --> src/upgrade/websocket.rs:274:8 [INFO] [stdout] | [INFO] [stdout] 51 | impl WebSocketUpgrader { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 274 | fn parse_websocket_frame(&self, data: &[u8]) -> Result<(u8, Vec)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `cleanup_expired_data` is never used [INFO] [stdout] --> src/stream/analyzer.rs:970:8 [INFO] [stdout] | [INFO] [stdout] 322 | impl StreamAnalyzer { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 970 | fn cleanup_expired_data(&self, data_points: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `frequency_threshold` is never read [INFO] [stdout] --> src/probe/heuristic.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct HeuristicProbe { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | frequency_threshold: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/logger.rs:154:14 [INFO] [stdout] | [INFO] [stdout] 154 | unsafe { GLOBAL_LOGGER.as_ref() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/stream/processor.rs:260:9 [INFO] [stdout] | [INFO] [stdout] 260 | drop(context); [INFO] [stdout] | ^^^^^-------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut StreamContext` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 260 - drop(context); [INFO] [stdout] 260 + let _ = context; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.89s [INFO] running `Command { std: "docker" "inspect" "cb21d3df14fec67611be6f27b238c66db1620ea764352f55ebd1625a66668ab8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cb21d3df14fec67611be6f27b238c66db1620ea764352f55ebd1625a66668ab8", kill_on_drop: false }` [INFO] [stdout] cb21d3df14fec67611be6f27b238c66db1620ea764352f55ebd1625a66668ab8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ad225ca639fedb3cc3de4272ce20eb8827ebf34d55aec361572bf0943d42dd12 [INFO] running `Command { std: "docker" "start" "-a" "ad225ca639fedb3cc3de4272ce20eb8827ebf34d55aec361572bf0943d42dd12", kill_on_drop: false }` [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Compiling bitflags v2.9.1 [INFO] [stderr] Compiling half v2.6.0 [INFO] [stderr] Compiling tokio v1.46.1 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling clap_builder v4.5.40 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling uuid v1.17.0 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.1 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling clap v4.5.40 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling tempfile v3.20.0 [INFO] [stderr] Compiling rusty-fork v0.3.0 [INFO] [stderr] Compiling proptest v1.7.0 [INFO] [stderr] Compiling tokio-util v0.7.15 [INFO] [stderr] Compiling rat_logger v0.2.8 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling tokio-test v0.4.4 [INFO] [stderr] Compiling h2 v0.4.11 [INFO] [stderr] Compiling psi_detector v0.1.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `DetectorError` [INFO] [stdout] --> src/core/fingerprint.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::error::{DetectorError, Result}; [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: `DetectorError` [INFO] [stdout] --> src/core/probe.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::error::{DetectorError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DetectorError` and `Result` [INFO] [stdout] --> src/core/magic.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::error::{DetectorError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DetectorError` and `Result` [INFO] [stdout] --> src/core/tls_alpn.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::error::{DetectorError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/error.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DetectorError` [INFO] [stdout] --> src/simd/mod.rs:19:20 [INFO] [stdout] | [INFO] [stdout] 19 | use crate::error::{DetectorError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/upgrade/http.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DetectionResult` and `ProtocolDetector` [INFO] [stdout] --> src/stream/mod.rs:5:29 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::core::detector::{DetectionResult, ProtocolDetector}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DetectorError` [INFO] [stdout] --> src/stream/mod.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::error::{DetectorError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ProtocolType` [INFO] [stdout] --> src/probe/mod.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::core::{ProtocolType, DetectionResult}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DetectorError` [INFO] [stdout] --> src/core/fingerprint.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::error::{DetectorError, Result}; [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: `DetectorError` [INFO] [stdout] --> src/core/probe.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::error::{DetectorError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DetectorError` and `Result` [INFO] [stdout] --> src/core/magic.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::error::{DetectorError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DetectorError` and `Result` [INFO] [stdout] --> src/core/tls_alpn.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::error::{DetectorError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/error.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DetectorError` [INFO] [stdout] --> src/simd/mod.rs:19:20 [INFO] [stdout] | [INFO] [stdout] 19 | use crate::error::{DetectorError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/upgrade/http.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DetectionResult` and `ProtocolDetector` [INFO] [stdout] --> src/stream/mod.rs:5:29 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::core::detector::{DetectionResult, ProtocolDetector}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DetectorError` [INFO] [stdout] --> src/stream/mod.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::error::{DetectorError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ProtocolType` [INFO] [stdout] --> src/probe/mod.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::core::{ProtocolType, DetectionResult}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ProtocolDetector` [INFO] [stdout] --> src/builder.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | ProtocolDetector, DetectionConfig, DefaultProtocolDetector, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/simd/x86_64.rs:655:13 [INFO] [stdout] | [INFO] [stdout] 655 | let start = Instant::now(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/simd/detector.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | let start = Instant::now(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fin` [INFO] [stdout] --> src/simd/detector.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | let fin = (first_byte & 0x80) != 0; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_fin` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `masked` [INFO] [stdout] --> src/simd/detector.rs:205:17 [INFO] [stdout] | [INFO] [stdout] 205 | let masked = (second_byte & 0x80) != 0; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_masked` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `detector` [INFO] [stdout] --> src/simd/mod.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | let detector = create_best_detector(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_detector` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ProtocolDetector` [INFO] [stdout] --> src/builder.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | ProtocolDetector, DetectionConfig, DefaultProtocolDetector, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/upgrade/http.rs:235:28 [INFO] [stdout] | [INFO] [stdout] 235 | if let Err(e) = self.validate_upgrade_request(data, to) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/upgrade/websocket.rs:504:13 [INFO] [stdout] | [INFO] [stdout] 504 | let mut required_headers = vec![ [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: `from` [INFO] [stdout] --> src/upgrade/mod.rs:36:37 [INFO] [stdout] | [INFO] [stdout] 36 | fn estimate_upgrade_time(&self, from: ProtocolType, to: ProtocolType) -> Duration { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/upgrade/mod.rs:36:57 [INFO] [stdout] | [INFO] [stdout] 36 | fn estimate_upgrade_time(&self, from: ProtocolType, to: ProtocolType) -> Duration { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `removed_count` is assigned to, but never used [INFO] [stdout] --> src/stream/buffer.rs:408:13 [INFO] [stdout] | [INFO] [stdout] 408 | let mut removed_count = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_removed_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `removed_count` is never read [INFO] [stdout] --> src/stream/buffer.rs:414:17 [INFO] [stdout] | [INFO] [stdout] 414 | removed_count += 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LOGGER_INIT` is never used [INFO] [stdout] --> src/utils/logger.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | static LOGGER_INIT: Once = Once::new(); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `has_sse2` is never read [INFO] [stdout] --> src/simd/x86_64.rs:320:5 [INFO] [stdout] | [INFO] [stdout] 318 | pub struct X86_64SimdDetector { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] 319 | instruction_set: SimdInstructionSet, [INFO] [stdout] 320 | has_sse2: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parse_websocket_frame` is never used [INFO] [stdout] --> src/upgrade/websocket.rs:274:8 [INFO] [stdout] | [INFO] [stdout] 51 | impl WebSocketUpgrader { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 274 | fn parse_websocket_frame(&self, data: &[u8]) -> Result<(u8, Vec)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `cleanup_expired_data` is never used [INFO] [stdout] --> src/stream/analyzer.rs:970:8 [INFO] [stdout] | [INFO] [stdout] 322 | impl StreamAnalyzer { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 970 | fn cleanup_expired_data(&self, data_points: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `frequency_threshold` is never read [INFO] [stdout] --> src/probe/heuristic.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct HeuristicProbe { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | frequency_threshold: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/logger.rs:154:14 [INFO] [stdout] | [INFO] [stdout] 154 | unsafe { GLOBAL_LOGGER.as_ref() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/stream/processor.rs:260:9 [INFO] [stdout] | [INFO] [stdout] 260 | drop(context); [INFO] [stdout] | ^^^^^-------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut StreamContext` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 260 - drop(context); [INFO] [stdout] 260 + let _ = context; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/simd/x86_64.rs:655:13 [INFO] [stdout] | [INFO] [stdout] 655 | let start = Instant::now(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/simd/detector.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | let start = Instant::now(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fin` [INFO] [stdout] --> src/simd/detector.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | let fin = (first_byte & 0x80) != 0; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_fin` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `masked` [INFO] [stdout] --> src/simd/detector.rs:205:17 [INFO] [stdout] | [INFO] [stdout] 205 | let masked = (second_byte & 0x80) != 0; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_masked` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `detector` [INFO] [stdout] --> src/simd/mod.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | let detector = create_best_detector(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_detector` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/upgrade/http.rs:235:28 [INFO] [stdout] | [INFO] [stdout] 235 | if let Err(e) = self.validate_upgrade_request(data, to) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/upgrade/websocket.rs:504:13 [INFO] [stdout] | [INFO] [stdout] 504 | let mut required_headers = vec![ [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: `from` [INFO] [stdout] --> src/upgrade/mod.rs:36:37 [INFO] [stdout] | [INFO] [stdout] 36 | fn estimate_upgrade_time(&self, from: ProtocolType, to: ProtocolType) -> Duration { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/upgrade/mod.rs:36:57 [INFO] [stdout] | [INFO] [stdout] 36 | fn estimate_upgrade_time(&self, from: ProtocolType, to: ProtocolType) -> Duration { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `removed_count` is assigned to, but never used [INFO] [stdout] --> src/stream/buffer.rs:408:13 [INFO] [stdout] | [INFO] [stdout] 408 | let mut removed_count = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_removed_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `removed_count` is never read [INFO] [stdout] --> src/stream/buffer.rs:414:17 [INFO] [stdout] | [INFO] [stdout] 414 | removed_count += 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LOGGER_INIT` is never used [INFO] [stdout] --> src/utils/logger.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | static LOGGER_INIT: Once = Once::new(); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `has_sse2` is never read [INFO] [stdout] --> src/simd/x86_64.rs:320:5 [INFO] [stdout] | [INFO] [stdout] 318 | pub struct X86_64SimdDetector { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] 319 | instruction_set: SimdInstructionSet, [INFO] [stdout] 320 | has_sse2: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parse_websocket_frame` is never used [INFO] [stdout] --> src/upgrade/websocket.rs:274:8 [INFO] [stdout] | [INFO] [stdout] 51 | impl WebSocketUpgrader { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 274 | fn parse_websocket_frame(&self, data: &[u8]) -> Result<(u8, Vec)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `cleanup_expired_data` is never used [INFO] [stdout] --> src/stream/analyzer.rs:970:8 [INFO] [stdout] | [INFO] [stdout] 322 | impl StreamAnalyzer { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 970 | fn cleanup_expired_data(&self, data_points: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `frequency_threshold` is never read [INFO] [stdout] --> src/probe/heuristic.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct HeuristicProbe { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | frequency_threshold: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/logger.rs:154:14 [INFO] [stdout] | [INFO] [stdout] 154 | unsafe { GLOBAL_LOGGER.as_ref() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/stream/processor.rs:260:9 [INFO] [stdout] | [INFO] [stdout] 260 | drop(context); [INFO] [stdout] | ^^^^^-------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut StreamContext` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 260 - drop(context); [INFO] [stdout] 260 + let _ = context; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `builder::DetectorBuilder` [INFO] [stdout] --> examples/websocket_upgrade_demo.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | builder::DetectorBuilder, [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: `std::collections::HashMap` [INFO] [stdout] --> examples/websocket_upgrade_demo.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::detector::DetectionResult` [INFO] [stdout] --> examples/client_server_demo.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | core::detector::DetectionResult, [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 variable: `server_handle` [INFO] [stdout] --> examples/simple_client_server.rs:228:9 [INFO] [stdout] | [INFO] [stdout] 228 | let server_handle = { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_handle` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ProtocolType` [INFO] [stdout] --> examples/performance_test.rs:3:37 [INFO] [stdout] | [INFO] [stdout] 3 | use psi_detector::{DetectorBuilder, ProtocolType, ProtocolDetector}; [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 variable: `server_handle` [INFO] [stdout] --> examples/client_server_demo.rs:407:9 [INFO] [stdout] | [INFO] [stdout] 407 | let server_handle = { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_handle` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_stats` is never used [INFO] [stdout] --> examples/client_server_demo.rs:232:8 [INFO] [stdout] | [INFO] [stdout] 49 | impl MultiProtocolServer { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 232 | fn print_stats(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ProtocolType` [INFO] [stdout] --> examples/basic_detection.rs:6:40 [INFO] [stdout] | [INFO] [stdout] 6 | DetectorBuilder, ProtocolDetector, ProtocolType, [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: `psi_detector::core::detector::DetectionResult` [INFO] [stdout] --> examples/basic_detection.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use psi_detector::core::detector::DetectionResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> examples/concurrent_detection.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::collections::HashMap; [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: `ProtocolType` [INFO] [stdout] --> examples/custom_configuration.rs:6:40 [INFO] [stdout] | [INFO] [stdout] 6 | DetectorBuilder, ProtocolDetector, ProtocolType, [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: `DetectorError` [INFO] [stdout] --> examples/plugin_system_demo.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | error::{DetectorError, Result}, [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: `CustomSignatureBuilder` [INFO] [stdout] --> examples/protocol_filtering_performance.rs:6:48 [INFO] [stdout] | [INFO] [stdout] 6 | use psi_detector::core::magic::{MagicDetector, CustomSignatureBuilder}; [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 variable: `data_name` [INFO] [stdout] --> examples/protocol_filtering_performance.rs:103:14 [INFO] [stdout] | [INFO] [stdout] 103 | for (data_name, data) in test_data { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> examples/concurrent_detection.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_time` [INFO] [stdout] --> examples/plugin_system_demo.rs:186:13 [INFO] [stdout] | [INFO] [stdout] 186 | let start_time = Instant::now(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/concurrent_detection.rs:341:26 [INFO] [stdout] | [INFO] [stdout] 341 | while let Ok(mut result) = postprocess_rx.recv() { [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: field `sample_id` is never read [INFO] [stdout] --> examples/concurrent_detection.rs:447:5 [INFO] [stdout] | [INFO] [stdout] 446 | struct DetectionResult { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 447 | sample_id: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DetectionResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> examples/protocol_filtering_performance.rs:105:20 [INFO] [stdout] | [INFO] [stdout] 105 | Ok(result) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> examples/simd_performance.rs:232:9 [INFO] [stdout] | [INFO] [stdout] 230 | ("Unknown", ProtocolType::Unknown) => true, [INFO] [stdout] | ---------------------------------- matches all the relevant values [INFO] [stdout] 231 | // 对于未知协议,检测失败算正确(因为确实是未知协议) [INFO] [stdout] 232 | ("Unknown", ProtocolType::Unknown) => true, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 36.21s [INFO] running `Command { std: "docker" "inspect" "ad225ca639fedb3cc3de4272ce20eb8827ebf34d55aec361572bf0943d42dd12", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ad225ca639fedb3cc3de4272ce20eb8827ebf34d55aec361572bf0943d42dd12", kill_on_drop: false }` [INFO] [stdout] ad225ca639fedb3cc3de4272ce20eb8827ebf34d55aec361572bf0943d42dd12 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 8bbccc5f04991f0db81d1a17e889bed0273f7d227b0f443df36420df7b3644ca [INFO] running `Command { std: "docker" "start" "-a" "8bbccc5f04991f0db81d1a17e889bed0273f7d227b0f443df36420df7b3644ca", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `DetectorError` [INFO] [stderr] --> src/core/fingerprint.rs:6:20 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::error::{DetectorError, Result}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `DetectorError` [INFO] [stderr] --> src/core/probe.rs:7:20 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::error::{DetectorError, Result}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DetectorError` and `Result` [INFO] [stderr] --> src/core/magic.rs:7:20 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::error::{DetectorError, Result}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DetectorError` and `Result` [INFO] [stderr] --> src/core/tls_alpn.rs:6:20 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::error::{DetectorError, Result}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/error.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DetectorError` [INFO] [stderr] --> src/simd/mod.rs:19:20 [INFO] [stderr] | [INFO] [stderr] 19 | use crate::error::{DetectorError, Result}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/upgrade/http.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DetectionResult` and `ProtocolDetector` [INFO] [stderr] --> src/stream/mod.rs:5:29 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::core::detector::{DetectionResult, ProtocolDetector}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DetectorError` [INFO] [stderr] --> src/stream/mod.rs:7:20 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::error::{DetectorError, Result}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ProtocolType` [INFO] [stderr] --> src/probe/mod.rs:13:19 [INFO] [stderr] | [INFO] [stderr] 13 | use crate::core::{ProtocolType, DetectionResult}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ProtocolDetector` [INFO] [stderr] --> src/builder.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | ProtocolDetector, DetectionConfig, DefaultProtocolDetector, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `start` [INFO] [stderr] --> src/simd/x86_64.rs:655:13 [INFO] [stderr] | [INFO] [stderr] 655 | let start = Instant::now(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `start` [INFO] [stderr] --> src/simd/detector.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | let start = Instant::now(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `fin` [INFO] [stderr] --> src/simd/detector.rs:203:17 [INFO] [stderr] | [INFO] [stderr] 203 | let fin = (first_byte & 0x80) != 0; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_fin` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `masked` [INFO] [stderr] --> src/simd/detector.rs:205:17 [INFO] [stderr] | [INFO] [stderr] 205 | let masked = (second_byte & 0x80) != 0; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_masked` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `detector` [INFO] [stderr] --> src/simd/mod.rs:139:9 [INFO] [stderr] | [INFO] [stderr] 139 | let detector = create_best_detector(); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_detector` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/upgrade/http.rs:235:28 [INFO] [stderr] | [INFO] [stderr] 235 | if let Err(e) = self.validate_upgrade_request(data, to) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/upgrade/websocket.rs:504:13 [INFO] [stderr] | [INFO] [stderr] 504 | let mut required_headers = vec![ [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: `from` [INFO] [stderr] --> src/upgrade/mod.rs:36:37 [INFO] [stderr] | [INFO] [stderr] 36 | fn estimate_upgrade_time(&self, from: ProtocolType, to: ProtocolType) -> Duration { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `to` [INFO] [stderr] --> src/upgrade/mod.rs:36:57 [INFO] [stderr] | [INFO] [stderr] 36 | fn estimate_upgrade_time(&self, from: ProtocolType, to: ProtocolType) -> Duration { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stderr] [INFO] [stderr] warning: variable `removed_count` is assigned to, but never used [INFO] [stderr] --> src/stream/buffer.rs:408:13 [INFO] [stderr] | [INFO] [stderr] 408 | let mut removed_count = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_removed_count` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `removed_count` is never read [INFO] [stderr] --> src/stream/buffer.rs:414:17 [INFO] [stderr] | [INFO] [stderr] 414 | removed_count += 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: static `LOGGER_INIT` is never used [INFO] [stderr] --> src/utils/logger.rs:85:8 [INFO] [stderr] | [INFO] [stderr] 85 | static LOGGER_INIT: Once = Once::new(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `has_sse2` is never read [INFO] [stderr] --> src/simd/x86_64.rs:320:5 [INFO] [stderr] | [INFO] [stderr] 318 | pub struct X86_64SimdDetector { [INFO] [stderr] | ------------------ field in this struct [INFO] [stderr] 319 | instruction_set: SimdInstructionSet, [INFO] [stderr] 320 | has_sse2: bool, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `parse_websocket_frame` is never used [INFO] [stderr] --> src/upgrade/websocket.rs:274:8 [INFO] [stderr] | [INFO] [stderr] 51 | impl WebSocketUpgrader { [INFO] [stderr] | ---------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 274 | fn parse_websocket_frame(&self, data: &[u8]) -> Result<(u8, Vec)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `cleanup_expired_data` is never used [INFO] [stderr] --> src/stream/analyzer.rs:970:8 [INFO] [stderr] | [INFO] [stderr] 322 | impl StreamAnalyzer { [INFO] [stderr] | ------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 970 | fn cleanup_expired_data(&self, data_points: &mut Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `frequency_threshold` is never read [INFO] [stderr] --> src/probe/heuristic.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct HeuristicProbe { [INFO] [stderr] | -------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 20 | frequency_threshold: f32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/utils/logger.rs:154:14 [INFO] [stderr] | [INFO] [stderr] 154 | unsafe { GLOBAL_LOGGER.as_ref() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stderr] --> src/stream/processor.rs:260:9 [INFO] [stderr] | [INFO] [stderr] 260 | drop(context); [INFO] [stderr] | ^^^^^-------^ [INFO] [stderr] | | [INFO] [stderr] | argument has type `&mut StreamContext` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dropping_references)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the expression or result [INFO] [stderr] | [INFO] [stderr] 260 - drop(context); [INFO] [stderr] 260 + let _ = context; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `psi_detector` (lib) generated 29 warnings (run `cargo fix --lib -p psi_detector` to apply 19 suggestions) [INFO] [stderr] warning: unused import: `ProtocolType` [INFO] [stderr] --> examples/custom_configuration.rs:6:40 [INFO] [stderr] | [INFO] [stderr] 6 | DetectorBuilder, ProtocolDetector, ProtocolType, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> examples/simd_performance.rs:232:9 [INFO] [stderr] | [INFO] [stderr] 230 | ("Unknown", ProtocolType::Unknown) => true, [INFO] [stderr] | ---------------------------------- matches all the relevant values [INFO] [stderr] 231 | // 对于未知协议,检测失败算正确(因为确实是未知协议) [INFO] [stderr] 232 | ("Unknown", ProtocolType::Unknown) => true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `DetectorError` [INFO] [stderr] --> examples/plugin_system_demo.rs:9:13 [INFO] [stderr] | [INFO] [stderr] 9 | error::{DetectorError, Result}, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `start_time` [INFO] [stderr] --> examples/plugin_system_demo.rs:186:13 [INFO] [stderr] | [INFO] [stderr] 186 | let start_time = Instant::now(); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `ProtocolType` [INFO] [stderr] --> examples/basic_detection.rs:6:40 [INFO] [stderr] | [INFO] [stderr] 6 | DetectorBuilder, ProtocolDetector, ProtocolType, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `psi_detector::core::detector::DetectionResult` [INFO] [stderr] --> examples/basic_detection.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use psi_detector::core::detector::DetectionResult; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> examples/concurrent_detection.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `rayon::prelude` [INFO] [stderr] --> examples/concurrent_detection.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use rayon::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> examples/concurrent_detection.rs:341:26 [INFO] [stderr] | [INFO] [stderr] 341 | while let Ok(mut result) = postprocess_rx.recv() { [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: field `sample_id` is never read [INFO] [stderr] --> examples/concurrent_detection.rs:447:5 [INFO] [stderr] | [INFO] [stderr] 446 | struct DetectionResult { [INFO] [stderr] | --------------- field in this struct [INFO] [stderr] 447 | sample_id: usize, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `DetectionResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `server_handle` [INFO] [stderr] --> examples/simple_client_server.rs:228:9 [INFO] [stderr] | [INFO] [stderr] 228 | let server_handle = { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_handle` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `psi_detector` (example "custom_configuration") generated 1 warning (run `cargo fix --example "custom_configuration" -p psi_detector` to apply 1 suggestion) [INFO] [stderr] warning: `psi_detector` (example "simd_performance") generated 1 warning [INFO] [stderr] warning: `psi_detector` (example "plugin_system_demo") generated 2 warnings (run `cargo fix --example "plugin_system_demo" -p psi_detector` to apply 2 suggestions) [INFO] [stderr] warning: `psi_detector` (lib test) generated 29 warnings (29 duplicates) [INFO] [stderr] warning: `psi_detector` (example "basic_detection") generated 2 warnings (run `cargo fix --example "basic_detection" -p psi_detector` to apply 2 suggestions) [INFO] [stderr] warning: `psi_detector` (example "concurrent_detection") generated 4 warnings (run `cargo fix --example "concurrent_detection" -p psi_detector` to apply 2 suggestions) [INFO] [stderr] warning: `psi_detector` (example "simple_client_server") generated 1 warning (run `cargo fix --example "simple_client_server" -p psi_detector` to apply 1 suggestion) [INFO] [stderr] warning: unused import: `core::detector::DetectionResult` [INFO] [stderr] --> examples/client_server_demo.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | core::detector::DetectionResult, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `server_handle` [INFO] [stderr] --> examples/client_server_demo.rs:407:9 [INFO] [stderr] | [INFO] [stderr] 407 | let server_handle = { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_handle` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `print_stats` is never used [INFO] [stderr] --> examples/client_server_demo.rs:232:8 [INFO] [stderr] | [INFO] [stderr] 49 | impl MultiProtocolServer { [INFO] [stderr] | ------------------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 232 | fn print_stats(&self) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `CustomSignatureBuilder` [INFO] [stderr] --> examples/protocol_filtering_performance.rs:6:48 [INFO] [stderr] | [INFO] [stderr] 6 | use psi_detector::core::magic::{MagicDetector, CustomSignatureBuilder}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data_name` [INFO] [stderr] --> examples/protocol_filtering_performance.rs:103:14 [INFO] [stderr] | [INFO] [stderr] 103 | for (data_name, data) in test_data { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> examples/protocol_filtering_performance.rs:105:20 [INFO] [stderr] | [INFO] [stderr] 105 | Ok(result) => { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stderr] [INFO] [stderr] warning: unused import: `builder::DetectorBuilder` [INFO] [stderr] --> examples/websocket_upgrade_demo.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | builder::DetectorBuilder, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> examples/websocket_upgrade_demo.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ProtocolType` [INFO] [stderr] --> examples/performance_test.rs:3:37 [INFO] [stderr] | [INFO] [stderr] 3 | use psi_detector::{DetectorBuilder, ProtocolType, ProtocolDetector}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `psi_detector` (example "client_server_demo") generated 3 warnings (run `cargo fix --example "client_server_demo" -p psi_detector` to apply 2 suggestions) [INFO] [stderr] warning: `psi_detector` (example "protocol_filtering_performance") generated 3 warnings (run `cargo fix --example "protocol_filtering_performance" -p psi_detector` to apply 3 suggestions) [INFO] [stderr] warning: `psi_detector` (example "websocket_upgrade_demo") generated 2 warnings (run `cargo fix --example "websocket_upgrade_demo" -p psi_detector` to apply 2 suggestions) [INFO] [stderr] warning: `psi_detector` (example "performance_test") generated 1 warning (run `cargo fix --example "performance_test" -p psi_detector` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/psi_detector-5065d0707568975d) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test core::magic::tests::test_tls_magic_detection ... ok [INFO] [stdout] test core::magic::tests::test_custom_signature ... ok [INFO] [stdout] test upgrade::websocket::tests::test_supported_upgrades_includes_all_http_versions ... ok [INFO] [stdout] test upgrade::websocket::tests::test_websocket_upgrader_supports_all_http_versions ... ok [INFO] [stdout] test upgrade::websocket::tests::test_websocket_config_default ... ok [INFO] [stdout] test upgrade::websocket::tests::test_websocket_upgrader_with_custom_config ... ok [INFO] [stdout] test core::tls_alpn::tests::test_no_alpn_extension ... ok [INFO] [stdout] test core::magic::tests::test_http_magic_detection ... ok [INFO] [stdout] test core::tls_alpn::tests::test_alpn_detection ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/core_detector_tests.rs (/opt/rustwide/target/debug/deps/core_detector_tests-bb4240475d3d8a73) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test test_detection_config ... ok [INFO] [stdout] test test_detection_config_builder ... ok [INFO] [stdout] test test_detection_result ... ok [INFO] [stdout] test test_detection_stats_empty ... ok [INFO] [stdout] test test_detection_stats_single_success ... ok [INFO] [stdout] test test_detection_stats_single_failure ... ok [INFO] [stdout] test test_detection_stats ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/core_protocol_tests.rs (/opt/rustwide/target/debug/deps/core_protocol_tests-a79db90632094f88) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_protocol_family ... ok [INFO] [stdout] test test_protocol_info ... ok [INFO] [stdout] test test_protocol_properties ... ok [INFO] [stdout] test test_protocol_type_display ... ok [INFO] [stdout] test test_serialization ... ok [INFO] [stdout] test test_upgrade_path ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/error_tests.rs (/opt/rustwide/target/debug/deps/error_tests-bc28611de2eb7aab) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test test_error_classification ... ok [INFO] [stdout] test test_config_error_classification ... ok [INFO] [stdout] test test_error_creation ... ok [INFO] [stdout] test test_error_recovery_classification ... ok [INFO] [stdout] test test_error_codes ... ok [INFO] [stdout] test test_error_constructors ... ok [INFO] [stdout] test test_error_display ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/lib_tests.rs (/opt/rustwide/target/debug/deps/lib_tests-141bc8f61ea195a1) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test test_basic_detector_creation ... ok [INFO] [stdout] test test_version_info ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/simd_tests.rs (/opt/rustwide/target/debug/deps/simd_tests-d2e73bea438c258a) [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test test_byte_counting_empty_data ... ok [INFO] [stdout] test test_byte_counting ... ok [INFO] [stdout] test test_byte_counting_not_found ... ok [INFO] [stdout] test test_byte_finding ... ok [INFO] [stdout] test test_byte_finding_empty_data ... ok [INFO] [stdout] test test_byte_finding_first_occurrence ... ok [INFO] [stdout] test test_byte_finding_not_found ... ok [INFO] [stdout] test test_detector_creation ... ok [INFO] [stdout] test test_pattern_matching ... ok [INFO] [stdout] test test_pattern_matching_empty_needle ... ok [INFO] [stdout] test test_pattern_matching_not_found ... ok [INFO] [stdout] test test_pattern_matching_multiple_occurrences ... ok [INFO] [stdout] test test_simd_instruction_set_debug ... ok [INFO] [stdout] test test_simd_instruction_set_equality ... ok [INFO] [stdout] test test_simd_support_detection ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests psi_detector [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "8bbccc5f04991f0db81d1a17e889bed0273f7d227b0f443df36420df7b3644ca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8bbccc5f04991f0db81d1a17e889bed0273f7d227b0f443df36420df7b3644ca", kill_on_drop: false }` [INFO] [stdout] 8bbccc5f04991f0db81d1a17e889bed0273f7d227b0f443df36420df7b3644ca