[INFO] cloning repository https://github.com/read-docs/rtrnt
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/read-docs/rtrnt" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fread-docs%2Frtrnt", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fread-docs%2Frtrnt'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 18c81ef642af3e9379d4ad57db1796768422a4aa
[INFO] checking read-docs/rtrnt against try#81ab7f2139295590561adbe6d5b0aaa2feff765f for pr-146470-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fread-docs%2Frtrnt" "/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/read-docs/rtrnt
[INFO] finished tweaking git repo https://github.com/read-docs/rtrnt
[INFO] tweaked toml for git repo https://github.com/read-docs/rtrnt written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/read-docs/rtrnt on toolchain 81ab7f2139295590561adbe6d5b0aaa2feff765f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+81ab7f2139295590561adbe6d5b0aaa2feff765f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/read-docs/rtrnt 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" "+81ab7f2139295590561adbe6d5b0aaa2feff765f" "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] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_bytes v0.11.19
[INFO] [stderr]   Downloaded clap v4.5.50
[INFO] [stderr]   Downloaded clap_builder v4.5.50
[INFO] [stderr]   Downloaded webpki-roots v1.0.3
[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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+81ab7f2139295590561adbe6d5b0aaa2feff765f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 341d46c030f80413ee88c9fa91888c4227129613a0861a1bc65ff5fb0c87214a
[INFO] running `Command { std: "docker" "start" "-a" "341d46c030f80413ee88c9fa91888c4227129613a0861a1bc65ff5fb0c87214a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "341d46c030f80413ee88c9fa91888c4227129613a0861a1bc65ff5fb0c87214a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "341d46c030f80413ee88c9fa91888c4227129613a0861a1bc65ff5fb0c87214a", kill_on_drop: false }`
[INFO] [stdout] 341d46c030f80413ee88c9fa91888c4227129613a0861a1bc65ff5fb0c87214a
[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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+81ab7f2139295590561adbe6d5b0aaa2feff765f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6e73bf657a938375a19fd22a80dc2ac58bf643dbc0ca06a51395e6c74177b6de
[INFO] running `Command { std: "docker" "start" "-a" "6e73bf657a938375a19fd22a80dc2ac58bf643dbc0ca06a51395e6c74177b6de", kill_on_drop: false }`
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling cc v1.2.43
[INFO] [stderr]     Checking rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling rustls v0.23.34
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking webpki-roots v1.0.3
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking clap_builder v4.5.50
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking serde_bytes v0.11.19
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking serde_bencode v0.2.4
[INFO] [stderr]     Checking indicatif v0.17.11
[INFO] [stderr]     Checking tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking clap v4.5.50
[INFO] [stderr]     Checking hyper v1.7.0
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking hyper-util v0.1.17
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking rustls-webpki v0.103.7
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking reqwest v0.12.24
[INFO] [stderr]     Checking rtrnt v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tracker::Peer`
[INFO] [stdout]  --> src/download.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     tracker::Peer,
[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: `bytes::buf`
[INFO] [stdout]  --> src/peer.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bytes::buf;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::value::UsizeDeserializer`
[INFO] [stdout]  --> src/peer.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::de::value::UsizeDeserializer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracker::Peer`
[INFO] [stdout]  --> src/download.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     tracker::Peer,
[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: `bytes::buf`
[INFO] [stdout]  --> src/peer.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bytes::buf;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::value::UsizeDeserializer`
[INFO] [stdout]  --> src/peer.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::de::value::UsizeDeserializer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `sha1::digest::generic_array::GenericArray::<T, N>::as_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/download.rs:61:20
[INFO] [stdout]    |
[INFO] [stdout] 61 |     if actual_hash.as_slice() != expected_hash {
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `sha1::digest::generic_array::GenericArray::<T, N>::as_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/download.rs:61:20
[INFO] [stdout]    |
[INFO] [stdout] 61 |     if actual_hash.as_slice() != expected_hash {
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/peer.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `piece_index`
[INFO] [stdout]   --> src/peer.rs:46:33
[INFO] [stdout]    |
[INFO] [stdout] 46 |             PeerMessage::Have { piece_index } => 4,
[INFO] [stdout]    |                                 ^^^^^^^^^^^ help: try ignoring the field: `piece_index: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bitfield`
[INFO] [stdout]   --> src/peer.rs:47:37
[INFO] [stdout]    |
[INFO] [stdout] 47 |             PeerMessage::Bitfield { bitfield } => 5,
[INFO] [stdout]    |                                     ^^^^^^^^ help: try ignoring the field: `bitfield: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/peer.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 index,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `begin`
[INFO] [stdout]   --> src/peer.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 begin,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `begin: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]   --> src/peer.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 length,
[INFO] [stdout]    |                 ^^^^^^ help: try ignoring the field: `length: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/peer.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 index,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `begin`
[INFO] [stdout]   --> src/peer.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 begin,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `begin: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]   --> src/peer.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 block,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `block: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/peer.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 index,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `begin`
[INFO] [stdout]   --> src/peer.rs:60:17
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 begin,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `begin: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]   --> src/peer.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 length,
[INFO] [stdout]    |                 ^^^^^^ help: try ignoring the field: `length: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/peer.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |         mut socket: TcpStream,
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/peer.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FileInfo` is more private than the item `Info::files`
[INFO] [stdout]   --> src/torrent.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub files: Option<Vec<FileInfo>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Info::files` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `FileInfo` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/torrent.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct FileInfo {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]   --> src/peer.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl PeerMessage {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 40 |     fn id(&self) -> u8 {
[INFO] [stdout]    |        ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `peer_ip`, `peer_port`, `am_choking`, `peer_interested`, and `bitfield` are never read
[INFO] [stdout]   --> src/peer.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct PeerConnection {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 70 |     socket: TcpStream,
[INFO] [stdout] 71 |     pub peer_ip: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 72 |     pub peer_port: u16,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     am_choking: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     peer_interested: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 79 |     bitfield: Vec<bool>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `piece_index`
[INFO] [stdout]   --> src/peer.rs:46:33
[INFO] [stdout]    |
[INFO] [stdout] 46 |             PeerMessage::Have { piece_index } => 4,
[INFO] [stdout]    |                                 ^^^^^^^^^^^ help: try ignoring the field: `piece_index: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bitfield`
[INFO] [stdout]   --> src/peer.rs:47:37
[INFO] [stdout]    |
[INFO] [stdout] 47 |             PeerMessage::Bitfield { bitfield } => 5,
[INFO] [stdout]    |                                     ^^^^^^^^ help: try ignoring the field: `bitfield: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/peer.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 index,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `begin`
[INFO] [stdout]   --> src/peer.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 begin,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `begin: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]   --> src/peer.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 length,
[INFO] [stdout]    |                 ^^^^^^ help: try ignoring the field: `length: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/peer.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 index,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `begin`
[INFO] [stdout]   --> src/peer.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 begin,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `begin: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]   --> src/peer.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 block,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `block: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/peer.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 index,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `begin`
[INFO] [stdout]   --> src/peer.rs:60:17
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 begin,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `begin: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]   --> src/peer.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 length,
[INFO] [stdout]    |                 ^^^^^^ help: try ignoring the field: `length: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/peer.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |         mut socket: TcpStream,
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FileInfo` is more private than the item `Info::files`
[INFO] [stdout]   --> src/torrent.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub files: Option<Vec<FileInfo>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Info::files` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `FileInfo` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/torrent.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct FileInfo {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]   --> src/peer.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl PeerMessage {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 40 |     fn id(&self) -> u8 {
[INFO] [stdout]    |        ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `peer_ip`, `peer_port`, `am_choking`, `peer_interested`, and `bitfield` are never read
[INFO] [stdout]   --> src/peer.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct PeerConnection {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 70 |     socket: TcpStream,
[INFO] [stdout] 71 |     pub peer_ip: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 72 |     pub peer_port: u16,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     am_choking: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     peer_interested: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 79 |     bitfield: Vec<bool>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.53s
[INFO] running `Command { std: "docker" "inspect" "6e73bf657a938375a19fd22a80dc2ac58bf643dbc0ca06a51395e6c74177b6de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6e73bf657a938375a19fd22a80dc2ac58bf643dbc0ca06a51395e6c74177b6de", kill_on_drop: false }`
[INFO] [stdout] 6e73bf657a938375a19fd22a80dc2ac58bf643dbc0ca06a51395e6c74177b6de
