[INFO] cloning repository https://github.com/itarato/tortor
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/itarato/tortor" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitarato%2Ftortor", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitarato%2Ftortor'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4c5796149fba91af82231d2e02e5b26b89377cf3
[INFO] checking itarato/tortor against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitarato%2Ftortor" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/itarato/tortor
[INFO] finished tweaking git repo https://github.com/itarato/tortor
[INFO] tweaked toml for git repo https://github.com/itarato/tortor written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/itarato/tortor on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/itarato/tortor 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded simple_logger v4.0.0
[INFO] [stderr]   Downloaded os_str_bytes v6.4.1
[INFO] [stderr]   Downloaded colored v2.0.0
[INFO] [stderr]   Downloaded itoa v1.0.5
[INFO] [stderr]   Downloaded clap_derive v4.0.21
[INFO] [stderr]   Downloaded serde v1.0.151
[INFO] [stderr]   Downloaded clap v4.0.29
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 30eaee8085f49b97b08fae9487037e57ccf26d9c05fca8876a878ab860750b84
[INFO] running `Command { std: "docker" "start" "-a" "30eaee8085f49b97b08fae9487037e57ccf26d9c05fca8876a878ab860750b84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "30eaee8085f49b97b08fae9487037e57ccf26d9c05fca8876a878ab860750b84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30eaee8085f49b97b08fae9487037e57ccf26d9c05fca8876a878ab860750b84", kill_on_drop: false }`
[INFO] [stdout] 30eaee8085f49b97b08fae9487037e57ccf26d9c05fca8876a878ab860750b84
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9e5b980ac6f1b88fdddad256db9319e0e5c7ad59ea7ddf6b3304ee2e8817b35a
[INFO] running `Command { std: "docker" "start" "-a" "9e5b980ac6f1b88fdddad256db9319e0e5c7ad59ea7ddf6b3304ee2e8817b35a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.138
[INFO] [stderr]    Compiling syn v1.0.105
[INFO] [stderr]    Compiling typenum v1.16.0
[INFO] [stderr]    Compiling generic-array v0.14.6
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling io-lifetimes v1.0.3
[INFO] [stderr]    Compiling rustix v0.36.5
[INFO] [stderr]    Compiling parking_lot_core v0.9.5
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]     Checking linux-raw-sys v0.1.3
[INFO] [stderr]    Compiling time-core v0.1.0
[INFO] [stderr]     Checking smallvec v1.10.0
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]    Compiling tokio v1.23.0
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]     Checking percent-encoding v2.2.0
[INFO] [stderr]    Compiling time-macros v0.2.6
[INFO] [stderr]     Checking os_str_bytes v6.4.1
[INFO] [stderr]     Checking itoa v1.0.5
[INFO] [stderr]     Checking num_threads v0.1.6
[INFO] [stderr]     Checking form_urlencoded v1.1.0
[INFO] [stderr]     Checking cpufeatures v0.2.5
[INFO] [stderr]     Checking bytes v1.3.0
[INFO] [stderr]     Checking clap_lex v0.3.0
[INFO] [stderr]     Checking idna v0.3.0
[INFO] [stderr]     Checking url v2.3.1
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking time v0.3.17
[INFO] [stderr]     Checking mio v0.8.5
[INFO] [stderr]     Checking socket2 v0.4.7
[INFO] [stderr]     Checking num_cpus v1.14.0
[INFO] [stderr]     Checking colored v2.0.0
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking digest v0.10.6
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking sha1 v0.10.5
[INFO] [stderr]     Checking simple_logger v4.0.0
[INFO] [stderr]     Checking is-terminal v0.4.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling clap_derive v4.0.21
[INFO] [stderr]    Compiling tokio-macros v1.8.2
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking clap v4.0.29
[INFO] [stderr]     Checking tortor v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::ByteReader`
[INFO] [stdout]   --> src/byte_reader.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     use super::ByteReader;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::defs::*`
[INFO] [stdout]  --> src/download.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::defs::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/download.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicI8`
[INFO] [stdout]  --> src/peer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::atomic::AtomicI8;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::defs::*`
[INFO] [stdout]  --> src/download.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::defs::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicI8`
[INFO] [stdout]  --> src/peer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::atomic::AtomicI8;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pieces` and `name` are never read
[INFO] [stdout]   --> src/main.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct AnnounceInfo {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 57 |     pieces: Vec<Vec<u8>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnnounceInfo` 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: fields `interval`, `leechers`, and `seeders` are never read
[INFO] [stdout]   --> src/main.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct AnnounceResponse {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] 86 |     transaction_id: u32,
[INFO] [stdout] 87 |     interval: u32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 88 |     leechers: u32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 89 |     seeders: u32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnnounceResponse` 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 `msg` is never read
[INFO] [stdout]    --> src/main.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 129 | struct ErrorResponse {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] 130 |     transaction_id: u32,
[INFO] [stdout] 131 |     msg: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ErrorResponse` 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 `try_into_peers` and `try_into_list` are never used
[INFO] [stdout]    --> src/ben_type.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl BenType {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn try_into_peers(self) -> Option<Vec<IP>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn try_into_list(self) -> Option<Vec<BenType>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACTION_SCRAPE` is never used
[INFO] [stdout]  --> src/defs.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const ACTION_SCRAPE: u32 = 2;
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANNOUNCE_EVENT_COMPLETED` is never used
[INFO] [stdout]   --> src/defs.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const ANNOUNCE_EVENT_COMPLETED: u32 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANNOUNCE_EVENT_STARTED` is never used
[INFO] [stdout]   --> src/defs.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const ANNOUNCE_EVENT_STARTED: u32 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANNOUNCE_EVENT_STOPPED` is never used
[INFO] [stdout]   --> src/defs.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const ANNOUNCE_EVENT_STOPPED: u32 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mark_complete` is never used
[INFO] [stdout]   --> src/download.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Piece {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn mark_complete(&mut self, idx: usize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PeerMessageCode` is never used
[INFO] [stdout]   --> src/peer.rs:91:6
[INFO] [stdout]    |
[INFO] [stdout] 91 | enum PeerMessageCode {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/peer.rs:548:10
[INFO] [stdout]     |
[INFO] [stdout] 548 |     Have(u32),              // Piece index.
[INFO] [stdout]     |     ---- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[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] 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] 548 -     Have(u32),              // Piece index.
[INFO] [stdout] 548 +     Have(()),              // Piece index.
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]    --> src/peer.rs:550:13
[INFO] [stdout]     |
[INFO] [stdout] 550 |     Request(u32, u32, u32), // Index, begin, length.
[INFO] [stdout]     |     ------- ^^^  ^^^  ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[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] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 550 -     Request(u32, u32, u32), // Index, begin, length.
[INFO] [stdout] 550 +     Request((), (), ()), // Index, begin, length.
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]    --> src/peer.rs:552:12
[INFO] [stdout]     |
[INFO] [stdout] 552 |     Cancel(u32, u32, u32),  // Index, begin, length.
[INFO] [stdout]     |     ------ ^^^  ^^^  ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[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] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 552 -     Cancel(u32, u32, u32),  // Index, begin, length.
[INFO] [stdout] 552 +     Cancel((), (), ()),  // Index, begin, length.
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/peer.rs:553:10
[INFO] [stdout]     |
[INFO] [stdout] 553 |     Port(u16),              // Port.
[INFO] [stdout]     |     ---- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[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] 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] 553 -     Port(u16),              // Port.
[INFO] [stdout] 553 +     Port(()),              // Port.
[INFO] [stdout]     |
[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/peer.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(FromPrimitive, ToPrimitive, Debug)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PeerMessageCode`
[INFO] [stdout] 91 | enum PeerMessageCode {
[INFO] [stdout]    |      --------------- `PeerMessageCode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/peer.rs:90:25
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(FromPrimitive, ToPrimitive, Debug)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `ToPrimitive` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_PeerMessageCode`
[INFO] [stdout] 91 | enum PeerMessageCode {
[INFO] [stdout]    |      --------------- `PeerMessageCode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` 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: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pieces` and `name` are never read
[INFO] [stdout]   --> src/main.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct AnnounceInfo {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 57 |     pieces: Vec<Vec<u8>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnnounceInfo` 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: fields `interval`, `leechers`, and `seeders` are never read
[INFO] [stdout]   --> src/main.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct AnnounceResponse {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] 86 |     transaction_id: u32,
[INFO] [stdout] 87 |     interval: u32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 88 |     leechers: u32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 89 |     seeders: u32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnnounceResponse` 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 `msg` is never read
[INFO] [stdout]    --> src/main.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 129 | struct ErrorResponse {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] 130 |     transaction_id: u32,
[INFO] [stdout] 131 |     msg: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ErrorResponse` 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 `try_into_peers` and `try_into_list` are never used
[INFO] [stdout]    --> src/ben_type.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl BenType {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn try_into_peers(self) -> Option<Vec<IP>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn try_into_list(self) -> Option<Vec<BenType>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACTION_SCRAPE` is never used
[INFO] [stdout]  --> src/defs.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const ACTION_SCRAPE: u32 = 2;
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANNOUNCE_EVENT_COMPLETED` is never used
[INFO] [stdout]   --> src/defs.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const ANNOUNCE_EVENT_COMPLETED: u32 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANNOUNCE_EVENT_STARTED` is never used
[INFO] [stdout]   --> src/defs.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const ANNOUNCE_EVENT_STARTED: u32 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANNOUNCE_EVENT_STOPPED` is never used
[INFO] [stdout]   --> src/defs.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const ANNOUNCE_EVENT_STOPPED: u32 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mark_complete` is never used
[INFO] [stdout]   --> src/download.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Piece {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn mark_complete(&mut self, idx: usize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PeerMessageCode` is never used
[INFO] [stdout]   --> src/peer.rs:91:6
[INFO] [stdout]    |
[INFO] [stdout] 91 | enum PeerMessageCode {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/peer.rs:548:10
[INFO] [stdout]     |
[INFO] [stdout] 548 |     Have(u32),              // Piece index.
[INFO] [stdout]     |     ---- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[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] 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] 548 -     Have(u32),              // Piece index.
[INFO] [stdout] 548 +     Have(()),              // Piece index.
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]    --> src/peer.rs:550:13
[INFO] [stdout]     |
[INFO] [stdout] 550 |     Request(u32, u32, u32), // Index, begin, length.
[INFO] [stdout]     |     ------- ^^^  ^^^  ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[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] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 550 -     Request(u32, u32, u32), // Index, begin, length.
[INFO] [stdout] 550 +     Request((), (), ()), // Index, begin, length.
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]    --> src/peer.rs:552:12
[INFO] [stdout]     |
[INFO] [stdout] 552 |     Cancel(u32, u32, u32),  // Index, begin, length.
[INFO] [stdout]     |     ------ ^^^  ^^^  ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[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] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 552 -     Cancel(u32, u32, u32),  // Index, begin, length.
[INFO] [stdout] 552 +     Cancel((), (), ()),  // Index, begin, length.
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/peer.rs:553:10
[INFO] [stdout]     |
[INFO] [stdout] 553 |     Port(u16),              // Port.
[INFO] [stdout]     |     ---- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[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] 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] 553 -     Port(u16),              // Port.
[INFO] [stdout] 553 +     Port(()),              // Port.
[INFO] [stdout]     |
[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/peer.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(FromPrimitive, ToPrimitive, Debug)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PeerMessageCode`
[INFO] [stdout] 91 | enum PeerMessageCode {
[INFO] [stdout]    |      --------------- `PeerMessageCode` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/peer.rs:90:25
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(FromPrimitive, ToPrimitive, Debug)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `ToPrimitive` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_PeerMessageCode`
[INFO] [stdout] 91 | enum PeerMessageCode {
[INFO] [stdout]    |      --------------- `PeerMessageCode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` 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: this warning originates in the derive macro `ToPrimitive` (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 6.82s
[INFO] running `Command { std: "docker" "inspect" "9e5b980ac6f1b88fdddad256db9319e0e5c7ad59ea7ddf6b3304ee2e8817b35a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e5b980ac6f1b88fdddad256db9319e0e5c7ad59ea7ddf6b3304ee2e8817b35a", kill_on_drop: false }`
[INFO] [stdout] 9e5b980ac6f1b88fdddad256db9319e0e5c7ad59ea7ddf6b3304ee2e8817b35a
