[INFO] fetching crate gosh-dl 0.3.2... [INFO] testing gosh-dl-0.3.2 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate gosh-dl 0.3.2 into /workspace/builds/worker-5-tc2/source [INFO] started tweaking crates.io crate gosh-dl 0.3.2 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate gosh-dl 0.3.2 [INFO] tweaked toml for crates.io crate gosh-dl 0.3.2 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate gosh-dl 0.3.2 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate gosh-dl 0.3.2 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 90402aea632d4bbb8a9bcb405dc8feb880b36414a8aa4ba8d3005d3a0f7b73e5 [INFO] running `Command { std: "docker" "start" "-a" "90402aea632d4bbb8a9bcb405dc8feb880b36414a8aa4ba8d3005d3a0f7b73e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "90402aea632d4bbb8a9bcb405dc8feb880b36414a8aa4ba8d3005d3a0f7b73e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "90402aea632d4bbb8a9bcb405dc8feb880b36414a8aa4ba8d3005d3a0f7b73e5", kill_on_drop: false }` [INFO] [stdout] 90402aea632d4bbb8a9bcb405dc8feb880b36414a8aa4ba8d3005d3a0f7b73e5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 04eacf75e182eb7ace7eb2fe53d349e86176e6a10bac5e5919494aa3e1c885ea [INFO] running `Command { std: "docker" "start" "-a" "04eacf75e182eb7ace7eb2fe53d349e86176e6a10bac5e5919494aa3e1c885ea", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.23 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling dunce v1.0.5 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling aws-lc-rs v1.15.4 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling syn v2.0.115 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling hybrid-array v0.4.7 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling alloc-no-stdlib v2.0.4 [INFO] [stderr] Compiling alloc-stdlib v0.2.2 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling block-buffer v0.11.0 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling crypto-common v0.2.0 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling brotli-decompressor v5.0.0 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Compiling rand_core v0.10.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling digest v0.11.0-rc.9 [INFO] [stderr] Compiling aws-lc-sys v0.37.1 [INFO] [stderr] Compiling brotli v8.0.2 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling curve25519-dalek v5.0.0-pre.5 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling compression-core v0.4.31 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling libsqlite3-sys v0.36.0 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling signature v3.0.0-rc.10 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling ipnet v2.11.0 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling radium v0.7.0 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling ed25519 v3.0.0-rc.4 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling sha2 v0.11.0-rc.4 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling serde_bytes v0.11.19 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling raw-cpuid v11.6.0 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling cpufeatures v0.3.0 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling compression-codecs v0.4.36 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling data-encoding v2.10.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling tap v1.0.1 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling crc-catalog v2.4.0 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling serde_bencode v0.2.4 [INFO] [stderr] Compiling crc v3.4.0 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling ed25519-dalek v3.0.0-pre.5 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling wyz v0.5.1 [INFO] [stderr] Compiling quanta v0.12.6 [INFO] [stderr] Compiling chacha20 v0.10.0 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling flume v0.12.0 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling async-compression v0.4.39 [INFO] [stderr] Compiling webpki-roots v0.26.11 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hashlink v0.11.0 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling spinning_top v0.3.0 [INFO] [stderr] Compiling futures-lite v2.6.1 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling nonzero_ext v0.3.0 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling futures-timer v3.0.3 [INFO] [stderr] Compiling funty v2.0.0 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling web-time v1.1.0 [INFO] [stderr] Compiling sha1_smol v1.0.1 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling governor v0.10.4 [INFO] [stderr] Compiling rusqlite v0.38.0 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling mainline v6.1.1 [INFO] [stderr] Compiling bitvec v1.0.1 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling rand v0.10.0 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling uuid v1.21.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Compiling urlencoding v2.1.3 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling rustls-platform-verifier v0.6.2 [INFO] [stderr] Compiling tungstenite v0.28.0 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.13.2 [INFO] [stderr] Compiling tokio-tungstenite v0.28.0 [INFO] [stderr] Compiling gosh-dl v0.3.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `congestion::LedbatController` [INFO] [stdout] --> src/torrent/utp/mod.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | pub use congestion::LedbatController; [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: `MAX_PACKET_SIZE`, `MAX_PAYLOAD_SIZE`, `PacketType`, `Packet`, and `SelectiveAck` [INFO] [stdout] --> src/torrent/utp/mod.rs:44:18 [INFO] [stdout] | [INFO] [stdout] 44 | pub use packet::{Packet, PacketType, SelectiveAck, MAX_PACKET_SIZE, MAX_PAYLOAD_SIZE}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UtpSocketInner` [INFO] [stdout] --> src/torrent/utp/mod.rs:45:40 [INFO] [stdout] | [INFO] [stdout] 45 | pub use socket::{UtpConfig, UtpSocket, UtpSocketInner}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ConnectionState`, `ConnectionStats`, and `PendingPacket` [INFO] [stdout] --> src/torrent/utp/mod.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | pub use state::{ConnectionState, ConnectionStats, PendingPacket}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BandwidthLimits`, `ChecksumAlgorithm`, `DownloadPriority`, `ExpectedChecksum`, and `ScheduleRule` [INFO] [stdout] --> src/types.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | BandwidthLimits, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | // Checksum types [INFO] [stdout] 11 | ChecksumAlgorithm, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | DownloadPriority, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | ExpectedChecksum, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | ScheduleRule, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `with_retry` is never used [INFO] [stdout] --> src/http/connection.rs:281:14 [INFO] [stdout] | [INFO] [stdout] 281 | pub async fn with_retry( [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 `verify_range_support` is never used [INFO] [stdout] --> src/http/resume.rs:139:14 [INFO] [stdout] | [INFO] [stdout] 139 | pub async fn verify_range_support(client: &Client, url: &str, user_agent: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_range_header` is never used [INFO] [stdout] --> src/http/resume.rs:258:8 [INFO] [stdout] | [INFO] [stdout] 258 | pub fn calculate_range_header(start: u64, end: Option) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `should_restart` is never used [INFO] [stdout] --> src/http/resume.rs:314:14 [INFO] [stdout] | [INFO] [stdout] 314 | pub async fn should_restart( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_SEGMENT_SIZE` is never used [INFO] [stdout] --> src/http/segment.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | pub const MIN_SEGMENT_SIZE: u64 = 1024 * 1024; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_CONNECTIONS` is never used [INFO] [stdout] --> src/http/segment.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub const DEFAULT_CONNECTIONS: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_BOOTSTRAP_NODES` is never used [INFO] [stdout] --> src/torrent/dht.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const DEFAULT_BOOTSTRAP_NODES: &[&str] = &[ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_metadata_extension_handshake` is never used [INFO] [stdout] --> src/torrent/metadata.rs:412:8 [INFO] [stdout] | [INFO] [stdout] 412 | pub fn build_metadata_extension_handshake( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_metadata_size` is never used [INFO] [stdout] --> src/torrent/metadata.rs:435:8 [INFO] [stdout] | [INFO] [stdout] 435 | pub fn parse_metadata_size(handshake_data: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_metadata_extension_id` is never used [INFO] [stdout] --> src/torrent/metadata.rs:444:8 [INFO] [stdout] | [INFO] [stdout] 444 | pub fn parse_metadata_extension_id(handshake_data: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/torrent/mse.rs:361:26 [INFO] [stdout] | [INFO] [stdout] 361 | Plaintext(TcpStream, Vec), [INFO] [stdout] | --------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 361 - Plaintext(TcpStream, Vec), [INFO] [stdout] 361 + Plaintext(TcpStream, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `supports_fast` is never used [INFO] [stdout] --> src/torrent/peer.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl ReservedBytes { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn supports_fast(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `peer_id_to_client` is never used [INFO] [stdout] --> src/torrent/peer.rs:1199:8 [INFO] [stdout] | [INFO] [stdout] 1199 | pub fn peer_id_to_client(peer_id: &[u8; 20]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PREFERS_ENCRYPTION` is never used [INFO] [stdout] --> src/torrent/pex.rs:26:15 [INFO] [stdout] | [INFO] [stdout] 26 | pub const PREFERS_ENCRYPTION: u8 = 0x01; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IS_SEEDER` is never used [INFO] [stdout] --> src/torrent/pex.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | pub const IS_SEEDER: u8 = 0x02; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SUPPORTS_UTP` is never used [INFO] [stdout] --> src/torrent/pex.rs:30:15 [INFO] [stdout] | [INFO] [stdout] 30 | pub const SUPPORTS_UTP: u8 = 0x04; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SUPPORTS_HOLEPUNCH` is never used [INFO] [stdout] --> src/torrent/pex.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 32 | pub const SUPPORTS_HOLEPUNCH: u8 = 0x08; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IS_OUTGOING` is never used [INFO] [stdout] --> src/torrent/pex.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | pub const IS_OUTGOING: u8 = 0x10; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 36s [INFO] running `Command { std: "docker" "inspect" "04eacf75e182eb7ace7eb2fe53d349e86176e6a10bac5e5919494aa3e1c885ea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "04eacf75e182eb7ace7eb2fe53d349e86176e6a10bac5e5919494aa3e1c885ea", kill_on_drop: false }` [INFO] [stdout] 04eacf75e182eb7ace7eb2fe53d349e86176e6a10bac5e5919494aa3e1c885ea [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d3f2a6cee11aea4b58e9a7e6f435d58901ff7c38d8577aec8493be2c5cb20717 [INFO] running `Command { std: "docker" "start" "-a" "d3f2a6cee11aea4b58e9a7e6f435d58901ff7c38d8577aec8493be2c5cb20717", kill_on_drop: false }` [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling raw-cpuid v11.6.0 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling tungstenite v0.28.0 [INFO] [stderr] Compiling rustls-platform-verifier v0.6.2 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling deadpool-runtime v0.1.4 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling mainline v6.1.1 [INFO] [stderr] Compiling rusqlite v0.38.0 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling quanta v0.12.6 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling governor v0.10.4 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling async-compression v0.4.39 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling deadpool v0.12.3 [INFO] [stderr] Compiling tokio-tungstenite v0.28.0 [INFO] [stderr] Compiling tokio-test v0.4.5 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling wiremock v0.6.5 [INFO] [stderr] Compiling reqwest v0.13.2 [INFO] [stderr] Compiling gosh-dl v0.3.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `congestion::LedbatController` [INFO] [stdout] --> src/torrent/utp/mod.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | pub use congestion::LedbatController; [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: `MAX_PACKET_SIZE`, `MAX_PAYLOAD_SIZE`, `PacketType`, `Packet`, and `SelectiveAck` [INFO] [stdout] --> src/torrent/utp/mod.rs:44:18 [INFO] [stdout] | [INFO] [stdout] 44 | pub use packet::{Packet, PacketType, SelectiveAck, MAX_PACKET_SIZE, MAX_PAYLOAD_SIZE}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UtpSocketInner` [INFO] [stdout] --> src/torrent/utp/mod.rs:45:40 [INFO] [stdout] | [INFO] [stdout] 45 | pub use socket::{UtpConfig, UtpSocket, UtpSocketInner}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ConnectionState`, `ConnectionStats`, and `PendingPacket` [INFO] [stdout] --> src/torrent/utp/mod.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | pub use state::{ConnectionState, ConnectionStats, PendingPacket}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BandwidthLimits`, `ChecksumAlgorithm`, `DownloadPriority`, `ExpectedChecksum`, and `ScheduleRule` [INFO] [stdout] --> src/types.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | BandwidthLimits, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | // Checksum types [INFO] [stdout] 11 | ChecksumAlgorithm, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | DownloadPriority, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | ExpectedChecksum, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | ScheduleRule, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `congestion::LedbatController` [INFO] [stdout] --> src/torrent/utp/mod.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | pub use congestion::LedbatController; [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: `MAX_PACKET_SIZE`, `MAX_PAYLOAD_SIZE`, `PacketType`, `Packet`, and `SelectiveAck` [INFO] [stdout] --> src/torrent/utp/mod.rs:44:18 [INFO] [stdout] | [INFO] [stdout] 44 | pub use packet::{Packet, PacketType, SelectiveAck, MAX_PACKET_SIZE, MAX_PAYLOAD_SIZE}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UtpSocketInner` [INFO] [stdout] --> src/torrent/utp/mod.rs:45:40 [INFO] [stdout] | [INFO] [stdout] 45 | pub use socket::{UtpConfig, UtpSocket, UtpSocketInner}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ConnectionState`, `ConnectionStats`, and `PendingPacket` [INFO] [stdout] --> src/torrent/utp/mod.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | pub use state::{ConnectionState, ConnectionStats, PendingPacket}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BandwidthLimits`, `ChecksumAlgorithm`, `DownloadPriority`, `ExpectedChecksum`, and `ScheduleRule` [INFO] [stdout] --> src/types.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | BandwidthLimits, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | // Checksum types [INFO] [stdout] 11 | ChecksumAlgorithm, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | DownloadPriority, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | ExpectedChecksum, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | ScheduleRule, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `with_retry` is never used [INFO] [stdout] --> src/http/connection.rs:281:14 [INFO] [stdout] | [INFO] [stdout] 281 | pub async fn with_retry( [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 `verify_range_support` is never used [INFO] [stdout] --> src/http/resume.rs:139:14 [INFO] [stdout] | [INFO] [stdout] 139 | pub async fn verify_range_support(client: &Client, url: &str, user_agent: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_range_header` is never used [INFO] [stdout] --> src/http/resume.rs:258:8 [INFO] [stdout] | [INFO] [stdout] 258 | pub fn calculate_range_header(start: u64, end: Option) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `should_restart` is never used [INFO] [stdout] --> src/http/resume.rs:314:14 [INFO] [stdout] | [INFO] [stdout] 314 | pub async fn should_restart( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_SEGMENT_SIZE` is never used [INFO] [stdout] --> src/http/segment.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | pub const MIN_SEGMENT_SIZE: u64 = 1024 * 1024; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_CONNECTIONS` is never used [INFO] [stdout] --> src/http/segment.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub const DEFAULT_CONNECTIONS: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_BOOTSTRAP_NODES` is never used [INFO] [stdout] --> src/torrent/dht.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const DEFAULT_BOOTSTRAP_NODES: &[&str] = &[ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_metadata_extension_handshake` is never used [INFO] [stdout] --> src/torrent/metadata.rs:412:8 [INFO] [stdout] | [INFO] [stdout] 412 | pub fn build_metadata_extension_handshake( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_metadata_size` is never used [INFO] [stdout] --> src/torrent/metadata.rs:435:8 [INFO] [stdout] | [INFO] [stdout] 435 | pub fn parse_metadata_size(handshake_data: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_metadata_extension_id` is never used [INFO] [stdout] --> src/torrent/metadata.rs:444:8 [INFO] [stdout] | [INFO] [stdout] 444 | pub fn parse_metadata_extension_id(handshake_data: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/torrent/mse.rs:361:26 [INFO] [stdout] | [INFO] [stdout] 361 | Plaintext(TcpStream, Vec), [INFO] [stdout] | --------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 361 - Plaintext(TcpStream, Vec), [INFO] [stdout] 361 + Plaintext(TcpStream, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `supports_fast` is never used [INFO] [stdout] --> src/torrent/peer.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl ReservedBytes { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn supports_fast(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `peer_id_to_client` is never used [INFO] [stdout] --> src/torrent/peer.rs:1199:8 [INFO] [stdout] | [INFO] [stdout] 1199 | pub fn peer_id_to_client(peer_id: &[u8; 20]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PREFERS_ENCRYPTION` is never used [INFO] [stdout] --> src/torrent/pex.rs:26:15 [INFO] [stdout] | [INFO] [stdout] 26 | pub const PREFERS_ENCRYPTION: u8 = 0x01; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IS_SEEDER` is never used [INFO] [stdout] --> src/torrent/pex.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | pub const IS_SEEDER: u8 = 0x02; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SUPPORTS_UTP` is never used [INFO] [stdout] --> src/torrent/pex.rs:30:15 [INFO] [stdout] | [INFO] [stdout] 30 | pub const SUPPORTS_UTP: u8 = 0x04; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SUPPORTS_HOLEPUNCH` is never used [INFO] [stdout] --> src/torrent/pex.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 32 | pub const SUPPORTS_HOLEPUNCH: u8 = 0x08; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IS_OUTGOING` is never used [INFO] [stdout] --> src/torrent/pex.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | pub const IS_OUTGOING: u8 = 0x10; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `with_retry` is never used [INFO] [stdout] --> src/http/connection.rs:281:14 [INFO] [stdout] | [INFO] [stdout] 281 | pub async fn with_retry( [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 `verify_range_support` is never used [INFO] [stdout] --> src/http/resume.rs:139:14 [INFO] [stdout] | [INFO] [stdout] 139 | pub async fn verify_range_support(client: &Client, url: &str, user_agent: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `should_restart` is never used [INFO] [stdout] --> src/http/resume.rs:314:14 [INFO] [stdout] | [INFO] [stdout] 314 | pub async fn should_restart( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_SEGMENT_SIZE` is never used [INFO] [stdout] --> src/http/segment.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | pub const MIN_SEGMENT_SIZE: u64 = 1024 * 1024; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_CONNECTIONS` is never used [INFO] [stdout] --> src/http/segment.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub const DEFAULT_CONNECTIONS: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_metadata_extension_handshake` is never used [INFO] [stdout] --> src/torrent/metadata.rs:412:8 [INFO] [stdout] | [INFO] [stdout] 412 | pub fn build_metadata_extension_handshake( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/torrent/mse.rs:361:26 [INFO] [stdout] | [INFO] [stdout] 361 | Plaintext(TcpStream, Vec), [INFO] [stdout] | --------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 361 - Plaintext(TcpStream, Vec), [INFO] [stdout] 361 + Plaintext(TcpStream, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `supports_fast` is never used [INFO] [stdout] --> src/torrent/peer.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl ReservedBytes { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn supports_fast(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PREFERS_ENCRYPTION` is never used [INFO] [stdout] --> src/torrent/pex.rs:26:15 [INFO] [stdout] | [INFO] [stdout] 26 | pub const PREFERS_ENCRYPTION: u8 = 0x01; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IS_SEEDER` is never used [INFO] [stdout] --> src/torrent/pex.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | pub const IS_SEEDER: u8 = 0x02; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SUPPORTS_UTP` is never used [INFO] [stdout] --> src/torrent/pex.rs:30:15 [INFO] [stdout] | [INFO] [stdout] 30 | pub const SUPPORTS_UTP: u8 = 0x04; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SUPPORTS_HOLEPUNCH` is never used [INFO] [stdout] --> src/torrent/pex.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 32 | pub const SUPPORTS_HOLEPUNCH: u8 = 0x08; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IS_OUTGOING` is never used [INFO] [stdout] --> src/torrent/pex.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | pub const IS_OUTGOING: u8 = 0x10; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `piece_index` is never read [INFO] [stdout] --> tests/mock_peer.rs:348:9 [INFO] [stdout] | [INFO] [stdout] 347 | Have { [INFO] [stdout] | ---- field in this variant [INFO] [stdout] 348 | piece_index: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PeerMessage` has a derived impl for the trait `Debug`, but this is 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: field `bitfield` is never read [INFO] [stdout] --> tests/mock_peer.rs:351:9 [INFO] [stdout] | [INFO] [stdout] 350 | Bitfield { [INFO] [stdout] | -------- field in this variant [INFO] [stdout] 351 | bitfield: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PeerMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `index`, `begin`, and `block` are never read [INFO] [stdout] --> tests/mock_peer.rs:359:9 [INFO] [stdout] | [INFO] [stdout] 358 | Piece { [INFO] [stdout] | ----- fields in this variant [INFO] [stdout] 359 | index: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 360 | begin: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 361 | block: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PeerMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `index`, `begin`, and `length` are never read [INFO] [stdout] --> tests/mock_peer.rs:364:9 [INFO] [stdout] | [INFO] [stdout] 363 | Cancel { [INFO] [stdout] | ------ fields in this variant [INFO] [stdout] 364 | index: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 365 | begin: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 366 | length: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PeerMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `payload` are never read [INFO] [stdout] --> tests/mock_peer.rs:373:9 [INFO] [stdout] | [INFO] [stdout] 372 | Unknown { [INFO] [stdout] | ------- fields in this variant [INFO] [stdout] 373 | id: u8, [INFO] [stdout] | ^^ [INFO] [stdout] 374 | payload: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PeerMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `with_all_pieces` and `with_metadata` are never used [INFO] [stdout] --> tests/mock_peer.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl MockPeerConfig { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn with_all_pieces(mut self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn with_metadata(mut self, metadata: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `accept_one` is never used [INFO] [stdout] --> tests/mock_peer.rs:101:18 [INFO] [stdout] | [INFO] [stdout] 84 | impl MockPeer { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 101 | pub async fn accept_one(&self) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `piece_index` is never read [INFO] [stdout] --> tests/mock_peer.rs:348:9 [INFO] [stdout] | [INFO] [stdout] 347 | Have { [INFO] [stdout] | ---- field in this variant [INFO] [stdout] 348 | piece_index: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PeerMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `bitfield` is never read [INFO] [stdout] --> tests/mock_peer.rs:351:9 [INFO] [stdout] | [INFO] [stdout] 350 | Bitfield { [INFO] [stdout] | -------- field in this variant [INFO] [stdout] 351 | bitfield: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PeerMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `index`, `begin`, and `block` are never read [INFO] [stdout] --> tests/mock_peer.rs:359:9 [INFO] [stdout] | [INFO] [stdout] 358 | Piece { [INFO] [stdout] | ----- fields in this variant [INFO] [stdout] 359 | index: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 360 | begin: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 361 | block: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PeerMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `index`, `begin`, and `length` are never read [INFO] [stdout] --> tests/mock_peer.rs:364:9 [INFO] [stdout] | [INFO] [stdout] 363 | Cancel { [INFO] [stdout] | ------ fields in this variant [INFO] [stdout] 364 | index: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 365 | begin: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 366 | length: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PeerMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `payload` are never read [INFO] [stdout] --> tests/mock_peer.rs:373:9 [INFO] [stdout] | [INFO] [stdout] 372 | Unknown { [INFO] [stdout] | ------- fields in this variant [INFO] [stdout] 373 | id: u8, [INFO] [stdout] | ^^ [INFO] [stdout] 374 | payload: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PeerMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_info_hash` is never used [INFO] [stdout] --> tests/test_helpers.rs:222:8 [INFO] [stdout] | [INFO] [stdout] 222 | pub fn calculate_info_hash(torrent_data: &[u8]) -> Option<[u8; 20]> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_temp_download_dir` is never used [INFO] [stdout] --> tests/test_helpers.rs:273:8 [INFO] [stdout] | [INFO] [stdout] 273 | pub fn create_temp_download_dir() -> tempfile::TempDir { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `wait_for` is never used [INFO] [stdout] --> tests/test_helpers.rs:278:14 [INFO] [stdout] | [INFO] [stdout] 278 | pub async fn wait_for(timeout_ms: u64, mut condition: F) -> bool [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `wait_for_async` is never used [INFO] [stdout] --> tests/test_helpers.rs:296:14 [INFO] [stdout] | [INFO] [stdout] 296 | pub async fn wait_for_async(timeout_ms: u64, mut condition: F) -> bool [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 16s [INFO] running `Command { std: "docker" "inspect" "d3f2a6cee11aea4b58e9a7e6f435d58901ff7c38d8577aec8493be2c5cb20717", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d3f2a6cee11aea4b58e9a7e6f435d58901ff7c38d8577aec8493be2c5cb20717", kill_on_drop: false }` [INFO] [stdout] d3f2a6cee11aea4b58e9a7e6f435d58901ff7c38d8577aec8493be2c5cb20717 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 98a09a0ea0f4bfb5a0416e1a0d4a3b2fbd9220ed2400b74c0c5c0a169714611a [INFO] running `Command { std: "docker" "start" "-a" "98a09a0ea0f4bfb5a0416e1a0d4a3b2fbd9220ed2400b74c0c5c0a169714611a", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `congestion::LedbatController` [INFO] [stderr] --> src/torrent/utp/mod.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | pub use congestion::LedbatController; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `MAX_PACKET_SIZE`, `MAX_PAYLOAD_SIZE`, `PacketType`, `Packet`, and `SelectiveAck` [INFO] [stderr] --> src/torrent/utp/mod.rs:44:18 [INFO] [stderr] | [INFO] [stderr] 44 | pub use packet::{Packet, PacketType, SelectiveAck, MAX_PACKET_SIZE, MAX_PAYLOAD_SIZE}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `UtpSocketInner` [INFO] [stderr] --> src/torrent/utp/mod.rs:45:40 [INFO] [stderr] | [INFO] [stderr] 45 | pub use socket::{UtpConfig, UtpSocket, UtpSocketInner}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ConnectionState`, `ConnectionStats`, and `PendingPacket` [INFO] [stderr] --> src/torrent/utp/mod.rs:46:17 [INFO] [stderr] | [INFO] [stderr] 46 | pub use state::{ConnectionState, ConnectionStats, PendingPacket}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BandwidthLimits`, `ChecksumAlgorithm`, `DownloadPriority`, `ExpectedChecksum`, and `ScheduleRule` [INFO] [stderr] --> src/types.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | BandwidthLimits, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 10 | // Checksum types [INFO] [stderr] 11 | ChecksumAlgorithm, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 21 | DownloadPriority, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 25 | ExpectedChecksum, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 29 | ScheduleRule, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `with_retry` is never used [INFO] [stderr] --> src/http/connection.rs:281:14 [INFO] [stderr] | [INFO] [stderr] 281 | pub async fn with_retry( [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `verify_range_support` is never used [INFO] [stderr] --> src/http/resume.rs:139:14 [INFO] [stderr] | [INFO] [stderr] 139 | pub async fn verify_range_support(client: &Client, url: &str, user_agent: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `calculate_range_header` is never used [INFO] [stderr] --> src/http/resume.rs:258:8 [INFO] [stderr] | [INFO] [stderr] 258 | pub fn calculate_range_header(start: u64, end: Option) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `should_restart` is never used [INFO] [stderr] --> src/http/resume.rs:314:14 [INFO] [stderr] | [INFO] [stderr] 314 | pub async fn should_restart( [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MIN_SEGMENT_SIZE` is never used [INFO] [stderr] --> src/http/segment.rs:30:11 [INFO] [stderr] | [INFO] [stderr] 30 | pub const MIN_SEGMENT_SIZE: u64 = 1024 * 1024; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `DEFAULT_CONNECTIONS` is never used [INFO] [stderr] --> src/http/segment.rs:33:11 [INFO] [stderr] | [INFO] [stderr] 33 | pub const DEFAULT_CONNECTIONS: usize = 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `DEFAULT_BOOTSTRAP_NODES` is never used [INFO] [stderr] --> src/torrent/dht.rs:22:11 [INFO] [stderr] | [INFO] [stderr] 22 | pub const DEFAULT_BOOTSTRAP_NODES: &[&str] = &[ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `build_metadata_extension_handshake` is never used [INFO] [stderr] --> src/torrent/metadata.rs:412:8 [INFO] [stderr] | [INFO] [stderr] 412 | pub fn build_metadata_extension_handshake( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_metadata_size` is never used [INFO] [stderr] --> src/torrent/metadata.rs:435:8 [INFO] [stderr] | [INFO] [stderr] 435 | pub fn parse_metadata_size(handshake_data: &[u8]) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_metadata_extension_id` is never used [INFO] [stderr] --> src/torrent/metadata.rs:444:8 [INFO] [stderr] | [INFO] [stderr] 444 | pub fn parse_metadata_extension_id(handshake_data: &[u8]) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `1` is never read [INFO] [stderr] --> src/torrent/mse.rs:361:26 [INFO] [stderr] | [INFO] [stderr] 361 | Plaintext(TcpStream, Vec), [INFO] [stderr] | --------- ^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 361 - Plaintext(TcpStream, Vec), [INFO] [stderr] 361 + Plaintext(TcpStream, ()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: method `supports_fast` is never used [INFO] [stderr] --> src/torrent/peer.rs:64:12 [INFO] [stderr] | [INFO] [stderr] 42 | impl ReservedBytes { [INFO] [stderr] | ------------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 64 | pub fn supports_fast(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `peer_id_to_client` is never used [INFO] [stderr] --> src/torrent/peer.rs:1199:8 [INFO] [stderr] | [INFO] [stderr] 1199 | pub fn peer_id_to_client(peer_id: &[u8; 20]) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PREFERS_ENCRYPTION` is never used [INFO] [stderr] --> src/torrent/pex.rs:26:15 [INFO] [stderr] | [INFO] [stderr] 26 | pub const PREFERS_ENCRYPTION: u8 = 0x01; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `IS_SEEDER` is never used [INFO] [stderr] --> src/torrent/pex.rs:28:15 [INFO] [stderr] | [INFO] [stderr] 28 | pub const IS_SEEDER: u8 = 0x02; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SUPPORTS_UTP` is never used [INFO] [stderr] --> src/torrent/pex.rs:30:15 [INFO] [stderr] | [INFO] [stderr] 30 | pub const SUPPORTS_UTP: u8 = 0x04; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SUPPORTS_HOLEPUNCH` is never used [INFO] [stderr] --> src/torrent/pex.rs:32:15 [INFO] [stderr] | [INFO] [stderr] 32 | pub const SUPPORTS_HOLEPUNCH: u8 = 0x08; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `IS_OUTGOING` is never used [INFO] [stderr] --> src/torrent/pex.rs:34:15 [INFO] [stderr] | [INFO] [stderr] 34 | pub const IS_OUTGOING: u8 = 0x10; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `gosh-dl` (lib) generated 23 warnings (run `cargo fix --lib -p gosh-dl` to apply 5 suggestions) [INFO] [stderr] warning: methods `with_all_pieces` and `with_metadata` are never used [INFO] [stderr] --> tests/mock_peer.rs:58:12 [INFO] [stderr] | [INFO] [stderr] 37 | impl MockPeerConfig { [INFO] [stderr] | ------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 58 | pub fn with_all_pieces(mut self) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 71 | pub fn with_metadata(mut self, metadata: Vec) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `accept_one` is never used [INFO] [stderr] --> tests/mock_peer.rs:101:18 [INFO] [stderr] | [INFO] [stderr] 84 | impl MockPeer { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 101 | pub async fn accept_one(&self) -> std::io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `piece_index` is never read [INFO] [stderr] --> tests/mock_peer.rs:348:9 [INFO] [stderr] | [INFO] [stderr] 347 | Have { [INFO] [stderr] | ---- field in this variant [INFO] [stderr] 348 | piece_index: u32, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PeerMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `bitfield` is never read [INFO] [stderr] --> tests/mock_peer.rs:351:9 [INFO] [stderr] | [INFO] [stderr] 350 | Bitfield { [INFO] [stderr] | -------- field in this variant [INFO] [stderr] 351 | bitfield: Vec, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PeerMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `index`, `begin`, and `block` are never read [INFO] [stderr] --> tests/mock_peer.rs:359:9 [INFO] [stderr] | [INFO] [stderr] 358 | Piece { [INFO] [stderr] | ----- fields in this variant [INFO] [stderr] 359 | index: u32, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 360 | begin: u32, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 361 | block: Vec, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PeerMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `index`, `begin`, and `length` are never read [INFO] [stderr] --> tests/mock_peer.rs:364:9 [INFO] [stderr] | [INFO] [stderr] 363 | Cancel { [INFO] [stderr] | ------ fields in this variant [INFO] [stderr] 364 | index: u32, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 365 | begin: u32, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 366 | length: u32, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PeerMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `id` and `payload` are never read [INFO] [stderr] --> tests/mock_peer.rs:373:9 [INFO] [stderr] | [INFO] [stderr] 372 | Unknown { [INFO] [stderr] | ------- fields in this variant [INFO] [stderr] 373 | id: u8, [INFO] [stderr] | ^^ [INFO] [stderr] 374 | payload: Vec, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PeerMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: function `calculate_info_hash` is never used [INFO] [stderr] --> tests/test_helpers.rs:222:8 [INFO] [stderr] | [INFO] [stderr] 222 | pub fn calculate_info_hash(torrent_data: &[u8]) -> Option<[u8; 20]> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_temp_download_dir` is never used [INFO] [stderr] --> tests/test_helpers.rs:273:8 [INFO] [stderr] | [INFO] [stderr] 273 | pub fn create_temp_download_dir() -> tempfile::TempDir { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `wait_for` is never used [INFO] [stderr] --> tests/test_helpers.rs:278:14 [INFO] [stderr] | [INFO] [stderr] 278 | pub async fn wait_for(timeout_ms: u64, mut condition: F) -> bool [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `wait_for_async` is never used [INFO] [stderr] --> tests/test_helpers.rs:296:14 [INFO] [stderr] | [INFO] [stderr] 296 | pub async fn wait_for_async(timeout_ms: u64, mut condition: F) -> bool [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `gosh-dl` (test "torrent_integration_tests") generated 11 warnings [INFO] [stderr] warning: `gosh-dl` (lib test) generated 18 warnings (18 duplicates) [INFO] [stderr] warning: field `piece_index` is never read [INFO] [stderr] --> tests/mock_peer.rs:348:9 [INFO] [stderr] | [INFO] [stderr] 347 | Have { [INFO] [stderr] | ---- field in this variant [INFO] [stderr] 348 | piece_index: u32, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PeerMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `gosh-dl` (test "mock_peer") generated 5 warnings (4 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.55s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gosh_dl-b638319dd8e03207) [INFO] [stdout] [INFO] [stdout] running 183 tests [INFO] [stdout] test http::checksum::tests::test_parse_checksum ... ok [INFO] [stdout] test config::tests::test_default_config ... ok [INFO] [stdout] test http::connection::tests::test_retry_policy_defaults ... ok [INFO] [stdout] test config::tests::test_config_builder ... ok [INFO] [stdout] test config::tests::test_invalid_download_dir ... ok [INFO] [stdout] test config::tests::test_config_validation ... ok [INFO] [stdout] test http::checksum::tests::test_md5_checksum ... ok [INFO] [stdout] test http::mirror::tests::test_reset ... ok [INFO] [stdout] test http::mirror::tests::test_multiple_mirrors ... ok [INFO] [stdout] test http::mirror::tests::test_all_failed ... ok [INFO] [stdout] test http::mirror::tests::test_failover ... ok [INFO] [stdout] test http::checksum::tests::test_sha256_checksum ... ok [INFO] [stdout] test http::mirror::tests::test_single_url ... ok [INFO] [stdout] test http::mirror::tests::test_round_robin_segments ... ok [INFO] [stdout] test http::segment::tests::test_calculate_segment_count ... ok [INFO] [stdout] test http::resume::tests::test_calculate_range_header ... ok [INFO] [stdout] test http::segment::tests::test_segment_init ... ok [INFO] [stdout] test http::segment::tests::test_parse_content_disposition ... ok [INFO] [stdout] test http::resume::tests::test_parse_content_range ... ok [INFO] [stdout] test http::resume::tests::test_validate_resumed_position ... ok [INFO] [stdout] test priority_queue::tests::test_priority_from_str ... ok [INFO] [stdout] test http::tests::test_parse_content_disposition ... ok [INFO] [stdout] test http::tests::test_extract_filename_from_url ... ok [INFO] [stdout] test priority_queue::tests::test_priority_ordering ... ok [INFO] [stdout] test http::resume::tests::test_validate_ranged_response ... ok [INFO] [stdout] test http::connection::tests::test_retry_delay ... ok [INFO] [stdout] test priority_queue::tests::test_priority_queue_basic ... ok [INFO] [stdout] test priority_queue::tests::test_queue_entry_ordering ... ok [INFO] [stdout] test protocol::types::tests::from_gid_accepts_valid_input ... ok [INFO] [stdout] test protocol::types::tests::from_gid_rejects_invalid_input ... ok [INFO] [stdout] test priority_queue::tests::test_stats ... ok [INFO] [stdout] test protocol::types::tests::from_gid_round_trip_is_lossy ... ok [INFO] [stdout] test protocol::types::tests::matches_gid_rejects_wrong_length ... ok [INFO] [stdout] test priority_queue::tests::test_remove ... ok [INFO] [stdout] test priority_queue::tests::test_set_priority ... ok [INFO] [stdout] test protocol::types::tests::matches_gid_works_without_round_trip ... ok [INFO] [stdout] test scheduler::tests::test_bandwidth_limits_default ... ok [INFO] [stdout] test scheduler::tests::test_schedule_rule_match_simple ... ok [INFO] [stdout] test scheduler::tests::test_schedule_rule_match_overnight ... ok [INFO] [stdout] test scheduler::tests::test_schedule_rule_weekdays ... ok [INFO] [stdout] test scheduler::tests::test_schedule_rule_weekends ... ok [INFO] [stdout] test protocol::types::tests::to_gid_returns_16_char_hex_string ... ok [INFO] [stdout] test scheduler::tests::test_scheduler_no_rules ... ok [INFO] [stdout] test scheduler::tests::test_scheduler_first_match_wins ... ok [INFO] [stdout] test http::checksum::tests::test_verify_checksum ... ok [INFO] [stdout] test storage::sqlite::tests::test_schema_v1_to_v2_migration ... ok [INFO] [stdout] test storage::sqlite::tests::test_schema_versioning_legacy_db ... ok [INFO] [stdout] test storage::sqlite::tests::test_schema_versioning ... ok [INFO] [stdout] test storage::sqlite::tests::test_sqlite_health_check ... ok [INFO] [stdout] test storage::sqlite::tests::test_sqlite_cookies_persistence ... ok [INFO] [stdout] test storage::sqlite::tests::test_sqlite_checksum_persistence ... ok [INFO] [stdout] test storage::sqlite::tests::test_sqlite_full_metadata_persistence ... ok [INFO] [stdout] test storage::sqlite::tests::test_sqlite_delete ... ok [INFO] [stdout] test priority_queue::tests::test_priority_queue_priority_ordering ... ok [INFO] [stdout] test storage::sqlite::tests::test_sqlite_load_all ... ok [INFO] [stdout] test storage::sqlite::tests::test_sqlite_save_load ... ok [INFO] [stdout] test storage::tests::test_memory_storage ... ok [INFO] [stdout] test storage::sqlite::tests::test_sqlite_mirrors_persistence ... ok [INFO] [stdout] test storage::tests::test_segment_size ... ok [INFO] [stdout] test storage::tests::test_segment_storage ... ok [INFO] [stdout] test storage::sqlite::tests::test_sqlite_segments ... ok [INFO] [stdout] test torrent::bencode::tests::test_encode ... ok [INFO] [stdout] test torrent::bencode::tests::test_accessor_methods ... ok [INFO] [stdout] test torrent::bencode::tests::test_parse_bytes ... ok [INFO] [stdout] test torrent::bencode::tests::test_parse_integer ... ok [INFO] [stdout] test torrent::bencode::tests::test_parse_list ... ok [INFO] [stdout] test torrent::bencode::tests::test_roundtrip ... ok [INFO] [stdout] test torrent::choking::tests::test_choke_previously_unchoked ... ok [INFO] [stdout] test torrent::choking::tests::test_default_config ... ok [INFO] [stdout] test torrent::choking::tests::test_only_interested_peers ... ok [INFO] [stdout] test torrent::choking::tests::test_peer_disconnected ... ok [INFO] [stdout] test torrent::choking::tests::test_seeding_mode_prefers_upload_rate ... ok [INFO] [stdout] test torrent::bencode::tests::test_parse_dict ... ok [INFO] [stdout] test torrent::choking::tests::test_unchoke_top_performers ... ok [INFO] [stdout] test torrent::dht::tests::test_dht_client_creation ... ignored [INFO] [stdout] test torrent::dht::tests::test_dht_find_peers ... ignored [INFO] [stdout] test torrent::dht::tests::test_default_bootstrap_nodes ... ok [INFO] [stdout] test torrent::lpd::tests::test_build_announce_message ... ok [INFO] [stdout] test torrent::lpd::tests::test_constants ... ok [INFO] [stdout] test storage::sqlite::tests::test_sqlite_update ... ok [INFO] [stdout] test storage::sqlite::tests::test_torrent_data_persistence ... ok [INFO] [stdout] test torrent::lpd::tests::test_parse_announce_invalid ... ok [INFO] [stdout] test torrent::lpd::tests::test_parse_announce ... ok [INFO] [stdout] test torrent::dht::tests::test_dht_manager_tracking ... ok [INFO] [stdout] test torrent::lpd::tests::test_parse_announce_self_filter ... ok [INFO] [stdout] test torrent::magnet::tests::test_invalid_magnet ... ok [INFO] [stdout] test torrent::magnet::tests::test_name ... ok [INFO] [stdout] test torrent::magnet::tests::test_to_uri ... ok [INFO] [stdout] test torrent::magnet::tests::test_url_decode ... ok [INFO] [stdout] test torrent::magnet::tests::test_url_encode ... ok [INFO] [stdout] test torrent::metadata::tests::test_metadata_fetcher_pieces ... ok [INFO] [stdout] test storage::sqlite::tests::test_sqlite_priority_persistence ... ok [INFO] [stdout] test torrent::metadata::tests::test_metadata_fetcher_wrong_hash ... ok [INFO] [stdout] test torrent::metadata::tests::test_metadata_message_data ... ok [INFO] [stdout] test torrent::metadata::tests::test_metadata_message_reject ... ok [INFO] [stdout] test torrent::magnet::tests::test_parse_base32_hash ... ok [INFO] [stdout] test torrent::magnet::tests::test_parse_basic_magnet ... ok [INFO] [stdout] test torrent::magnet::tests::test_parse_full_magnet ... ok [INFO] [stdout] test torrent::metadata::tests::test_metadata_message_request ... ok [INFO] [stdout] test torrent::metadata::tests::test_parse_metadata_extension_id ... ok [INFO] [stdout] test torrent::metadata::tests::test_parse_metadata_size ... ok [INFO] [stdout] test torrent::metainfo::tests::test_files_for_piece ... ok [INFO] [stdout] test torrent::metainfo::tests::test_info_hash_calculation ... ok [INFO] [stdout] test torrent::metainfo::tests::test_invalid_torrent ... ok [INFO] [stdout] test torrent::metainfo::tests::test_parse_single_file_torrent ... ok [INFO] [stdout] test torrent::metainfo::tests::test_piece_length ... ok [INFO] [stdout] test torrent::metainfo::tests::test_piece_range ... ok [INFO] [stdout] test torrent::mse::tests::test_bidirectional_encryption ... ok [INFO] [stdout] test torrent::mse::tests::test_crypto_constants ... ok [INFO] [stdout] test torrent::mse::tests::test_dh_prime_length ... ok [INFO] [stdout] test torrent::mse::tests::test_encryption_policy_default_is_preferred ... ok [INFO] [stdout] test torrent::mse::tests::test_encryption_policy_disabled ... ok [INFO] [stdout] test torrent::mse::tests::test_mse_config_crypto_provide ... ok [INFO] [stdout] test torrent::mse::tests::test_mse_config_default ... ok [INFO] [stdout] test torrent::mse::tests::test_rc4_discard_constant ... ok [INFO] [stdout] test torrent::mse::tests::test_rc4_cipher ... ok [INFO] [stdout] test torrent::mse::tests::test_rc4_discard_security ... ok [INFO] [stdout] test storage::sqlite::tests::test_torrent_data_survives_status_update ... ok [INFO] [stdout] test torrent::mse::tests::test_key_derivation ... ok [INFO] [stdout] test torrent::mse::tests::test_vc_constant ... ok [INFO] [stdout] test torrent::peer::tests::test_bitfield_parsing ... ok [INFO] [stdout] test torrent::peer::tests::test_peer_id_to_client ... ok [INFO] [stdout] test torrent::peer::tests::test_reserved_bytes ... ok [INFO] [stdout] test torrent::pex::tests::test_encode_decode_roundtrip ... ok [INFO] [stdout] test torrent::pex::tests::test_extension_handshake ... ok [INFO] [stdout] test torrent::pex::tests::test_parse_compact_peers_v4 ... ok [INFO] [stdout] test torrent::pex::tests::test_pex_message_empty ... ok [INFO] [stdout] test torrent::pex::tests::test_pex_state_build_message ... ok [INFO] [stdout] test torrent::pex::tests::test_pex_state_diff ... ok [INFO] [stdout] test torrent::piece::tests::test_block_request ... ok [INFO] [stdout] test torrent::piece::tests::test_path_traversal_attack_patterns ... ok [INFO] [stdout] test torrent::piece::tests::test_pending_piece ... ok [INFO] [stdout] test torrent::piece::tests::test_piece_progress ... ok [INFO] [stdout] test torrent::piece::tests::test_safe_path_patterns ... ok [INFO] [stdout] test torrent::piece::tests::test_unrequested_blocks ... ok [INFO] [stdout] test torrent::piece::tests::test_validate_path_component_accepts_current_dir ... ok [INFO] [stdout] test torrent::piece::tests::test_last_block_size ... ok [INFO] [stdout] test torrent::piece::tests::test_validate_path_component_accepts_normal ... ok [INFO] [stdout] test torrent::tests::test_torrent_config_default ... ok [INFO] [stdout] test torrent::mse::tests::test_max_padding ... ok [INFO] [stdout] test torrent::tests::test_torrent_state ... ok [INFO] [stdout] test torrent::tracker::tests::test_announce_event ... ok [INFO] [stdout] test torrent::piece::tests::test_validate_path_component_rejects_root_dir ... ok [INFO] [stdout] test torrent::piece::tests::test_validate_path_component_rejects_parent_dir ... ok [INFO] [stdout] test torrent::tracker::tests::test_peer_addr_to_socket ... ok [INFO] [stdout] test torrent::transport::tests::test_transport_type_display ... ok [INFO] [stdout] test torrent::utp::congestion::tests::test_exit_slow_start ... ok [INFO] [stdout] test torrent::utp::congestion::tests::test_initial_state ... ok [INFO] [stdout] test torrent::utp::congestion::tests::test_on_loss ... ok [INFO] [stdout] test torrent::utp::congestion::tests::test_rtt_update ... ok [INFO] [stdout] test torrent::peer::tests::test_message_encode_decode ... ok [INFO] [stdout] test torrent::tracker::tests::test_generate_peer_id ... ok [INFO] [stdout] test torrent::utp::congestion::tests::test_window_bounds ... ok [INFO] [stdout] test torrent::utp::multiplexer::tests::test_bind ... ok [INFO] [stdout] test torrent::utp::packet::tests::test_data_packet ... ok [INFO] [stdout] test torrent::utp::packet::tests::test_packet_encode_decode ... ok [INFO] [stdout] test torrent::utp::packet::tests::test_packet_type_conversion ... ok [INFO] [stdout] test torrent::utp::packet::tests::test_packet_with_sack ... ok [INFO] [stdout] test torrent::utp::packet::tests::test_selective_ack ... ok [INFO] [stdout] test torrent::utp::socket::tests::test_seq_comparison ... ok [INFO] [stdout] test torrent::utp::state::tests::test_connection_state_transitions ... ok [INFO] [stdout] test torrent::utp::state::tests::test_connection_stats ... ok [INFO] [stdout] test torrent::utp::state::tests::test_pending_packet ... ok [INFO] [stdout] test torrent::webseed::tests::test_webseed_backoff ... ok [INFO] [stdout] test torrent::webseed::tests::test_webseed_backoff_exponential ... ok [INFO] [stdout] test torrent::utp::congestion::tests::test_slow_start ... ok [INFO] [stdout] test torrent::webseed::tests::test_webseed_backoff_respects_max ... ok [INFO] [stdout] test torrent::webseed::tests::test_webseed_config_defaults ... ok [INFO] [stdout] test torrent::webseed::tests::test_webseed_failed_state_not_available ... ok [INFO] [stdout] test torrent::webseed::tests::test_webseed_max_failures ... ok [INFO] [stdout] test torrent::webseed::tests::test_webseed_piece_tracking ... ok [INFO] [stdout] test torrent::webseed::tests::test_webseed_recovery_from_backoff ... ok [INFO] [stdout] test torrent::webseed::tests::test_webseed_state_transitions ... ok [INFO] [stdout] test torrent::webseed::tests::test_webseed_stats_accumulation ... ok [INFO] [stdout] test torrent::webseed::tests::test_webseed_success_resets_failures ... ok [INFO] [stdout] test torrent::webseed::tests::test_webseed_types ... ok [INFO] [stdout] test torrent::webseed::tests::test_webseed_url_preservation ... ok [INFO] [stdout] test torrent::mse::tests::test_dh_generates_unique_keys ... ok [INFO] [stdout] test torrent::mse::tests::test_dh_key_exchange ... ok [INFO] [stdout] test torrent::utp::multiplexer::tests::test_accept_preserves_remote_address ... ok [INFO] [stdout] test http::connection::tests::test_speed_calculator ... ok [INFO] [stdout] test torrent::tracker::tests::test_parse_compact_peers ... ok [INFO] [stdout] test torrent::tracker::tests::test_parse_compact_peers_ipv6 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 181 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.25s [INFO] [stdout] [INFO] [stderr] Running tests/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-ea905c5d3de2d00c) [INFO] [stdout] [INFO] [stdout] running 31 tests [INFO] [stdout] test test_416_range_not_satisfiable_falls_back_to_single ... ok [INFO] [stdout] test test_config_update ... ok [INFO] [stdout] test test_custom_referer ... ok [INFO] [stdout] test test_cancel_download ... ok [INFO] [stdout] test test_concurrent_downloads ... ok [INFO] [stdout] test test_basic_http_download ... ok [INFO] [stdout] test test_custom_user_agent ... ok [INFO] [stdout] test test_download_with_custom_filename ... ok [INFO] [stdout] test test_download_prefers_get_content_length_when_head_mismatches ... ok [INFO] [stdout] test test_download_content_disposition_filename ... ok [INFO] [stdout] test test_download_events_sequence ... ok [INFO] [stdout] test test_invalid_url ... ok [INFO] [stdout] test test_gzip_encoded_response_does_not_exceed_progress_bounds ... ok [INFO] [stdout] test test_download_404_error ... ok [INFO] [stdout] test test_download_500_error ... ok [INFO] [stdout] test test_etag_change_between_resume_attempts_restarts_from_zero ... ok [INFO] [stdout] test test_global_stats ... ok [INFO] [stdout] test test_permanent_4xx_does_not_retry ... ok [INFO] [stdout] test test_pause_download ... ok [INFO] [stdout] test test_one_segment_fails_others_stop_promptly ... ok [INFO] [stdout] test test_non_range_download_still_completes ... ok [INFO] [stdout] test test_progress_updates ... ok [INFO] [stdout] test test_concurrent_limit_respected ... ok [INFO] [stdout] test test_resume_restarts_from_zero_when_range_is_ignored ... ok [INFO] [stdout] test test_retry_exhaustion_reports_retryable_failure ... ok [INFO] [stdout] test test_segmented_download_succeeds_with_valid_partial_content ... ok [INFO] [stdout] test test_segment_progress_saved_on_failure ... ok [INFO] [stdout] test test_segmented_download_falls_back_when_server_ignores_range_requests ... ok [INFO] [stdout] test test_list_downloads ... ok [INFO] [stdout] test test_segmented_retry_falls_back_when_range_response_is_ignored ... ok [INFO] [stdout] test test_engine_shutdown ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.22s [INFO] [stdout] [INFO] [stderr] Running tests/mock_peer.rs (/opt/rustwide/target/debug/deps/mock_peer-0bb1b79aa61a1bc4) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test tests::test_mock_peer_creation ... ok [INFO] [stdout] test tests::test_create_piece_data ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/test_helpers.rs (/opt/rustwide/target/debug/deps/test_helpers-72bf187f0776c234) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test tests::test_custom_piece_length ... ok [INFO] [stdout] test tests::test_multi_file_torrent ... ok [INFO] [stdout] test tests::test_get_piece_data ... ok [INFO] [stderr] Running tests/torrent_integration_tests.rs (/opt/rustwide/target/debug/deps/torrent_integration_tests-9773b9ac77e7405a) [INFO] [stdout] test tests::test_single_file_torrent ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 24 tests [INFO] [stdout] test mock_peer::tests::test_create_piece_data ... ok [INFO] [stdout] test mock_peer::tests::test_mock_peer_creation ... ok [INFO] [stdout] test test_helpers::tests::test_custom_piece_length ... ok [INFO] [stdout] test test_helpers::tests::test_multi_file_torrent ... ok [INFO] [stdout] test test_helpers::tests::test_single_file_torrent ... ok [INFO] [stdout] test test_helpers::tests::test_get_piece_data ... ok [INFO] [stdout] test test_metainfo_parse_from_builder ... ok [INFO] [stdout] test test_metainfo_parse_multi_file ... ok [INFO] [stdout] test test_peer_handshake_with_mock_peer ... ok [INFO] [stdout] test test_peer_handshake_wrong_info_hash ... ok [INFO] [stdout] test test_piece_manager_detects_corrupt_data ... ok [INFO] [stdout] test test_piece_manager_verify_existing ... ok [INFO] [stdout] test test_engine_rejects_invalid_torrent_data ... ok [INFO] [stdout] test test_resume_partial_download ... ok [INFO] [stdout] test test_multi_piece_download ... ok [INFO] [stdout] test test_torrent_events ... ok [INFO] [stdout] test test_torrent_state_transitions ... ok [INFO] [stdout] test test_torrent_progress_tracking ... ok [INFO] [stdout] test test_download_from_multiple_peers ... ok [INFO] [stdout] test test_download_multi_block_pieces ... ok [INFO] [stdout] test test_single_piece_download ... ok [INFO] [stdout] test test_engine_add_torrent_creates_status ... ok [INFO] [stdout] test test_engine_add_torrent_with_options ... ok [INFO] [stdout] test test_torrent_pause ... ok [INFO] [stderr] Doc-tests gosh_dl [INFO] [stdout] [INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.85s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test src/lib.rs - (line 15) ... ignored [INFO] [stdout] test src/torrent/magnet.rs - torrent::magnet::MagnetUri::parse (line 43) ... ignored [INFO] [stdout] test src/torrent/utp/mod.rs - torrent::utp (line 20) ... ignored [INFO] [stdout] test src/error.rs - error (line 13) - compile ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "98a09a0ea0f4bfb5a0416e1a0d4a3b2fbd9220ed2400b74c0c5c0a169714611a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "98a09a0ea0f4bfb5a0416e1a0d4a3b2fbd9220ed2400b74c0c5c0a169714611a", kill_on_drop: false }` [INFO] [stdout] 98a09a0ea0f4bfb5a0416e1a0d4a3b2fbd9220ed2400b74c0c5c0a169714611a