[INFO] fetching crate triglav 0.2.0... [INFO] testing triglav-0.2.0 against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1 [INFO] extracting crate triglav 0.2.0 into /workspace/builds/worker-6-tc2/source [INFO] started tweaking crates.io crate triglav 0.2.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate triglav 0.2.0 [INFO] tweaked toml for crates.io crate triglav 0.2.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate triglav 0.2.0 on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate triglav 0.2.0 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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a2df05d71eb9eabc91190022f6032b971d1a1c37727131b6f9e2a35118943753 [INFO] running `Command { std: "docker" "start" "-a" "a2df05d71eb9eabc91190022f6032b971d1a1c37727131b6f9e2a35118943753", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a2df05d71eb9eabc91190022f6032b971d1a1c37727131b6f9e2a35118943753", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a2df05d71eb9eabc91190022f6032b971d1a1c37727131b6f9e2a35118943753", kill_on_drop: false }` [INFO] [stdout] a2df05d71eb9eabc91190022f6032b971d1a1c37727131b6f9e2a35118943753 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }` [INFO] [stdout] 6a2117dee0809443b4f1f66301819348191d2eb7ad1c5221a833deb43ebf6f76 [INFO] running `Command { std: "docker" "start" "-a" "6a2117dee0809443b4f1f66301819348191d2eb7ad1c5221a833deb43ebf6f76", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.179 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling syn v2.0.113 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling find-msvc-tools v0.1.6 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling cc v1.2.51 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling zmij v1.0.12 [INFO] [stderr] Compiling serde_json v1.0.148 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling bytemuck v1.24.0 [INFO] [stderr] Compiling safe_arch v0.7.4 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling socket2 v0.6.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling openssl-probe v0.2.0 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling time-core v0.1.6 [INFO] [stderr] Compiling indexmap v2.12.1 [INFO] [stderr] Compiling libsqlite3-sys v0.28.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling time v0.3.44 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling polyval v0.6.2 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling approx v0.5.1 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling wide v0.7.33 [INFO] [stderr] Compiling terminal_size v0.4.3 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling quinn-udp v0.5.14 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling clap_lex v0.7.6 [INFO] [stderr] Compiling protobuf v2.28.0 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Compiling portable-atomic v1.13.0 [INFO] [stderr] Compiling ryu v1.0.22 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling clap_builder v4.5.54 [INFO] [stderr] Compiling tinyvec v1.10.0 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling simba v0.6.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling rustls-pki-types v1.13.2 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling rustls-webpki v0.103.8 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling netlink-packet-utils v0.5.2 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling netlink-packet-core v0.7.0 [INFO] [stderr] Compiling webpki-roots v1.0.5 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling chacha20 v0.9.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling nalgebra-macros v0.1.0 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling fastbloom v0.14.0 [INFO] [stderr] Compiling nix v0.28.0 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling rand_distr v0.4.3 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling ghash v0.5.1 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling poly1305 v0.8.0 [INFO] [stderr] Compiling console v0.15.11 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling rustls-platform-verifier v0.6.2 [INFO] [stderr] Compiling blake3 v1.8.2 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling quinn v0.11.9 [INFO] [stderr] Compiling snow v0.9.6 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling lru-slab v0.1.2 [INFO] [stderr] Compiling rustc-hash v2.1.1 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling prometheus v0.13.4 [INFO] [stderr] Compiling base64ct v1.8.2 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling tempfile v3.24.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling quinn-proto v0.11.13 [INFO] [stderr] Compiling password-hash v0.5.0 [INFO] [stderr] Compiling axum-core v0.4.5 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.19 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling netlink-sys v0.8.7 [INFO] [stderr] Compiling netlink-proto v0.11.5 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling chacha20poly1305 v0.10.1 [INFO] [stderr] Compiling clap v4.5.54 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling nalgebra v0.29.0 [INFO] [stderr] Compiling aes-gcm v0.10.3 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling netlink-packet-route v0.19.0 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling yasna v0.5.2 [INFO] [stderr] Compiling hashlink v0.9.1 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling nix v0.27.1 [INFO] [stderr] Compiling pem v3.0.6 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling matchit v0.7.3 [INFO] [stderr] Compiling arrayref v0.3.9 [INFO] [stderr] Compiling humantime v2.3.0 [INFO] [stderr] Compiling constant_time_eq v0.3.1 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling indicatif v0.17.11 [INFO] [stderr] Compiling comfy-table v7.2.1 [INFO] [stderr] Compiling rusqlite v0.31.0 [INFO] [stderr] Compiling humantime-serde v1.1.1 [INFO] [stderr] Compiling axum v0.7.9 [INFO] [stderr] Compiling rtnetlink v0.14.1 [INFO] [stderr] Compiling dialoguer v0.11.0 [INFO] [stderr] Compiling rcgen v0.13.2 [INFO] [stderr] Compiling directories v5.0.1 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling tracing-appender v0.2.4 [INFO] [stderr] Compiling signal-hook-tokio v0.3.1 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling shellexpand v3.1.1 [INFO] [stderr] Compiling statrs v0.16.1 [INFO] [stderr] Compiling clap_complete v4.5.64 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling argon2 v0.5.3 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling x25519-dalek v2.0.1 [INFO] [stderr] Compiling webpki-roots v0.26.11 [INFO] [stderr] Compiling dashmap v5.5.3 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling tower v0.4.13 [INFO] [stderr] Compiling tower-http v0.5.2 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling priority-queue v2.7.0 [INFO] [stderr] Compiling uuid v1.19.0 [INFO] [stderr] Compiling daemonize v0.5.0 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling socket2 v0.5.10 [INFO] [stderr] Compiling triglav v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `VecDeque` [INFO] [stdout] --> src/multipath/aggregator.rs:13:43 [INFO] [stdout] | [INFO] [stdout] 13 | use std::collections::{BTreeMap, HashMap, VecDeque}; [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: `crate::types::Bandwidth` [INFO] [stdout] --> src/multipath/aggregator.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use crate::types::Bandwidth; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IpAddr` [INFO] [stdout] --> src/tun/device.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AddressFamily`, `SockFlag`, `SockType`, and `socket` [INFO] [stdout] --> src/tun/device.rs:219:32 [INFO] [stdout] | [INFO] [stdout] 219 | use nix::sys::socket::{socket, AddressFamily, SockFlag, SockType}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ipv4Addr` [INFO] [stdout] --> src/tun/dns.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use std::net::{IpAddr, Ipv4Addr, SocketAddr}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/tun/dns.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/tun/nat.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SocketAddr` [INFO] [stdout] --> src/tun/nat.rs:7:44 [INFO] [stdout] | [INFO] [stdout] 7 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FlowTuple` [INFO] [stdout] --> src/tun/nat.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | use super::packet::{FlowTuple, IpPacket, IpPacketMut, TransportProtocol}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ipv4Addr` and `Ipv6Addr` [INFO] [stdout] --> src/tun/routing.rs:5:24 [INFO] [stdout] | [INFO] [stdout] 5 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::IpAddr` [INFO] [stdout] --> src/tun/runner.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::net::IpAddr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicU64` [INFO] [stdout] --> src/tun/runner.rs:7:37 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::atomic::{AtomicBool, AtomicU64, Ordering}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mpsc` [INFO] [stdout] --> src/tun/runner.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | use tokio::sync::{broadcast, mpsc}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/tun/runner.rs:21:20 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::error::{Error, Result}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/util/interface.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `warn` [INFO] [stdout] --> src/util/netwatch.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tun/runner.rs:290:13 [INFO] [stdout] | [INFO] [stdout] 290 | let mut tunnel_buf = vec![0u8; self.config.buffer_size]; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncReadExt` [INFO] [stdout] --> src/tun/device.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncWriteExt` [INFO] [stdout] --> src/tun/device.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cycles` [INFO] [stdout] --> src/multipath/throughput.rs:422:13 [INFO] [stdout] | [INFO] [stdout] 422 | let cycles = self.state_cycles.load(Ordering::Relaxed); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles` [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_sent` [INFO] [stdout] --> src/multipath/uplink.rs:917:13 [INFO] [stdout] | [INFO] [stdout] 917 | let total_sent = stats.bytes_sent.max(1); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_sent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tun/device.rs:278:13 [INFO] [stdout] | [INFO] [stdout] 278 | let mut device = Self { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gateway` [INFO] [stdout] --> src/tun/routing.rs:609:39 [INFO] [stdout] | [INFO] [stdout] 609 | fn restore_default_gateway(&self, gateway: IpAddr, interface: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gateway` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `interface` [INFO] [stdout] --> src/tun/routing.rs:609:56 [INFO] [stdout] | [INFO] [stdout] 609 | fn restore_default_gateway(&self, gateway: IpAddr, interface: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interface` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tun/runner.rs:162:13 [INFO] [stdout] | [INFO] [stdout] 162 | let mut tun = TunDevice::create(config.tun.clone())?; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tunnel_buf` [INFO] [stdout] --> src/tun/runner.rs:290:13 [INFO] [stdout] | [INFO] [stdout] 290 | let mut tunnel_buf = vec![0u8; self.config.buffer_size]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tunnel_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uplink_id` [INFO] [stdout] --> src/tun/runner.rs:318:29 [INFO] [stdout] | [INFO] [stdout] 318 | Some((data, uplink_id)) = recv_rx.recv() => { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_uplink_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `running` [INFO] [stdout] --> src/tun/runner.rs:414:13 [INFO] [stdout] | [INFO] [stdout] 414 | let running = self.running.load(Ordering::SeqCst); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_running` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tun/runner.rs:516:13 [INFO] [stdout] | [INFO] [stdout] 516 | let mut runner = TunnelRunner::new(self.config)?; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/util/netwatch.rs:325:30 [INFO] [stdout] | [INFO] [stdout] 325 | let (connection, handle, mut messages) = match rtnetlink::new_connection() { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `deficit` is never read [INFO] [stdout] --> src/multipath/aggregator.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 94 | struct UplinkWeight { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 101 | deficit: i32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UplinkWeight` 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: fields `sequence` and `from_uplink` are never read [INFO] [stdout] --> src/multipath/aggregator.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 108 | struct BufferedPacket { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 109 | /// Global sequence number. [INFO] [stdout] 110 | sequence: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | from_uplink: u16, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BufferedPacket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_PACING_INTERVAL` is never used [INFO] [stdout] --> src/multipath/throughput.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub const DEFAULT_PACING_INTERVAL: Duration = Duration::from_micros(100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Verify` is never constructed [INFO] [stdout] --> src/multipath/throughput.rs:541:5 [INFO] [stdout] | [INFO] [stdout] 535 | enum PmtudPhase { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 541 | Verify, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PmtudPhase` 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 `last_optimization` is never read [INFO] [stdout] --> src/multipath/throughput.rs:965:5 [INFO] [stdout] | [INFO] [stdout] 959 | pub struct ThroughputOptimizer { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 965 | last_optimization: RwLock, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_ttl` and `data` are never used [INFO] [stdout] --> src/tun/packet.rs:483:12 [INFO] [stdout] | [INFO] [stdout] 412 | impl<'a> IpPacketMut<'a> { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 483 | pub fn set_ttl(&mut self, ttl: u8) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 573 | pub fn data(&self) -> &[u8] { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `keypair` is never read [INFO] [stdout] --> src/tun/runner.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 123 | pub struct TunnelRunner { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 143 | keypair: KeyPair, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TunnelBuilder` is never constructed [INFO] [stdout] --> src/tun/runner.rs:445:12 [INFO] [stdout] | [INFO] [stdout] 445 | pub struct TunnelBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tun/runner.rs:452:12 [INFO] [stdout] | [INFO] [stdout] 450 | impl TunnelBuilder { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 451 | /// Create a new tunnel builder with default config. [INFO] [stdout] 452 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 460 | pub fn tun_name(mut self, name: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 466 | pub fn ipv4(mut self, addr: std::net::Ipv4Addr) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 473 | pub fn full_tunnel(mut self, enable: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 479 | pub fn route(mut self, network: &str) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 485 | pub fn exclude(mut self, network: &str) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 491 | pub fn dns_server(mut self, server: std::net::SocketAddr) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 497 | pub fn local_dns(mut self, addr: std::net::SocketAddr) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 503 | pub fn uplink(mut self, config: UplinkConfig) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 509 | pub fn strategy(mut self, strategy: crate::multipath::SchedulingStrategy) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 515 | pub fn build(self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 37s [INFO] running `Command { std: "docker" "inspect" "6a2117dee0809443b4f1f66301819348191d2eb7ad1c5221a833deb43ebf6f76", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a2117dee0809443b4f1f66301819348191d2eb7ad1c5221a833deb43ebf6f76", kill_on_drop: false }` [INFO] [stdout] 6a2117dee0809443b4f1f66301819348191d2eb7ad1c5221a833deb43ebf6f76 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }` [INFO] [stdout] 972ff62e8900a3e63d101524eb1caebdd6e8b93582d9803fd07994581a7c4002 [INFO] running `Command { std: "docker" "start" "-a" "972ff62e8900a3e63d101524eb1caebdd6e8b93582d9803fd07994581a7c4002", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling zerocopy v0.8.31 [INFO] [stderr] Compiling zerocopy-derive v0.8.31 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling predicates-core v1.0.9 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling test-case-core v3.3.1 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling humantime-serde v1.1.1 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling prometheus v0.13.4 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling comfy-table v7.2.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling hashlink v0.9.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling rusqlite v0.31.0 [INFO] [stderr] Compiling fastbloom v0.14.0 [INFO] [stderr] Compiling dashmap v5.5.3 [INFO] [stderr] Compiling quinn-proto v0.11.13 [INFO] [stderr] Compiling tracing-appender v0.2.4 [INFO] [stderr] Compiling rand_distr v0.4.3 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling nalgebra v0.29.0 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling test-case-macros v3.3.1 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling netlink-sys v0.8.7 [INFO] [stderr] Compiling netlink-proto v0.11.5 [INFO] [stderr] Compiling signal-hook-tokio v0.3.1 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling indicatif v0.17.11 [INFO] [stderr] Compiling rtnetlink v0.14.1 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling hyper-util v0.1.19 [INFO] [stderr] Compiling predicates-tree v1.0.12 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling quinn v0.11.9 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling predicates v3.1.3 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling axum v0.7.9 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling mockall_derive v0.12.1 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling downcast v0.11.0 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling fragile v2.0.1 [INFO] [stderr] Compiling proptest v1.9.0 [INFO] [stderr] Compiling tokio-test v0.4.5 [INFO] [stderr] Compiling test-case v3.3.1 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling mockall v0.12.1 [INFO] [stderr] Compiling statrs v0.16.1 [INFO] [stderr] Compiling triglav v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `VecDeque` [INFO] [stdout] --> src/multipath/aggregator.rs:13:43 [INFO] [stdout] | [INFO] [stdout] 13 | use std::collections::{BTreeMap, HashMap, VecDeque}; [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: `crate::types::Bandwidth` [INFO] [stdout] --> src/multipath/aggregator.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use crate::types::Bandwidth; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IpAddr` [INFO] [stdout] --> src/tun/device.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AddressFamily`, `SockFlag`, `SockType`, and `socket` [INFO] [stdout] --> src/tun/device.rs:219:32 [INFO] [stdout] | [INFO] [stdout] 219 | use nix::sys::socket::{socket, AddressFamily, SockFlag, SockType}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ipv4Addr` [INFO] [stdout] --> src/tun/dns.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use std::net::{IpAddr, Ipv4Addr, SocketAddr}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/tun/dns.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/tun/nat.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SocketAddr` [INFO] [stdout] --> src/tun/nat.rs:7:44 [INFO] [stdout] | [INFO] [stdout] 7 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FlowTuple` [INFO] [stdout] --> src/tun/nat.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | use super::packet::{FlowTuple, IpPacket, IpPacketMut, TransportProtocol}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ipv4Addr` and `Ipv6Addr` [INFO] [stdout] --> src/tun/routing.rs:5:24 [INFO] [stdout] | [INFO] [stdout] 5 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::IpAddr` [INFO] [stdout] --> src/tun/runner.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::net::IpAddr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicU64` [INFO] [stdout] --> src/tun/runner.rs:7:37 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::atomic::{AtomicBool, AtomicU64, Ordering}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mpsc` [INFO] [stdout] --> src/tun/runner.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | use tokio::sync::{broadcast, mpsc}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/tun/runner.rs:21:20 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::error::{Error, Result}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/util/interface.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `warn` [INFO] [stdout] --> src/util/netwatch.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VecDeque` [INFO] [stdout] --> src/multipath/aggregator.rs:13:43 [INFO] [stdout] | [INFO] [stdout] 13 | use std::collections::{BTreeMap, HashMap, VecDeque}; [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: `crate::types::Bandwidth` [INFO] [stdout] --> src/multipath/aggregator.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use crate::types::Bandwidth; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IpAddr` [INFO] [stdout] --> src/tun/device.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AddressFamily`, `SockFlag`, `SockType`, and `socket` [INFO] [stdout] --> src/tun/device.rs:219:32 [INFO] [stdout] | [INFO] [stdout] 219 | use nix::sys::socket::{socket, AddressFamily, SockFlag, SockType}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ipv4Addr` [INFO] [stdout] --> src/tun/dns.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use std::net::{IpAddr, Ipv4Addr, SocketAddr}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/tun/dns.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/tun/nat.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SocketAddr` [INFO] [stdout] --> src/tun/nat.rs:7:44 [INFO] [stdout] | [INFO] [stdout] 7 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FlowTuple` [INFO] [stdout] --> src/tun/nat.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | use super::packet::{FlowTuple, IpPacket, IpPacketMut, TransportProtocol}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ipv6Addr` [INFO] [stdout] --> src/tun/routing.rs:5:34 [INFO] [stdout] | [INFO] [stdout] 5 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tun/runner.rs:290:13 [INFO] [stdout] | [INFO] [stdout] 290 | let mut tunnel_buf = vec![0u8; self.config.buffer_size]; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::IpAddr` [INFO] [stdout] --> src/tun/runner.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::net::IpAddr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicU64` [INFO] [stdout] --> src/tun/runner.rs:7:37 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::atomic::{AtomicBool, AtomicU64, Ordering}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mpsc` [INFO] [stdout] --> src/tun/runner.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | use tokio::sync::{broadcast, mpsc}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/tun/runner.rs:21:20 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::error::{Error, Result}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/util/interface.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `warn` [INFO] [stdout] --> src/util/netwatch.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tun/runner.rs:290:13 [INFO] [stdout] | [INFO] [stdout] 290 | let mut tunnel_buf = vec![0u8; self.config.buffer_size]; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncReadExt` [INFO] [stdout] --> src/tun/device.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncWriteExt` [INFO] [stdout] --> src/tun/device.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cycles` [INFO] [stdout] --> src/multipath/throughput.rs:422:13 [INFO] [stdout] | [INFO] [stdout] 422 | let cycles = self.state_cycles.load(Ordering::Relaxed); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles` [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_sent` [INFO] [stdout] --> src/multipath/uplink.rs:917:13 [INFO] [stdout] | [INFO] [stdout] 917 | let total_sent = stats.bytes_sent.max(1); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_sent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncReadExt` [INFO] [stdout] --> src/tun/device.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncWriteExt` [INFO] [stdout] --> src/tun/device.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tun/device.rs:278:13 [INFO] [stdout] | [INFO] [stdout] 278 | let mut device = Self { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ready` [INFO] [stdout] --> src/multipath/aggregator.rs:660:13 [INFO] [stdout] | [INFO] [stdout] 660 | let ready = buffer.poll_timeout(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ready` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ready2` [INFO] [stdout] --> src/multipath/aggregator.rs:664:13 [INFO] [stdout] | [INFO] [stdout] 664 | let ready2 = buffer.insert(5, vec![5], 0); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ready2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gateway` [INFO] [stdout] --> src/tun/routing.rs:609:39 [INFO] [stdout] | [INFO] [stdout] 609 | fn restore_default_gateway(&self, gateway: IpAddr, interface: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gateway` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `interface` [INFO] [stdout] --> src/tun/routing.rs:609:56 [INFO] [stdout] | [INFO] [stdout] 609 | fn restore_default_gateway(&self, gateway: IpAddr, interface: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interface` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tun/runner.rs:162:13 [INFO] [stdout] | [INFO] [stdout] 162 | let mut tun = TunDevice::create(config.tun.clone())?; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tunnel_buf` [INFO] [stdout] --> src/tun/runner.rs:290:13 [INFO] [stdout] | [INFO] [stdout] 290 | let mut tunnel_buf = vec![0u8; self.config.buffer_size]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tunnel_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uplink_id` [INFO] [stdout] --> src/tun/runner.rs:318:29 [INFO] [stdout] | [INFO] [stdout] 318 | Some((data, uplink_id)) = recv_rx.recv() => { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_uplink_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `running` [INFO] [stdout] --> src/tun/runner.rs:414:13 [INFO] [stdout] | [INFO] [stdout] 414 | let running = self.running.load(Ordering::SeqCst); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_running` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tun/runner.rs:516:13 [INFO] [stdout] | [INFO] [stdout] 516 | let mut runner = TunnelRunner::new(self.config)?; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/util/netwatch.rs:325:30 [INFO] [stdout] | [INFO] [stdout] 325 | let (connection, handle, mut messages) = match rtnetlink::new_connection() { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `deficit` is never read [INFO] [stdout] --> src/multipath/aggregator.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 94 | struct UplinkWeight { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 101 | deficit: i32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UplinkWeight` 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: fields `sequence` and `from_uplink` are never read [INFO] [stdout] --> src/multipath/aggregator.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 108 | struct BufferedPacket { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 109 | /// Global sequence number. [INFO] [stdout] 110 | sequence: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | from_uplink: u16, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BufferedPacket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_PACING_INTERVAL` is never used [INFO] [stdout] --> src/multipath/throughput.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub const DEFAULT_PACING_INTERVAL: Duration = Duration::from_micros(100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Verify` is never constructed [INFO] [stdout] --> src/multipath/throughput.rs:541:5 [INFO] [stdout] | [INFO] [stdout] 535 | enum PmtudPhase { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 541 | Verify, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PmtudPhase` 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 `last_optimization` is never read [INFO] [stdout] --> src/multipath/throughput.rs:965:5 [INFO] [stdout] | [INFO] [stdout] 959 | pub struct ThroughputOptimizer { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 965 | last_optimization: RwLock, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_ttl` and `data` are never used [INFO] [stdout] --> src/tun/packet.rs:483:12 [INFO] [stdout] | [INFO] [stdout] 412 | impl<'a> IpPacketMut<'a> { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 483 | pub fn set_ttl(&mut self, ttl: u8) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 573 | pub fn data(&self) -> &[u8] { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `keypair` is never read [INFO] [stdout] --> src/tun/runner.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 123 | pub struct TunnelRunner { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 143 | keypair: KeyPair, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TunnelBuilder` is never constructed [INFO] [stdout] --> src/tun/runner.rs:445:12 [INFO] [stdout] | [INFO] [stdout] 445 | pub struct TunnelBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tun/runner.rs:452:12 [INFO] [stdout] | [INFO] [stdout] 450 | impl TunnelBuilder { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 451 | /// Create a new tunnel builder with default config. [INFO] [stdout] 452 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 460 | pub fn tun_name(mut self, name: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 466 | pub fn ipv4(mut self, addr: std::net::Ipv4Addr) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 473 | pub fn full_tunnel(mut self, enable: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 479 | pub fn route(mut self, network: &str) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 485 | pub fn exclude(mut self, network: &str) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 491 | pub fn dns_server(mut self, server: std::net::SocketAddr) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 497 | pub fn local_dns(mut self, addr: std::net::SocketAddr) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 503 | pub fn uplink(mut self, config: UplinkConfig) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 509 | pub fn strategy(mut self, strategy: crate::multipath::SchedulingStrategy) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 515 | pub fn build(self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cycles` [INFO] [stdout] --> src/multipath/throughput.rs:422:13 [INFO] [stdout] | [INFO] [stdout] 422 | let cycles = self.state_cycles.load(Ordering::Relaxed); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_sent` [INFO] [stdout] --> src/multipath/uplink.rs:917:13 [INFO] [stdout] | [INFO] [stdout] 917 | let total_sent = stats.bytes_sent.max(1); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_sent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tun/device.rs:278:13 [INFO] [stdout] | [INFO] [stdout] 278 | let mut device = Self { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gateway` [INFO] [stdout] --> src/tun/routing.rs:609:39 [INFO] [stdout] | [INFO] [stdout] 609 | fn restore_default_gateway(&self, gateway: IpAddr, interface: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gateway` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `interface` [INFO] [stdout] --> src/tun/routing.rs:609:56 [INFO] [stdout] | [INFO] [stdout] 609 | fn restore_default_gateway(&self, gateway: IpAddr, interface: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interface` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tun/runner.rs:162:13 [INFO] [stdout] | [INFO] [stdout] 162 | let mut tun = TunDevice::create(config.tun.clone())?; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tunnel_buf` [INFO] [stdout] --> src/tun/runner.rs:290:13 [INFO] [stdout] | [INFO] [stdout] 290 | let mut tunnel_buf = vec![0u8; self.config.buffer_size]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tunnel_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uplink_id` [INFO] [stdout] --> src/tun/runner.rs:318:29 [INFO] [stdout] | [INFO] [stdout] 318 | Some((data, uplink_id)) = recv_rx.recv() => { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_uplink_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `running` [INFO] [stdout] --> src/tun/runner.rs:414:13 [INFO] [stdout] | [INFO] [stdout] 414 | let running = self.running.load(Ordering::SeqCst); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_running` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tun/runner.rs:516:13 [INFO] [stdout] | [INFO] [stdout] 516 | let mut runner = TunnelRunner::new(self.config)?; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/util/netwatch.rs:325:30 [INFO] [stdout] | [INFO] [stdout] 325 | let (connection, handle, mut messages) = match rtnetlink::new_connection() { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `deficit` is never read [INFO] [stdout] --> src/multipath/aggregator.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 94 | struct UplinkWeight { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 101 | deficit: i32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UplinkWeight` 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: fields `sequence` and `from_uplink` are never read [INFO] [stdout] --> src/multipath/aggregator.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 108 | struct BufferedPacket { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 109 | /// Global sequence number. [INFO] [stdout] 110 | sequence: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | from_uplink: u16, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BufferedPacket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_PACING_INTERVAL` is never used [INFO] [stdout] --> src/multipath/throughput.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub const DEFAULT_PACING_INTERVAL: Duration = Duration::from_micros(100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Verify` is never constructed [INFO] [stdout] --> src/multipath/throughput.rs:541:5 [INFO] [stdout] | [INFO] [stdout] 535 | enum PmtudPhase { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 541 | Verify, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PmtudPhase` 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 `last_optimization` is never read [INFO] [stdout] --> src/multipath/throughput.rs:965:5 [INFO] [stdout] | [INFO] [stdout] 959 | pub struct ThroughputOptimizer { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 965 | last_optimization: RwLock, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_ttl` and `data` are never used [INFO] [stdout] --> src/tun/packet.rs:483:12 [INFO] [stdout] | [INFO] [stdout] 412 | impl<'a> IpPacketMut<'a> { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 483 | pub fn set_ttl(&mut self, ttl: u8) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 573 | pub fn data(&self) -> &[u8] { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `keypair` is never read [INFO] [stdout] --> src/tun/runner.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 123 | pub struct TunnelRunner { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 143 | keypair: KeyPair, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `uplinks` is never read [INFO] [stdout] --> src/tun/runner.rs:447:5 [INFO] [stdout] | [INFO] [stdout] 445 | pub struct TunnelBuilder { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 446 | config: TunnelConfig, [INFO] [stdout] 447 | uplinks: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/tun/runner.rs:466:12 [INFO] [stdout] | [INFO] [stdout] 450 | impl TunnelBuilder { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 466 | pub fn ipv4(mut self, addr: std::net::Ipv4Addr) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 485 | pub fn exclude(mut self, network: &str) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 491 | pub fn dns_server(mut self, server: std::net::SocketAddr) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 497 | pub fn local_dns(mut self, addr: std::net::SocketAddr) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 503 | pub fn uplink(mut self, config: UplinkConfig) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 509 | pub fn strategy(mut self, strategy: crate::multipath::SchedulingStrategy) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 515 | pub fn build(self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::SocketAddr` [INFO] [stdout] --> tests/security_edge_cases.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::net::SocketAddr; [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::sync::Arc` [INFO] [stdout] --> tests/security_edge_cases.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> tests/security_edge_cases.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CryptoError` and `Result` [INFO] [stdout] --> tests/security_edge_cases.rs:16:22 [INFO] [stdout] | [INFO] [stdout] 16 | use triglav::error::{CryptoError, Result}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PacketFlags` [INFO] [stdout] --> tests/security_edge_cases.rs:17:33 [INFO] [stdout] | [INFO] [stdout] 17 | use triglav::protocol::{Packet, PacketFlags, PacketType, HEADER_SIZE}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> tests/tcp_transport.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::sync::Arc; [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: `triglav::error::Result` [INFO] [stdout] --> tests/tcp_transport.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use triglav::error::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::SocketAddr` [INFO] [stdout] --> tests/scheduler_strategies.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::net::SocketAddr; [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: `HEADER_SIZE` [INFO] [stdout] --> tests/error_recovery.rs:21:58 [INFO] [stdout] | [INFO] [stdout] 21 | use triglav::protocol::{Packet, PacketFlags, PacketType, HEADER_SIZE}; [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 imports: `SequenceNumber` and `UplinkHealth` [INFO] [stdout] --> tests/error_recovery.rs:23:39 [INFO] [stdout] | [INFO] [stdout] 23 | use triglav::types::{ConnectionState, SequenceNumber, SessionId, UplinkHealth, UplinkId}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ct2` [INFO] [stdout] --> tests/security_edge_cases.rs:366:9 [INFO] [stdout] | [INFO] [stdout] 366 | let ct2 = client.encrypt(b"message 2").unwrap(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ct2` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> tests/e2e_multipath.rs:12:27 [INFO] [stdout] | [INFO] [stdout] 12 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/security_edge_cases.rs:394:10 [INFO] [stdout] | [INFO] [stdout] 394 | let (mut client2, mut server2) = [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: `client2` [INFO] [stdout] --> tests/security_edge_cases.rs:394:10 [INFO] [stdout] | [INFO] [stdout] 394 | let (mut client2, mut server2) = [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/error_recovery.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | let mut sessions: DashMap>> = DashMap::new(); [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: `selected` [INFO] [stdout] --> tests/scheduler_strategies.rs:330:9 [INFO] [stdout] | [INFO] [stdout] 330 | let selected = scheduler.select(&uplinks, None); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selected` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uplink_id` [INFO] [stdout] --> tests/error_recovery.rs:686:9 [INFO] [stdout] | [INFO] [stdout] 686 | let uplink_id = manager.add_uplink(uplink_config).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_uplink_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> tests/error_recovery.rs:497:5 [INFO] [stdout] | [INFO] [stdout] 497 | manager.retry_pending(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `triglav::crypto::KeyPair` [INFO] [stdout] --> tests/network_impairment_simulation.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use triglav::crypto::KeyPair; [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 imports: `MultipathConfig`, `MultipathManager`, and `UplinkConfig` [INFO] [stdout] --> tests/network_impairment_simulation.rs:24:26 [INFO] [stdout] | [INFO] [stdout] 24 | use triglav::multipath::{MultipathConfig, MultipathManager, UplinkConfig}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HEADER_SIZE`, `PacketType`, and `Packet` [INFO] [stdout] --> tests/network_impairment_simulation.rs:25:25 [INFO] [stdout] | [INFO] [stdout] 25 | use triglav::protocol::{Packet, PacketType, HEADER_SIZE}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `triglav::transport::TransportProtocol` [INFO] [stdout] --> tests/network_impairment_simulation.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use triglav::transport::TransportProtocol; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SequenceNumber`, `SessionId`, and `UplinkId` [INFO] [stdout] --> tests/network_impairment_simulation.rs:27:22 [INFO] [stdout] | [INFO] [stdout] 27 | use triglav::types::{SequenceNumber, SessionId, UplinkId}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_response` [INFO] [stdout] --> tests/network_impairment_simulation.rs:249:45 [INFO] [stdout] | [INFO] [stdout] 249 | ... let (dest_addr, is_response) = if addr == self.target_addr { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_response` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `last_received` is assigned to, but never used [INFO] [stdout] --> tests/network_impairment_simulation.rs:580:9 [INFO] [stdout] | [INFO] [stdout] 580 | let mut last_received = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_last_received` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `last_received` is never read [INFO] [stdout] --> tests/network_impairment_simulation.rs:591:17 [INFO] [stdout] | [INFO] [stdout] 591 | last_received = true; [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: value assigned to `last_received` is never read [INFO] [stdout] --> tests/network_impairment_simulation.rs:595:17 [INFO] [stdout] | [INFO] [stdout] 595 | last_received = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `last_send_time` is never read [INFO] [stdout] --> tests/network_impairment_simulation.rs:145:5 [INFO] [stdout] | [INFO] [stdout] 136 | pub struct ImpairmentProxy { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 145 | last_send_time: Mutex, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_echo_server` is never used [INFO] [stdout] --> tests/network_impairment_simulation.rs:345:10 [INFO] [stdout] | [INFO] [stdout] 345 | async fn run_echo_server(addr: SocketAddr, shutdown: broadcast::Receiver<()>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `connection_count` is never used [INFO] [stdout] --> tests/e2e_multipath.rs:281:8 [INFO] [stdout] | [INFO] [stdout] 258 | impl ExitDestination { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 281 | fn connection_count(&self) -> u64 { [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 `cross_session_decrypt_attempts` is never read [INFO] [stdout] --> tests/e2e_multipath.rs:394:5 [INFO] [stdout] | [INFO] [stdout] 378 | struct UplinkDataTracker { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 394 | cross_session_decrypt_attempts: RwLock>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UplinkDataTracker` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `has_noise` is never used [INFO] [stdout] --> tests/e2e_multipath.rs:431:8 [INFO] [stdout] | [INFO] [stdout] 406 | impl ForwardingSession { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 431 | fn has_noise(&self, addr: &SocketAddr) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `uplink_stats`, `total_unique_uplinks`, `verify_multi_source_data`, `get_cross_session_decrypt_attempts`, and `test_crypto_isolation` are never used [INFO] [stdout] --> tests/e2e_multipath.rs:468:8 [INFO] [stdout] | [INFO] [stdout] 436 | impl ForwardingServer { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 468 | fn uplink_stats(&self, addr: &SocketAddr) -> Option<(u64, u64)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 478 | fn total_unique_uplinks(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 511 | fn verify_multi_source_data(&self, min_sources: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 540 | fn get_cross_session_decrypt_attempts(&self) -> Vec<(SocketAddr, SocketAddr, bool)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 609 | fn test_crypto_isolation( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verify` [INFO] [stdout] --> tests/tun_test.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | let verify = Command::new("ifconfig") [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_verify` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::SocketAddr` [INFO] [stdout] --> tests/boundary_edge_cases.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::net::SocketAddr; [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::sync::Arc` [INFO] [stdout] --> tests/boundary_edge_cases.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UplinkId` [INFO] [stdout] --> tests/boundary_edge_cases.rs:17:49 [INFO] [stdout] | [INFO] [stdout] 17 | use triglav::types::{SequenceNumber, SessionId, UplinkId}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `packets_from`, `total_packets`, and `source_addresses` are never used [INFO] [stdout] --> tests/physical_multipath.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 108 | impl PhysicalTestServer { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 138 | fn packets_from(&self, addr: &SocketAddr) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | fn total_packets(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | fn source_addresses(&self) -> Vec { [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: `AtomicUsize` [INFO] [stdout] --> tests/stress_tests.rs:11:36 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::atomic::{AtomicU64, AtomicUsize, Ordering}; [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: `HEADER_SIZE` [INFO] [stdout] --> tests/stress_tests.rs:22:58 [INFO] [stdout] | [INFO] [stdout] 22 | use triglav::protocol::{Packet, PacketFlags, PacketType, HEADER_SIZE}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `manager` [INFO] [stdout] --> tests/stress_tests.rs:599:9 [INFO] [stdout] | [INFO] [stdout] 599 | let manager = MultipathManager::new(config, client_keypair); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manager` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3m 40s [INFO] running `Command { std: "docker" "inspect" "972ff62e8900a3e63d101524eb1caebdd6e8b93582d9803fd07994581a7c4002", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "972ff62e8900a3e63d101524eb1caebdd6e8b93582d9803fd07994581a7c4002", kill_on_drop: false }` [INFO] [stdout] 972ff62e8900a3e63d101524eb1caebdd6e8b93582d9803fd07994581a7c4002 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }` [INFO] [stdout] 86c52f97dbc7a9dbb3eaab21460e49d86bd52ab8549f41d08e4c6fa696b382de [INFO] running `Command { std: "docker" "start" "-a" "86c52f97dbc7a9dbb3eaab21460e49d86bd52ab8549f41d08e4c6fa696b382de", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `VecDeque` [INFO] [stderr] --> src/multipath/aggregator.rs:13:43 [INFO] [stderr] | [INFO] [stderr] 13 | use std::collections::{BTreeMap, HashMap, VecDeque}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::types::Bandwidth` [INFO] [stderr] --> src/multipath/aggregator.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | use crate::types::Bandwidth; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `IpAddr` [INFO] [stderr] --> src/tun/device.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AddressFamily`, `SockFlag`, `SockType`, and `socket` [INFO] [stderr] --> src/tun/device.rs:219:32 [INFO] [stderr] | [INFO] [stderr] 219 | use nix::sys::socket::{socket, AddressFamily, SockFlag, SockType}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Ipv4Addr` [INFO] [stderr] --> src/tun/dns.rs:7:24 [INFO] [stderr] | [INFO] [stderr] 7 | use std::net::{IpAddr, Ipv4Addr, SocketAddr}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/tun/dns.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/tun/nat.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `SocketAddr` [INFO] [stderr] --> src/tun/nat.rs:7:44 [INFO] [stderr] | [INFO] [stderr] 7 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `FlowTuple` [INFO] [stderr] --> src/tun/nat.rs:15:21 [INFO] [stderr] | [INFO] [stderr] 15 | use super::packet::{FlowTuple, IpPacket, IpPacketMut, TransportProtocol}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ipv4Addr` and `Ipv6Addr` [INFO] [stderr] --> src/tun/routing.rs:5:24 [INFO] [stderr] | [INFO] [stderr] 5 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::IpAddr` [INFO] [stderr] --> src/tun/runner.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::net::IpAddr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `AtomicU64` [INFO] [stderr] --> src/tun/runner.rs:7:37 [INFO] [stderr] | [INFO] [stderr] 7 | use std::sync::atomic::{AtomicBool, AtomicU64, Ordering}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `mpsc` [INFO] [stderr] --> src/tun/runner.rs:13:30 [INFO] [stderr] | [INFO] [stderr] 13 | use tokio::sync::{broadcast, mpsc}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error` [INFO] [stderr] --> src/tun/runner.rs:21:20 [INFO] [stderr] | [INFO] [stderr] 21 | use crate::error::{Error, Result}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ffi::CString` [INFO] [stderr] --> src/util/interface.rs:190:9 [INFO] [stderr] | [INFO] [stderr] 190 | use std::ffi::CString; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `error` and `warn` [INFO] [stderr] --> src/util/netwatch.rs:12:22 [INFO] [stderr] | [INFO] [stderr] 12 | use tracing::{debug, error, info, warn}; [INFO] [stderr] | ^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tun/runner.rs:290:13 [INFO] [stderr] | [INFO] [stderr] 290 | let mut tunnel_buf = vec![0u8; self.config.buffer_size]; [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 import: `AsyncReadExt` [INFO] [stderr] --> src/tun/device.rs:10:17 [INFO] [stderr] | [INFO] [stderr] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `AsyncWriteExt` [INFO] [stderr] --> src/tun/device.rs:10:31 [INFO] [stderr] | [INFO] [stderr] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cycles` [INFO] [stderr] --> src/multipath/throughput.rs:422:13 [INFO] [stderr] | [INFO] [stderr] 422 | let cycles = self.state_cycles.load(Ordering::Relaxed); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `total_sent` [INFO] [stderr] --> src/multipath/uplink.rs:917:13 [INFO] [stderr] | [INFO] [stderr] 917 | let total_sent = stats.bytes_sent.max(1); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_sent` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tun/device.rs:278:13 [INFO] [stderr] | [INFO] [stderr] 278 | let mut device = Self { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `gateway` [INFO] [stderr] --> src/tun/routing.rs:609:39 [INFO] [stderr] | [INFO] [stderr] 609 | fn restore_default_gateway(&self, gateway: IpAddr, interface: &str) -> Result<()> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gateway` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `interface` [INFO] [stderr] --> src/tun/routing.rs:609:56 [INFO] [stderr] | [INFO] [stderr] 609 | fn restore_default_gateway(&self, gateway: IpAddr, interface: &str) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interface` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tun/runner.rs:162:13 [INFO] [stderr] | [INFO] [stderr] 162 | let mut tun = TunDevice::create(config.tun.clone())?; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tunnel_buf` [INFO] [stderr] --> src/tun/runner.rs:290:13 [INFO] [stderr] | [INFO] [stderr] 290 | let mut tunnel_buf = vec![0u8; self.config.buffer_size]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tunnel_buf` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `uplink_id` [INFO] [stderr] --> src/tun/runner.rs:318:29 [INFO] [stderr] | [INFO] [stderr] 318 | Some((data, uplink_id)) = recv_rx.recv() => { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_uplink_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `running` [INFO] [stderr] --> src/tun/runner.rs:414:13 [INFO] [stderr] | [INFO] [stderr] 414 | let running = self.running.load(Ordering::SeqCst); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_running` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tun/runner.rs:516:13 [INFO] [stderr] | [INFO] [stderr] 516 | let mut runner = TunnelRunner::new(self.config)?; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `handle` [INFO] [stderr] --> src/util/netwatch.rs:325:30 [INFO] [stderr] | [INFO] [stderr] 325 | let (connection, handle, mut messages) = match rtnetlink::new_connection() { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stderr] [INFO] [stderr] warning: field `deficit` is never read [INFO] [stderr] --> src/multipath/aggregator.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 94 | struct UplinkWeight { [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] ... [INFO] [stderr] 101 | deficit: i32, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `UplinkWeight` 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: fields `sequence` and `from_uplink` are never read [INFO] [stderr] --> src/multipath/aggregator.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 108 | struct BufferedPacket { [INFO] [stderr] | -------------- fields in this struct [INFO] [stderr] 109 | /// Global sequence number. [INFO] [stderr] 110 | sequence: u64, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 116 | from_uplink: u16, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `BufferedPacket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: constant `DEFAULT_PACING_INTERVAL` is never used [INFO] [stderr] --> src/multipath/throughput.rs:33:11 [INFO] [stderr] | [INFO] [stderr] 33 | pub const DEFAULT_PACING_INTERVAL: Duration = Duration::from_micros(100); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `Verify` is never constructed [INFO] [stderr] --> src/multipath/throughput.rs:541:5 [INFO] [stderr] | [INFO] [stderr] 535 | enum PmtudPhase { [INFO] [stderr] | ---------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 541 | Verify, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PmtudPhase` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `last_optimization` is never read [INFO] [stderr] --> src/multipath/throughput.rs:965:5 [INFO] [stderr] | [INFO] [stderr] 959 | pub struct ThroughputOptimizer { [INFO] [stderr] | ------------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 965 | last_optimization: RwLock, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `set_ttl` and `data` are never used [INFO] [stderr] --> src/tun/packet.rs:483:12 [INFO] [stderr] | [INFO] [stderr] 412 | impl<'a> IpPacketMut<'a> { [INFO] [stderr] | ------------------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 483 | pub fn set_ttl(&mut self, ttl: u8) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 573 | pub fn data(&self) -> &[u8] { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `keypair` is never read [INFO] [stderr] --> src/tun/runner.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 123 | pub struct TunnelRunner { [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] ... [INFO] [stderr] 143 | keypair: KeyPair, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `TunnelBuilder` is never constructed [INFO] [stderr] --> src/tun/runner.rs:445:12 [INFO] [stderr] | [INFO] [stderr] 445 | pub struct TunnelBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/tun/runner.rs:452:12 [INFO] [stderr] | [INFO] [stderr] 450 | impl TunnelBuilder { [INFO] [stderr] | ------------------ associated items in this implementation [INFO] [stderr] 451 | /// Create a new tunnel builder with default config. [INFO] [stderr] 452 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 460 | pub fn tun_name(mut self, name: &str) -> Self { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 466 | pub fn ipv4(mut self, addr: std::net::Ipv4Addr) -> Self { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 473 | pub fn full_tunnel(mut self, enable: bool) -> Self { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 479 | pub fn route(mut self, network: &str) -> Self { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 485 | pub fn exclude(mut self, network: &str) -> Self { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 491 | pub fn dns_server(mut self, server: std::net::SocketAddr) -> Self { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 497 | pub fn local_dns(mut self, addr: std::net::SocketAddr) -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 503 | pub fn uplink(mut self, config: UplinkConfig) -> Self { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 509 | pub fn strategy(mut self, strategy: crate::multipath::SchedulingStrategy) -> Self { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 515 | pub fn build(self) -> Result { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `triglav` (lib) generated 39 warnings (run `cargo fix --lib -p triglav` to apply 28 suggestions) [INFO] [stderr] warning: methods `packets_from`, `total_packets`, and `source_addresses` are never used [INFO] [stderr] --> tests/physical_multipath.rs:138:8 [INFO] [stderr] | [INFO] [stderr] 108 | impl PhysicalTestServer { [INFO] [stderr] | ----------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 138 | fn packets_from(&self, addr: &SocketAddr) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 145 | fn total_packets(&self) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 149 | fn source_addresses(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `AtomicUsize` [INFO] [stderr] --> tests/stress_tests.rs:11:36 [INFO] [stderr] | [INFO] [stderr] 11 | use std::sync::atomic::{AtomicU64, AtomicUsize, Ordering}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `HEADER_SIZE` [INFO] [stderr] --> tests/stress_tests.rs:22:58 [INFO] [stderr] | [INFO] [stderr] 22 | use triglav::protocol::{Packet, PacketFlags, PacketType, HEADER_SIZE}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `manager` [INFO] [stderr] --> tests/stress_tests.rs:599:9 [INFO] [stderr] | [INFO] [stderr] 599 | let manager = MultipathManager::new(config, client_keypair); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manager` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::SocketAddr` [INFO] [stderr] --> tests/boundary_edge_cases.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::net::SocketAddr; [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::sync::Arc` [INFO] [stderr] --> tests/boundary_edge_cases.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `UplinkId` [INFO] [stderr] --> tests/boundary_edge_cases.rs:17:49 [INFO] [stderr] | [INFO] [stderr] 17 | use triglav::types::{SequenceNumber, SessionId, UplinkId}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::SocketAddr` [INFO] [stderr] --> tests/scheduler_strategies.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::net::SocketAddr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `selected` [INFO] [stderr] --> tests/scheduler_strategies.rs:330:9 [INFO] [stderr] | [INFO] [stderr] 330 | let selected = scheduler.select(&uplinks, None); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selected` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `triglav` (test "physical_multipath") generated 1 warning [INFO] [stderr] warning: `triglav` (test "stress_tests") generated 3 warnings (run `cargo fix --test "stress_tests" -p triglav` to apply 3 suggestions) [INFO] [stderr] warning: `triglav` (test "boundary_edge_cases") generated 3 warnings (run `cargo fix --test "boundary_edge_cases" -p triglav` to apply 3 suggestions) [INFO] [stderr] warning: `triglav` (test "scheduler_strategies") generated 2 warnings (run `cargo fix --test "scheduler_strategies" -p triglav` to apply 2 suggestions) [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> tests/tcp_transport.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `triglav::error::Result` [INFO] [stderr] --> tests/tcp_transport.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use triglav::error::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Instant` [INFO] [stderr] --> tests/e2e_multipath.rs:12:27 [INFO] [stderr] | [INFO] [stderr] 12 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `connection_count` is never used [INFO] [stderr] --> tests/e2e_multipath.rs:281:8 [INFO] [stderr] | [INFO] [stderr] 258 | impl ExitDestination { [INFO] [stderr] | -------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 281 | fn connection_count(&self) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `cross_session_decrypt_attempts` is never read [INFO] [stderr] --> tests/e2e_multipath.rs:394:5 [INFO] [stderr] | [INFO] [stderr] 378 | struct UplinkDataTracker { [INFO] [stderr] | ----------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 394 | cross_session_decrypt_attempts: RwLock>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `UplinkDataTracker` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `has_noise` is never used [INFO] [stderr] --> tests/e2e_multipath.rs:431:8 [INFO] [stderr] | [INFO] [stderr] 406 | impl ForwardingSession { [INFO] [stderr] | ---------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 431 | fn has_noise(&self, addr: &SocketAddr) -> bool { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `uplink_stats`, `total_unique_uplinks`, `verify_multi_source_data`, `get_cross_session_decrypt_attempts`, and `test_crypto_isolation` are never used [INFO] [stderr] --> tests/e2e_multipath.rs:468:8 [INFO] [stderr] | [INFO] [stderr] 436 | impl ForwardingServer { [INFO] [stderr] | --------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 468 | fn uplink_stats(&self, addr: &SocketAddr) -> Option<(u64, u64)> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 478 | fn total_unique_uplinks(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 511 | fn verify_multi_source_data(&self, min_sources: usize) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 540 | fn get_cross_session_decrypt_attempts(&self) -> Vec<(SocketAddr, SocketAddr, bool)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 609 | fn test_crypto_isolation( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Ipv6Addr` [INFO] [stderr] --> src/tun/routing.rs:5:34 [INFO] [stderr] | [INFO] [stderr] 5 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ready` [INFO] [stderr] --> src/multipath/aggregator.rs:660:13 [INFO] [stderr] | [INFO] [stderr] 660 | let ready = buffer.poll_timeout(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ready` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ready2` [INFO] [stderr] --> src/multipath/aggregator.rs:664:13 [INFO] [stderr] | [INFO] [stderr] 664 | let ready2 = buffer.insert(5, vec![5], 0); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ready2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cycles` [INFO] [stderr] --> src/multipath/throughput.rs:422:13 [INFO] [stderr] | [INFO] [stderr] 422 | let cycles = self.state_cycles.load(Ordering::Relaxed); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles` [INFO] [stderr] [INFO] [stderr] warning: field `uplinks` is never read [INFO] [stderr] --> src/tun/runner.rs:447:5 [INFO] [stderr] | [INFO] [stderr] 445 | pub struct TunnelBuilder { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] 446 | config: TunnelConfig, [INFO] [stderr] 447 | uplinks: Vec, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/tun/runner.rs:466:12 [INFO] [stderr] | [INFO] [stderr] 450 | impl TunnelBuilder { [INFO] [stderr] | ------------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 466 | pub fn ipv4(mut self, addr: std::net::Ipv4Addr) -> Self { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 485 | pub fn exclude(mut self, network: &str) -> Self { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 491 | pub fn dns_server(mut self, server: std::net::SocketAddr) -> Self { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 497 | pub fn local_dns(mut self, addr: std::net::SocketAddr) -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 503 | pub fn uplink(mut self, config: UplinkConfig) -> Self { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 509 | pub fn strategy(mut self, strategy: crate::multipath::SchedulingStrategy) -> Self { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 515 | pub fn build(self) -> Result { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `triglav::crypto::KeyPair` [INFO] [stderr] --> tests/network_impairment_simulation.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | use triglav::crypto::KeyPair; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `MultipathConfig`, `MultipathManager`, and `UplinkConfig` [INFO] [stderr] --> tests/network_impairment_simulation.rs:24:26 [INFO] [stderr] | [INFO] [stderr] 24 | use triglav::multipath::{MultipathConfig, MultipathManager, UplinkConfig}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HEADER_SIZE`, `PacketType`, and `Packet` [INFO] [stderr] --> tests/network_impairment_simulation.rs:25:25 [INFO] [stderr] | [INFO] [stderr] 25 | use triglav::protocol::{Packet, PacketType, HEADER_SIZE}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `triglav::transport::TransportProtocol` [INFO] [stderr] --> tests/network_impairment_simulation.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | use triglav::transport::TransportProtocol; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SequenceNumber`, `SessionId`, and `UplinkId` [INFO] [stderr] --> tests/network_impairment_simulation.rs:27:22 [INFO] [stderr] | [INFO] [stderr] 27 | use triglav::types::{SequenceNumber, SessionId, UplinkId}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `is_response` [INFO] [stderr] --> tests/network_impairment_simulation.rs:249:45 [INFO] [stderr] | [INFO] [stderr] 249 | ... let (dest_addr, is_response) = if addr == self.target_addr { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_response` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable `last_received` is assigned to, but never used [INFO] [stderr] --> tests/network_impairment_simulation.rs:580:9 [INFO] [stderr] | [INFO] [stderr] 580 | let mut last_received = true; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_last_received` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `last_received` is never read [INFO] [stderr] --> tests/network_impairment_simulation.rs:591:17 [INFO] [stderr] | [INFO] [stderr] 591 | last_received = true; [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: value assigned to `last_received` is never read [INFO] [stderr] --> tests/network_impairment_simulation.rs:595:17 [INFO] [stderr] | [INFO] [stderr] 595 | last_received = false; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: field `last_send_time` is never read [INFO] [stderr] --> tests/network_impairment_simulation.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 136 | pub struct ImpairmentProxy { [INFO] [stderr] | --------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 145 | last_send_time: Mutex, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `run_echo_server` is never used [INFO] [stderr] --> tests/network_impairment_simulation.rs:345:10 [INFO] [stderr] | [INFO] [stderr] 345 | async fn run_echo_server(addr: SocketAddr, shutdown: broadcast::Receiver<()>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::SocketAddr` [INFO] [stderr] --> tests/security_edge_cases.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::net::SocketAddr; [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::sync::Arc` [INFO] [stderr] --> tests/security_edge_cases.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> tests/security_edge_cases.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CryptoError` and `Result` [INFO] [stderr] --> tests/security_edge_cases.rs:16:22 [INFO] [stderr] | [INFO] [stderr] 16 | use triglav::error::{CryptoError, Result}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PacketFlags` [INFO] [stderr] --> tests/security_edge_cases.rs:17:33 [INFO] [stderr] | [INFO] [stderr] 17 | use triglav::protocol::{Packet, PacketFlags, PacketType, HEADER_SIZE}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ct2` [INFO] [stderr] --> tests/security_edge_cases.rs:366:9 [INFO] [stderr] | [INFO] [stderr] 366 | let ct2 = client.encrypt(b"message 2").unwrap(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ct2` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/security_edge_cases.rs:394:10 [INFO] [stderr] | [INFO] [stderr] 394 | let (mut client2, mut server2) = [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: `client2` [INFO] [stderr] --> tests/security_edge_cases.rs:394:10 [INFO] [stderr] | [INFO] [stderr] 394 | let (mut client2, mut server2) = [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `verify` [INFO] [stderr] --> tests/tun_test.rs:182:9 [INFO] [stderr] | [INFO] [stderr] 182 | let verify = Command::new("ifconfig") [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_verify` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `triglav` (test "tcp_transport") generated 2 warnings (run `cargo fix --test "tcp_transport" -p triglav` to apply 2 suggestions) [INFO] [stderr] warning: `triglav` (test "e2e_multipath") generated 5 warnings (run `cargo fix --test "e2e_multipath" -p triglav` to apply 1 suggestion) [INFO] [stderr] warning: `triglav` (lib test) generated 41 warnings (35 duplicates) (run `cargo fix --lib -p triglav --tests` to apply 4 suggestions) [INFO] [stderr] warning: `triglav` (test "network_impairment_simulation") generated 11 warnings (run `cargo fix --test "network_impairment_simulation" -p triglav` to apply 6 suggestions) [INFO] [stderr] warning: `triglav` (test "security_edge_cases") generated 8 warnings (run `cargo fix --test "security_edge_cases" -p triglav` to apply 8 suggestions) [INFO] [stderr] warning: `triglav` (test "tun_test") generated 1 warning (run `cargo fix --test "tun_test" -p triglav` to apply 1 suggestion) [INFO] [stderr] warning: unused import: `HEADER_SIZE` [INFO] [stderr] --> tests/error_recovery.rs:21:58 [INFO] [stderr] | [INFO] [stderr] 21 | use triglav::protocol::{Packet, PacketFlags, PacketType, HEADER_SIZE}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SequenceNumber` and `UplinkHealth` [INFO] [stderr] --> tests/error_recovery.rs:23:39 [INFO] [stderr] | [INFO] [stderr] 23 | use triglav::types::{ConnectionState, SequenceNumber, SessionId, UplinkHealth, UplinkId}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/error_recovery.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | let mut sessions: DashMap>> = DashMap::new(); [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: `uplink_id` [INFO] [stderr] --> tests/error_recovery.rs:686:9 [INFO] [stderr] | [INFO] [stderr] 686 | let uplink_id = manager.add_uplink(uplink_config).unwrap(); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_uplink_id` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused implementer of `Future` that must be used [INFO] [stderr] --> tests/error_recovery.rs:497:5 [INFO] [stderr] | [INFO] [stderr] 497 | manager.retry_pending(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: futures do nothing unless you `.await` or poll them [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `triglav` (test "error_recovery") generated 5 warnings (run `cargo fix --test "error_recovery" -p triglav` to apply 4 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.08s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/build/triglav/e73ebd9ff2e2bf89/deps/triglav-e73ebd9ff2e2bf89) [INFO] [stdout] [INFO] [stdout] running 119 tests [INFO] [stdout] test crypto::kdf::tests::test_hmac ... ok [INFO] [stdout] test crypto::kdf::tests::test_rekey ... ok [INFO] [stdout] test crypto::keys::tests::test_diffie_hellman ... ok [INFO] [stdout] test crypto::kdf::tests::test_derive_key ... ok [INFO] [stdout] test crypto::kdf::tests::test_packet_key_directions ... ok [INFO] [stdout] test crypto::kdf::tests::test_session_key ... ok [INFO] [stdout] test crypto::keys::tests::test_keypair_generation ... ok [INFO] [stdout] test crypto::keys::tests::test_base64_roundtrip ... ok [INFO] [stdout] test crypto::symmetric::tests::test_encrypt_decrypt ... ok [INFO] [stdout] test crypto::symmetric::tests::test_encrypt_decrypt_with_aad ... ok [INFO] [stdout] test crypto::symmetric::tests::test_tampered_ciphertext_fails ... ok [INFO] [stdout] test crypto::symmetric::tests::test_wrong_key_fails ... ok [INFO] [stdout] test crypto::tests::test_hash ... ok [INFO] [stdout] test crypto::tests::test_random_bytes ... ok [INFO] [stdout] test metrics::http_server::tests::test_health_response_serialization ... ok [INFO] [stdout] test metrics::http_server::tests::test_default_health_checker ... ok [INFO] [stdout] test metrics::predictor::tests::test_predictor_basic ... ok [INFO] [stdout] test metrics::predictor::tests::test_trend_detection ... ok [INFO] [stdout] test crypto::tests::test_secure_compare ... ok [INFO] [stdout] test crypto::symmetric::tests::test_packet_serialization ... ok [INFO] [stdout] test crypto::noise::tests::test_noise_handshake ... ok [INFO] [stdout] test multipath::aggregator::tests::test_reorder_buffer_in_order ... ok [INFO] [stdout] test multipath::aggregator::tests::test_reorder_buffer_out_of_order ... ok [INFO] [stdout] test metrics::prometheus_export::tests::test_global_metrics ... ok [INFO] [stdout] test multipath::flow_hash::tests::test_different_ports_different_hash ... ok [INFO] [stdout] test multipath::flow_hash::tests::test_ecmp_enumerator ... ok [INFO] [stdout] test multipath::flow_hash::tests::test_flow_hash_consistency ... ok [INFO] [stdout] test metrics::prometheus_export::tests::test_metrics_creation ... ok [INFO] [stdout] test multipath::flow_hash::tests::test_flow_hash_never_zero ... ok [INFO] [stdout] test multipath::flow_hash::tests::test_from_socket_addrs ... ok [INFO] [stdout] test multipath::flow_hash::tests::test_ipv6_flow_hash ... ok [INFO] [stdout] test multipath::manager::tests::test_dedup_detects_duplicates ... ok [INFO] [stdout] test multipath::manager::tests::test_dedup_new_sequences ... ok [INFO] [stdout] test multipath::manager::tests::test_dedup_out_of_order ... ok [INFO] [stdout] test multipath::manager::tests::test_dedup_window_cleanup ... ok [INFO] [stdout] test multipath::flow_hash::tests::test_flow_hash_bucket ... ok [INFO] [stdout] test multipath::nat::tests::test_nat_id_from_checksums ... ok [INFO] [stdout] test multipath::aggregator::tests::test_weighted_selection ... ok [INFO] [stdout] test multipath::nat::tests::test_nat_type ... ok [INFO] [stdout] test multipath::nat::tests::test_nat_detection_state ... ok [INFO] [stdout] test multipath::nat::tests::test_probe_payload_creation ... ok [INFO] [stdout] test multipath::nat::tests::test_probe_matcher ... ok [INFO] [stdout] test multipath::nat::tests::test_ip_id_marker ... ok [INFO] [stdout] test multipath::nat::tests::test_uplink_nat_state ... ok [INFO] [stdout] test multipath::nat::tests::test_udp_checksum ... ok [INFO] [stdout] test multipath::path_discovery::tests::test_path_discovery_config ... ok [INFO] [stdout] test multipath::path_discovery::tests::test_path_diversity ... ok [INFO] [stdout] test multipath::scheduler::tests::test_empty_uplinks ... ok [INFO] [stdout] test crypto::noise::tests::test_large_message ... ok [INFO] [stdout] test multipath::scheduler::tests::test_scheduler_creation ... ok [INFO] [stdout] test multipath::throughput::tests::test_effective_throughput_calculation ... ok [INFO] [stdout] test multipath::throughput::tests::test_bdp_calculation ... ok [INFO] [stdout] test multipath::throughput::tests::test_frame_batcher ... ok [INFO] [stdout] test multipath::throughput::tests::test_pmtud_binary_search ... ok [INFO] [stdout] test multipath::throughput::tests::test_transfer_time_comparison ... ok [INFO] [stdout] test protocol::codec::tests::test_length_prefixed_codec ... ok [INFO] [stdout] test multipath::path_discovery::tests::test_discovered_path ... ok [INFO] [stdout] test multipath::path_discovery::tests::test_ecmp_flow_selector ... ok [INFO] [stdout] test multipath::path_discovery::tests::test_hop_creation ... ok [INFO] [stdout] test protocol::codec::tests::test_packet_codec ... ok [INFO] [stdout] test protocol::packet::tests::test_header_encode_decode ... ok [INFO] [stdout] test protocol::packet::tests::test_checksum_validation ... ok [INFO] [stdout] test protocol::packet::tests::test_packet_encode_decode ... ok [INFO] [stdout] test server::daemon::tests::test_is_process_running ... ok [INFO] [stdout] test server::sessions::tests::test_key_session_limit ... ok [INFO] [stdout] test server::sessions::tests::test_session_by_addr ... ok [INFO] [stdout] test server::sessions::tests::test_session_creation ... ok [INFO] [stdout] test server::signals::tests::test_reload_callback ... ok [INFO] [stdout] test server::daemon::tests::test_pid_file ... ok [INFO] [stdout] test server::daemon::tests::test_pid_file_guard ... ok [INFO] [stdout] test server::signals::tests::test_signal_display ... ok [INFO] [stdout] test server::signals::tests::test_signal_handler_shutdown ... ok [INFO] [stdout] test multipath::aggregator::tests::test_reorder_buffer_gap ... ok [INFO] [stdout] test server::users::tests::test_authorize_key ... ok [INFO] [stdout] test server::users::tests::test_authenticate ... ok [INFO] [stdout] test server::users::tests::test_expiry ... ok [INFO] [stdout] test server::users::tests::test_generate_authorized_key ... ok [INFO] [stdout] test server::users::tests::test_traffic_recording ... ok [INFO] [stdout] test transport::buffer::tests::test_packet_buffer ... ok [INFO] [stdout] test server::users::tests::test_revoke ... ok [INFO] [stdout] test transport::buffer::tests::test_ring_buffer_gap_detection ... ok [INFO] [stdout] test transport::buffer::tests::test_ring_buffer ... ok [INFO] [stdout] test server::signals::tests::test_shutdown_signal ... ok [INFO] [stdout] test transport::buffer::tests::test_ring_buffer_out_of_order ... ok [INFO] [stdout] test transport::socket::tests::test_create_tcp_socket ... ok [INFO] [stdout] test transport::socket::tests::test_bind_socket ... ok [INFO] [stdout] test tun::device::tests::test_config_default ... ok [INFO] [stdout] test transport::socket::tests::test_create_udp_socket ... ok [INFO] [stdout] test tun::dns::tests::test_cache_key ... ok [INFO] [stdout] test tun::dns::tests::test_dns_config_default ... ok [INFO] [stdout] test tun::dns::tests::test_is_blocked ... ok [INFO] [stdout] test tun::nat::tests::test_nat_config_default ... ok [INFO] [stdout] test tun::nat::tests::test_nat_entry_timeout ... ok [INFO] [stdout] test tun::packet::tests::test_flow_hash_consistency ... ok [INFO] [stdout] test tun::nat::tests::test_port_allocation ... ok [INFO] [stdout] test tun::packet::tests::test_flow_tuple ... ok [INFO] [stdout] test transport::socket::tests::test_socket_config_with_interface ... ok [INFO] [stdout] test tun::packet::tests::test_is_tcp_syn ... ok [INFO] [stdout] test tun::packet::tests::test_parse_ipv4 ... ok [INFO] [stdout] test tun::packet::tests::test_transport_protocol ... ok [INFO] [stdout] test tun::routing::tests::test_route_config_default ... ok [INFO] [stdout] test tun::routing::tests::test_route_creation ... ok [INFO] [stdout] test tun::runner::tests::test_tunnel_builder ... ok [INFO] [stdout] test tun::runner::tests::test_tunnel_config_default ... ok [INFO] [stdout] test tun::tests::test_check_privileges ... ok [INFO] [stdout] test tun::tests::test_recommended_device_name ... ok [INFO] [stdout] test util::connectivity::tests::test_build_dns_query ... ok [INFO] [stdout] test util::connectivity::tests::test_nat_type_display ... ok [INFO] [stdout] test util::connectivity::tests::test_build_stun_request ... ok [INFO] [stdout] test server::sessions::tests::test_session_expiry ... ok [INFO] [stdout] test util::interface::tests::test_guess_interface_type ... ok [INFO] [stdout] test util::interface::tests::test_get_network_interfaces ... ok [INFO] [stdout] test util::netwatch::tests::test_should_ignore ... ok [INFO] [stdout] test util::interface::tests::test_parse_mac_address ... ok [INFO] [stdout] test transport::buffer::tests::test_buffer_pool ... ok [INFO] [stdout] test util::netwatch::tests::test_network_watcher_creation ... ok [INFO] [stdout] test server::daemon::tests::test_daemon_config_builder ... ok [INFO] [stdout] test crypto::keys::tests::test_signing ... ok [INFO] [stdout] test crypto::noise::tests::test_multiple_messages ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/build/triglav/42bc5aa2c65d0a1a/deps/triglav-42bc5aa2c65d0a1a) [INFO] [stdout] [INFO] [stdout] test result: ok. 119 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/server.rs (/opt/rustwide/target/debug/build/triglav/4a8c07c5066edd5e/deps/triglav_server-4a8c07c5066edd5e) [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] [stderr] Running unittests src/bin/tun_test.rs (/opt/rustwide/target/debug/build/triglav/3a8f96e4c86fd10b/deps/tun_test-3a8f96e4c86fd10b) [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] [stdout] [INFO] [stderr] Running tests/aggregation_impairment.rs (/opt/rustwide/target/debug/build/triglav/8d4a5e5399e334a9/deps/aggregation_impairment-8d4a5e5399e334a9) [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] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test test_aggregated_throughput ... ok [INFO] [stdout] test test_asymmetric_latency_paths ... ok [INFO] [stdout] test test_symmetric_paths_distribution ... ok [INFO] [stdout] test test_path_failover ... ok [INFO] [stdout] test test_lossy_path ... ok [INFO] [stdout] test test_jitter_reordering ... ok [INFO] [stdout] test test_rtt_measurement ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.09s [INFO] [stdout] [INFO] [stderr] Running tests/boundary_edge_cases.rs (/opt/rustwide/target/debug/build/triglav/a7720adca0d595a4/deps/boundary_edge_cases-a7720adca0d595a4) [INFO] [stdout] [INFO] [stdout] running 33 tests [INFO] [stdout] test test_all_flags_combined ... ok [INFO] [stdout] test test_empty_packet ... ok [INFO] [stdout] test test_all_packet_types ... ok [INFO] [stdout] test test_ack_packet ... ok [INFO] [stdout] test test_flag_clear ... ok [INFO] [stdout] test test_corrupted_checksum ... ok [INFO] [stdout] test test_flags_preserved_in_packet ... ok [INFO] [stdout] test test_empty_payload_packet ... ok [INFO] [stdout] test test_binary_payload ... ok [INFO] [stdout] test test_empty_encryption ... ok [INFO] [stdout] test test_header_only_with_nonzero_payload_len ... ok [INFO] [stdout] test test_invalid_packet_type ... ok [INFO] [stdout] test test_max_payload_packet ... ok [INFO] [stdout] test test_max_session_id ... ok [INFO] [stdout] test test_payload_corruption_detected ... ok [INFO] [stdout] test test_pong_packet ... ok [INFO] [stdout] test test_sequence_number_max ... ok [INFO] [stdout] test test_sequence_number_wraparound ... ok [INFO] [stdout] test test_sequence_number_zero ... ok [INFO] [stdout] test test_session_id_uniqueness ... ok [INFO] [stdout] test test_single_byte_packet ... ok [INFO] [stdout] test test_timestamp_in_packet ... ok [INFO] [stdout] test test_truncated_header ... ok [INFO] [stdout] test test_handshake_with_payload ... ok [INFO] [stdout] test test_uplink_id_max ... ok [INFO] [stdout] test test_uplink_id_zero ... ok [INFO] [stdout] test test_zero_session_id ... ok [INFO] [stdout] test test_invalid_protocol_version ... ok [INFO] [stdout] test test_null_bytes_in_payload ... ok [INFO] [stdout] test test_handshake_empty_payload ... ok [INFO] [stdout] test test_oversized_payload_rejected ... ok [INFO] [stdout] test test_ping_packet ... ok [INFO] [stdout] test test_max_encrypted_payload ... ok [INFO] [stderr] Running tests/e2e_multipath.rs (/opt/rustwide/target/debug/build/triglav/18e6f06bb7fcb2d1/deps/e2e_multipath-18e6f06bb7fcb2d1) [INFO] [stdout] [INFO] [stdout] test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 21 tests [INFO] [stdout] test test_data_through_multipath ... ok [INFO] [stdout] test test_complete_data_path ... ok [INFO] [stdout] test test_bandwidth_aggregation ... ok [INFO] [stdout] test test_crypto_isolation ... ok [INFO] [stdout] test test_distinct_local_addresses ... ok [INFO] [stdout] test test_ecmp_flow_hash_consistency ... ok [INFO] [stdout] test test_ecmp_flow_distribution ... ok [INFO] [stdout] test test_data_consistency_across_uplinks ... ok [INFO] [stdout] test test_encryption_overhead_validation ... ok [INFO] [stdout] test test_multi_uplink_aggregation ... ok [INFO] [stdout] test test_flow_stickiness_through_exit ... ok [INFO] [stdout] test test_noise_encryption_per_uplink ... ok [INFO] [stdout] test test_real_remote_endpoint_forwarding ... ok [INFO] [stdout] test test_failover_timing_and_latency ... ok [INFO] [stdout] test test_parallel_flows_different_uplinks ... ok [INFO] [stdout] test test_return_path_validation ... ok [INFO] [stdout] test test_session_aggregates_uplinks ... ok [INFO] [stdout] test test_uplink_failover ... ok [INFO] [stdout] test test_session_state_consistency ... ok [INFO] [stdout] test test_uplink_failover_with_rerouting ... ok [INFO] [stdout] test test_out_of_order_packet_handling ... ok [INFO] [stderr] Running tests/error_recovery.rs (/opt/rustwide/target/debug/build/triglav/68af478dbc8a73d7/deps/error_recovery-68af478dbc8a73d7) [INFO] [stdout] [INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.59s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test test_error_should_reconnect ... ok [INFO] [stdout] test test_error_is_recoverable ... ok [INFO] [stdout] test test_graceful_close ... ok [INFO] [stdout] test test_all_uplinks_fail_event ... ok [INFO] [stdout] test test_retry_pending_packets ... ok [INFO] [stdout] test test_cleanup_stale_flows ... ok [INFO] [stdout] test test_server_resumes_responding ... ok [INFO] [stdout] test test_server_stops_responding ... ok [INFO] [stdout] test test_uplink_failover_to_backup ... ok [INFO] [stdout] test test_single_uplink_failure ... ok [INFO] [stdout] test test_event_broadcasting ... ok [INFO] [stdout] test test_multiple_event_subscribers ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.58s [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/build/triglav/bb80556545a06204/deps/integration-bb80556545a06204) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test test_flow_hash_calculation ... ok [INFO] [stdout] test test_nat_aware_uplink_selection ... ok [INFO] [stdout] test test_flow_binding_consistency ... ok [INFO] [stdout] test test_handshake_and_echo ... ok [INFO] [stdout] test test_nat_state_detection ... ok [INFO] [stdout] test test_multiple_messages ... ok [INFO] [stdout] test test_large_payload ... ok [INFO] [stdout] test test_multiple_flows_different_bindings ... ok [INFO] [stdout] test test_path_discovery_event ... ok [INFO] [stdout] test test_http_proxy_connect ... ok [INFO] [stdout] test test_stale_flow_cleanup ... ok [INFO] [stdout] test test_socks5_proxy_startup ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.54s [INFO] [stderr] Running tests/network_impairment_simulation.rs (/opt/rustwide/target/debug/build/triglav/d828d07831caf064/deps/network_impairment_simulation-d828d07831caf064) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test test_packet_reordering ... ok [INFO] [stdout] test test_high_latency_network ... ok [INFO] [stdout] test test_bandwidth_throttling ... ok [INFO] [stdout] test test_high_jitter ... ok [INFO] [stdout] test test_lossy_network ... ok [INFO] [stdout] test test_burst_loss ... ok [INFO] [stdout] test test_mobile_network_conditions ... ok [INFO] [stdout] [INFO] [stderr] Running tests/physical_multipath.rs (/opt/rustwide/target/debug/build/triglav/863178f8389612de/deps/physical_multipath-863178f8389612de) [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 12.22s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test test_bandwidth_measurement ... ignored [INFO] [stdout] test test_concurrent_traffic ... ignored [INFO] [stdout] test test_external_connectivity ... ignored [INFO] [stdout] test test_interface_discovery ... ignored [INFO] [stdout] test test_latency_distribution ... ignored [INFO] [stdout] test test_manual_failover ... ignored [INFO] [stdout] test test_multi_interface_connectivity ... ignored [INFO] [stdout] test test_multipath_manager_real_interfaces ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 8 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/scheduler_strategies.rs (/opt/rustwide/target/debug/build/triglav/cdd90f12a83769ae/deps/scheduler_strategies-cdd90f12a83769ae) [INFO] [stdout] [INFO] [stdout] running 27 tests [INFO] [stdout] test test_ecmp_aware_different_flows ... ok [INFO] [stdout] test test_ecmp_aware_consistency ... ok [INFO] [stdout] test test_ecmp_aware_strategy ... ok [INFO] [stdout] test test_adaptive_strategy_creation ... ok [INFO] [stdout] test test_bandwidth_proportional_strategy ... ok [INFO] [stdout] test test_adaptive_considers_loss ... ok [INFO] [stdout] test test_adaptive_selects_best_uplink ... ok [INFO] [stdout] test test_adaptive_considers_nat ... ok [INFO] [stdout] test test_lowest_latency_updates_on_rtt_change ... ok [INFO] [stdout] test test_lowest_loss_strategy ... ok [INFO] [stdout] test test_lowest_latency_strategy ... ok [INFO] [stdout] test test_needs_probe ... ok [INFO] [stdout] test test_path_stickiness_different_flows ... ok [INFO] [stdout] test test_primary_backup_failover ... ok [INFO] [stdout] test test_path_stickiness_enabled ... ok [INFO] [stdout] test test_select_all_unusable ... ok [INFO] [stdout] test test_primary_backup_strategy ... ok [INFO] [stdout] test test_select_empty_uplinks ... ok [INFO] [stdout] test test_redundant_excludes_unusable ... ok [INFO] [stdout] test test_select_single_uplink ... ok [INFO] [stdout] test test_strategy_differences ... ok [INFO] [stdout] test test_uplinks_to_probe ... ok [INFO] [stdout] test test_wrr_cycles_through_uplinks ... ok [INFO] [stdout] test test_wrr_respects_weights ... ok [INFO] [stdout] test test_wrr_strategy_creation ... ok [INFO] [stdout] test test_redundant_strategy ... ok [INFO] [stderr] Running tests/security_edge_cases.rs (/opt/rustwide/target/debug/build/triglav/70bf46b7d16478a5/deps/security_edge_cases-70bf46b7d16478a5) [INFO] [stdout] test test_scheduler_cleanup ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 32 tests [INFO] [stdout] test test_decrypt_before_handshake_fails ... ok [INFO] [stdout] test test_corrupted_handshake_message ... ok [INFO] [stdout] test test_ciphertext_extension_detected ... ok [INFO] [stdout] test test_ciphertext_bit_flip_detected ... ok [INFO] [stdout] test test_auth_tag_tampering_detected ... ok [INFO] [stdout] test test_ciphertext_truncation_detected ... ok [INFO] [stdout] test test_invalid_secret_key_base64 ... ok [INFO] [stdout] test test_key_roundtrip_integrity ... ok [INFO] [stdout] test test_encrypt_before_handshake_fails ... ok [INFO] [stdout] test test_packet_checksum_validation ... ok [INFO] [stdout] test test_packet_header_corruption ... ok [INFO] [stdout] test test_invalid_public_key_base64 ... ok [INFO] [stdout] test test_packet_version_mismatch ... ok [INFO] [stdout] test test_handshake_after_transport_fails ... ok [INFO] [stdout] test test_secure_compare_different_lengths ... ok [INFO] [stdout] test test_secure_compare_equal ... ok [INFO] [stdout] test test_secure_compare_unequal ... ok [INFO] [stdout] test test_rekey_operation ... ok [INFO] [stdout] test test_replay_same_ciphertext ... ok [INFO] [stdout] test test_empty_ciphertext_rejected ... ok [INFO] [stdout] test test_short_ciphertext_rejected ... ok [INFO] [stdout] test test_undersized_packet_rejected ... ok [INFO] [stdout] test test_out_of_order_decryption ... ok [INFO] [stdout] test test_cross_session_decryption_fails ... ok [INFO] [stdout] test test_different_sessions_different_keys ... ok [INFO] [stdout] test test_nonce_increments ... ok [INFO] [stdout] test test_truncated_handshake_message ... ok [INFO] [stdout] test test_wrong_server_key_handshake_fails ... ok [INFO] [stdout] test test_zero_key_rejected ... ok [INFO] [stdout] test test_verify_with_wrong_public_key ... ok [INFO] [stdout] test test_signature_tampering_detected ... ok [INFO] [stdout] test test_signature_verification ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stderr] Running tests/stress_tests.rs (/opt/rustwide/target/debug/build/triglav/9ce4b67e498d0ecc/deps/stress_tests-9ce4b67e498d0ecc) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test test_long_running_stability ... ignored [INFO] [stdout] test test_deduplication_under_load ... ok [INFO] [stdout] test test_high_message_throughput ... ok [INFO] [stdout] test test_many_flows ... ok [INFO] [stdout] test test_memory_not_leaked_on_flow_churn ... ok [INFO] [stdout] test test_large_message_volume ... ok [INFO] [stdout] test test_concurrent_clients ... ok [INFO] [stdout] test test_packet_encode_decode_stress ... ok [INFO] [stdout] test test_scheduler_under_load ... FAILED [INFO] [stdout] test test_encryption_stress ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- test_scheduler_under_load stdout ---- [INFO] [stdout] Scheduler stress test: [INFO] [stdout] Uplinks: 10 [INFO] [stdout] Iterations: 100000 [INFO] [stdout] Elapsed: 6.387661497s [INFO] [stdout] Rate: 15655 selections/s [INFO] [stdout] [INFO] [stdout] thread 'test_scheduler_under_load' (307) panicked at tests/stress_tests.rs:582:5: [INFO] [stdout] Scheduler should handle >100k selections/s [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x63451ef266c2 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x63451ef266c2 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x63451ef266c2 - std[840933623431fd06]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x63451ef266c2 - <::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x63451ef3d48a - ::fmt [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x63451ef3d48a - core[8f93d80df273fe75]::fmt::write [INFO] [stdout] 6: 0x63451ef2bbb6 - std[840933623431fd06]::io::default_write_fmt::> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x63451ef2bbb6 - as std[840933623431fd06]::io::Write>::write_fmt [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x63451ef0407f - ::print [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x63451ef0407f - std[840933623431fd06]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x63451ef1e6d9 - std[840933623431fd06]::panicking::default_hook [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x63451ec035ae - core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9 [INFO] [stdout] 12: 0x63451ec035ae - test[2f1252070343a163]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x63451ef1e942 - core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9 [INFO] [stdout] 14: 0x63451ef1e942 - std[840933623431fd06]::panicking::panic_with_hook [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x63451ef0416a - std[840933623431fd06]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:691:13 [INFO] [stdout] 16: 0x63451eefb6f9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x63451ef0506d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x63451ef3dbfc - core[8f93d80df273fe75]::panicking::panic_fmt [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x63451ebacc1c - stress_tests[6ab032243b68f8ec]::test_scheduler_under_load::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/tests/stress_tests.rs:582:5 [INFO] [stdout] 20: 0x63451ebe6612 - > as core[8f93d80df273fe75]::future::future::Future>::poll [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/future/future.rs:133:9 [INFO] [stdout] 21: 0x63451ebe668d - >> as core[8f93d80df273fe75]::future::future::Future>::poll [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/future/future.rs:133:9 [INFO] [stdout] 22: 0x63451ebf700d - ::block_on::>>>::{closure#0}::{closure#0}::{closure#0} [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:70 [INFO] [stdout] 23: 0x63451ebf6f0b - tokio[21457e0dc241ebad]::task::coop::with_budget::, ::block_on>>>::{closure#0}::{closure#0}::{closure#0}> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:167:5 [INFO] [stdout] 24: 0x63451ebf6f0b - tokio[21457e0dc241ebad]::task::coop::budget::, ::block_on>>>::{closure#0}::{closure#0}::{closure#0}> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:133:5 [INFO] [stdout] 25: 0x63451ebf6f0b - ::block_on::>>>::{closure#0}::{closure#0} [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:25 [INFO] [stdout] 26: 0x63451ebf1030 - ::enter::, ::block_on>>>::{closure#0}::{closure#0}> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:442:19 [INFO] [stdout] 27: 0x63451ebf5f5d - ::block_on::>>>::{closure#0} [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:752:44 [INFO] [stdout] 28: 0x63451ebf5254 - ::enter::<::block_on>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0} [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:68 [INFO] [stdout] 29: 0x63451ebe8a2b - >::set::<::enter<::block_on>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0}, (alloc[40b2bae28975ac47]::boxed::Box, core[8f93d80df273fe75]::option::Option<()>)> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/scoped.rs:40:9 [INFO] [stdout] 30: 0x63451ebeb1a9 - tokio[21457e0dc241ebad]::runtime::context::set_scheduler::<(alloc[40b2bae28975ac47]::boxed::Box, core[8f93d80df273fe75]::option::Option<()>), ::enter<::block_on>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0}>::{closure#0} [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:38 [INFO] [stdout] 31: 0x63451ebdee02 - >::try_with::, core[8f93d80df273fe75]::option::Option<()>), ::enter<::block_on>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[40b2bae28975ac47]::boxed::Box, core[8f93d80df273fe75]::option::Option<()>)> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/local.rs:513:12 [INFO] [stdout] 32: 0x63451ebde98e - >::with::, core[8f93d80df273fe75]::option::Option<()>), ::enter<::block_on>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[40b2bae28975ac47]::boxed::Box, core[8f93d80df273fe75]::option::Option<()>)> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/local.rs:477:20 [INFO] [stdout] 33: 0x63451ebeb01d - tokio[21457e0dc241ebad]::runtime::context::set_scheduler::<(alloc[40b2bae28975ac47]::boxed::Box, core[8f93d80df273fe75]::option::Option<()>), ::enter<::block_on>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0}> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:17 [INFO] [stdout] 34: 0x63451ebf4520 - ::enter::<::block_on>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:27 [INFO] [stdout] 35: 0x63451ebf4816 - ::block_on::>>> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:740:24 [INFO] [stdout] 36: 0x63451ebf4e60 - ::block_on::>>::{closure#0} [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:200:33 [INFO] [stdout] 37: 0x63451ebe11d3 - tokio[21457e0dc241ebad]::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, ()> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/runtime.rs:65:16 [INFO] [stdout] 38: 0x63451ebf0b61 - ::block_on::>> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:188:9 [INFO] [stdout] 39: 0x63451ebde6b4 - ::block_on_inner::>> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:368:52 [INFO] [stdout] 40: 0x63451ebde87c - ::block_on::>> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:342:18 [INFO] [stdout] 41: 0x63451ebb80f7 - stress_tests[6ab032243b68f8ec]::test_scheduler_under_load [INFO] [stdout] at /opt/rustwide/workdir/tests/stress_tests.rs:585:6 [INFO] [stdout] 42: 0x63451eba6c07 - stress_tests[6ab032243b68f8ec]::test_scheduler_under_load::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/tests/stress_tests.rs:530:37 [INFO] [stdout] 43: 0x63451eba3976 - >::call_once [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x63451ebf795b - core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 45: 0x63451ebf795b - test[2f1252070343a163]::__rust_begin_short_backtrace::, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18 [INFO] [stdout] 46: 0x63451ec041ba - test[2f1252070343a163]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74 [INFO] [stdout] 47: 0x63451ec041ba - as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 48: 0x63451ec041ba - std[840933623431fd06]::panicking::catch_unwind::do_call::, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40 [INFO] [stdout] 49: 0x63451ec041ba - std[840933623431fd06]::panicking::catch_unwind::, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19 [INFO] [stdout] 50: 0x63451ec041ba - std[840933623431fd06]::panic::catch_unwind::, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14 [INFO] [stdout] 51: 0x63451ec041ba - test[2f1252070343a163]::run_test_in_process [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27 [INFO] [stdout] 52: 0x63451ec041ba - test[2f1252070343a163]::run_test::{closure#0} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43 [INFO] [stdout] 53: 0x63451ebfe684 - test[2f1252070343a163]::run_test::{closure#1} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41 [INFO] [stdout] 54: 0x63451ebfe684 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 55: 0x63451ec06cb2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 56: 0x63451ec06cb2 - ::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 57: 0x63451ec06cb2 - std[840933623431fd06]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40 [INFO] [stdout] 58: 0x63451ec06cb2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19 [INFO] [stdout] 59: 0x63451ec06cb2 - std[840933623431fd06]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14 [INFO] [stdout] 60: 0x63451ec06cb2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 61: 0x63451ec06cb2 - ::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 62: 0x63451ef25e6f - + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9 [INFO] [stdout] 63: 0x63451ef25e6f - ::new::thread_start [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17 [INFO] [stdout] 64: 0x79773819baa4 - [INFO] [stdout] 65: 0x797738228a64 - clone [INFO] [stdout] 66: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- test_encryption_stress stdout ---- [INFO] [stdout] Encryption stress test: [INFO] [stdout] Iterations: 50000 [INFO] [stdout] Payload size: 256 bytes [INFO] [stdout] Elapsed: 19.768140115s [INFO] [stdout] Rate: 2529 encrypt+decrypt/s [INFO] [stdout] Throughput: 0.65 MB/s [INFO] [stdout] [INFO] [stdout] thread 'test_encryption_stress' (301) panicked at tests/stress_tests.rs:852:5: [INFO] [stdout] Should handle >10k encrypt/decrypt per second [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x63451ef266c2 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x63451ef266c2 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x63451ef266c2 - std[840933623431fd06]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x63451ef266c2 - <::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x63451ef3d48a - ::fmt [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x63451ef3d48a - core[8f93d80df273fe75]::fmt::write [INFO] [stdout] 6: 0x63451ef2bbb6 - std[840933623431fd06]::io::default_write_fmt::> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x63451ef2bbb6 - as std[840933623431fd06]::io::Write>::write_fmt [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x63451ef0407f - ::print [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x63451ef0407f - std[840933623431fd06]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x63451ef1e6d9 - std[840933623431fd06]::panicking::default_hook [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x63451ec035ae - core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9 [INFO] [stdout] 12: 0x63451ec035ae - test[2f1252070343a163]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x63451ef1e942 - core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9 [INFO] [stdout] 14: 0x63451ef1e942 - std[840933623431fd06]::panicking::panic_with_hook [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x63451ef0416a - std[840933623431fd06]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:691:13 [INFO] [stdout] 16: 0x63451eefb6f9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x63451ef0506d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x63451ef3dbfc - core[8f93d80df273fe75]::panicking::panic_fmt [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x63451ebb7927 - stress_tests[6ab032243b68f8ec]::test_encryption_stress [INFO] [stdout] at /opt/rustwide/workdir/tests/stress_tests.rs:852:5 [INFO] [stdout] 20: 0x63451eba6b77 - stress_tests[6ab032243b68f8ec]::test_encryption_stress::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/tests/stress_tests.rs:816:28 [INFO] [stdout] 21: 0x63451eba38b6 - >::call_once [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 22: 0x63451ebf795b - core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x63451ebf795b - test[2f1252070343a163]::__rust_begin_short_backtrace::, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18 [INFO] [stdout] 24: 0x63451ec041ba - test[2f1252070343a163]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74 [INFO] [stdout] 25: 0x63451ec041ba - as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 26: 0x63451ec041ba - std[840933623431fd06]::panicking::catch_unwind::do_call::, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40 [INFO] [stdout] 27: 0x63451ec041ba - std[840933623431fd06]::panicking::catch_unwind::, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19 [INFO] [stdout] 28: 0x63451ec041ba - std[840933623431fd06]::panic::catch_unwind::, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14 [INFO] [stdout] 29: 0x63451ec041ba - test[2f1252070343a163]::run_test_in_process [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27 [INFO] [stdout] 30: 0x63451ec041ba - test[2f1252070343a163]::run_test::{closure#0} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43 [INFO] [stdout] 31: 0x63451ebfe684 - test[2f1252070343a163]::run_test::{closure#1} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41 [INFO] [stdout] 32: 0x63451ebfe684 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 33: 0x63451ec06cb2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 34: 0x63451ec06cb2 - ::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 35: 0x63451ec06cb2 - std[840933623431fd06]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40 [INFO] [stdout] 36: 0x63451ec06cb2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19 [INFO] [stdout] 37: 0x63451ec06cb2 - std[840933623431fd06]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14 [INFO] [stdout] 38: 0x63451ec06cb2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 39: 0x63451ec06cb2 - ::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 40: 0x63451ef25e6f - + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9 [INFO] [stdout] 41: 0x63451ef25e6f - ::new::thread_start [INFO] [stdout] at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17 [INFO] [stdout] 42: 0x79773819baa4 - [INFO] [stdout] 43: 0x797738228a64 - clone [INFO] [stdout] 44: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] test_encryption_stress [INFO] [stdout] test_scheduler_under_load [INFO] [stdout] [INFO] [stdout] test result: FAILED. 7 passed; 2 failed; 1 ignored; 0 measured; 0 filtered out; finished in 19.83s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--test stress_tests` [INFO] running `Command { std: "docker" "inspect" "86c52f97dbc7a9dbb3eaab21460e49d86bd52ab8549f41d08e4c6fa696b382de", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "86c52f97dbc7a9dbb3eaab21460e49d86bd52ab8549f41d08e4c6fa696b382de", kill_on_drop: false }` [INFO] [stdout] 86c52f97dbc7a9dbb3eaab21460e49d86bd52ab8549f41d08e4c6fa696b382de