[INFO] cloning repository https://github.com/ksnll/furia [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ksnll/furia" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fksnll%2Ffuria", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fksnll%2Ffuria'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 50921389629ffad195fe66df40b5da50e48e59df [INFO] checking ksnll/furia against try#b047d5f4496a7526d91d0dddea494c05853f2a7b for pr-122661-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fksnll%2Ffuria" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ksnll/furia [INFO] finished tweaking git repo https://github.com/ksnll/furia [INFO] tweaked toml for git repo https://github.com/ksnll/furia written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ksnll/furia on toolchain b047d5f4496a7526d91d0dddea494c05853f2a7b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b047d5f4496a7526d91d0dddea494c05853f2a7b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ksnll/furia 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" "+b047d5f4496a7526d91d0dddea494c05853f2a7b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+b047d5f4496a7526d91d0dddea494c05853f2a7b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ab2bf949578ea94ea60efe4d739afde125da9582f38f2142adbba5dad8f801ed [INFO] running `Command { std: "docker" "start" "-a" "ab2bf949578ea94ea60efe4d739afde125da9582f38f2142adbba5dad8f801ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ab2bf949578ea94ea60efe4d739afde125da9582f38f2142adbba5dad8f801ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ab2bf949578ea94ea60efe4d739afde125da9582f38f2142adbba5dad8f801ed", kill_on_drop: false }` [INFO] [stdout] ab2bf949578ea94ea60efe4d739afde125da9582f38f2142adbba5dad8f801ed [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+b047d5f4496a7526d91d0dddea494c05853f2a7b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 75758bc3f62a700b34fd57693385ea5c1c3bb9f17ce5eaf96e55dd3ef8fccce1 [INFO] running `Command { std: "docker" "start" "-a" "75758bc3f62a700b34fd57693385ea5c1c3bb9f17ce5eaf96e55dd3ef8fccce1", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.76 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling libc v0.2.152 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking pin-project-lite v0.2.13 [INFO] [stderr] Compiling pkg-config v0.3.29 [INFO] [stderr] Compiling parking_lot_core v0.9.9 [INFO] [stderr] Checking smallvec v1.11.2 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking bytes v1.5.0 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking itoa v1.0.10 [INFO] [stderr] Compiling serde v1.0.195 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking memchr v2.7.1 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Checking socket2 v0.5.5 [INFO] [stderr] Checking mio v0.8.10 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Compiling openssl v0.10.62 [INFO] [stderr] Checking http v0.2.11 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Checking hashbrown v0.14.3 [INFO] [stderr] Checking bitflags v2.4.2 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Checking tinyvec v1.6.0 [INFO] [stderr] Checking try-lock v0.2.5 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking openssl-probe v0.1.5 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Checking getrandom v0.2.12 [INFO] [stderr] Checking ryu v1.0.16 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Compiling serde_json v1.0.111 [INFO] [stderr] Checking unicode-bidi v0.3.15 [INFO] [stderr] Checking tower-service v0.3.2 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking indexmap v2.1.0 [INFO] [stderr] Compiling num-traits v0.2.17 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling openssl-sys v0.9.98 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Compiling anyhow v1.0.79 [INFO] [stderr] Checking unicode-normalization v0.1.22 [INFO] [stderr] Checking overload v0.1.1 [INFO] [stderr] Checking nu-ansi-term v0.46.0 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking thread_local v1.1.7 [INFO] [stderr] Checking encoding_rs v0.8.33 [INFO] [stderr] Checking ipnet v2.9.0 [INFO] [stderr] Checking cpufeatures v0.2.12 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking mime v0.3.17 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Compiling tokio-macros v2.2.0 [INFO] [stderr] Compiling serde_derive v1.0.195 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling num-derive v0.4.1 [INFO] [stderr] Checking tokio v1.35.1 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking tokio-util v0.7.10 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking url v2.5.0 [INFO] [stderr] Checking serde_bytes v0.11.14 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking serde_bencode v0.2.4 [INFO] [stderr] Checking h2 v0.3.24 [INFO] [stderr] Checking hyper v0.14.28 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking reqwest v0.11.23 [INFO] [stderr] Checking furia v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Rng` and `distributions::Alphanumeric` [INFO] [stdout] --> src/tracker.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | use rand::{distributions::Alphanumeric, Rng}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ByteArray` [INFO] [stdout] --> src/tracker.rs:55:23 [INFO] [stdout] | [INFO] [stdout] 55 | use serde_bytes::{ByteArray, ByteBuf}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rng` and `distributions::Alphanumeric` [INFO] [stdout] --> src/tracker.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | use rand::{distributions::Alphanumeric, Rng}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ByteArray` [INFO] [stdout] --> src/tracker.rs:55:23 [INFO] [stdout] | [INFO] [stdout] 55 | use serde_bytes::{ByteArray, ByteBuf}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `download` [INFO] [stdout] --> src/messages.rs:62:44 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn bitfield(torrent: &TorrentFile, download: &Download) -> Vec { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_download` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `piece_index` [INFO] [stdout] --> src/messages.rs:91:18 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn piece(piece_index: u8, piece_offset: u8, block: Vec) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `piece_offset` [INFO] [stdout] --> src/messages.rs:91:35 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn piece(piece_index: u8, piece_offset: u8, block: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block` [INFO] [stdout] --> src/messages.rs:91:53 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn piece(piece_index: u8, piece_offset: u8, block: Vec) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `piece_index` [INFO] [stdout] --> src/messages.rs:95:19 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn cancel(piece_index: u8, piece_offset: u8) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `piece_offset` [INFO] [stdout] --> src/messages.rs:95:36 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn cancel(piece_index: u8, piece_offset: u8) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `port` [INFO] [stdout] --> src/messages.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn port(port: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `download` [INFO] [stdout] --> src/messages.rs:62:44 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn bitfield(torrent: &TorrentFile, download: &Download) -> Vec { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_download` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `piece_index` [INFO] [stdout] --> src/messages.rs:91:18 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn piece(piece_index: u8, piece_offset: u8, block: Vec) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `piece_offset` [INFO] [stdout] --> src/messages.rs:91:35 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn piece(piece_index: u8, piece_offset: u8, block: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block` [INFO] [stdout] --> src/messages.rs:91:53 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn piece(piece_index: u8, piece_offset: u8, block: Vec) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `piece_index` [INFO] [stdout] --> src/messages.rs:95:19 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn cancel(piece_index: u8, piece_offset: u8) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `piece_offset` [INFO] [stdout] --> src/messages.rs:95:36 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn cancel(piece_index: u8, piece_offset: u8) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `port` [INFO] [stdout] --> src/messages.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn port(port: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/messages.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Message { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn choke() -> Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn unchoke() -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn not_interested() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn bitfield(torrent: &TorrentFile, download: &Download) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn have(piece_index: u32) -> Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn piece(piece_index: u8, piece_offset: u8, block: Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn cancel(piece_index: u8, piece_offset: u8) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn port(port: u8) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bitfield_size` is never used [INFO] [stdout] --> src/parse_torrent.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn bitfield_size(torrent: &TorrentFile) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `peer_status` is never read [INFO] [stdout] --> src/peers.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 216 | pub struct PeerConnection { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 219 | peer_status: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `bitfield` and `have` are never used [INFO] [stdout] --> src/peers.rs:268:14 [INFO] [stdout] | [INFO] [stdout] 224 | impl PeerConnection { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 268 | async fn bitfield(&mut self, torrent: &TorrentFile, download: &Download) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | async fn have(&mut self, piece_index: u32) -> Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Event` is never used [INFO] [stdout] --> src/tracker.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | enum Event { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `failure_reason`, `warning_message`, `interval`, `tracker_id`, `complete`, and `incomplete` are never read [INFO] [stdout] --> src/tracker.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct TrackerResponse { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 38 | #[serde(rename = "failure reason")] [INFO] [stdout] 39 | failure_reason: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 40 | #[serde(rename = "warning message")] [INFO] [stdout] 41 | warning_message: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 42 | /// Interval in seconds that the client should wait between sending regular requests to the tracker [INFO] [stdout] 43 | interval: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 44 | #[serde(rename = "tracker id")] [INFO] [stdout] 45 | tracker_id: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 46 | complete: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 47 | incomplete: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TrackerResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/messages.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MessageType` [INFO] [stdout] 13 | pub enum MessageType { [INFO] [stdout] | ----------- `MessageType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/messages.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Message { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn choke() -> Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn unchoke() -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn not_interested() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn bitfield(torrent: &TorrentFile, download: &Download) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn have(piece_index: u32) -> Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn piece(piece_index: u8, piece_offset: u8, block: Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn cancel(piece_index: u8, piece_offset: u8) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn port(port: u8) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bitfield_size` is never used [INFO] [stdout] --> src/parse_torrent.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn bitfield_size(torrent: &TorrentFile) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `peer_status` is never read [INFO] [stdout] --> src/peers.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 216 | pub struct PeerConnection { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 219 | peer_status: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `bitfield` and `have` are never used [INFO] [stdout] --> src/peers.rs:268:14 [INFO] [stdout] | [INFO] [stdout] 224 | impl PeerConnection { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 268 | async fn bitfield(&mut self, torrent: &TorrentFile, download: &Download) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | async fn have(&mut self, piece_index: u32) -> Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Event` is never used [INFO] [stdout] --> src/tracker.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | enum Event { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `failure_reason`, `warning_message`, `interval`, `tracker_id`, `complete`, and `incomplete` are never read [INFO] [stdout] --> src/tracker.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct TrackerResponse { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 38 | #[serde(rename = "failure reason")] [INFO] [stdout] 39 | failure_reason: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 40 | #[serde(rename = "warning message")] [INFO] [stdout] 41 | warning_message: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 42 | /// Interval in seconds that the client should wait between sending regular requests to the tracker [INFO] [stdout] 43 | interval: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 44 | #[serde(rename = "tracker id")] [INFO] [stdout] 45 | tracker_id: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 46 | complete: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 47 | incomplete: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TrackerResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/messages.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MessageType` [INFO] [stdout] 13 | pub enum MessageType { [INFO] [stdout] | ----------- `MessageType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 59.13s [INFO] running `Command { std: "docker" "inspect" "75758bc3f62a700b34fd57693385ea5c1c3bb9f17ce5eaf96e55dd3ef8fccce1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "75758bc3f62a700b34fd57693385ea5c1c3bb9f17ce5eaf96e55dd3ef8fccce1", kill_on_drop: false }` [INFO] [stdout] 75758bc3f62a700b34fd57693385ea5c1c3bb9f17ce5eaf96e55dd3ef8fccce1