[INFO] cloning repository https://github.com/ariqfraser/rtd [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ariqfraser/rtd" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fariqfraser%2Frtd", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fariqfraser%2Frtd'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 966865644676220546d43b898208f0e908347aa8 [INFO] checking ariqfraser/rtd against master#22572d0994593197593e2a1b7b18d720a9a349a7 for pr-126452-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fariqfraser%2Frtd" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ariqfraser/rtd on toolchain 22572d0994593197593e2a1b7b18d720a9a349a7 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/ariqfraser/rtd [INFO] finished tweaking git repo https://github.com/ariqfraser/rtd [INFO] tweaked toml for git repo https://github.com/ariqfraser/rtd written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/ariqfraser/rtd 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" "+22572d0994593197593e2a1b7b18d720a9a349a7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serde_bencode v0.2.4 [INFO] [stderr] Downloaded mainline v2.0.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 336de757692e4af32ccbed4aac8b6954db77b1493cba36b8cc49907541e24c4a [INFO] running `Command { std: "docker" "start" "-a" "336de757692e4af32ccbed4aac8b6954db77b1493cba36b8cc49907541e24c4a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "336de757692e4af32ccbed4aac8b6954db77b1493cba36b8cc49907541e24c4a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "336de757692e4af32ccbed4aac8b6954db77b1493cba36b8cc49907541e24c4a", kill_on_drop: false }` [INFO] [stdout] 336de757692e4af32ccbed4aac8b6954db77b1493cba36b8cc49907541e24c4a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e809149d9c45c424f5d0023d223639b9b2f63e9dbc037676a3f47f8a7834afbf [INFO] running `Command { std: "docker" "start" "-a" "e809149d9c45c424f5d0023d223639b9b2f63e9dbc037676a3f47f8a7834afbf", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.156 [INFO] [stderr] Compiling syn v2.0.74 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling cc v1.1.13 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling serde v1.0.208 [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Checking cpufeatures v0.2.13 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Compiling serde_json v1.0.125 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Checking ed25519 v2.2.3 [INFO] [stderr] Checking sync_wrapper v1.0.1 [INFO] [stderr] Checking sha1_smol v1.0.1 [INFO] [stderr] Checking lru v0.12.4 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking mio v1.0.2 [INFO] [stderr] Compiling openssl-sys v0.9.103 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking sha-1 v0.10.1 [INFO] [stderr] Compiling openssl v0.10.66 [INFO] [stderr] Compiling native-tls v0.2.12 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling serde_derive v1.0.208 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Checking tokio v1.39.2 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking ed25519-dalek v2.1.1 [INFO] [stderr] Checking thiserror v1.0.63 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking serde_bytes v0.11.15 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking serde_bencode v0.2.4 [INFO] [stderr] Checking tokio-util v0.7.11 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking mainline v2.0.1 [INFO] [stderr] Checking h2 v0.4.5 [INFO] [stderr] Checking hyper v1.4.1 [INFO] [stderr] Checking hyper-util v0.1.7 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.5 [INFO] [stderr] Checking rtdownloader v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/torrent_parser.rs:255:9 [INFO] [stdout] | [INFO] [stdout] 255 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::BTreeMap` [INFO] [stdout] --> src/torrent_parser.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | use std::collections::BTreeMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/announcement.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/announcement.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `url::Url` [INFO] [stdout] --> src/announcement.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use url::Url; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sleep` [INFO] [stdout] --> src/connection.rs:3:71 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::{io::{AsyncReadExt, AsyncWriteExt}, net::TcpStream, time::{sleep, timeout}}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `flume::IntoIter` [INFO] [stdout] --> src/dht.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use flume::IntoIter; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/announcement.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/announcement.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `url::Url` [INFO] [stdout] --> src/announcement.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use url::Url; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sleep` [INFO] [stdout] --> src/connection.rs:3:71 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::{io::{AsyncReadExt, AsyncWriteExt}, net::TcpStream, time::{sleep, timeout}}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `flume::IntoIter` [INFO] [stdout] --> src/dht.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use flume::IntoIter; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expected_hash` [INFO] [stdout] --> src/torrent_parser.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | let expected_hash = "3cd8deb9c265e8aa4086ddd1704318b999163cc6"; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_hash` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src` [INFO] [stdout] --> src/announcement.rs:54:23 [INFO] [stdout] | [INFO] [stdout] 54 | let (amt, src) = socket.recv_from(&mut buffer)?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_src` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src` [INFO] [stdout] --> src/announcement.rs:54:23 [INFO] [stdout] | [INFO] [stdout] 54 | let (amt, src) = socket.recv_from(&mut buffer)?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_src` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/announcement.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/announcement.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `url::Url` [INFO] [stdout] --> src/announcement.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use url::Url; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sleep` [INFO] [stdout] --> src/connection.rs:3:71 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::{io::{AsyncReadExt, AsyncWriteExt}, net::TcpStream, time::{sleep, timeout}}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `flume::IntoIter` [INFO] [stdout] --> src/dht.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use flume::IntoIter; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/announcement.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/announcement.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `url::Url` [INFO] [stdout] --> src/announcement.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use url::Url; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sleep` [INFO] [stdout] --> src/connection.rs:3:71 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::{io::{AsyncReadExt, AsyncWriteExt}, net::TcpStream, time::{sleep, timeout}}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `flume::IntoIter` [INFO] [stdout] --> src/dht.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use flume::IntoIter; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/torrent_parser.rs:255:9 [INFO] [stdout] | [INFO] [stdout] 255 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::BTreeMap` [INFO] [stdout] --> src/torrent_parser.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | use std::collections::BTreeMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src` [INFO] [stdout] --> src/announcement.rs:54:23 [INFO] [stdout] | [INFO] [stdout] 54 | let (amt, src) = socket.recv_from(&mut buffer)?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_src` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stream` [INFO] [stdout] --> src/main.rs:68:32 [INFO] [stdout] | [INFO] [stdout] 68 | ... Ok(stream) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src` [INFO] [stdout] --> src/announcement.rs:54:23 [INFO] [stdout] | [INFO] [stdout] 54 | let (amt, src) = socket.recv_from(&mut buffer)?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_src` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ResBox` is never used [INFO] [stdout] --> src/announcement.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type ResBox = Result>; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_announcement_request` is never used [INFO] [stdout] --> src/announcement.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new_announcement_request(announce_base: &str, info_hash: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_peer_id` is never used [INFO] [stdout] --> src/announcement.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn generate_peer_id() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `strip_announce_url` is never used [INFO] [stdout] --> src/announcement.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn strip_announce_url(url: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_udp_request` is never used [INFO] [stdout] --> src/announcement.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn handle_udp_request(addr: &str) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_connection_request` is never used [INFO] [stdout] --> src/announcement.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn create_connection_request() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_connection_response` is never used [INFO] [stdout] --> src/announcement.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn parse_connection_response(response: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_http_request` is never used [INFO] [stdout] --> src/announcement.rs:89:10 [INFO] [stdout] | [INFO] [stdout] 89 | async fn handle_http_request(url: &str) -> ResBox<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `query_trackers` is never used [INFO] [stdout] --> src/announcement.rs:113:14 [INFO] [stdout] | [INFO] [stdout] 113 | pub async fn query_trackers(announce_list: &Vec>) -> ResBox<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `info_bytes_to_string` is never used [INFO] [stdout] --> src/torrent_parser.rs:249:8 [INFO] [stdout] | [INFO] [stdout] 249 | pub fn info_bytes_to_string(bytes: &[u8; 20]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expected_hash` [INFO] [stdout] --> src/torrent_parser.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | let expected_hash = "3cd8deb9c265e8aa4086ddd1704318b999163cc6"; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_hash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stream` [INFO] [stdout] --> src/main.rs:68:32 [INFO] [stdout] | [INFO] [stdout] 68 | ... Ok(stream) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ResBox` is never used [INFO] [stdout] --> src/announcement.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type ResBox = Result>; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_announcement_request` is never used [INFO] [stdout] --> src/announcement.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new_announcement_request(announce_base: &str, info_hash: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_peer_id` is never used [INFO] [stdout] --> src/announcement.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn generate_peer_id() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `strip_announce_url` is never used [INFO] [stdout] --> src/announcement.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn strip_announce_url(url: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_udp_request` is never used [INFO] [stdout] --> src/announcement.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn handle_udp_request(addr: &str) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_connection_request` is never used [INFO] [stdout] --> src/announcement.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn create_connection_request() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_connection_response` is never used [INFO] [stdout] --> src/announcement.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn parse_connection_response(response: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_http_request` is never used [INFO] [stdout] --> src/announcement.rs:89:10 [INFO] [stdout] | [INFO] [stdout] 89 | async fn handle_http_request(url: &str) -> ResBox<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `query_trackers` is never used [INFO] [stdout] --> src/announcement.rs:113:14 [INFO] [stdout] | [INFO] [stdout] 113 | pub async fn query_trackers(announce_list: &Vec>) -> ResBox<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `info_bytes_to_string` is never used [INFO] [stdout] --> src/torrent_parser.rs:249:8 [INFO] [stdout] | [INFO] [stdout] 249 | pub fn info_bytes_to_string(bytes: &[u8; 20]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 20 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.07s [INFO] running `Command { std: "docker" "inspect" "e809149d9c45c424f5d0023d223639b9b2f63e9dbc037676a3f47f8a7834afbf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e809149d9c45c424f5d0023d223639b9b2f63e9dbc037676a3f47f8a7834afbf", kill_on_drop: false }` [INFO] [stdout] e809149d9c45c424f5d0023d223639b9b2f63e9dbc037676a3f47f8a7834afbf [INFO] checking ariqfraser/rtd against try#6289438dbad80b1a0029c66dd3f6abf57c2c51be for pr-126452-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fariqfraser%2Frtd" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ariqfraser/rtd on toolchain 6289438dbad80b1a0029c66dd3f6abf57c2c51be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/ariqfraser/rtd [INFO] finished tweaking git repo https://github.com/ariqfraser/rtd [INFO] tweaked toml for git repo https://github.com/ariqfraser/rtd written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/ariqfraser/rtd 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" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b58bf1e456a7d67a36aa8e61fa489b4aabf99decad0f23d93241aaa4b07f4f0b [INFO] running `Command { std: "docker" "start" "-a" "b58bf1e456a7d67a36aa8e61fa489b4aabf99decad0f23d93241aaa4b07f4f0b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b58bf1e456a7d67a36aa8e61fa489b4aabf99decad0f23d93241aaa4b07f4f0b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b58bf1e456a7d67a36aa8e61fa489b4aabf99decad0f23d93241aaa4b07f4f0b", kill_on_drop: false }` [INFO] [stdout] b58bf1e456a7d67a36aa8e61fa489b4aabf99decad0f23d93241aaa4b07f4f0b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8d2f2119201b44d84126152d1f112e9302c658686ea6145591497c218af66b12 [INFO] running `Command { std: "docker" "start" "-a" "8d2f2119201b44d84126152d1f112e9302c658686ea6145591497c218af66b12", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.156 [INFO] [stderr] Compiling syn v2.0.74 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling cc v1.1.13 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling serde v1.0.208 [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Checking cpufeatures v0.2.13 [INFO] [stderr] Compiling serde_json v1.0.125 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking ed25519 v2.2.3 [INFO] [stderr] Checking sync_wrapper v1.0.1 [INFO] [stderr] Checking lru v0.12.4 [INFO] [stderr] Checking sha1_smol v1.0.1 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking mio v1.0.2 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Compiling openssl-sys v0.9.103 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking sha-1 v0.10.1 [INFO] [stderr] Compiling openssl v0.10.66 [INFO] [stderr] Compiling native-tls v0.2.12 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling serde_derive v1.0.208 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Checking tokio v1.39.2 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking ed25519-dalek v2.1.1 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking thiserror v1.0.63 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking tokio-util v0.7.11 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking h2 v0.4.5 [INFO] [stderr] Checking serde_bytes v0.11.15 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking serde_bencode v0.2.4 [INFO] [stderr] Checking mainline v2.0.1 [INFO] [stderr] Checking hyper v1.4.1 [INFO] [stderr] Checking hyper-util v0.1.7 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.5 [INFO] [stderr] Checking rtdownloader v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/announcement.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/announcement.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `url::Url` [INFO] [stdout] --> src/announcement.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use url::Url; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sleep` [INFO] [stdout] --> src/connection.rs:3:71 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::{io::{AsyncReadExt, AsyncWriteExt}, net::TcpStream, time::{sleep, timeout}}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `flume::IntoIter` [INFO] [stdout] --> src/dht.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use flume::IntoIter; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/torrent_parser.rs:255:9 [INFO] [stdout] | [INFO] [stdout] 255 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::BTreeMap` [INFO] [stdout] --> src/torrent_parser.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | use std::collections::BTreeMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/announcement.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/announcement.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `url::Url` [INFO] [stdout] --> src/announcement.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use url::Url; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sleep` [INFO] [stdout] --> src/connection.rs:3:71 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::{io::{AsyncReadExt, AsyncWriteExt}, net::TcpStream, time::{sleep, timeout}}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `flume::IntoIter` [INFO] [stdout] --> src/dht.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use flume::IntoIter; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expected_hash` [INFO] [stdout] --> src/torrent_parser.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | let expected_hash = "3cd8deb9c265e8aa4086ddd1704318b999163cc6"; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_hash` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src` [INFO] [stdout] --> src/announcement.rs:54:23 [INFO] [stdout] | [INFO] [stdout] 54 | let (amt, src) = socket.recv_from(&mut buffer)?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_src` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src` [INFO] [stdout] --> src/announcement.rs:54:23 [INFO] [stdout] | [INFO] [stdout] 54 | let (amt, src) = socket.recv_from(&mut buffer)?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_src` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/announcement.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/announcement.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `url::Url` [INFO] [stdout] --> src/announcement.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use url::Url; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sleep` [INFO] [stdout] --> src/connection.rs:3:71 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::{io::{AsyncReadExt, AsyncWriteExt}, net::TcpStream, time::{sleep, timeout}}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `flume::IntoIter` [INFO] [stdout] --> src/dht.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use flume::IntoIter; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/announcement.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/announcement.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `url::Url` [INFO] [stdout] --> src/announcement.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use url::Url; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sleep` [INFO] [stdout] --> src/connection.rs:3:71 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::{io::{AsyncReadExt, AsyncWriteExt}, net::TcpStream, time::{sleep, timeout}}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `flume::IntoIter` [INFO] [stdout] --> src/dht.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use flume::IntoIter; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/torrent_parser.rs:255:9 [INFO] [stdout] | [INFO] [stdout] 255 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::BTreeMap` [INFO] [stdout] --> src/torrent_parser.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | use std::collections::BTreeMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src` [INFO] [stdout] --> src/announcement.rs:54:23 [INFO] [stdout] | [INFO] [stdout] 54 | let (amt, src) = socket.recv_from(&mut buffer)?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_src` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stream` [INFO] [stdout] --> src/main.rs:68:32 [INFO] [stdout] | [INFO] [stdout] 68 | ... Ok(stream) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ResBox` is never used [INFO] [stdout] --> src/announcement.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type ResBox = Result>; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src` [INFO] [stdout] --> src/announcement.rs:54:23 [INFO] [stdout] | [INFO] [stdout] 54 | let (amt, src) = socket.recv_from(&mut buffer)?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_src` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_announcement_request` is never used [INFO] [stdout] --> src/announcement.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new_announcement_request(announce_base: &str, info_hash: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_peer_id` is never used [INFO] [stdout] --> src/announcement.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn generate_peer_id() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `strip_announce_url` is never used [INFO] [stdout] --> src/announcement.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn strip_announce_url(url: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_udp_request` is never used [INFO] [stdout] --> src/announcement.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn handle_udp_request(addr: &str) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_connection_request` is never used [INFO] [stdout] --> src/announcement.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn create_connection_request() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_connection_response` is never used [INFO] [stdout] --> src/announcement.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn parse_connection_response(response: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_http_request` is never used [INFO] [stdout] --> src/announcement.rs:89:10 [INFO] [stdout] | [INFO] [stdout] 89 | async fn handle_http_request(url: &str) -> ResBox<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `query_trackers` is never used [INFO] [stdout] --> src/announcement.rs:113:14 [INFO] [stdout] | [INFO] [stdout] 113 | pub async fn query_trackers(announce_list: &Vec>) -> ResBox<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `info_bytes_to_string` is never used [INFO] [stdout] --> src/torrent_parser.rs:249:8 [INFO] [stdout] | [INFO] [stdout] 249 | pub fn info_bytes_to_string(bytes: &[u8; 20]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expected_hash` [INFO] [stdout] --> src/torrent_parser.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | let expected_hash = "3cd8deb9c265e8aa4086ddd1704318b999163cc6"; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_hash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stream` [INFO] [stdout] --> src/main.rs:68:32 [INFO] [stdout] | [INFO] [stdout] 68 | ... Ok(stream) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ResBox` is never used [INFO] [stdout] --> src/announcement.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type ResBox = Result>; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_announcement_request` is never used [INFO] [stdout] --> src/announcement.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new_announcement_request(announce_base: &str, info_hash: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_peer_id` is never used [INFO] [stdout] --> src/announcement.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn generate_peer_id() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `strip_announce_url` is never used [INFO] [stdout] --> src/announcement.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn strip_announce_url(url: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_udp_request` is never used [INFO] [stdout] --> src/announcement.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn handle_udp_request(addr: &str) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_connection_request` is never used [INFO] [stdout] --> src/announcement.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn create_connection_request() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_connection_response` is never used [INFO] [stdout] --> src/announcement.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn parse_connection_response(response: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_http_request` is never used [INFO] [stdout] --> src/announcement.rs:89:10 [INFO] [stdout] | [INFO] [stdout] 89 | async fn handle_http_request(url: &str) -> ResBox<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `query_trackers` is never used [INFO] [stdout] --> src/announcement.rs:113:14 [INFO] [stdout] | [INFO] [stdout] 113 | pub async fn query_trackers(announce_list: &Vec>) -> ResBox<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `info_bytes_to_string` is never used [INFO] [stdout] --> src/torrent_parser.rs:249:8 [INFO] [stdout] | [INFO] [stdout] 249 | pub fn info_bytes_to_string(bytes: &[u8; 20]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 20 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.09s [INFO] running `Command { std: "docker" "inspect" "8d2f2119201b44d84126152d1f112e9302c658686ea6145591497c218af66b12", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8d2f2119201b44d84126152d1f112e9302c658686ea6145591497c218af66b12", kill_on_drop: false }` [INFO] [stdout] 8d2f2119201b44d84126152d1f112e9302c658686ea6145591497c218af66b12