[INFO] cloning repository https://github.com/xin-water/bittorrent-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xin-water/bittorrent-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxin-water%2Fbittorrent-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxin-water%2Fbittorrent-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 710c4e3ca184c3810a6bd3ef84f8f13768bd1cd3
[INFO] checking xin-water/bittorrent-rs/710c4e3ca184c3810a6bd3ef84f8f13768bd1cd3 against master#568b11762723b001bfa693d0f21c5dad01d4e813 for pr-149058
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxin-water%2Fbittorrent-rs" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/xin-water/bittorrent-rs
[INFO] finished tweaking git repo https://github.com/xin-water/bittorrent-rs
[INFO] tweaked toml for git repo https://github.com/xin-water/bittorrent-rs written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/xin-water/bittorrent-rs on toolchain 568b11762723b001bfa693d0f21c5dad01d4e813
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 317 packages to latest compatible versions
[INFO] [stderr]       Adding base32 v0.3.1 (available: v0.5.1)
[INFO] [stderr]       Adding bit-set v0.4.0 (available: v0.8.0)
[INFO] [stderr]       Adding bytes v0.4.12 (available: v1.11.0)
[INFO] [stderr]       Adding clap v2.34.0 (available: v4.5.53)
[INFO] [stderr]       Adding crc v1.8.1 (available: v3.4.0)
[INFO] [stderr]       Adding hex v0.3.2 (available: v0.4.3)
[INFO] [stderr]       Adding hex-literal v0.3.4 (available: v1.1.0)
[INFO] [stderr]       Adding mio v0.5.1 (available: v1.1.1)
[INFO] [stderr]       Adding nom v3.2.1 (available: v8.0.0)
[INFO] [stderr]       Adding num v0.1.43 (available: v0.4.3)
[INFO] [stderr]       Adding num-traits v0.1.43 (available: v0.2.19)
[INFO] [stderr]       Adding quickcheck v0.4.1 (available: v1.0.3)
[INFO] [stderr]       Adding rand v0.3.23 (available: v0.9.2)
[INFO] [stderr]       Adding rand v0.7.3 (available: v0.9.2)
[INFO] [stderr]       Adding reqwest v0.10.10 (available: v0.12.25)
[INFO] [stderr]       Adding sha1 v0.6.1 (available: v0.10.6)
[INFO] [stderr]       Adding slab v0.2.0 (available: v0.4.11)
[INFO] [stderr]       Adding url v0.5.10 (available: v2.5.7)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded num-bigint v0.1.45
[INFO] [stderr]   Downloaded mock_instant v0.6.0
[INFO] [stderr]   Downloaded num-rational v0.1.43
[INFO] [stderr]   Downloaded rustc-serialize v0.3.25
[INFO] [stderr]   Downloaded bit-set v0.4.0
[INFO] [stderr]   Downloaded base32 v0.3.1
[INFO] [stderr]   Downloaded uuid v0.2.3
[INFO] [stderr]   Downloaded pendulum v0.3.1
[INFO] [stderr]   Downloaded num v0.1.43
[INFO] [stderr]   Downloaded pbr v1.1.1
[INFO] [stderr]   Downloaded bencode v0.1.16
[INFO] [stderr]   Downloaded mio v0.5.1
[INFO] [stderr]   Downloaded log4rs v1.4.0
[INFO] [stderr]   Downloaded unicode-bidi v0.2.6
[INFO] [stderr]   Downloaded bytes v0.3.0
[INFO] [stderr]   Downloaded umio v0.3.0
[INFO] [stderr]   Downloaded url v0.5.10
[INFO] [stderr]   Downloaded slab v0.1.3
[INFO] [stderr]   Downloaded thread-id v5.0.0
[INFO] [stderr]   Downloaded num-complex v0.1.44
[INFO] [stderr]   Downloaded quickcheck v0.4.1
[INFO] [stderr]   Downloaded slab v0.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 710061781b320702204156062145b5d72202c95d69abe43a957136d1064f6a7a
[INFO] running `Command { std: "docker" "start" "-a" "710061781b320702204156062145b5d72202c95d69abe43a957136d1064f6a7a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "710061781b320702204156062145b5d72202c95d69abe43a957136d1064f6a7a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "710061781b320702204156062145b5d72202c95d69abe43a957136d1064f6a7a", kill_on_drop: false }`
[INFO] [stdout] 710061781b320702204156062145b5d72202c95d69abe43a957136d1064f6a7a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0528fc65575d84afc2bcbe2747f79357f5e0e21b083b3f7a844cf80fb8ac3a83
[INFO] running `Command { std: "docker" "start" "-a" "0528fc65575d84afc2bcbe2747f79357f5e0e21b083b3f7a844cf80fb8ac3a83", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking rustc-serialize v0.3.25
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling num-bigint v0.1.45
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]    Compiling num-complex v0.1.44
[INFO] [stderr]    Compiling num-rational v0.1.43
[INFO] [stderr]    Compiling rust-crypto v0.2.36
[INFO] [stderr]    Compiling error-chain v0.12.4
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking destructure_traitobject v0.2.0
[INFO] [stderr]     Checking unsafe-any-ors v1.0.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling derive_more-impl v2.1.0
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]     Checking indexmap v2.12.1
[INFO] [stderr]     Checking serde-value v0.7.0
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.7
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking memchr v1.0.2
[INFO] [stderr]     Checking nom v3.2.1
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking btp-utp v0.1.0 (/opt/rustwide/workdir/bittorrent-protocol/btp-utp)
[INFO] [stderr]     Checking btp-bencode v0.1.1 (/opt/rustwide/workdir/bittorrent-protocol/btp-bencode)
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking num v0.1.43
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_error_description_deprecated`
[INFO] [stdout]   --> bittorrent-protocol/btp-bencode/src/error.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout]  2 | / error_chain! {
[INFO] [stdout]  3 | |     types {
[INFO] [stdout]  4 | |         BencodeParseError, BencodeParseErrorKind, BencodeParseResultExt, BencodeParseResult;
[INFO] [stdout] ...  |
[INFO] [stdout] 78 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `impl_error_chain_processed` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `impl_error_chain_processed` may come from an old version of the `error_chain` crate, try updating your dependency with `cargo update -p error_chain`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_error_description_deprecated`
[INFO] [stdout]    --> bittorrent-protocol/btp-bencode/src/error.rs:80:1
[INFO] [stdout]     |
[INFO] [stdout]  80 | / error_chain! {
[INFO] [stdout]  81 | |     types {
[INFO] [stdout]  82 | |         BencodeConvertError, BencodeConvertErrorKind, BencodeConvertResultExt, BencodeConvertResult;
[INFO] [stdout] ...   |
[INFO] [stdout] 100 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `impl_error_chain_processed` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the macro `impl_error_chain_processed` may come from an old version of the `error_chain` crate, try updating your dependency with `cargo update -p error_chain`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `ben_map_self`
[INFO] [stdout]   --> bittorrent-protocol/btp-bencode/src/lib.rs:94:15
[INFO] [stdout]    |
[INFO] [stdout] 94 | macro_rules!  ben_map_self {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `ben_list_self`
[INFO] [stdout]    --> bittorrent-protocol/btp-bencode/src/lib.rs:133:14
[INFO] [stdout]     |
[INFO] [stdout] 133 | macro_rules! ben_list_self {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `ben_bytes_self`
[INFO] [stdout]    --> bittorrent-protocol/btp-bencode/src/lib.rs:162:14
[INFO] [stdout]     |
[INFO] [stdout] 162 | macro_rules! ben_bytes_self {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `ben_int_self`
[INFO] [stdout]    --> bittorrent-protocol/btp-bencode/src/lib.rs:181:14
[INFO] [stdout]     |
[INFO] [stdout] 181 | macro_rules! ben_int_self {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking derive_more v2.1.0
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/lib.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 | #![cfg_attr(feature = "clippy", feature(plugin))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/lib.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 | #![cfg_attr(feature = "clippy", plugin(clippy))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/lib.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 | #![cfg_attr(feature = "clippy", allow(len_without_is_empty, doc_markdown, needless_return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `unstable`
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/lib.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 | #![cfg_attr(feature = "unstable", feature(test))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `unstable` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `unstable`
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:788:11
[INFO] [stdout]     |
[INFO] [stdout] 788 | #[cfg(all(feature = "unstable", test))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `unstable` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking thread-id v5.0.0
[INFO] [stderr]     Checking typemap-ors v1.0.0
[INFO] [stderr]    Compiling ws2_32-sys v0.2.1
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/error.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |         f.write_str(self.description())
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/error.rs:49:36
[INFO] [stdout]    |
[INFO] [stdout] 49 |         io::Error::new(kind, error.description())
[INFO] [stdout]    |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/error.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |         write!(f, "{}", self.description())
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/error.rs:81:48
[INFO] [stdout]    |
[INFO] [stdout] 81 |         io::Error::new(ErrorKind::Other, error.description())
[INFO] [stdout]    |                                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]     Checking humantime v2.3.0
[INFO] [stderr]     Checking mock_instant v0.6.0
[INFO] [stderr]     Checking log-mdc v0.1.0
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mut header = unsafe { &mut *(self.0.as_mut_ptr() as *mut PacketHeader) };
[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: variable does not need to be mutable
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:28:17
[INFO] [stdout]     |
[INFO] [stdout]  28 |             let mut header = unsafe { &mut*(self.0.as_mut_ptr() as *mut PacketHeader) };
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 312 |     make_setter!(set_seq_nr, seq_nr, u16);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `make_setter` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:28:17
[INFO] [stdout]     |
[INFO] [stdout]  28 |             let mut header = unsafe { &mut*(self.0.as_mut_ptr() as *mut PacketHeader) };
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 313 |     make_setter!(set_ack_nr, ack_nr, u16);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `make_setter` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:28:17
[INFO] [stdout]     |
[INFO] [stdout]  28 |             let mut header = unsafe { &mut*(self.0.as_mut_ptr() as *mut PacketHeader) };
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 314 |     make_setter!(set_connection_id, connection_id, u16);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `make_setter` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:28:17
[INFO] [stdout]     |
[INFO] [stdout]  28 |             let mut header = unsafe { &mut*(self.0.as_mut_ptr() as *mut PacketHeader) };
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 315 |     make_setter!(set_wnd_size, wnd_size, u32);
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `make_setter` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/socket.rs:465:17
[INFO] [stdout]     |
[INFO] [stdout] 465 |             let mut packet = &mut self.send_window[0];
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking arc-swap v1.7.1
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1110:9
[INFO] [stdout]      |
[INFO] [stdout] 1110 |     let mut socket = self.socket.try_clone().expect("UtpSocket clone fail");
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1111:9
[INFO] [stdout]      |
[INFO] [stdout] 1111 |     let mut connected_to = self.connected_to.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1112:9
[INFO] [stdout]      |
[INFO] [stdout] 1112 |     let mut sender_connection_id = self.sender_connection_id;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1113:9
[INFO] [stdout]      |
[INFO] [stdout] 1113 |     let mut receiver_connection_id = self.receiver_connection_id;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1114:9
[INFO] [stdout]      |
[INFO] [stdout] 1114 |     let mut seq_nr = self.seq_nr;
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1115:9
[INFO] [stdout]      |
[INFO] [stdout] 1115 |     let mut ack_nr = self.ack_nr;
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1116:9
[INFO] [stdout]      |
[INFO] [stdout] 1116 |     let mut state = self.state.clone();
[INFO] [stdout]      |         ----^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1117:9
[INFO] [stdout]      |
[INFO] [stdout] 1117 |     let mut incoming_buffer = self.incoming_buffer.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1118:9
[INFO] [stdout]      |
[INFO] [stdout] 1118 |     let mut send_window = self.send_window.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1119:9
[INFO] [stdout]      |
[INFO] [stdout] 1119 |     let mut unsent_queue = self.unsent_queue.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1120:9
[INFO] [stdout]      |
[INFO] [stdout] 1120 |     let mut duplicate_ack_count = self.duplicate_ack_count.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1121:9
[INFO] [stdout]      |
[INFO] [stdout] 1121 |     let mut last_acked = self.last_acked.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1122:9
[INFO] [stdout]      |
[INFO] [stdout] 1122 |     let mut last_acked_timestamp = self.last_acked_timestamp.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1123:9
[INFO] [stdout]      |
[INFO] [stdout] 1123 |     let mut last_dropped = self.last_dropped.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1124:9
[INFO] [stdout]      |
[INFO] [stdout] 1124 |     let mut rtt = self.rtt.clone();
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1125:9
[INFO] [stdout]      |
[INFO] [stdout] 1125 |     let mut pending_data = self.pending_data.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1126:9
[INFO] [stdout]      |
[INFO] [stdout] 1126 |     let mut rtt_variance = self.rtt_variance.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1127:9
[INFO] [stdout]      |
[INFO] [stdout] 1127 |     let mut curr_window = self.curr_window.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1128:9
[INFO] [stdout]      |
[INFO] [stdout] 1128 |     let mut remote_wnd_size= self.remote_wnd_size.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1129:9
[INFO] [stdout]      |
[INFO] [stdout] 1129 |     let mut base_delays= self.base_delays.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1130:9
[INFO] [stdout]      |
[INFO] [stdout] 1130 |     let mut current_delays= self.current_delays.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1131:9
[INFO] [stdout]      |
[INFO] [stdout] 1131 |     let mut their_delay = self.their_delay.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1132:9
[INFO] [stdout]      |
[INFO] [stdout] 1132 |     let mut last_rollover = self.last_rollover.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1133:9
[INFO] [stdout]      |
[INFO] [stdout] 1133 |     let mut congestion_timeout = self.congestion_timeout.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1134:9
[INFO] [stdout]      |
[INFO] [stdout] 1134 |     let mut cwnd = self.cwnd.clone();
[INFO] [stdout]      |         ----^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1135:9
[INFO] [stdout]      |
[INFO] [stdout] 1135 |     let mut max_retransmission_retries = self.max_retransmission_retries.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1137:9
[INFO] [stdout]      |
[INFO] [stdout] 1137 |     let mut utp_socket = UtpSocket {
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/bit_iterator.rs:15:41
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn from_bytes(obj: &'a [u8]) -> BitIterator {
[INFO] [stdout]    |                             --          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn from_bytes(obj: &'a [u8]) -> BitIterator<'a> {
[INFO] [stdout]    |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn iter(&self) -> BitIterator {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn iter(&self) -> BitIterator<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:265:23
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub fn extensions(&self) -> ExtensionIterator {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub fn extensions(&self) -> ExtensionIterator<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1277:21
[INFO] [stdout]      |
[INFO] [stdout] 1277 |     pub fn incoming(&self) -> Incoming {
[INFO] [stdout]      |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1277 |     pub fn incoming(&self) -> Incoming<'_> {
[INFO] [stdout]      |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling build_const v0.2.2
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking nix v0.5.1
[INFO] [stderr]     Checking miow v0.1.5
[INFO] [stderr]     Checking bytes v0.3.0
[INFO] [stderr]    Compiling crc v1.8.1
[INFO] [stderr]     Checking slab v0.1.3
[INFO] [stderr]     Checking hex v0.3.2
[INFO] [stderr]     Checking thread-id v2.0.0
[INFO] [stderr]     Checking memchr v0.1.11
[INFO] [stderr]     Checking bit-vec v0.4.4
[INFO] [stderr]     Checking aho-corasick v0.5.3
[INFO] [stderr]     Checking thread_local v0.2.7
[INFO] [stderr]     Checking bit-set v0.4.0
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]     Checking utf8-ranges v0.1.3
[INFO] [stderr]     Checking regex-syntax v0.3.9
[INFO] [stderr]     Checking tinyvec v1.10.0
[INFO] [stderr]     Checking matches v0.1.10
[INFO] [stderr]     Checking mio v0.5.1
[INFO] [stderr]     Checking unicode-bidi v0.2.6
[INFO] [stderr]     Checking log4rs v1.4.0
[INFO] [stderr]     Checking uuid v0.2.3
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking umio v0.3.0
[INFO] [stderr]     Checking regex v0.1.80
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking base32 v0.3.1
[INFO] [stderr]     Checking btp-lsd v0.0.1 (/opt/rustwide/workdir/bittorrent-protocol/btp-lsd)
[INFO] [stderr]     Checking btp-nat v0.0.1 (/opt/rustwide/workdir/bittorrent-protocol/btp-nat)
[INFO] [stderr]     Checking slab v0.2.0
[INFO] [stderr]     Checking btp-magnet v0.0.1 (/opt/rustwide/workdir/bittorrent-protocol/btp-magnet)
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]  --> bittorrent-protocol/btp-magnet/src/lib.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn main() {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking btp-htracker v0.0.1 (/opt/rustwide/workdir/bittorrent-protocol/btp-htracker)
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking crossbeam v0.3.2
[INFO] [stderr]     Checking pbr v1.1.1
[INFO] [stderr]     Checking pendulum v0.3.1
[INFO] [stderr]    Compiling cc v1.2.49
[INFO] [stderr]     Checking bytes v0.5.6
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking url v0.5.10
[INFO] [stderr]     Checking env_logger v0.3.5
[INFO] [stderr]     Checking quickcheck v0.4.1
[INFO] [stderr]     Checking pin-project-lite v0.1.12
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]     Checking tracing-core v0.1.35
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking tokio v0.2.25
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking tracing v0.1.43
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking http-body v0.3.1
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]     Checking socket2 v0.3.19
[INFO] [stderr]     Checking httpdate v0.3.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking sha1_smol v1.0.1
[INFO] [stderr]     Checking bencode v0.1.16
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking sha1 v0.6.1
[INFO] [stderr]    Compiling hex-literal v0.3.4
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_error_description_deprecated`
[INFO] [stdout]   --> bittorrent-protocol/btp-bencode/src/error.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout]  2 | / error_chain! {
[INFO] [stdout]  3 | |     types {
[INFO] [stdout]  4 | |         BencodeParseError, BencodeParseErrorKind, BencodeParseResultExt, BencodeParseResult;
[INFO] [stdout] ...  |
[INFO] [stdout] 78 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `impl_error_chain_processed` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `impl_error_chain_processed` may come from an old version of the `error_chain` crate, try updating your dependency with `cargo update -p error_chain`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_error_description_deprecated`
[INFO] [stdout]    --> bittorrent-protocol/btp-bencode/src/error.rs:80:1
[INFO] [stdout]     |
[INFO] [stdout]  80 | / error_chain! {
[INFO] [stdout]  81 | |     types {
[INFO] [stdout]  82 | |         BencodeConvertError, BencodeConvertErrorKind, BencodeConvertResultExt, BencodeConvertResult;
[INFO] [stdout] ...   |
[INFO] [stdout] 100 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `impl_error_chain_processed` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the macro `impl_error_chain_processed` may come from an old version of the `error_chain` crate, try updating your dependency with `cargo update -p error_chain`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `ben_map_self`
[INFO] [stdout]   --> bittorrent-protocol/btp-bencode/src/lib.rs:94:15
[INFO] [stdout]    |
[INFO] [stdout] 94 | macro_rules!  ben_map_self {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `ben_list_self`
[INFO] [stdout]    --> bittorrent-protocol/btp-bencode/src/lib.rs:133:14
[INFO] [stdout]     |
[INFO] [stdout] 133 | macro_rules! ben_list_self {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `ben_bytes_self`
[INFO] [stdout]    --> bittorrent-protocol/btp-bencode/src/lib.rs:162:14
[INFO] [stdout]     |
[INFO] [stdout] 162 | macro_rules! ben_bytes_self {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `ben_int_self`
[INFO] [stdout]    --> bittorrent-protocol/btp-bencode/src/lib.rs:181:14
[INFO] [stdout]     |
[INFO] [stdout] 181 | macro_rules! ben_int_self {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stdout] error[E0433]: failed to resolve: could not find `utp` in the crate root
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:498:16
[INFO] [stdout]     |
[INFO] [stdout] 498 |     use crate::utp::packet::{ExtensionType, Extension, Packet, PacketType, HEADER_SIZE, TryFromType, check_extensions, PacketHeader};
[INFO] [stdout]     |                ^^^ could not find `utp` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `utp` in the crate root
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:499:16
[INFO] [stdout]     |
[INFO] [stdout] 499 |     use crate::utp::packet::PacketType::{State, Data};
[INFO] [stdout]     |                ^^^ could not find `utp` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `utp` in the crate root
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:500:16
[INFO] [stdout]     |
[INFO] [stdout] 500 |     use crate::utp::time::{Timestamp, Delay};
[INFO] [stdout]     |                ^^^ could not find `utp` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `utp` in the crate root
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1305:16
[INFO] [stdout]      |
[INFO] [stdout] 1305 |     use crate::utp::socket::{UtpSocket, UtpListener, SocketState, BUF_SIZE, take_address};
[INFO] [stdout]      |                ^^^ could not find `utp` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `utp` in the crate root
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1306:16
[INFO] [stdout]      |
[INFO] [stdout] 1306 |     use crate::utp::packet::*;
[INFO] [stdout]      |                ^^^ could not find `utp` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `utp` in the crate root
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1307:16
[INFO] [stdout]      |
[INFO] [stdout] 1307 |     use crate::utp::time::now_microseconds;
[INFO] [stdout]      |                ^^^ could not find `utp` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `utp` in the crate root
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/util.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |     use crate::utp::util::*;
[INFO] [stdout]    |                ^^^ could not find `utp` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::quickcheck`
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:501:16
[INFO] [stdout]     |
[INFO] [stdout] 501 |     use crate::quickcheck::TestResult;
[INFO] [stdout]     |                ^^^^^^^^^^ could not find `quickcheck` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1491:26
[INFO] [stdout]      |
[INFO] [stdout] 1491 |         let mut packet = Packet::new();
[INFO] [stdout]      |                          ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1493:25
[INFO] [stdout]      |
[INFO] [stdout] 1493 |         packet.set_type(PacketType::Syn);
[INFO] [stdout]      |                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1504:41
[INFO] [stdout]      |
[INFO] [stdout] 1504 |         assert_eq!(response.get_type(), PacketType::State);
[INFO] [stdout]      |                                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1522:26
[INFO] [stdout]      |
[INFO] [stdout] 1522 |         let mut packet = Packet::new();
[INFO] [stdout]      |                          ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1523:25
[INFO] [stdout]      |
[INFO] [stdout] 1523 |         packet.set_type(PacketType::Data);
[INFO] [stdout]      |                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1534:41
[INFO] [stdout]      |
[INFO] [stdout] 1534 |         assert_eq!(response.get_type(), PacketType::State);
[INFO] [stdout]      |                                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1554:26
[INFO] [stdout]      |
[INFO] [stdout] 1554 |         let mut packet = Packet::new();
[INFO] [stdout]      |                          ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1555:25
[INFO] [stdout]      |
[INFO] [stdout] 1555 |         packet.set_type(PacketType::Fin);
[INFO] [stdout]      |                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1567:41
[INFO] [stdout]      |
[INFO] [stdout] 1567 |         assert_eq!(response.get_type(), PacketType::State);
[INFO] [stdout]      |                                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1591:26
[INFO] [stdout]      |
[INFO] [stdout] 1591 |         let mut packet = Packet::new();
[INFO] [stdout]      |                          ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1593:25
[INFO] [stdout]      |
[INFO] [stdout] 1593 |         packet.set_type(PacketType::Syn);
[INFO] [stdout]      |                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1601:41
[INFO] [stdout]      |
[INFO] [stdout] 1601 |         assert_eq!(response.get_type(), PacketType::State);
[INFO] [stdout]      |                                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1607:26
[INFO] [stdout]      |
[INFO] [stdout] 1607 |         let mut packet = Packet::new();
[INFO] [stdout]      |                          ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1609:25
[INFO] [stdout]      |
[INFO] [stdout] 1609 |         packet.set_type(PacketType::State);
[INFO] [stdout]      |                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1639:26
[INFO] [stdout]      |
[INFO] [stdout] 1639 |         let mut packet = Packet::new();
[INFO] [stdout]      |                          ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1641:25
[INFO] [stdout]      |
[INFO] [stdout] 1641 |         packet.set_type(PacketType::Syn);
[INFO] [stdout]      |                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1648:50
[INFO] [stdout]      |
[INFO] [stdout] 1648 |         assert_eq!(response.unwrap().get_type(), PacketType::State);
[INFO] [stdout]      |                                                  ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1653:26
[INFO] [stdout]      |
[INFO] [stdout] 1653 |         let mut packet = Packet::new();
[INFO] [stdout]      |                          ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1655:25
[INFO] [stdout]      |
[INFO] [stdout] 1655 |         packet.set_type(PacketType::State);
[INFO] [stdout]      |                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1664:41
[INFO] [stdout]      |
[INFO] [stdout] 1664 |         assert_eq!(response.get_type(), PacketType::Reset);
[INFO] [stdout]      |                                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1681:26
[INFO] [stdout]      |
[INFO] [stdout] 1681 |         let mut packet = Packet::new();
[INFO] [stdout]      |                          ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1683:25
[INFO] [stdout]      |
[INFO] [stdout] 1683 |         packet.set_type(PacketType::Syn);
[INFO] [stdout]      |                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1691:41
[INFO] [stdout]      |
[INFO] [stdout] 1691 |         assert_eq!(response.get_type(), PacketType::State);
[INFO] [stdout]      |                                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Packet` in this scope
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1696:29
[INFO] [stdout]      |
[INFO] [stdout] 1696 |         let mut window: Vec<Packet> = Vec::new();
[INFO] [stdout]      |                             ^^^^^^ not found in this scope
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1699:26
[INFO] [stdout]      |
[INFO] [stdout] 1699 |         let mut packet = Packet::with_payload(&[1, 2, 3]);
[INFO] [stdout]      |                          ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1706:26
[INFO] [stdout]      |
[INFO] [stdout] 1706 |         let mut packet = Packet::with_payload(&[4, 5, 6]);
[INFO] [stdout]      |                          ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1753:40
[INFO] [stdout]      |
[INFO] [stdout] 1753 |             Ok((read, _src)) => iotry!(Packet::try_from_type(&buf[..read])),
[INFO] [stdout]      |                                        ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1756:44
[INFO] [stdout]      |
[INFO] [stdout] 1756 |         assert_eq!(data_packet.get_type(), PacketType::Data);
[INFO] [stdout]      |                                            ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1761:26
[INFO] [stdout]      |
[INFO] [stdout] 1761 |         let mut packet = Packet::new();
[INFO] [stdout]      |                          ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1763:25
[INFO] [stdout]      |
[INFO] [stdout] 1763 |         packet.set_type(PacketType::State);
[INFO] [stdout]      |                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1777:37
[INFO] [stdout]      |
[INFO] [stdout] 1777 |                 let packet = iotry!(Packet::try_from_type(&buf[..read]));
[INFO] [stdout]      |                                     ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1778:47
[INFO] [stdout]      |
[INFO] [stdout] 1778 |                 assert_eq!(packet.get_type(), PacketType::Data);
[INFO] [stdout]      |                                               ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1857:26
[INFO] [stdout]      |
[INFO] [stdout] 1857 |         let mut packet = Packet::new();
[INFO] [stdout]      |                          ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1908:30
[INFO] [stdout]      |
[INFO] [stdout] 1908 |             let mut packet = Packet::with_payload(&[1, 2, 3]);
[INFO] [stdout]      |                              ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1968:34
[INFO] [stdout]      |
[INFO] [stdout] 1968 |                 let mut packet = Packet::with_payload(chunk);
[INFO] [stdout]      |                                  ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2111:30
[INFO] [stdout]      |
[INFO] [stdout] 2111 |             let mut packet = Packet::new();
[INFO] [stdout]      |                              ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2112:29
[INFO] [stdout]      |
[INFO] [stdout] 2112 |             packet.set_type(PacketType::Data);
[INFO] [stdout]      |                             ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2149:26
[INFO] [stdout]      |
[INFO] [stdout] 2149 |         let mut packet = Packet::new();
[INFO] [stdout]      |                          ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2151:25
[INFO] [stdout]      |
[INFO] [stdout] 2151 |         packet.set_type(PacketType::Syn);
[INFO] [stdout]      |                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2159:29
[INFO] [stdout]      |
[INFO] [stdout] 2159 |                 let reply = Packet::try_from_type(&buf[..len]).ok().unwrap();
[INFO] [stdout]      |                             ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2160:46
[INFO] [stdout]      |
[INFO] [stdout] 2160 |                 assert_eq!(reply.get_type(), PacketType::Reset);
[INFO] [stdout]      |                                              ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2177:30
[INFO] [stdout]      |
[INFO] [stdout] 2177 |             let mut packet = Packet::new();
[INFO] [stdout]      |                              ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2179:29
[INFO] [stdout]      |
[INFO] [stdout] 2179 |             packet.set_type(PacketType::Reset);
[INFO] [stdout]      |                             ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2226:26
[INFO] [stdout]      |
[INFO] [stdout] 2226 |         let mut packet = Packet::new();
[INFO] [stdout]      |                          ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2231:25
[INFO] [stdout]      |
[INFO] [stdout] 2231 |         packet.set_type(PacketType::Fin);
[INFO] [stdout]      |                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2364:51
[INFO] [stdout]      |
[INFO] [stdout] 2364 |                     Ok((len, _src)) => assert_eq!(Packet::try_from_type(&buf[..len]).unwrap().get_type(),
[INFO] [stdout]      |                                                   ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2365:25
[INFO] [stdout]      |
[INFO] [stdout] 2365 |                         PacketType::Data),
[INFO] [stdout]      |                         ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2407:51
[INFO] [stdout]      |
[INFO] [stdout] 2407 |                     Ok((len, _src)) => assert_eq!(Packet::try_from_type(&buf[..len]).unwrap().get_type(),
[INFO] [stdout]      |                                                   ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2408:51
[INFO] [stdout]      |
[INFO] [stdout] 2408 | ...                   PacketType::Fin),
[INFO] [stdout]      |                       ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Packet`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2447:45
[INFO] [stdout]      |
[INFO] [stdout] 2447 |                         let packet = iotry!(Packet::try_from_type(&buf[..len]));
[INFO] [stdout]      |                                             ^^^^^^ use of undeclared type `Packet`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::Packet;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PacketType`
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2448:55
[INFO] [stdout]      |
[INFO] [stdout] 2448 |                         assert_eq!(packet.get_type(), PacketType::State);
[INFO] [stdout]      |                                                       ^^^^^^^^^^ use of undeclared type `PacketType`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]      |
[INFO] [stdout] 1301 +     use crate::socket::PacketType;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `ewma` in this scope
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/util.rs:48:20
[INFO] [stdout]    |
[INFO] [stdout] 48 |         assert_eq!(ewma(empty.iter(), alpha), 0.0);
[INFO] [stdout]    |                    ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 42 +     use crate::util::ewma;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `ewma` in this scope
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/util.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 55 |         assert_eq!(ewma(input.iter(), alpha), 1.0);
[INFO] [stdout]    |                    ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 42 +     use crate::util::ewma;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `ewma` in this scope
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/util.rs:72:20
[INFO] [stdout]    |
[INFO] [stdout] 72 |         assert_eq!(ewma(input.iter(), alpha), expected[expected.len() - 1]);
[INFO] [stdout]    |                    ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 42 +     use crate::util::ewma;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `abs_diff` in this scope
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/util.rs:79:20
[INFO] [stdout]    |
[INFO] [stdout] 79 |         assert_eq!(abs_diff(a, b), 5);
[INFO] [stdout]    |                    ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 42 +     use crate::util::abs_diff;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `abs_diff` in this scope
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/util.rs:80:20
[INFO] [stdout]    |
[INFO] [stdout] 80 |         assert_eq!(abs_diff(b, a), 5);
[INFO] [stdout]    |                    ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 42 +     use crate::util::abs_diff;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/lib.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 | #![cfg_attr(feature = "clippy", feature(plugin))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/lib.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 | #![cfg_attr(feature = "clippy", plugin(clippy))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/lib.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 | #![cfg_attr(feature = "clippy", allow(len_without_is_empty, doc_markdown, needless_return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `unstable`
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/lib.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 | #![cfg_attr(feature = "unstable", feature(test))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `unstable` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `unstable`
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:788:11
[INFO] [stdout]     |
[INFO] [stdout] 788 | #[cfg(all(feature = "unstable", test))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `unstable` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2330:30
[INFO] [stdout]      |
[INFO] [stdout] 2330 |         assert!(take_address(("0.0.0.0:0")).is_ok());
[INFO] [stdout]      |                              ^           ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 2330 -         assert!(take_address(("0.0.0.0:0")).is_ok());
[INFO] [stdout] 2330 +         assert!(take_address("0.0.0.0:0" ).is_ok());
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2331:30
[INFO] [stdout]      |
[INFO] [stdout] 2331 |         assert!(take_address(("[::]:0")).is_ok());
[INFO] [stdout]      |                              ^        ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 2331 -         assert!(take_address(("[::]:0")).is_ok());
[INFO] [stdout] 2331 +         assert!(take_address("[::]:0" ).is_ok());
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2338:30
[INFO] [stdout]      |
[INFO] [stdout] 2338 |         assert!(take_address(("1.2.3.4:70000")).is_err());
[INFO] [stdout]      |                              ^               ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 2338 -         assert!(take_address(("1.2.3.4:70000")).is_err());
[INFO] [stdout] 2338 +         assert!(take_address("1.2.3.4:70000" ).is_err());
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1314:46
[INFO] [stdout]      |
[INFO] [stdout] 1314 |         use std::sync::atomic::{AtomicUsize, ATOMIC_USIZE_INIT, Ordering};
[INFO] [stdout]      |                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1315:43
[INFO] [stdout]      |
[INFO] [stdout] 1315 |         static NEXT_OFFSET: AtomicUsize = ATOMIC_USIZE_INIT;
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]      |
[INFO] [stdout] 1315 -         static NEXT_OFFSET: AtomicUsize = ATOMIC_USIZE_INIT;
[INFO] [stdout] 1315 +         static NEXT_OFFSET: AtomicUsize = AtomicUsize::new(0);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/error.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |         f.write_str(self.description())
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/error.rs:49:36
[INFO] [stdout]    |
[INFO] [stdout] 49 |         io::Error::new(kind, error.description())
[INFO] [stdout]    |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/error.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |         write!(f, "{}", self.description())
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> bittorrent-protocol/btp-utp/src/error.rs:81:48
[INFO] [stdout]    |
[INFO] [stdout] 81 |         io::Error::new(ErrorKind::Other, error.description())
[INFO] [stdout]    |                                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:577:28
[INFO] [stdout]     |
[INFO] [stdout] 577 |                 assert_eq!(packet.get_version(), 1);
[INFO] [stdout]     |                            ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `QuickCheck`
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:748:9
[INFO] [stdout]     |
[INFO] [stdout] 748 |         QuickCheck::new().tests(10000).quickcheck(run as fn(Vec<u8>) -> TestResult)
[INFO] [stdout]     |         ^^^^^^^^^^ use of undeclared type `QuickCheck`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:743:40
[INFO] [stdout]     |
[INFO] [stdout] 743 |                 TestResult::from_bool(&packet.as_ref() == &x.as_slice())
[INFO] [stdout]     |                                        ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1438:27
[INFO] [stdout]      |
[INFO] [stdout] 1438 |             Err(ref e) if e.kind() == ErrorKind::NotConnected => (),
[INFO] [stdout]      |                           ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1451:13
[INFO] [stdout]      |
[INFO] [stdout] 1451 |         let mut server = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |             ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1456 |             let _resp = server.recv(&mut buf);
[INFO] [stdout]      |                         ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `server` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1451 |         let mut server: /* Type */ = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1489:13
[INFO] [stdout]      |
[INFO] [stdout] 1489 |         let mut socket = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |             ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1497 |         let response = socket.handle_packet(&packet, client_addr);
[INFO] [stdout]      |                        ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `socket` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1489 |         let mut socket: /* Type */ = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1588:13
[INFO] [stdout]      |
[INFO] [stdout] 1588 |         let mut socket = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |             ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1596 |         let response = socket.handle_packet(&packet, client_addr);
[INFO] [stdout]      |                        ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `socket` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1588 |         let mut socket: /* Type */ = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1636:13
[INFO] [stdout]      |
[INFO] [stdout] 1636 |         let mut socket = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |             ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1644 |         let response = socket.handle_packet(&packet, client_addr);
[INFO] [stdout]      |                        ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `socket` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1636 |         let mut socket: /* Type */ = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1678:13
[INFO] [stdout]      |
[INFO] [stdout] 1678 |         let mut socket = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |             ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1686 |         let response = socket.handle_packet(&packet, client_addr);
[INFO] [stdout]      |                        ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `socket` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1678 |         let mut socket: /* Type */ = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1742:17
[INFO] [stdout]      |
[INFO] [stdout] 1742 |             let mut client = iotry!(UtpSocket::connect(server_addr));
[INFO] [stdout]      |                 ^^^^^^^^^^
[INFO] [stdout] 1743 |             iotry!(client.send_to(&d[..]));
[INFO] [stdout]      |                    ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `client` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1742 |             let mut client: /* Type */ = iotry!(UtpSocket::connect(server_addr));
[INFO] [stdout]      |                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1733:13
[INFO] [stdout]      |
[INFO] [stdout] 1733 |         let mut server = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |             ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1749 |         iotry!(server.recv(&mut buf));
[INFO] [stdout]      |                ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `server` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1733 |         let mut server: /* Type */ = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1752:13
[INFO] [stdout]      |
[INFO] [stdout] 1752 |         let data_packet = match server.socket.recv_from(&mut buf) {
[INFO] [stdout]      |             ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1756 |         assert_eq!(data_packet.get_type(), PacketType::Data);
[INFO] [stdout]      |                    ----------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `data_packet` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1752 |         let data_packet: /* Type */ = match server.socket.recv_from(&mut buf) {
[INFO] [stdout]      |                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1777:21
[INFO] [stdout]      |
[INFO] [stdout] 1777 |                 let packet = iotry!(Packet::try_from_type(&buf[..read]));
[INFO] [stdout]      |                     ^^^^^^
[INFO] [stdout] 1778 |                 assert_eq!(packet.get_type(), PacketType::Data);
[INFO] [stdout]      |                            ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `packet` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1777 |                 let packet: /* Type */ = iotry!(Packet::try_from_type(&buf[..read]));
[INFO] [stdout]      |                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1956:13
[INFO] [stdout]      |
[INFO] [stdout] 1956 |         let mut server = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |             ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1989 |             match server.recv_from(&mut buf) {
[INFO] [stdout]      |                   ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `server` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1956 |         let mut server: /* Type */ = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2010:17
[INFO] [stdout]      |
[INFO] [stdout] 2010 |             let mut client = iotry!(UtpSocket::connect(server_addr));
[INFO] [stdout]      |                 ^^^^^^^^^^
[INFO] [stdout] 2011 |             iotry!(client.send_to(&to_send[..]));
[INFO] [stdout]      |                    ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `client` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 2010 |             let mut client: /* Type */ = iotry!(UtpSocket::connect(server_addr));
[INFO] [stdout]      |                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2047:17
[INFO] [stdout]      |
[INFO] [stdout] 2047 |             let mut client = iotry!(UtpSocket::connect(server_addr));
[INFO] [stdout]      |                 ^^^^^^^^^^
[INFO] [stdout] 2048 |             // Send enough data to rollover
[INFO] [stdout] 2049 |             iotry!(client.send_to(&to_send[..]));
[INFO] [stdout]      |                    ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `client` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 2047 |             let mut client: /* Type */ = iotry!(UtpSocket::connect(server_addr));
[INFO] [stdout]      |                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2035:13
[INFO] [stdout]      |
[INFO] [stdout] 2035 |         let mut server = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |             ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2059 |             match server.recv_from(&mut buf) {
[INFO] [stdout]      |                   ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `server` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 2035 |         let mut server: /* Type */ = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2095:27
[INFO] [stdout]      |
[INFO] [stdout] 2095 |             Err(ref e) if e.kind() == ErrorKind::Other => (), // OK
[INFO] [stdout]      |                           ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2123:27
[INFO] [stdout]      |
[INFO] [stdout] 2123 |             Err(ref e) if e.kind() == ErrorKind::ConnectionRefused => (), // OK
[INFO] [stdout]      |                           ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2135:13
[INFO] [stdout]      |
[INFO] [stdout] 2135 |         let mut server = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |             ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2140 |                 match server.recv_from(&mut buf) {
[INFO] [stdout]      |                       ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `server` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 2135 |         let mut server: /* Type */ = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2173:13
[INFO] [stdout]      |
[INFO] [stdout] 2173 |         let mut server = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |             ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2193 |             match server.recv_from(&mut buf) {
[INFO] [stdout]      |                   ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `server` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 2173 |         let mut server: /* Type */ = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2196:31
[INFO] [stdout]      |
[INFO] [stdout] 2196 |                 Err(ref e) if e.kind() == ErrorKind::ConnectionReset => return,
[INFO] [stdout]      |                               ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2215:17
[INFO] [stdout]      |
[INFO] [stdout] 2215 |             let mut client = iotry!(UtpSocket::connect(server_addr));
[INFO] [stdout]      |                 ^^^^^^^^^^
[INFO] [stdout] 2216 |             iotry!(client.send_to(&to_send[..]));
[INFO] [stdout]      |                    ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `client` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 2215 |             let mut client: /* Type */ = iotry!(UtpSocket::connect(server_addr));
[INFO] [stdout]      |                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2208:13
[INFO] [stdout]      |
[INFO] [stdout] 2208 |         let mut server = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |             ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2223 |         iotry!(server.recv(&mut buf));
[INFO] [stdout]      |                ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `server` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 2208 |         let mut server: /* Type */ = iotry!(UtpSocket::bind(server_addr));
[INFO] [stdout]      |                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2301:17
[INFO] [stdout]      |
[INFO] [stdout] 2301 |             let mut client = iotry!(UtpSocket::connect(server_addr));
[INFO] [stdout]      |                 ^^^^^^^^^^
[INFO] [stdout] 2302 |             let mut buf = [0; 1024];
[INFO] [stdout] 2303 |             iotry!(tx.send(client.local_addr()));
[INFO] [stdout]      |                            ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `client` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 2301 |             let mut client: /* Type */ = iotry!(UtpSocket::connect(server_addr));
[INFO] [stdout]      |                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2355:17
[INFO] [stdout]      |
[INFO] [stdout] 2355 |             let mut client = iotry!(UtpSocket::connect(server_addr));
[INFO] [stdout]      |                 ^^^^^^^^^^
[INFO] [stdout] 2356 |             iotry!(client.send_to(&[0]));
[INFO] [stdout]      |                    ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `client` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 2355 |             let mut client: /* Type */ = iotry!(UtpSocket::connect(server_addr));
[INFO] [stdout]      |                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2380:27
[INFO] [stdout]      |
[INFO] [stdout] 2380 |             Err(ref e) if e.kind() == ErrorKind::TimedOut => (),
[INFO] [stdout]      |                           ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2398:17
[INFO] [stdout]      |
[INFO] [stdout] 2398 |             let mut client = iotry!(UtpSocket::connect(server_addr));
[INFO] [stdout]      |                 ^^^^^^^^^^
[INFO] [stdout] 2399 |             iotry!(client.send_to(&[0]));
[INFO] [stdout]      |                    ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `client` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 2398 |             let mut client: /* Type */ = iotry!(UtpSocket::connect(server_addr));
[INFO] [stdout]      |                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2420:27
[INFO] [stdout]      |
[INFO] [stdout] 2420 |             Err(ref e) if e.kind() == ErrorKind::TimedOut => (),
[INFO] [stdout]      |                           ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2437:17
[INFO] [stdout]      |
[INFO] [stdout] 2437 |             let mut client = iotry!(UtpSocket::connect(server_addr));
[INFO] [stdout]      |                 ^^^^^^^^^^
[INFO] [stdout] 2438 |             iotry!(client.send_to(&[0]));
[INFO] [stdout]      |                    ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `client` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 2437 |             let mut client: /* Type */ = iotry!(UtpSocket::connect(server_addr));
[INFO] [stdout]      |                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2447:29
[INFO] [stdout]      |
[INFO] [stdout] 2447 |                         let packet = iotry!(Packet::try_from_type(&buf[..len]));
[INFO] [stdout]      |                             ^^^^^^
[INFO] [stdout] 2448 |                         assert_eq!(packet.get_type(), PacketType::State);
[INFO] [stdout]      |                                    ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `packet` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 2447 |                         let packet: /* Type */ = iotry!(Packet::try_from_type(&buf[..len]));
[INFO] [stdout]      |                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:2463:27
[INFO] [stdout]      |
[INFO] [stdout] 2463 |             Err(ref e) if e.kind() == ErrorKind::TimedOut => (),
[INFO] [stdout]      |                           ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mut header = unsafe { &mut *(self.0.as_mut_ptr() as *mut PacketHeader) };
[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: variable does not need to be mutable
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:28:17
[INFO] [stdout]     |
[INFO] [stdout]  28 |             let mut header = unsafe { &mut*(self.0.as_mut_ptr() as *mut PacketHeader) };
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 312 |     make_setter!(set_seq_nr, seq_nr, u16);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `make_setter` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:28:17
[INFO] [stdout]     |
[INFO] [stdout]  28 |             let mut header = unsafe { &mut*(self.0.as_mut_ptr() as *mut PacketHeader) };
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 313 |     make_setter!(set_ack_nr, ack_nr, u16);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `make_setter` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:28:17
[INFO] [stdout]     |
[INFO] [stdout]  28 |             let mut header = unsafe { &mut*(self.0.as_mut_ptr() as *mut PacketHeader) };
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 314 |     make_setter!(set_connection_id, connection_id, u16);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `make_setter` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/packet.rs:28:17
[INFO] [stdout]     |
[INFO] [stdout]  28 |             let mut header = unsafe { &mut*(self.0.as_mut_ptr() as *mut PacketHeader) };
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 315 |     make_setter!(set_wnd_size, wnd_size, u32);
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `make_setter` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> bittorrent-protocol/btp-utp/src/socket.rs:465:17
[INFO] [stdout]     |
[INFO] [stdout] 465 |             let mut packet = &mut self.send_window[0];
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1110:9
[INFO] [stdout]      |
[INFO] [stdout] 1110 |     let mut socket = self.socket.try_clone().expect("UtpSocket clone fail");
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1111:9
[INFO] [stdout]      |
[INFO] [stdout] 1111 |     let mut connected_to = self.connected_to.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1112:9
[INFO] [stdout]      |
[INFO] [stdout] 1112 |     let mut sender_connection_id = self.sender_connection_id;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1113:9
[INFO] [stdout]      |
[INFO] [stdout] 1113 |     let mut receiver_connection_id = self.receiver_connection_id;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1114:9
[INFO] [stdout]      |
[INFO] [stdout] 1114 |     let mut seq_nr = self.seq_nr;
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1115:9
[INFO] [stdout]      |
[INFO] [stdout] 1115 |     let mut ack_nr = self.ack_nr;
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1116:9
[INFO] [stdout]      |
[INFO] [stdout] 1116 |     let mut state = self.state.clone();
[INFO] [stdout]      |         ----^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1117:9
[INFO] [stdout]      |
[INFO] [stdout] 1117 |     let mut incoming_buffer = self.incoming_buffer.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1118:9
[INFO] [stdout]      |
[INFO] [stdout] 1118 |     let mut send_window = self.send_window.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1119:9
[INFO] [stdout]      |
[INFO] [stdout] 1119 |     let mut unsent_queue = self.unsent_queue.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1120:9
[INFO] [stdout]      |
[INFO] [stdout] 1120 |     let mut duplicate_ack_count = self.duplicate_ack_count.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1121:9
[INFO] [stdout]      |
[INFO] [stdout] 1121 |     let mut last_acked = self.last_acked.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1122:9
[INFO] [stdout]      |
[INFO] [stdout] 1122 |     let mut last_acked_timestamp = self.last_acked_timestamp.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1123:9
[INFO] [stdout]      |
[INFO] [stdout] 1123 |     let mut last_dropped = self.last_dropped.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1124:9
[INFO] [stdout]      |
[INFO] [stdout] 1124 |     let mut rtt = self.rtt.clone();
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1125:9
[INFO] [stdout]      |
[INFO] [stdout] 1125 |     let mut pending_data = self.pending_data.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1126:9
[INFO] [stdout]      |
[INFO] [stdout] 1126 |     let mut rtt_variance = self.rtt_variance.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1127:9
[INFO] [stdout]      |
[INFO] [stdout] 1127 |     let mut curr_window = self.curr_window.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1128:9
[INFO] [stdout]      |
[INFO] [stdout] 1128 |     let mut remote_wnd_size= self.remote_wnd_size.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1129:9
[INFO] [stdout]      |
[INFO] [stdout] 1129 |     let mut base_delays= self.base_delays.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1130:9
[INFO] [stdout]      |
[INFO] [stdout] 1130 |     let mut current_delays= self.current_delays.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1131:9
[INFO] [stdout]      |
[INFO] [stdout] 1131 |     let mut their_delay = self.their_delay.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1132:9
[INFO] [stdout]      |
[INFO] [stdout] 1132 |     let mut last_rollover = self.last_rollover.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1133:9
[INFO] [stdout]      |
[INFO] [stdout] 1133 |     let mut congestion_timeout = self.congestion_timeout.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1134:9
[INFO] [stdout]      |
[INFO] [stdout] 1134 |     let mut cwnd = self.cwnd.clone();
[INFO] [stdout]      |         ----^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1135:9
[INFO] [stdout]      |
[INFO] [stdout] 1135 |     let mut max_retransmission_retries = self.max_retransmission_retries.clone();
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> bittorrent-protocol/btp-utp/src/socket.rs:1137:9
[INFO] [stdout]      |
[INFO] [stdout] 1137 |     let mut utp_socket = UtpSocket {
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `btp-utp` (lib test) due to 96 previous errors; 47 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "0528fc65575d84afc2bcbe2747f79357f5e0e21b083b3f7a844cf80fb8ac3a83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0528fc65575d84afc2bcbe2747f79357f5e0e21b083b3f7a844cf80fb8ac3a83", kill_on_drop: false }`
[INFO] [stdout] 0528fc65575d84afc2bcbe2747f79357f5e0e21b083b3f7a844cf80fb8ac3a83
