[INFO] updating cached repository https://github.com/itsuy/rust-torrent [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] [stderr] From https://github.com/itsuy/rust-torrent [INFO] [stderr] 73ecc80..ef1cdf3 master -> master [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] ef1cdf3b1eccee7054ddb1351653880fa7e105eb [INFO] checking itsuy/rust-torrent against master#212aa3ea28d91a97d1e1261709c0b6e6790788e6 for pr-69340 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitsuy%2Frust-torrent" "/workspace/builds/worker-4/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/itsuy/rust-torrent on toolchain 212aa3ea28d91a97d1e1261709c0b6e6790788e6 [INFO] running `"/workspace/cargo-home/bin/cargo" "+212aa3ea28d91a97d1e1261709c0b6e6790788e6" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/itsuy/rust-torrent [INFO] finished tweaking git repo https://github.com/itsuy/rust-torrent [INFO] tweaked toml for git repo https://github.com/itsuy/rust-torrent written to /workspace/builds/worker-4/source/Cargo.toml [INFO] crate git repo https://github.com/itsuy/rust-torrent already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+212aa3ea28d91a97d1e1261709c0b6e6790788e6" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+212aa3ea28d91a97d1e1261709c0b6e6790788e6" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] e7fece4a1c5de8b20e563dde0e2f525e6e220ac9c5cd16e2edadcdcb1aaaebe8 [INFO] running `"docker" "start" "-a" "e7fece4a1c5de8b20e563dde0e2f525e6e220ac9c5cd16e2edadcdcb1aaaebe8"` [INFO] [stderr] Checking rust-torrent v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/message.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader` [INFO] [stderr] --> src/message.rs:3:23 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{Cursor, BufReader, BufRead, Read, Result, Error, ErrorKind}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/message.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `messageID` should have an upper camel case name [INFO] [stderr] --> src/message.rs:6:6 [INFO] [stderr] | [INFO] [stderr] 6 | type messageID = u8; [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `MessageId` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/handshake.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader` [INFO] [stderr] --> src/handshake.rs:2:23 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Cursor, BufReader, BufRead, Read, Result, Error, ErrorKind}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/peers.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader`, `Read` [INFO] [stderr] --> src/peers.rs:2:23 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Cursor, BufReader, BufRead, Read, Result, Error, ErrorKind}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str` [INFO] [stderr] --> src/peers.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::str; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `input_pstr` is never read [INFO] [stderr] --> src/handshake.rs:62:25 [INFO] [stderr] | [INFO] [stderr] 62 | let mut input_pstr = "hello"; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `offset` is never read [INFO] [stderr] --> src/peers.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | let mut offset = 0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `port_cursor` is never read [INFO] [stderr] --> src/peers.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let mut port_cursor = Cursor::new(&port_vec); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/peers.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | let mut num_peers = peers_bin.len()/peer_size; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/peers.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | let mut peer_error = Error::new(ErrorKind::InvalidData, "Malformed Peers"); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/peers.rs:30:17 [INFO] [stderr] | [INFO] [stderr] 30 | let mut port_vc = &port_vec[0..2].to_vec(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: structure field `ID` should have a snake case name [INFO] [stderr] --> src/message.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | ID: messageID, [INFO] [stderr] | ^^ help: convert the identifier to snake case: `id` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `Payload` should have a snake case name [INFO] [stderr] --> src/message.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | Payload: Vec, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `payload` [INFO] [stderr] [INFO] [stderr] warning: variable `peerID_as_vec` should have a snake case name [INFO] [stderr] --> src/handshake.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut peerID_as_vec: Vec = hs.peer_id.to_vec(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `peer_id_as_vec` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/message.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader` [INFO] [stderr] --> src/message.rs:3:23 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{Cursor, BufReader, BufRead, Read, Result, Error, ErrorKind}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/message.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `messageID` should have an upper camel case name [INFO] [stderr] --> src/message.rs:6:6 [INFO] [stderr] | [INFO] [stderr] 6 | type messageID = u8; [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `MessageId` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/handshake.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader` [INFO] [stderr] --> src/handshake.rs:2:23 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Cursor, BufReader, BufRead, Read, Result, Error, ErrorKind}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/peers.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader`, `Read` [INFO] [stderr] --> src/peers.rs:2:23 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Cursor, BufReader, BufRead, Read, Result, Error, ErrorKind}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str` [INFO] [stderr] --> src/peers.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::str; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output_length` [INFO] [stderr] --> src/message.rs:217:13 [INFO] [stderr] | [INFO] [stderr] 217 | let output_length = 6; [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_output_length` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `length_test` [INFO] [stderr] --> src/message.rs:218:13 [INFO] [stderr] | [INFO] [stderr] 218 | let length_test = parse_piece(input_index, &mut input_buffer, input_message); [INFO] [stderr] | ^^^^^^^^^^^ help: consider prefixing with an underscore: `_length_test` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output_payload` [INFO] [stderr] --> src/message.rs:262:17 [INFO] [stderr] | [INFO] [stderr] 262 | let mut output_payload: Vec = vec![]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_output_payload` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output` [INFO] [stderr] --> src/message.rs:263:13 [INFO] [stderr] | [INFO] [stderr] 263 | let output = Message::default(); [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_output` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output_payload` [INFO] [stderr] --> src/message.rs:274:17 [INFO] [stderr] | [INFO] [stderr] 274 | let mut output_payload: Vec = vec![]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_output_payload` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output` [INFO] [stderr] --> src/message.rs:275:13 [INFO] [stderr] | [INFO] [stderr] 275 | let output = Message::default(); [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_output` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output_payload` [INFO] [stderr] --> src/message.rs:286:17 [INFO] [stderr] | [INFO] [stderr] 286 | let mut output_payload: Vec = vec![]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_output_payload` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `input_pstr` is never read [INFO] [stderr] --> src/handshake.rs:62:25 [INFO] [stderr] | [INFO] [stderr] 62 | let mut input_pstr = "hello"; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `offset` is never read [INFO] [stderr] --> src/peers.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | let mut offset = 0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `port_cursor` is never read [INFO] [stderr] --> src/peers.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let mut port_cursor = Cursor::new(&port_vec); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/message.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader` [INFO] [stderr] --> src/message.rs:3:23 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{Cursor, BufReader, BufRead, Read, Result, Error, ErrorKind}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/message.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `messageID` should have an upper camel case name [INFO] [stderr] --> src/message.rs:6:6 [INFO] [stderr] | [INFO] [stderr] 6 | type messageID = u8; [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `MessageId` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/handshake.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader` [INFO] [stderr] --> src/handshake.rs:2:23 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Cursor, BufReader, BufRead, Read, Result, Error, ErrorKind}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:261:13 [INFO] [stderr] | [INFO] [stderr] 261 | let mut input: Vec = vec![1, 2, 3]; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `input_pstr` is never read [INFO] [stderr] --> src/handshake.rs:62:25 [INFO] [stderr] | [INFO] [stderr] 62 | let mut input_pstr = "hello"; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:262:13 [INFO] [stderr] | [INFO] [stderr] 262 | let mut output_payload: Vec = vec![]; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:264:13 [INFO] [stderr] | [INFO] [stderr] 264 | let mut reader = &mut Cursor::new(input); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:273:13 [INFO] [stderr] | [INFO] [stderr] 273 | let mut input: Vec = vec![0, 0, 0, 5, 4, 1, 2]; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:274:13 [INFO] [stderr] | [INFO] [stderr] 274 | let mut output_payload: Vec = vec![]; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:276:13 [INFO] [stderr] | [INFO] [stderr] 276 | let mut reader = &mut Cursor::new(input); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:285:13 [INFO] [stderr] | [INFO] [stderr] 285 | let mut input: Vec = vec![0, 0, 0, 0]; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:286:13 [INFO] [stderr] | [INFO] [stderr] 286 | let mut output_payload: Vec = vec![]; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | let mut reader = &mut Cursor::new(input); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:297:13 [INFO] [stderr] | [INFO] [stderr] 297 | let mut input: Vec = vec![0, 0, 0, 5, 4, 1, 2, 3, 4]; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:298:13 [INFO] [stderr] | [INFO] [stderr] 298 | let mut output_payload: Vec = vec![1, 2, 3, 4]; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:303:13 [INFO] [stderr] | [INFO] [stderr] 303 | let mut reader = &mut Cursor::new(input); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:122:13 [INFO] [stderr] | [INFO] [stderr] 122 | let mut input_info_hash: [u8; 20] = [134, 212, 200, 0, 36, 164, 105, 190, 76, 80, 188, 90, 16, 44, 247, 23, 128, 49, 0, 116]; [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | let mut input_peer_id: [u8; 20] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]; [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | let mut input_info_hash: [u8; 20] = [134, 212, 200, 0, 36, 164, 105, 190, 76, 80, 188, 90, 16, 44, 247, 23, 128, 49, 0, 116]; [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | let mut input_peer_id: [u8; 20] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]; [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | let mut input_pstr = String::from("BitTorrent protocol, but cooler?"); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | let mut output_info_hash: [u8; 20] = [134, 212, 200, 0, 36, 164, 105, 190, 76, 80, 188, 90, 16, 44, 247, 23, 128, 49, 0, 116]; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | let mut output_peer_id: [u8; 20] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | let mut output_pstr = String::from("BitTorrent protocol"); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | let mut output_info_hash: [u8; 20] = [134, 212, 200, 0, 36, 164, 105, 190, 76, 80, 188, 90, 16, 44, 247, 23, 128, 49, 0, 116]; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:166:13 [INFO] [stderr] | [INFO] [stderr] 166 | let mut output_peer_id: [u8; 20] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:167:13 [INFO] [stderr] | [INFO] [stderr] 167 | let mut output_pstr = String::from("BitTorrent protocol"); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | let mut output_info_hash: [u8; 20] = [134, 212, 200, 0, 36, 164, 105, 190, 76, 80, 188, 90, 16, 44, 247, 23, 128, 49, 0, 116]; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | let mut output_peer_id: [u8; 20] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:186:13 [INFO] [stderr] | [INFO] [stderr] 186 | let mut output_pstr = String::from("BitTorrent protocol"); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/peers.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | let mut num_peers = peers_bin.len()/peer_size; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/peers.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | let mut peer_error = Error::new(ErrorKind::InvalidData, "Malformed Peers"); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/peers.rs:30:17 [INFO] [stderr] | [INFO] [stderr] 30 | let mut port_vc = &port_vec[0..2].to_vec(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: structure field `ID` should have a snake case name [INFO] [stderr] --> src/message.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | ID: messageID, [INFO] [stderr] | ^^ help: convert the identifier to snake case: `id` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `Payload` should have a snake case name [INFO] [stderr] --> src/message.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | Payload: Vec, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `payload` [INFO] [stderr] [INFO] [stderr] warning: variable `peerID_as_vec` should have a snake case name [INFO] [stderr] --> src/handshake.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut peerID_as_vec: Vec = hs.peer_id.to_vec(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `peer_id_as_vec` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `has_piece` [INFO] [stderr] --> src/bitfield.rs:6:8 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn has_piece(bf: &Bitfield, index: usize) -> bool{ [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `set_piece` [INFO] [stderr] --> src/bitfield.rs:17:8 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn set_piece(bf: &Bitfield, index: usize) -> Bitfield{ [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `MESSAGE_CHOKE` [INFO] [stderr] --> src/message.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | static MESSAGE_CHOKE: messageID = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `MESSAGE_UNCHOKE` [INFO] [stderr] --> src/message.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | static MESSAGE_UNCHOKE: messageID = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `MESSAGE_INTERESTED` [INFO] [stderr] --> src/message.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | static MESSAGE_INTERESTED: messageID = 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `MESSAGE_NOT_INTERESTED` [INFO] [stderr] --> src/message.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | static MESSAGE_NOT_INTERESTED: messageID = 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `MESSAGE_HAVE` [INFO] [stderr] --> src/message.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | static MESSAGE_HAVE: messageID = 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `MESSAGE_BITFIELD` [INFO] [stderr] --> src/message.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | static MESSAGE_BITFIELD: messageID = 5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `MESSAGE_REQUEST` [INFO] [stderr] --> src/message.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | static MESSAGE_REQUEST: messageID = 6; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `MESSAGE_PIECE` [INFO] [stderr] --> src/message.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | static MESSAGE_PIECE: messageID = 7; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `MESSAGE_CANCEL` [INFO] [stderr] --> src/message.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | static MESSAGE_CANCEL: messageID = 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `ID` [INFO] [stderr] --> src/message.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | ID: messageID, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `Payload` [INFO] [stderr] --> src/message.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | Payload: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `format_request` [INFO] [stderr] --> src/message.rs:30:8 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn format_request(index: u32, begin: u32, length: u32) -> Message{ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `format_have` [INFO] [stderr] --> src/message.rs:42:8 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn format_have(index: u32) -> Message { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_piece` [INFO] [stderr] --> src/message.rs:52:4 [INFO] [stderr] | [INFO] [stderr] 52 | fn parse_piece(index: u32, buf: &mut Vec, msg: &Message) -> Result{//Result [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/message.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_have` [INFO] [stderr] --> src/message.rs:82:4 [INFO] [stderr] | [INFO] [stderr] 82 | fn parse_have(msg: &Message) -> Result{ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `serialize` [INFO] [stderr] --> src/message.rs:93:4 [INFO] [stderr] | [INFO] [stderr] 93 | fn serialize(msg: &Message) -> Vec{ [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `read_message` [INFO] [stderr] --> src/message.rs:112:4 [INFO] [stderr] | [INFO] [stderr] 112 | fn read_message(reader: &mut Cursor>) -> Result{ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader` [INFO] [stderr] --> src/message.rs:3:23 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{Cursor, BufReader, BufRead, Read, Result, Error, ErrorKind}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/message.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `messageID` should have an upper camel case name [INFO] [stderr] --> src/message.rs:6:6 [INFO] [stderr] | [INFO] [stderr] 6 | type messageID = u8; [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `MessageId` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/handshake.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader` [INFO] [stderr] --> src/handshake.rs:2:23 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Cursor, BufReader, BufRead, Read, Result, Error, ErrorKind}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `name` [INFO] [stderr] --> src/message.rs:150:4 [INFO] [stderr] | [INFO] [stderr] 150 | fn name(msg: &Message) -> String{ [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `string` [INFO] [stderr] --> src/message.rs:169:4 [INFO] [stderr] | [INFO] [stderr] 169 | fn string(msg: &Message) -> String{ [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Handshake` [INFO] [stderr] --> src/handshake.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct Handshake{ [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `new` [INFO] [stderr] --> src/handshake.rs:12:4 [INFO] [stderr] | [INFO] [stderr] 12 | fn new(infohash: Vec, peerid: Vec) -> Handshake{ [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `serialize` [INFO] [stderr] --> src/handshake.rs:20:4 [INFO] [stderr] | [INFO] [stderr] 20 | fn serialize(hs: &Handshake) -> Vec{ [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `read_handshake` [INFO] [stderr] --> src/handshake.rs:34:4 [INFO] [stderr] | [INFO] [stderr] 34 | fn read_handshake(reader: &mut Cursor>) -> Result{ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: structure field `ID` should have a snake case name [INFO] [stderr] --> src/message.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | ID: messageID, [INFO] [stderr] | ^^ help: convert the identifier to snake case: `id` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `Payload` should have a snake case name [INFO] [stderr] --> src/message.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | Payload: Vec, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `payload` [INFO] [stderr] [INFO] [stderr] warning: variable `peerID_as_vec` should have a snake case name [INFO] [stderr] --> src/handshake.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut peerID_as_vec: Vec = hs.peer_id.to_vec(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `peer_id_as_vec` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output_length` [INFO] [stderr] --> src/message.rs:217:13 [INFO] [stderr] | [INFO] [stderr] 217 | let output_length = 6; [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_output_length` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `length_test` [INFO] [stderr] --> src/message.rs:218:13 [INFO] [stderr] | [INFO] [stderr] 218 | let length_test = parse_piece(input_index, &mut input_buffer, input_message); [INFO] [stderr] | ^^^^^^^^^^^ help: consider prefixing with an underscore: `_length_test` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output_payload` [INFO] [stderr] --> src/message.rs:262:17 [INFO] [stderr] | [INFO] [stderr] 262 | let mut output_payload: Vec = vec![]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_output_payload` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output` [INFO] [stderr] --> src/message.rs:263:13 [INFO] [stderr] | [INFO] [stderr] 263 | let output = Message::default(); [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_output` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output_payload` [INFO] [stderr] --> src/message.rs:274:17 [INFO] [stderr] | [INFO] [stderr] 274 | let mut output_payload: Vec = vec![]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_output_payload` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output` [INFO] [stderr] --> src/message.rs:275:13 [INFO] [stderr] | [INFO] [stderr] 275 | let output = Message::default(); [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_output` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output_payload` [INFO] [stderr] --> src/message.rs:286:17 [INFO] [stderr] | [INFO] [stderr] 286 | let mut output_payload: Vec = vec![]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_output_payload` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `input_pstr` is never read [INFO] [stderr] --> src/handshake.rs:62:25 [INFO] [stderr] | [INFO] [stderr] 62 | let mut input_pstr = "hello"; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:261:13 [INFO] [stderr] | [INFO] [stderr] 261 | let mut input: Vec = vec![1, 2, 3]; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:262:13 [INFO] [stderr] | [INFO] [stderr] 262 | let mut output_payload: Vec = vec![]; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:264:13 [INFO] [stderr] | [INFO] [stderr] 264 | let mut reader = &mut Cursor::new(input); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:273:13 [INFO] [stderr] | [INFO] [stderr] 273 | let mut input: Vec = vec![0, 0, 0, 5, 4, 1, 2]; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:274:13 [INFO] [stderr] | [INFO] [stderr] 274 | let mut output_payload: Vec = vec![]; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:276:13 [INFO] [stderr] | [INFO] [stderr] 276 | let mut reader = &mut Cursor::new(input); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:285:13 [INFO] [stderr] | [INFO] [stderr] 285 | let mut input: Vec = vec![0, 0, 0, 0]; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:286:13 [INFO] [stderr] | [INFO] [stderr] 286 | let mut output_payload: Vec = vec![]; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | let mut reader = &mut Cursor::new(input); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:297:13 [INFO] [stderr] | [INFO] [stderr] 297 | let mut input: Vec = vec![0, 0, 0, 5, 4, 1, 2, 3, 4]; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:298:13 [INFO] [stderr] | [INFO] [stderr] 298 | let mut output_payload: Vec = vec![1, 2, 3, 4]; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:303:13 [INFO] [stderr] | [INFO] [stderr] 303 | let mut reader = &mut Cursor::new(input); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:122:13 [INFO] [stderr] | [INFO] [stderr] 122 | let mut input_info_hash: [u8; 20] = [134, 212, 200, 0, 36, 164, 105, 190, 76, 80, 188, 90, 16, 44, 247, 23, 128, 49, 0, 116]; [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | let mut input_peer_id: [u8; 20] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]; [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | let mut input_info_hash: [u8; 20] = [134, 212, 200, 0, 36, 164, 105, 190, 76, 80, 188, 90, 16, 44, 247, 23, 128, 49, 0, 116]; [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | let mut input_peer_id: [u8; 20] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]; [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | let mut input_pstr = String::from("BitTorrent protocol, but cooler?"); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | let mut output_info_hash: [u8; 20] = [134, 212, 200, 0, 36, 164, 105, 190, 76, 80, 188, 90, 16, 44, 247, 23, 128, 49, 0, 116]; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | let mut output_peer_id: [u8; 20] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | let mut output_pstr = String::from("BitTorrent protocol"); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | let mut output_info_hash: [u8; 20] = [134, 212, 200, 0, 36, 164, 105, 190, 76, 80, 188, 90, 16, 44, 247, 23, 128, 49, 0, 116]; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:166:13 [INFO] [stderr] | [INFO] [stderr] 166 | let mut output_peer_id: [u8; 20] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:167:13 [INFO] [stderr] | [INFO] [stderr] 167 | let mut output_pstr = String::from("BitTorrent protocol"); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | let mut output_info_hash: [u8; 20] = [134, 212, 200, 0, 36, 164, 105, 190, 76, 80, 188, 90, 16, 44, 247, 23, 128, 49, 0, 116]; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | let mut output_peer_id: [u8; 20] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/handshake.rs:186:13 [INFO] [stderr] | [INFO] [stderr] 186 | let mut output_pstr = String::from("BitTorrent protocol"); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: structure field `ID` should have a snake case name [INFO] [stderr] --> src/message.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | ID: messageID, [INFO] [stderr] | ^^ help: convert the identifier to snake case: `id` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `Payload` should have a snake case name [INFO] [stderr] --> src/message.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | Payload: Vec, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `payload` [INFO] [stderr] [INFO] [stderr] warning: variable `peerID_as_vec` should have a snake case name [INFO] [stderr] --> src/handshake.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut peerID_as_vec: Vec = hs.peer_id.to_vec(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `peer_id_as_vec` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.95s [INFO] running `"docker" "inspect" "e7fece4a1c5de8b20e563dde0e2f525e6e220ac9c5cd16e2edadcdcb1aaaebe8"` [INFO] running `"docker" "rm" "-f" "e7fece4a1c5de8b20e563dde0e2f525e6e220ac9c5cd16e2edadcdcb1aaaebe8"` [INFO] [stdout] e7fece4a1c5de8b20e563dde0e2f525e6e220ac9c5cd16e2edadcdcb1aaaebe8