[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] d82daa9c31fb10e880deb4135efb9a8479d92d60 [INFO] checking xin-water/bittorrent-rs against try#ddfd70ee3c3748e597b32f416b0d15a4f6e37685 for pr-87050 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxin-water%2Fbittorrent-rs" "/workspace/builds/worker-6/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/xin-water/bittorrent-rs on toolchain ddfd70ee3c3748e597b32f416b0d15a4f6e37685 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ddfd70ee3c3748e597b32f416b0d15a4f6e37685" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-6/source/Cargo.toml [INFO] crate git repo https://github.com/xin-water/bittorrent-rs already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ddfd70ee3c3748e597b32f416b0d15a4f6e37685" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded simplelog v0.10.0 [INFO] [stderr] Downloaded unicode-bidi v0.2.6 [INFO] [stderr] Downloaded crossbeam v0.8.0 [INFO] [stderr] Downloaded pbr v1.0.4 [INFO] [stderr] Downloaded base32 v0.3.1 [INFO] [stderr] Downloaded quickcheck v0.4.1 [INFO] [stderr] Downloaded tokio v1.6.0 [INFO] [stderr] Downloaded bencode v0.1.16 [INFO] [stderr] Downloaded tokio-macros v1.2.0 [INFO] [stderr] Downloaded pendulum v0.3.1 [INFO] [stderr] Downloaded umio v0.3.0 [INFO] [stderr] Downloaded url v0.5.10 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+ddfd70ee3c3748e597b32f416b0d15a4f6e37685" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 762039cbd3ab254cc1cae9364929867becfaf28546001c22f9639798a52c4550 [INFO] running `Command { std: "docker" "start" "-a" "762039cbd3ab254cc1cae9364929867becfaf28546001c22f9639798a52c4550", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "762039cbd3ab254cc1cae9364929867becfaf28546001c22f9639798a52c4550", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "762039cbd3ab254cc1cae9364929867becfaf28546001c22f9639798a52c4550", kill_on_drop: false }` [INFO] [stdout] 762039cbd3ab254cc1cae9364929867becfaf28546001c22f9639798a52c4550 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+ddfd70ee3c3748e597b32f416b0d15a4f6e37685" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3128a85849f4c81f6ea210ef85166ba6549b82b91dfbf25787b46645d894f9b6 [INFO] running `Command { std: "docker" "start" "-a" "3128a85849f4c81f6ea210ef85166ba6549b82b91dfbf25787b46645d894f9b6", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.94 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling proc-macro2 v1.0.26 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.72 [INFO] [stderr] Compiling cc v1.0.67 [INFO] [stderr] Compiling futures-core v0.3.15 [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Checking slab v0.4.3 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Checking pin-project-lite v0.2.6 [INFO] [stderr] Checking futures-sink v0.3.15 [INFO] [stderr] Compiling futures-task v0.3.15 [INFO] [stderr] Compiling futures-channel v0.3.15 [INFO] [stderr] Compiling proc-macro-nested v0.1.7 [INFO] [stderr] Checking winapi v0.2.8 [INFO] [stderr] Checking futures-io v0.3.15 [INFO] [stderr] Checking rustc-serialize v0.3.24 [INFO] [stderr] Checking bytes v1.0.1 [INFO] [stderr] Checking once_cell v1.7.2 [INFO] [stderr] Compiling gcc v0.3.55 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Checking bitflags v0.4.0 [INFO] [stderr] Checking gimli v0.24.0 [INFO] [stderr] Checking smallvec v1.6.1 [INFO] [stderr] Compiling build_const v0.2.2 [INFO] [stderr] Checking utf8-ranges v0.1.3 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Checking regex-syntax v0.3.9 [INFO] [stderr] Checking slab v0.1.3 [INFO] [stderr] Checking rustc-demangle v0.1.19 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking object v0.24.0 [INFO] [stderr] Checking bytes v0.3.0 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking bit-vec v0.4.4 [INFO] [stderr] Checking termcolor v1.1.2 [INFO] [stderr] Checking linked-hash-map v0.5.4 [INFO] [stderr] Checking base32 v0.3.1 [INFO] [stderr] Checking slab v0.2.0 [INFO] [stderr] Checking futures v0.1.31 [INFO] [stderr] Checking crossbeam v0.3.2 [INFO] [stderr] Checking hex v0.3.2 [INFO] [stderr] Checking pin-project-lite v0.1.12 [INFO] [stderr] Checking itoa v0.4.7 [INFO] [stderr] Compiling openssl v0.10.34 [INFO] [stderr] Compiling native-tls v0.2.7 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling httparse v1.4.1 [INFO] [stderr] Compiling serde v1.0.126 [INFO] [stderr] Checking openssl-probe v0.1.4 [INFO] [stderr] Compiling encoding_rs v0.8.28 [INFO] [stderr] Checking tower-service v0.3.1 [INFO] [stderr] Compiling hex-literal v0.3.1 [INFO] [stderr] Checking bittorrent-client v0.1.0 (/opt/rustwide/workdir/bittorrent-client) [INFO] [stderr] Compiling futures-macro v0.3.15 [INFO] [stderr] Compiling futures-util v0.3.15 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling crossbeam-utils v0.8.4 [INFO] [stderr] Compiling memoffset v0.6.3 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling tokio v1.6.0 [INFO] [stderr] Compiling indexmap v1.6.2 [INFO] [stderr] Checking tinyvec v1.2.0 [INFO] [stderr] Checking lock_api v0.4.4 [INFO] [stderr] Checking unicode-bidi v0.2.6 [INFO] [stderr] Checking tracing-core v0.1.18 [INFO] [stderr] Checking unicode-bidi v0.3.5 [INFO] [stderr] Checking walkdir v2.3.2 [INFO] [stderr] Checking lru-cache v0.1.2 [INFO] [stderr] Compiling crc v1.8.1 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Compiling ws2_32-sys v0.2.1 [INFO] [stderr] Checking form_urlencoded v1.0.1 [INFO] [stderr] Checking bit-set v0.4.0 [INFO] [stderr] Checking http v0.2.4 [INFO] [stderr] Compiling error-chain v0.12.4 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking unicode-normalization v0.1.17 [INFO] [stderr] Checking log v0.3.9 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Checking tracing v0.1.26 [INFO] [stderr] Compiling rust-crypto v0.2.36 [INFO] [stderr] Checking crossbeam-channel v0.5.1 [INFO] [stderr] Checking crossbeam-epoch v0.9.4 [INFO] [stderr] Checking crossbeam-queue v0.3.1 [INFO] [stderr] Checking idna v0.2.3 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking pendulum v0.3.1 [INFO] [stderr] Compiling mime_guess v2.0.3 [INFO] [stderr] Checking crossbeam-deque v0.8.0 [INFO] [stderr] Compiling backtrace v0.3.59 [INFO] [stderr] Compiling openssl-sys v0.9.63 [INFO] [stderr] Checking net2 v0.2.37 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking time v0.1.43 [INFO] [stderr] Checking memchr v0.1.11 [INFO] [stderr] Checking thread-id v2.0.0 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking parking_lot_core v0.8.3 [INFO] [stderr] Checking nix v0.5.1 [INFO] [stderr] Checking memchr v1.0.2 [INFO] [stderr] Checking mio v0.7.11 [INFO] [stderr] Checking signal-hook-registry v1.3.0 [INFO] [stderr] Checking socket2 v0.3.19 [INFO] [stderr] Checking thread_local v0.2.7 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Checking crossbeam v0.8.0 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking nom v3.2.1 [INFO] [stderr] Checking aho-corasick v0.5.3 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking threadpool v1.8.1 [INFO] [stderr] Checking miow v0.1.5 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking regex v0.1.80 [INFO] [stderr] Checking parking_lot v0.11.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking url v2.2.2 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking pbr v1.0.4 [INFO] [stderr] Checking addr2line v0.15.1 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking tokio v0.2.25 [INFO] [stderr] Checking http-body v0.3.1 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking num-bigint v0.1.44 [INFO] [stderr] Checking num-complex v0.1.43 [INFO] [stderr] Checking bencode v0.1.16 [INFO] [stderr] Checking uuid v0.2.3 [INFO] [stderr] Checking env_logger v0.3.5 [INFO] [stderr] Checking quickcheck v0.4.1 [INFO] [stderr] Checking simplelog v0.10.0 [INFO] [stderr] Checking url v0.5.10 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking mio v0.5.1 [INFO] [stderr] Checking umio v0.3.0 [INFO] [stderr] Checking serde_urlencoded v0.7.0 [INFO] [stderr] Checking tokio-util v0.3.1 [INFO] [stderr] Checking tokio-tls v0.3.1 [INFO] [stderr] Compiling tokio-macros v1.2.0 [INFO] [stderr] Compiling pin-project-internal v1.0.7 [INFO] [stderr] Checking pin-project v1.0.7 [INFO] [stderr] Checking tracing-futures v0.2.5 [INFO] [stderr] Checking futures-executor v0.3.15 [INFO] [stderr] Checking h2 v0.2.7 [INFO] [stderr] Checking futures v0.3.15 [INFO] [stderr] Checking bittorrent-protocol v0.3.0-bate (/opt/rustwide/workdir/bittorrent-protocol) [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/contiguous.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 158 | fn positive_write_no_buffers() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/contiguous.rs:165:5 [INFO] [stdout] | [INFO] [stdout] 165 | fn positive_write_single_buffer_partially_filled() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/contiguous.rs:175:5 [INFO] [stdout] | [INFO] [stdout] 175 | fn positive_write_single_buffer_completely_filled() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/contiguous.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | fn positive_write_mutliple_buffers_partially_filled() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/contiguous.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 197 | fn positive_write_multiple_buffers_completely_filled() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/contiguous.rs:209:5 [INFO] [stdout] | [INFO] [stdout] 209 | fn positive_read_no_buffers() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/contiguous.rs:221:5 [INFO] [stdout] | [INFO] [stdout] 221 | fn positive_read_single_buffer_empty() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/contiguous.rs:234:5 [INFO] [stdout] | [INFO] [stdout] 234 | fn positive_read_multiple_buffers_empty() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/contiguous.rs:248:5 [INFO] [stdout] | [INFO] [stdout] 248 | fn positive_read_single_buffer_partially_filled() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/contiguous.rs:265:5 [INFO] [stdout] | [INFO] [stdout] 265 | fn positive_read_single_buffer_completely_filled() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/contiguous.rs:282:5 [INFO] [stdout] | [INFO] [stdout] 282 | fn positive_read_mutliple_buffers_partially_filled() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/contiguous.rs:301:5 [INFO] [stdout] | [INFO] [stdout] 301 | fn positive_read_multiple_buffers_completely_filled() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/convert.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | fn positive_port_to_bytes_be() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/convert.rs:174:5 [INFO] [stdout] | [INFO] [stdout] 174 | fn positive_sock_v4_to_bytes_be() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/convert.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | fn positive_sock_v6_to_bytes_be() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/convert.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | fn positive_four_bytes_to_array() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/convert.rs:230:5 [INFO] [stdout] | [INFO] [stdout] 230 | fn positive_eight_bytes_to_array() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/convert.rs:247:5 [INFO] [stdout] | [INFO] [stdout] 247 | fn positive_ipv4_to_bytes_be() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/convert.rs:257:5 [INFO] [stdout] | [INFO] [stdout] 257 | fn positive_ipv6_to_bytes_be() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/convert.rs:271:5 [INFO] [stdout] | [INFO] [stdout] 271 | fn positive_bytes_be_to_ipv4() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/convert.rs:281:5 [INFO] [stdout] | [INFO] [stdout] 281 | fn positive_bytes_be_to_ipv6() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/convert.rs:291:5 [INFO] [stdout] | [INFO] [stdout] 291 | fn positive_bytes_be_to_port() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/convert.rs:300:5 [INFO] [stdout] | [INFO] [stdout] 300 | fn positive_bytes_be_to_sock_v4() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/convert.rs:310:5 [INFO] [stdout] | [INFO] [stdout] 310 | fn positive_bytes_be_to_sock_v6() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/send/split_sender.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | fn positive_send_zero_capacity() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/send/split_sender.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | fn positive_send_one_capacity() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/sha/mod.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | fn positive_no_leading_zeroes() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/sha/mod.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 194 | fn positive_all_leading_zeroes() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/sha/mod.rs:205:5 [INFO] [stdout] | [INFO] [stdout] 205 | fn positive_one_leading_zero() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/sha/mod.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 219 | fn positive_one_trailing_zero() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/sha/mod.rs:234:5 [INFO] [stdout] | [INFO] [stdout] 234 | fn negative_from_hash_too_long() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/sha/mod.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | fn negative_from_hash_too_short() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/trans/locally_shuffled.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | fn positive_single_prealloc_u8_overflow() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/trans/locally_shuffled.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | fn positive_multiple_prealloc_u8_overflow() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/trans/locally_shuffled.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | fn positive_single_prealloc_i8_overflow() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/trans/locally_shuffled.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | fn positive_multiple_prealloc_i8_overflow() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/trans/locally_shuffled.rs:175:5 [INFO] [stdout] | [INFO] [stdout] 175 | fn positive_single_prealloc_u32_no_overflow() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/trans/locally_shuffled.rs:191:5 [INFO] [stdout] | [INFO] [stdout] 191 | fn positive_multiple_prealloc_u32_no_overflow() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/trans/old.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | fn positive_single_prealloc_u8_overflow() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/trans/old.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | fn positive_multiple_prealloc_u8_overflow() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/trans/old.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | fn positive_single_prealloc_i8_overflow() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/trans/old.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | fn positive_multiple_prealloc_i8_overflow() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/trans/old.rs:180:5 [INFO] [stdout] | [INFO] [stdout] 180 | fn positive_single_prealloc_u32_no_overflow() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/trans/old.rs:196:5 [INFO] [stdout] | [INFO] [stdout] 196 | fn positive_multiple_prealloc_u32_no_overflow() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/trans/old.rs:212:5 [INFO] [stdout] | [INFO] [stdout] 212 | fn positive_multiple_prealloc_u32_overflow() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/trans/sequential.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | fn positive_sequentail_zero_initial() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/trans/sequential.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | fn positive_sequential_u8_overflow() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/trans/sequential.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | fn positive_sequentail_start_at() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/util/mod.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | fn positive_fisher_shuffle() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/mutable/bencode_mut.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | fn positive_int_encode() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/mutable/bencode_mut.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 157 | fn positive_bytes_encode() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/mutable/bencode_mut.rs:165:5 [INFO] [stdout] | [INFO] [stdout] 165 | fn positive_empty_list_encode() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/mutable/bencode_mut.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | fn positive_nonempty_list_encode() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/mutable/bencode_mut.rs:186:5 [INFO] [stdout] | [INFO] [stdout] 186 | fn positive_empty_dict_encode() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/mutable/bencode_mut.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 194 | fn positive_nonempty_dict_encode() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/bencode_ref.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | fn positive_int_buffer() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/bencode_ref.rs:144:5 [INFO] [stdout] | [INFO] [stdout] 144 | fn positive_bytes_buffer() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/bencode_ref.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | fn positive_list_buffer() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/bencode_ref.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | fn positive_dict_buffer() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/bencode_ref.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | fn positive_list_nested_int_buffer() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/bencode_ref.rs:180:5 [INFO] [stdout] | [INFO] [stdout] 180 | fn positive_dict_nested_int_buffer() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/bencode_ref.rs:192:5 [INFO] [stdout] | [INFO] [stdout] 192 | fn positive_list_nested_bytes_buffer() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/bencode_ref.rs:204:5 [INFO] [stdout] | [INFO] [stdout] 204 | fn positive_dict_nested_bytes_buffer() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/bencode_ref.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | fn positive_list_nested_list_buffer() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/bencode_ref.rs:228:5 [INFO] [stdout] | [INFO] [stdout] 228 | fn positive_dict_nested_list_buffer() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/bencode_ref.rs:240:5 [INFO] [stdout] | [INFO] [stdout] 240 | fn positive_list_nested_dict_buffer() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/bencode_ref.rs:252:5 [INFO] [stdout] | [INFO] [stdout] 252 | fn positive_dict_nested_dict_buffer() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:250:5 [INFO] [stdout] | [INFO] [stdout] 250 | fn positive_decode_general() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:285:5 [INFO] [stdout] | [INFO] [stdout] 285 | fn positive_decode_recursion() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:292:5 [INFO] [stdout] | [INFO] [stdout] 292 | fn positive_decode_bytes_utf8() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:299:5 [INFO] [stdout] | [INFO] [stdout] 299 | fn positive_decode_dict() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:328:5 [INFO] [stdout] | [INFO] [stdout] 328 | fn positive_decode_list() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:352:5 [INFO] [stdout] | [INFO] [stdout] 352 | fn positive_decode_bytes() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:363:5 [INFO] [stdout] | [INFO] [stdout] 363 | fn positive_decode_bytes_zero_len() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:369:5 [INFO] [stdout] | [INFO] [stdout] 369 | fn positive_decode_int() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:377:5 [INFO] [stdout] | [INFO] [stdout] 377 | fn positive_decode_int_negative() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:385:5 [INFO] [stdout] | [INFO] [stdout] 385 | fn positive_decode_int_zero() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:393:5 [INFO] [stdout] | [INFO] [stdout] 393 | fn positive_decode_partial() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:401:5 [INFO] [stdout] | [INFO] [stdout] 401 | fn positive_decode_dict_unordered_keys() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:407:5 [INFO] [stdout] | [INFO] [stdout] 407 | fn negative_decode_bytes_neg_len() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:413:5 [INFO] [stdout] | [INFO] [stdout] 413 | fn negative_decode_bytes_extra() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:419:5 [INFO] [stdout] | [INFO] [stdout] 419 | fn negative_decode_bytes_not_utf8() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | fn negative_decode_int_nan() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:435:5 [INFO] [stdout] | [INFO] [stdout] 435 | fn negative_decode_int_leading_zero() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:443:5 [INFO] [stdout] | [INFO] [stdout] 443 | fn negative_decode_int_double_zero() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:451:5 [INFO] [stdout] | [INFO] [stdout] 451 | fn negative_decode_int_negative_zero() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:459:5 [INFO] [stdout] | [INFO] [stdout] 459 | fn negative_decode_int_double_negative() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:467:5 [INFO] [stdout] | [INFO] [stdout] 467 | fn negative_decode_dict_unordered_keys() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:473:5 [INFO] [stdout] | [INFO] [stdout] 473 | fn negative_decode_dict_dup_keys_same_data() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:479:5 [INFO] [stdout] | [INFO] [stdout] 479 | fn negative_decode_dict_dup_keys_diff_data() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/helpers/piece_checker.rs:378:5 [INFO] [stdout] | [INFO] [stdout] 378 | fn positive_merge_duplicate_messages() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/helpers/piece_checker.rs:387:5 [INFO] [stdout] | [INFO] [stdout] 387 | fn negative_merge_duplicate_messages_diff_hash() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/helpers/piece_checker.rs:397:5 [INFO] [stdout] | [INFO] [stdout] 397 | fn negative_merge_duplicate_messages_diff_index() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/helpers/piece_checker.rs:407:5 [INFO] [stdout] | [INFO] [stdout] 407 | fn positive_merge_no_overlap_messages() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/helpers/piece_checker.rs:417:5 [INFO] [stdout] | [INFO] [stdout] 417 | fn positive_merge_overlap_messages() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/helpers/piece_checker.rs:428:5 [INFO] [stdout] | [INFO] [stdout] 428 | fn positive_merge_neighbor_messages() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/magnet/mod.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | fn test_wikipedia() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/magnet/mod.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | fn test_tpb() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/builder/worker.rs:339:5 [INFO] [stdout] | [INFO] [stdout] 339 | fn positive_piece_length_divisible_region_single_thread() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/builder/worker.rs:349:5 [INFO] [stdout] | [INFO] [stdout] 349 | fn positive_piece_length_divisible_region_multiple_threads() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/builder/worker.rs:359:5 [INFO] [stdout] | [INFO] [stdout] 359 | fn positive_piece_length_undivisible_region_single_thread() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/builder/worker.rs:369:5 [INFO] [stdout] | [INFO] [stdout] 369 | fn positive_piece_length_undivisible_region_multiple_threads() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/builder/worker.rs:379:5 [INFO] [stdout] | [INFO] [stdout] 379 | fn positive_piece_length_divisible_regions_single_thread() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/builder/worker.rs:395:5 [INFO] [stdout] | [INFO] [stdout] 395 | fn positive_piece_length_divisible_regions_multiple_threads() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/builder/worker.rs:411:5 [INFO] [stdout] | [INFO] [stdout] 411 | fn positive_piece_length_undivisible_regions_single_thread() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/builder/worker.rs:428:5 [INFO] [stdout] | [INFO] [stdout] 428 | fn positive_piece_length_undivisible_regions_multiple_threads() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/metainfo.rs:664:5 [INFO] [stdout] | [INFO] [stdout] 664 | fn positive_parse_from_single_file() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/metainfo.rs:687:5 [INFO] [stdout] | [INFO] [stdout] 687 | fn positive_parse_from_multi_file() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/metainfo.rs:717:5 [INFO] [stdout] | [INFO] [stdout] 717 | fn positive_parse_from_multi_files() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/metainfo.rs:754:5 [INFO] [stdout] | [INFO] [stdout] 754 | fn positive_parse_from_empty_pieces() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/metainfo.rs:777:5 [INFO] [stdout] | [INFO] [stdout] 777 | fn positive_parse_with_creation_date() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/metainfo.rs:802:5 [INFO] [stdout] | [INFO] [stdout] 802 | fn positive_parse_with_comment() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/metainfo.rs:827:5 [INFO] [stdout] | [INFO] [stdout] 827 | fn positive_parse_with_created_by() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/metainfo.rs:852:5 [INFO] [stdout] | [INFO] [stdout] 852 | fn positive_parse_with_encoding() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/metainfo.rs:877:5 [INFO] [stdout] | [INFO] [stdout] 877 | fn positive_parse_with_private_zero() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/metainfo.rs:902:5 [INFO] [stdout] | [INFO] [stdout] 902 | fn positive_parse_with_private_one() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/metainfo.rs:927:5 [INFO] [stdout] | [INFO] [stdout] 927 | fn positive_parse_with_private_non_zero() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/metainfo.rs:952:5 [INFO] [stdout] | [INFO] [stdout] 952 | fn positive_parse_with_no_main_tracker() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/metainfo.rs:975:5 [INFO] [stdout] | [INFO] [stdout] 975 | fn negative_parse_from_empty_bytes() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/metainfo.rs:981:5 [INFO] [stdout] | [INFO] [stdout] 981 | fn negative_parse_with_no_piece_length() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/metainfo.rs:1006:5 [INFO] [stdout] | [INFO] [stdout] 1006 | fn negative_parse_with_no_pieces() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/metainfo.rs:1029:5 [INFO] [stdout] | [INFO] [stdout] 1029 | fn negative_parse_from_single_file_with_no_file_length() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/metainfo/metainfo.rs:1052:5 [INFO] [stdout] | [INFO] [stdout] 1052 | fn negative_parse_from_single_file_with_no_file_name() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:408:5 [INFO] [stdout] | [INFO] [stdout] 408 | fn positive_decode_general() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:443:5 [INFO] [stdout] | [INFO] [stdout] 443 | fn positive_decode_recursion() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:450:5 [INFO] [stdout] | [INFO] [stdout] 450 | fn positive_decode_bytes_utf8() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:457:5 [INFO] [stdout] | [INFO] [stdout] 457 | fn positive_decode_dict() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:486:5 [INFO] [stdout] | [INFO] [stdout] 486 | fn positive_decode_list() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:510:5 [INFO] [stdout] | [INFO] [stdout] 510 | fn positive_decode_bytes() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:521:5 [INFO] [stdout] | [INFO] [stdout] 521 | fn positive_decode_bytes_zero_len() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:527:5 [INFO] [stdout] | [INFO] [stdout] 527 | fn positive_decode_int() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:535:5 [INFO] [stdout] | [INFO] [stdout] 535 | fn positive_decode_int_negative() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:543:5 [INFO] [stdout] | [INFO] [stdout] 543 | fn positive_decode_int_zero() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:552:5 [INFO] [stdout] | [INFO] [stdout] 552 | fn negative_decode_bytes_neg_len() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:558:5 [INFO] [stdout] | [INFO] [stdout] 558 | fn negative_decode_bytes_extra() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:564:5 [INFO] [stdout] | [INFO] [stdout] 564 | fn negative_decode_bytes_not_utf8() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:572:5 [INFO] [stdout] | [INFO] [stdout] 572 | fn negative_decode_int_nan() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:580:5 [INFO] [stdout] | [INFO] [stdout] 580 | fn negative_decode_int_leading_zero() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:588:5 [INFO] [stdout] | [INFO] [stdout] 588 | fn negative_decode_int_double_zero() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:596:5 [INFO] [stdout] | [INFO] [stdout] 596 | fn negative_decode_int_negative_zero() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:604:5 [INFO] [stdout] | [INFO] [stdout] 604 | fn negative_decode_int_double_negative() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:612:5 [INFO] [stdout] | [INFO] [stdout] 612 | fn negative_decode_dict_unordered_keys() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:618:5 [INFO] [stdout] | [INFO] [stdout] 618 | fn negative_decode_dict_dup_keys_same_data() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:624:5 [INFO] [stdout] | [INFO] [stdout] 624 | fn negative_decode_dict_dup_keys_diff_data() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/message/compact_info.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | fn positive_compact_nodes_empty() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/message/compact_info.rs:193:5 [INFO] [stdout] | [INFO] [stdout] 193 | fn positive_compact_nodes_one() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/message/compact_info.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | fn positive_compact_nodes_many() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/message/compact_info.rs:243:5 [INFO] [stdout] | [INFO] [stdout] 243 | fn positive_compact_values_empty() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/message/compact_info.rs:253:5 [INFO] [stdout] | [INFO] [stdout] 253 | fn positive_compact_values_one() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/message/compact_info.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | fn positive_compact_values_many() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/bucket.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | fn positive_initial_no_nodes() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/bucket.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | fn positive_all_questionable_nodes() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/bucket.rs:193:5 [INFO] [stdout] | [INFO] [stdout] 193 | fn positive_all_good_nodes() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/bucket.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 208 | fn positive_replace_questionable_node() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/bucket.rs:230:5 [INFO] [stdout] | [INFO] [stdout] 230 | fn positive_resist_good_node_churn() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/bucket.rs:264:5 [INFO] [stdout] | [INFO] [stdout] 264 | fn positive_resist_questionable_node_churn() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/node.rs:266:5 [INFO] [stdout] | [INFO] [stdout] 266 | fn positive_encode_node() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/node.rs:292:5 [INFO] [stdout] | [INFO] [stdout] 292 | fn positive_as_bad() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/node.rs:302:5 [INFO] [stdout] | [INFO] [stdout] 302 | fn positive_as_questionable() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/node.rs:312:5 [INFO] [stdout] | [INFO] [stdout] 312 | fn positive_as_good() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/node.rs:322:5 [INFO] [stdout] | [INFO] [stdout] 322 | fn positive_response_renewal() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/node.rs:334:5 [INFO] [stdout] | [INFO] [stdout] 334 | fn positive_request_renewal() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/node.rs:346:5 [INFO] [stdout] | [INFO] [stdout] 346 | fn positive_node_idle() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/node.rs:361:5 [INFO] [stdout] | [INFO] [stdout] 361 | fn positive_node_idle_reqeusts() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/node.rs:375:5 [INFO] [stdout] | [INFO] [stdout] 375 | fn positive_good_status_ordering() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/node.rs:382:5 [INFO] [stdout] | [INFO] [stdout] 382 | fn positive_questionable_status_ordering() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/node.rs:389:5 [INFO] [stdout] | [INFO] [stdout] 389 | fn positive_bad_status_ordering() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/table.rs:475:5 [INFO] [stdout] | [INFO] [stdout] 475 | fn positive_add_node_max_recursion() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/table.rs:494:5 [INFO] [stdout] | [INFO] [stdout] 494 | fn positive_initial_empty_buckets() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/table.rs:519:5 [INFO] [stdout] | [INFO] [stdout] 519 | fn positive_first_bucket_sorted() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/table.rs:567:5 [INFO] [stdout] | [INFO] [stdout] 567 | fn positive_last_bucket_sorted() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/table.rs:613:5 [INFO] [stdout] | [INFO] [stdout] 613 | fn positive_all_sorted_buckets() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/routing/table.rs:638:5 [INFO] [stdout] | [INFO] [stdout] 638 | fn negative_node_id_equal_table_id() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/security.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 157 | fn positive_generate_compliant_ipv4_test_one() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/security.rs:172:5 [INFO] [stdout] | [INFO] [stdout] 172 | fn positive_generate_compliant_ipv4_test_two() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/security.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 187 | fn positive_generate_compliant_ipv4_test_three() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/security.rs:202:5 [INFO] [stdout] | [INFO] [stdout] 202 | fn positive_generate_compliant_ipv4_test_four() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/security.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 217 | fn positive_generate_compliant_ipv4_test_five() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/security.rs:232:5 [INFO] [stdout] | [INFO] [stdout] 232 | fn positive_is_compliant_ipv4_test_one() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/security.rs:263:5 [INFO] [stdout] | [INFO] [stdout] 263 | fn positive_is_compliant_ipv4_test_two() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/security.rs:294:5 [INFO] [stdout] | [INFO] [stdout] 294 | fn positive_is_compliant_ipv4_test_three() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/security.rs:325:5 [INFO] [stdout] | [INFO] [stdout] 325 | fn positive_is_compliant_ipv4_test_four() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/security.rs:356:5 [INFO] [stdout] | [INFO] [stdout] 356 | fn positive_is_compliant_ipv4_test_five() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/storage.rs:215:5 [INFO] [stdout] | [INFO] [stdout] 215 | fn positive_add_and_retrieve_contact() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/storage.rs:230:5 [INFO] [stdout] | [INFO] [stdout] 230 | fn positive_add_and_retrieve_contacts() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/storage.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | fn positive_renew_contacts() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/storage.rs:276:5 [INFO] [stdout] | [INFO] [stdout] 276 | fn positive_full_storage_expire_one_infohash() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/storage.rs:311:5 [INFO] [stdout] | [INFO] [stdout] 311 | fn positive_full_storage_expire_two_infohash() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/token.rs:210:5 [INFO] [stdout] | [INFO] [stdout] 210 | fn positive_accept_valid_v4_token() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/token.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | fn positive_accept_valid_v6_token() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/token.rs:230:5 [INFO] [stdout] | [INFO] [stdout] 230 | fn positive_accept_v4_token_from_second_secret() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/token.rs:244:5 [INFO] [stdout] | [INFO] [stdout] 244 | fn positive_accept_v6_token_from_second_secret() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/token.rs:259:5 [INFO] [stdout] | [INFO] [stdout] 259 | fn negative_reject_expired_v4_token() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/token.rs:274:5 [INFO] [stdout] | [INFO] [stdout] 274 | fn negative_reject_expired_v6_token() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/transaction.rs:286:5 [INFO] [stdout] | [INFO] [stdout] 286 | fn positive_tid_from_bytes() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/transaction.rs:297:5 [INFO] [stdout] | [INFO] [stdout] 297 | fn positive_unique_aid_blocks() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/transaction.rs:312:5 [INFO] [stdout] | [INFO] [stdout] 312 | fn positive_unique_mid_blocks() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/transaction.rs:328:5 [INFO] [stdout] | [INFO] [stdout] 328 | fn positive_unique_tid_blocks() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/transaction.rs:347:5 [INFO] [stdout] | [INFO] [stdout] 347 | fn positive_overflow_aid_generate() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/transaction.rs:375:5 [INFO] [stdout] | [INFO] [stdout] 375 | fn positive_overflow_mid_generate() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/dht/transaction.rs:404:5 [INFO] [stdout] | [INFO] [stdout] 404 | fn positive_overflow_tid_generate() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | /// Parse an end of buffer or the end of option byte. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:191:1 [INFO] [stdout] | [INFO] [stdout] 191 | /// Parse a single byte as an unsigned pointer size. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> bittorrent-protocol/src/lib.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition [INFO] [stdout] --> bittorrent-protocol/src/bencode/mod.rs:134:1 [INFO] [stdout] | [INFO] [stdout] 134 | / macro_rules! bt_ben_list { [INFO] [stdout] 135 | | ( $($ben:expr),* ) => { [INFO] [stdout] 136 | | { [INFO] [stdout] 137 | | use crate::bencode::{BencodeMut, BMutAccess}; [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::sink::Sink` [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use futures::sink::Sink; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/helpers/piece_checker.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Sender` [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/helpers/piece_checker.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::sync::mpsc::Sender; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ODiskMessage` [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/helpers/piece_checker.rs:10:46 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::disk::{BlockMetadata, FileSystem, ODiskMessage}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/mod.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `threadpool::ThreadPool` [INFO] [stdout] --> bittorrent-protocol/src/disk/manager.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use threadpool::ThreadPool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FutureExt`, `Future`, `SinkExt`, `StreamExt`, `TryFutureExt`, `TryFuture`, `TryStreamExt`, `TryStream` [INFO] [stdout] --> bittorrent-protocol/src/disk/manager.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | Future, FutureExt, Sink, SinkExt, Stream, StreamExt, TryFuture, TryFutureExt, TryStream, [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] 12 | TryStreamExt, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp` [INFO] [stdout] --> bittorrent-protocol/src/handshake/manager/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HandshakeType` [INFO] [stdout] --> bittorrent-protocol/src/handshake/manager/mod.rs:27:56 [INFO] [stdout] | [INFO] [stdout] 27 | use crate::handshake::handler::{handshaker, initiator, HandshakeType}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/listener.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Cursor` [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/framed.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::{self, Cursor, Write, Read}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/framed.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Incoming` [INFO] [stdout] --> bittorrent-protocol/src/handshake/transport.rs:7:28 [INFO] [stdout] | [INFO] [stdout] 7 | use std::net::{SocketAddr, Incoming}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::option::Option::Some` [INFO] [stdout] --> bittorrent-protocol/src/handshake/transport.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::option::Option::Some; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UtpStream` [INFO] [stdout] --> bittorrent-protocol/src/handshake/transport.rs:10:42 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::utp::{UtpSocket, UtpListener, UtpStream}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sender` [INFO] [stdout] --> bittorrent-protocol/src/handshake/stream.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use crossbeam::channel::{Sender,Receiver}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:551:5 [INFO] [stdout] | [INFO] [stdout] 551 | fn positive_write_request() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ManagedMessage` [INFO] [stdout] --> bittorrent-protocol/src/peer/manager/builder.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use super::{ManagedMessage, PeerManager}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::TcpStream` [INFO] [stdout] --> bittorrent-protocol/src/peer/manager/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::net::TcpStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::TcpStream` [INFO] [stdout] --> bittorrent-protocol/src/peer/manager/task_one_thread.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::net::TcpStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex` [INFO] [stdout] --> bittorrent-protocol/src/peer/manager/task_one_thread.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::peer::manager::TryClone` [INFO] [stdout] --> bittorrent-protocol/src/peer/manager/task_one_thread.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::peer::manager::TryClone; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::peer::message::PeerWireProtocolMessage` [INFO] [stdout] --> bittorrent-protocol/src/peer/manager/task_split.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::peer::message::PeerWireProtocolMessage; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::TcpStream` [INFO] [stdout] --> bittorrent-protocol/src/peer/manager/task_split.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::net::TcpStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::select::discovery::error::DiscoveryError` [INFO] [stdout] --> bittorrent-protocol/src/select/uber.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::select::discovery::error::DiscoveryError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:599:5 [INFO] [stdout] | [INFO] [stdout] 599 | fn positive_write_response() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:622:5 [INFO] [stdout] | [INFO] [stdout] 622 | fn positive_write_state() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:641:5 [INFO] [stdout] | [INFO] [stdout] 641 | fn positive_write_none_event() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:656:5 [INFO] [stdout] | [INFO] [stdout] 656 | fn positive_write_completed_event() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:671:5 [INFO] [stdout] | [INFO] [stdout] 671 | fn positive_write_started_event() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:686:5 [INFO] [stdout] | [INFO] [stdout] 686 | fn positive_write_stopped_event() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:701:5 [INFO] [stdout] | [INFO] [stdout] 701 | fn positive_write_source_ipv4_implied() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:714:5 [INFO] [stdout] | [INFO] [stdout] 714 | fn positive_write_source_ipv6_implied() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:727:5 [INFO] [stdout] | [INFO] [stdout] 727 | fn positive_write_source_ipv4_explicit() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:740:5 [INFO] [stdout] | [INFO] [stdout] 740 | fn positive_write_source_ipv6_explicit() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:753:5 [INFO] [stdout] | [INFO] [stdout] 753 | fn positive_write_desired_peers_default() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:768:5 [INFO] [stdout] | [INFO] [stdout] 768 | fn positive_write_desired_peers_specified() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:781:5 [INFO] [stdout] | [INFO] [stdout] 781 | fn positive_parse_request_empty_options() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:820:5 [INFO] [stdout] | [INFO] [stdout] 820 | fn negative_parse_request_missing_key() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:847:5 [INFO] [stdout] | [INFO] [stdout] 847 | fn positive_parse_response_empty_peers() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:876:5 [INFO] [stdout] | [INFO] [stdout] 876 | fn positive_parse_response_many_peers() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:919:5 [INFO] [stdout] | [INFO] [stdout] 919 | fn positive_parse_state() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:937:5 [INFO] [stdout] | [INFO] [stdout] 937 | fn negative_parse_incomplete_state() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:951:5 [INFO] [stdout] | [INFO] [stdout] 951 | fn positive_parse_none_event() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:964:5 [INFO] [stdout] | [INFO] [stdout] 964 | fn positive_parse_completed_event() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:977:5 [INFO] [stdout] | [INFO] [stdout] 977 | fn positive_parse_started_event() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:990:5 [INFO] [stdout] | [INFO] [stdout] 990 | fn negative_parse_no_event() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:999:5 [INFO] [stdout] | [INFO] [stdout] 999 | fn positive_parse_stopped_event() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:1012:5 [INFO] [stdout] | [INFO] [stdout] 1012 | fn positive_parse_implied_v4_source() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:1023:5 [INFO] [stdout] | [INFO] [stdout] 1023 | fn positive_parse_explicit_v4_source() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:1033:5 [INFO] [stdout] | [INFO] [stdout] 1033 | fn positive_parse_implied_v6_source() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:1044:5 [INFO] [stdout] | [INFO] [stdout] 1044 | fn positive_parse_explicit_v6_source() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:1055:5 [INFO] [stdout] | [INFO] [stdout] 1055 | fn negative_parse_incomplete_v4_source() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:1064:5 [INFO] [stdout] | [INFO] [stdout] 1064 | fn negative_parse_incomplete_v6_source() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:1073:5 [INFO] [stdout] | [INFO] [stdout] 1073 | fn negative_parse_empty_v4_source() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:1082:5 [INFO] [stdout] | [INFO] [stdout] 1082 | fn negative_parse_empty_v6_source() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:1091:5 [INFO] [stdout] | [INFO] [stdout] 1091 | fn positive_parse_desired_peers_default() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:1101:5 [INFO] [stdout] | [INFO] [stdout] 1101 | fn positive_parse_desired_peers_specified() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/contact.rs:337:5 [INFO] [stdout] | [INFO] [stdout] 337 | fn positive_iterate_v4() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/contact.rs:354:5 [INFO] [stdout] | [INFO] [stdout] 354 | fn positive_parse_empty_v4() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/contact.rs:364:5 [INFO] [stdout] | [INFO] [stdout] 364 | fn positive_parse_peer_v4() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/contact.rs:376:5 [INFO] [stdout] | [INFO] [stdout] 376 | fn positive_parse_peers_v4() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/contact.rs:389:5 [INFO] [stdout] | [INFO] [stdout] 389 | fn positive_write_empty_v4() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/contact.rs:401:5 [INFO] [stdout] | [INFO] [stdout] 401 | fn positive_write_peer_v4() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/contact.rs:414:5 [INFO] [stdout] | [INFO] [stdout] 414 | fn positive_write_peers_v4() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/contact.rs:428:5 [INFO] [stdout] | [INFO] [stdout] 428 | fn positive_iterate_v6() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/contact.rs:449:5 [INFO] [stdout] | [INFO] [stdout] 449 | fn positive_parse_empty_v6() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/contact.rs:459:5 [INFO] [stdout] | [INFO] [stdout] 459 | fn positive_parse_peer_v6() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/contact.rs:474:5 [INFO] [stdout] | [INFO] [stdout] 474 | fn positive_parse_peers_v6() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/contact.rs:491:5 [INFO] [stdout] | [INFO] [stdout] 491 | fn positive_write_empty_v6() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/contact.rs:503:5 [INFO] [stdout] | [INFO] [stdout] 503 | fn positive_write_peer_v6() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/contact.rs:519:5 [INFO] [stdout] | [INFO] [stdout] 519 | fn positive_write_peers_v6() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:239:5 [INFO] [stdout] | [INFO] [stdout] 239 | fn positive_write_eof_option() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 251 | fn positive_write_empty_option() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:263:5 [INFO] [stdout] | [INFO] [stdout] 263 | fn positive_write_single_option() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:284:5 [INFO] [stdout] | [INFO] [stdout] 284 | fn positive_write_chunked_option() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:310:5 [INFO] [stdout] | [INFO] [stdout] 310 | fn positive_parse_empty_option() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:320:5 [INFO] [stdout] | [INFO] [stdout] 320 | fn positive_parse_noop_option() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:330:5 [INFO] [stdout] | [INFO] [stdout] 330 | fn positive_parse_end_option() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:340:5 [INFO] [stdout] | [INFO] [stdout] 340 | fn positive_pasre_url_data_eof() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:354:5 [INFO] [stdout] | [INFO] [stdout] 354 | fn positive_parse_url_data_end_of_options() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:377:5 [INFO] [stdout] | [INFO] [stdout] 377 | fn positive_parse_url_data_noop_eof() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:400:5 [INFO] [stdout] | [INFO] [stdout] 400 | fn positive_parse_url_data_noop_end_of_options() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:424:5 [INFO] [stdout] | [INFO] [stdout] 424 | fn positive_parse_url_data_single_chunk() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:442:5 [INFO] [stdout] | [INFO] [stdout] 442 | fn positive_parse_url_data_two_chunks() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:474:5 [INFO] [stdout] | [INFO] [stdout] 474 | fn positive_parse_url_data_undivisible_chunks() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:508:5 [INFO] [stdout] | [INFO] [stdout] 508 | fn negative_parse_url_data_incomplete() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:517:5 [INFO] [stdout] | [INFO] [stdout] 517 | fn negative_parse_url_data_unterminated() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/scrape.rs:296:5 [INFO] [stdout] | [INFO] [stdout] 296 | fn positive_write_request_empty() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/scrape.rs:308:5 [INFO] [stdout] | [INFO] [stdout] 308 | fn positive_write_request_single_hash() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/scrape.rs:321:5 [INFO] [stdout] | [INFO] [stdout] 321 | fn positive_write_request_many_hashes() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/scrape.rs:340:5 [INFO] [stdout] | [INFO] [stdout] 340 | fn positive_write_response_empty() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/scrape.rs:352:5 [INFO] [stdout] | [INFO] [stdout] 352 | fn positive_write_response_single_stat() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/scrape.rs:376:5 [INFO] [stdout] | [INFO] [stdout] 376 | fn positive_write_response_many_stats() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/scrape.rs:412:5 [INFO] [stdout] | [INFO] [stdout] 412 | fn positive_parse_request_empty() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/scrape.rs:423:5 [INFO] [stdout] | [INFO] [stdout] 423 | fn positive_parse_request_single_hash() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/scrape.rs:435:5 [INFO] [stdout] | [INFO] [stdout] 435 | fn positive_parse_request_multiple_hashes() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/scrape.rs:453:5 [INFO] [stdout] | [INFO] [stdout] 453 | fn positive_parse_response_empty() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/scrape.rs:464:5 [INFO] [stdout] | [INFO] [stdout] 464 | fn positive_parse_response_single_stat() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utracker/scrape.rs:476:5 [INFO] [stdout] | [INFO] [stdout] 476 | fn positive_parse_response_many_stats() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/handshaker.rs:180:5 [INFO] [stdout] | [INFO] [stdout] 180 | fn positive_initiate_handshake() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/handshaker.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | fn positive_complete_handshake() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/initiator.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | fn positive_empty_filter() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/initiator.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | fn positive_passes_filter() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/initiator.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | fn positive_needs_data_filter() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/initiator.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | fn positive_fails_filter() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/listener.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | fn positive_empty_filter() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:479:1 [INFO] [stdout] | [INFO] [stdout] 479 | / named!(parse_ipv4<&[u8], Ipv4Addr>, [INFO] [stdout] 480 | | map!(count_fixed!(u8, be_u8, 4), |b| convert::bytes_be_to_ipv4(b)) [INFO] [stdout] 481 | | ); [INFO] [stdout] | |__^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `count_fixed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:490:1 [INFO] [stdout] | [INFO] [stdout] 490 | / named!(parse_ipv6<&[u8], Ipv6Addr>, [INFO] [stdout] 491 | | map!(count_fixed!(u8, be_u8, 16), |b| convert::bytes_be_to_ipv6(b)) [INFO] [stdout] 492 | | ); [INFO] [stdout] | |__^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `count_fixed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/listener.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | fn positive_passes_filter() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/listener.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | fn positive_needs_data_filter() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/listener.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 102 | fn positive_fails_filter() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/timer.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | fn positive_finish_before_timeout() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/timer.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | fn negative_finish_after_timeout() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/extensions.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | / do_parse!( [INFO] [stdout] 97 | | bytes, [INFO] [stdout] 98 | | bytes: count_fixed!(u8, be_u8, NUM_EXTENSION_BYTES) >> (Extensions::with_bytes(bytes)) [INFO] [stdout] 99 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `count_fixed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/filter/filters.rs:206:5 [INFO] [stdout] | [INFO] [stdout] 206 | fn positive_add_filter() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/filter/filters.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | fn positive_add_filter_already_present() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/filter/filters.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 245 | fn positive_remove_filter() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/filter/filters.rs:260:5 [INFO] [stdout] | [INFO] [stdout] 260 | fn positive_remove_filter_not_present() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/filter/filters.rs:275:5 [INFO] [stdout] | [INFO] [stdout] 275 | fn positive_remove_filter_multiple_present() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/filter/filters.rs:291:5 [INFO] [stdout] | [INFO] [stdout] 291 | fn positive_clear_filters_none_present() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/filter/filters.rs:305:5 [INFO] [stdout] | [INFO] [stdout] 305 | fn positive_clear_filters_one_present() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/filter/filters.rs:321:5 [INFO] [stdout] | [INFO] [stdout] 321 | fn positive_clear_filters_multiple_present() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/filter/mod.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | fn positive_decision_choose_self() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/filter/mod.rs:144:5 [INFO] [stdout] | [INFO] [stdout] 144 | fn positive_decision_choose_higher() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/filter/mod.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | fn positive_decision_keep_higher() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/framed.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | fn positive_write_handshake_message() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/framed.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | fn positive_write_multiple_handshake_messages() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/framed.rs:214:5 [INFO] [stdout] | [INFO] [stdout] 214 | fn positive_read_handshake_message() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/framed.rs:233:5 [INFO] [stdout] | [INFO] [stdout] 233 | fn positive_read_byte_after_handshake() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/framed.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 258 | fn positive_read_bytes_after_handshake() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/message.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | fn positive_decode_zero_bytes_protocol() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/message.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | fn positive_many_bytes_protocol() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/message.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | fn positive_bittorrent_protocol() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/message.rs:191:5 [INFO] [stdout] | [INFO] [stdout] 191 | fn negative_create_overflow_protocol() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/extensions.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | fn positive_add_extension_protocol() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/extensions.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | fn positive_remove_extension_protocol() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/peer/message/standard.rs:343:5 [INFO] [stdout] | [INFO] [stdout] 343 | fn positive_bitfield_iter_empty() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/peer/message/standard.rs:350:5 [INFO] [stdout] | [INFO] [stdout] 350 | fn positive_bitfield_iter_no_messages() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/peer/message/standard.rs:360:5 [INFO] [stdout] | [INFO] [stdout] 360 | fn positive_bitfield_iter_single_message_beginning() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/peer/message/standard.rs:371:5 [INFO] [stdout] | [INFO] [stdout] 371 | fn positive_bitfield_iter_single_message_middle() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/peer/message/standard.rs:382:5 [INFO] [stdout] | [INFO] [stdout] 382 | fn positive_bitfield_iter_single_message_ending() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/peer/message/standard.rs:393:5 [INFO] [stdout] | [INFO] [stdout] 393 | fn positive_bitfield_iter_multiple_messages() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:504:5 [INFO] [stdout] | [INFO] [stdout] 504 | fn test_packet_decode() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:524:5 [INFO] [stdout] | [INFO] [stdout] 524 | fn test_decode_packet_with_extension() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:553:5 [INFO] [stdout] | [INFO] [stdout] 553 | fn test_packet_decode_with_missing_extension() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:561:5 [INFO] [stdout] | [INFO] [stdout] 561 | fn test_packet_decode_with_malformed_extension() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:570:5 [INFO] [stdout] | [INFO] [stdout] 570 | fn test_decode_packet_with_unknown_extensions() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:600:5 [INFO] [stdout] | [INFO] [stdout] 600 | fn test_packet_set_type() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:615:5 [INFO] [stdout] | [INFO] [stdout] 615 | fn test_packet_set_selective_acknowledgment() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:644:5 [INFO] [stdout] | [INFO] [stdout] 644 | fn test_packet_encode() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:679:5 [INFO] [stdout] | [INFO] [stdout] 679 | fn test_packet_encode_with_payload() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:713:5 [INFO] [stdout] | [INFO] [stdout] 713 | fn test_reversible() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:722:5 [INFO] [stdout] | [INFO] [stdout] 722 | fn test_decode_evil_sequence() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:729:5 [INFO] [stdout] | [INFO] [stdout] 729 | fn test_decode_empty_packet() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:736:5 [INFO] [stdout] | [INFO] [stdout] 736 | fn quicktest() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:752:5 [INFO] [stdout] | [INFO] [stdout] 752 | fn extension_iterator() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1330:5 [INFO] [stdout] | [INFO] [stdout] 1330 | fn test_socket_ipv4() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1361:5 [INFO] [stdout] | [INFO] [stdout] 1361 | fn test_socket_ipv6() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1392:5 [INFO] [stdout] | [INFO] [stdout] 1392 | fn test_recvfrom_on_closed_socket() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1420:5 [INFO] [stdout] | [INFO] [stdout] 1420 | fn test_sendto_on_closed_socket() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1447:5 [INFO] [stdout] | [INFO] [stdout] 1447 | fn test_acks_on_socket() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1483:5 [INFO] [stdout] | [INFO] [stdout] 1483 | fn test_handle_packet() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1583:5 [INFO] [stdout] | [INFO] [stdout] 1583 | fn test_response_to_keepalive_ack() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1631:5 [INFO] [stdout] | [INFO] [stdout] 1631 | fn test_response_to_wrong_connection_id() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1673:5 [INFO] [stdout] | [INFO] [stdout] 1673 | fn test_unordered_packets() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1732:5 [INFO] [stdout] | [INFO] [stdout] 1732 | fn test_response_to_triple_ack() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1799:5 [INFO] [stdout] | [INFO] [stdout] 1799 | fn test_socket_timeout_request() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1854:5 [INFO] [stdout] | [INFO] [stdout] 1854 | fn test_sorted_buffer_insertion() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1893:5 [INFO] [stdout] | [INFO] [stdout] 1893 | fn test_duplicate_packet_handling() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1954:5 [INFO] [stdout] | [INFO] [stdout] 1954 | fn test_correct_packet_loss() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:2003:5 [INFO] [stdout] | [INFO] [stdout] 2003 | fn test_tolerance_to_small_buffers() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:2033:5 [INFO] [stdout] | [INFO] [stdout] 2033 | fn test_sequence_number_rollover() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:2073:5 [INFO] [stdout] | [INFO] [stdout] 2073 | fn test_drop_unused_socket() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:2082:5 [INFO] [stdout] | [INFO] [stdout] 2082 | fn test_invalid_packet_on_connect() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:2105:5 [INFO] [stdout] | [INFO] [stdout] 2105 | fn test_receive_unexpected_reply_type_on_connect() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:2133:5 [INFO] [stdout] | [INFO] [stdout] 2133 | fn test_receiving_syn_on_established_connection() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:2171:5 [INFO] [stdout] | [INFO] [stdout] 2171 | fn test_receiving_reset_on_established_connection() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:2207:5 [INFO] [stdout] | [INFO] [stdout] 2207 | fn test_premature_fin() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:2251:5 [INFO] [stdout] | [INFO] [stdout] 2251 | fn test_base_delay_calculation() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:2271:5 [INFO] [stdout] | [INFO] [stdout] 2271 | fn test_local_addr() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:2281:5 [INFO] [stdout] | [INFO] [stdout] 2281 | fn test_listener_local_addr() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:2291:5 [INFO] [stdout] | [INFO] [stdout] 2291 | fn test_peer_addr() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:2329:5 [INFO] [stdout] | [INFO] [stdout] 2329 | fn test_take_address() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:2348:5 [INFO] [stdout] | [INFO] [stdout] 2348 | fn test_connection_loss_data() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:2391:5 [INFO] [stdout] | [INFO] [stdout] 2391 | fn test_connection_loss_fin() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:2430:5 [INFO] [stdout] | [INFO] [stdout] 2430 | fn test_connection_loss_waiting() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/util.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | fn test_ewma_empty_vector() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/util.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | fn test_ewma_one_element() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/util.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | fn test_exponential_smoothed_moving_average() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/utp/util.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | fn test_abs_diff() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `async` keyword is missing from the function declaration [INFO] [stdout] --> bittorrent-protocol/src/lib.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | fn it_works() { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0252]: the name `SocketState` is defined multiple times [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1308:9 [INFO] [stdout] | [INFO] [stdout] 1305 | use crate::utp::socket::{UtpSocket, UtpListener, SocketState, BUF_SIZE, take_address}; [INFO] [stdout] | ----------- previous import of the type `SocketState` here [INFO] [stdout] ... [INFO] [stdout] 1308 | use crate::utp::socket::SocketState; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SocketState` reimported here [INFO] [stdout] | [INFO] [stdout] = note: `SocketState` must be defined only once in the type namespace of this module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `super::super::quickcheck` [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:501:23 [INFO] [stdout] | [INFO] [stdout] 501 | use super::super::quickcheck::TestResult; [INFO] [stdout] | ^^^^^^^^^^ could not find `quickcheck` in `super` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tokio_core` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/initiator.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | use tokio_core::reactor::Core; [INFO] [stdout] | ^^^^^^^^^^ use of undeclared crate or module `tokio_core` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `tokio_timer` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/handshaker.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | use tokio_timer; [INFO] [stdout] | ^^^^^^^^^^^ no external crate `tokio_timer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `tokio_timer` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/initiator.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | use tokio_timer; [INFO] [stdout] | ^^^^^^^^^^^ no external crate `tokio_timer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | /// Parse an end of buffer or the end of option byte. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:191:1 [INFO] [stdout] | [INFO] [stdout] 191 | /// Parse a single byte as an unsigned pointer size. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> bittorrent-protocol/src/lib.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContiguousBuffer`, `ContiguousBuffers` [INFO] [stdout] --> bittorrent-protocol/src/util/contiguous.rs:154:17 [INFO] [stdout] | [INFO] [stdout] 154 | use super::{ContiguousBuffer, ContiguousBuffers}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ipv4Addr`, `Ipv6Addr`, `SocketAddrV4`, `SocketAddrV6` [INFO] [stdout] --> bittorrent-protocol/src/util/convert.rs:161:20 [INFO] [stdout] | [INFO] [stdout] 161 | use std::net::{Ipv4Addr, Ipv6Addr, SocketAddrV4, SocketAddrV6}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::send::split_sender::SplitSender` [INFO] [stdout] --> bittorrent-protocol/src/util/send/split_sender.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | use crate::util::send::split_sender::SplitSender; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::send::TrySender` [INFO] [stdout] --> bittorrent-protocol/src/util/send/split_sender.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | use crate::util::send::TrySender; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc` [INFO] [stdout] --> bittorrent-protocol/src/util/send/split_sender.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | use std::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ShaHash`, `XorRep` [INFO] [stdout] --> bittorrent-protocol/src/util/sha/mod.rs:180:17 [INFO] [stdout] | [INFO] [stdout] 180 | use super::{ShaHash, XorRep}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LocallyShuffledIds`, `TransactionIds` [INFO] [stdout] --> bittorrent-protocol/src/util/trans/locally_shuffled.rs:92:30 [INFO] [stdout] | [INFO] [stdout] 92 | use crate::util::trans::{LocallyShuffledIds, TransactionIds}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::TIDGenerator` [INFO] [stdout] --> bittorrent-protocol/src/util/trans/old.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | use super::TIDGenerator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::SequentialIds` [INFO] [stdout] --> bittorrent-protocol/src/util/trans/sequential.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | use super::SequentialIds; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::trans::TransactionIds` [INFO] [stdout] --> bittorrent-protocol/src/util/trans/sequential.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | use crate::util::trans::TransactionIds; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::bencode::access::bencode::BMutAccess` [INFO] [stdout] --> bittorrent-protocol/src/bencode/mutable/bencode_mut.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | use crate::bencode::access::bencode::BMutAccess; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::bencode::mutable::bencode_mut::BencodeMut` [INFO] [stdout] --> bittorrent-protocol/src/bencode/mutable/bencode_mut.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | use crate::bencode::mutable::bencode_mut::BencodeMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::default::Default` [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/bencode_ref.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | use std::default::Default; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::bencode::access::bencode::BRefAccess` [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/bencode_ref.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | use crate::bencode::access::bencode::BRefAccess; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::bencode::reference::bencode_ref::BencodeRef` [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/bencode_ref.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | use crate::bencode::reference::bencode_ref::BencodeRef; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::bencode::reference::decode_opt::BDecodeOpt` [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/bencode_ref.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | use crate::bencode::reference::decode_opt::BDecodeOpt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::default::Default` [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | use std::default::Default; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::bencode::access::bencode::BRefAccess` [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | use crate::bencode::access::bencode::BRefAccess; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::bencode::reference::bencode_ref::BencodeRef` [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | use crate::bencode::reference::bencode_ref::BencodeRef; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::bencode::reference::decode_opt::BDecodeOpt` [INFO] [stdout] --> bittorrent-protocol/src/bencode/reference/decode.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | use crate::bencode::reference::decode_opt::BDecodeOpt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition [INFO] [stdout] --> bittorrent-protocol/src/bencode/mod.rs:134:1 [INFO] [stdout] | [INFO] [stdout] 134 | / macro_rules! bt_ben_list { [INFO] [stdout] 135 | | ( $($ben:expr),* ) => { [INFO] [stdout] 136 | | { [INFO] [stdout] 137 | | use crate::bencode::{BencodeMut, BMutAccess}; [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::sink::Sink` [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use futures::sink::Sink; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/helpers/piece_checker.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Sender` [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/helpers/piece_checker.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::sync::mpsc::Sender; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ODiskMessage` [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/helpers/piece_checker.rs:10:46 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::disk::{BlockMetadata, FileSystem, ODiskMessage}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::disk::BlockMetadata` [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/helpers/piece_checker.rs:374:9 [INFO] [stdout] | [INFO] [stdout] 374 | use crate::disk::BlockMetadata; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::bt` [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/helpers/piece_checker.rs:375:9 [INFO] [stdout] | [INFO] [stdout] 375 | use crate::util::bt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/mod.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `threadpool::ThreadPool` [INFO] [stdout] --> bittorrent-protocol/src/disk/manager.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use threadpool::ThreadPool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FutureExt`, `Future`, `SinkExt`, `StreamExt`, `TryFutureExt`, `TryFuture`, `TryStreamExt`, `TryStream` [INFO] [stdout] --> bittorrent-protocol/src/disk/manager.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | Future, FutureExt, Sink, SinkExt, Stream, StreamExt, TryFuture, TryFutureExt, TryStream, [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] 12 | TryStreamExt, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::sha::ShaHash` [INFO] [stdout] --> bittorrent-protocol/src/magnet/mod.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | use crate::util::sha::ShaHash; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::dht::bencode::Bencode` [INFO] [stdout] --> bittorrent-protocol/src/dht/bencode/decode.rs:379:9 [INFO] [stdout] | [INFO] [stdout] 379 | use crate::dht::bencode::Bencode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ipv4Addr`, `SocketAddrV4` [INFO] [stdout] --> bittorrent-protocol/src/dht/message/compact_info.rs:178:20 [INFO] [stdout] | [INFO] [stdout] 178 | use std::net::{Ipv4Addr, SocketAddrV4}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CompactNodeInfo`, `CompactValueInfo` [INFO] [stdout] --> bittorrent-protocol/src/dht/message/compact_info.rs:180:45 [INFO] [stdout] | [INFO] [stdout] 180 | use crate::dht::message::compact_info::{CompactNodeInfo, CompactValueInfo}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::bt::NodeId` [INFO] [stdout] --> bittorrent-protocol/src/dht/message/compact_info.rs:181:9 [INFO] [stdout] | [INFO] [stdout] 181 | use crate::util::bt::NodeId; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::sha::ShaHash` [INFO] [stdout] --> bittorrent-protocol/src/dht/message/compact_info.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | use crate::util::sha::ShaHash; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::bt` [INFO] [stdout] --> bittorrent-protocol/src/dht/storage.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | use crate::util::bt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::test as util_test` [INFO] [stdout] --> bittorrent-protocol/src/dht/storage.rs:208:9 [INFO] [stdout] | [INFO] [stdout] 208 | use crate::util::test as util_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::dht::storage` [INFO] [stdout] --> bittorrent-protocol/src/dht/storage.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 210 | use crate::dht::storage; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::dht::storage::AnnounceStorage` [INFO] [stdout] --> bittorrent-protocol/src/dht/storage.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 211 | use crate::dht::storage::AnnounceStorage; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Duration` [INFO] [stdout] --> bittorrent-protocol/src/dht/storage.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | use chrono::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::TokenStore` [INFO] [stdout] --> bittorrent-protocol/src/dht/token.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | use super::TokenStore; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::test as util_test` [INFO] [stdout] --> bittorrent-protocol/src/dht/token.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | use crate::util::test as util_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Duration` [INFO] [stdout] --> bittorrent-protocol/src/dht/token.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | use chrono::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> bittorrent-protocol/src/dht/transaction.rs:281:9 [INFO] [stdout] | [INFO] [stdout] 281 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AIDGenerator`, `TransactionID` [INFO] [stdout] --> bittorrent-protocol/src/dht/transaction.rs:283:17 [INFO] [stdout] | [INFO] [stdout] 283 | use super::{AIDGenerator, TransactionID}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:536:9 [INFO] [stdout] | [INFO] [stdout] 536 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::Ipv4Addr` [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:537:9 [INFO] [stdout] | [INFO] [stdout] 537 | use std::net::Ipv4Addr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian`, `WriteBytesExt` [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:539:21 [INFO] [stdout] | [INFO] [stdout] 539 | use byteorder::{BigEndian, WriteBytesExt}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::IResult` [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:540:9 [INFO] [stdout] | [INFO] [stdout] 540 | use nom::IResult; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnnounceEvent`, `AnnounceRequest`, `AnnounceResponse`, `ClientState`, `DesiredPeers`, `SourceIP` [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:543:9 [INFO] [stdout] | [INFO] [stdout] 543 | AnnounceEvent, AnnounceRequest, AnnounceResponse, ClientState, DesiredPeers, SourceIP, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InfoHash`, `PeerId` [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:545:27 [INFO] [stdout] | [INFO] [stdout] 545 | use crate::util::bt::{InfoHash, PeerId}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::convert` [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:546:9 [INFO] [stdout] | [INFO] [stdout] 546 | use crate::util::convert; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CompactPeersV4`, `CompactPeersV6`, `CompactPeers` [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:547:36 [INFO] [stdout] | [INFO] [stdout] 547 | use crate::utracker::contact::{CompactPeers, CompactPeersV4, CompactPeersV6}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utracker::option::AnnounceOptions` [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:548:9 [INFO] [stdout] | [INFO] [stdout] 548 | use crate::utracker::option::AnnounceOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::IResult` [INFO] [stdout] --> bittorrent-protocol/src/utracker/contact.rs:332:9 [INFO] [stdout] | [INFO] [stdout] 332 | use nom::IResult; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CompactPeersV4`, `CompactPeersV6` [INFO] [stdout] --> bittorrent-protocol/src/utracker/contact.rs:334:17 [INFO] [stdout] | [INFO] [stdout] 334 | use super::{CompactPeersV4, CompactPeersV6}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:231:9 [INFO] [stdout] | [INFO] [stdout] 231 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:232:19 [INFO] [stdout] | [INFO] [stdout] 232 | use std::u8::{self}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::IResult` [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | use nom::IResult; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnnounceOptions`, `URLDataOption` [INFO] [stdout] --> bittorrent-protocol/src/utracker/option.rs:236:17 [INFO] [stdout] | [INFO] [stdout] 236 | use super::{AnnounceOptions, URLDataOption}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian`, `WriteBytesExt` [INFO] [stdout] --> bittorrent-protocol/src/utracker/scrape.rs:289:21 [INFO] [stdout] | [INFO] [stdout] 289 | use byteorder::{BigEndian, WriteBytesExt}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::IResult` [INFO] [stdout] --> bittorrent-protocol/src/utracker/scrape.rs:290:9 [INFO] [stdout] | [INFO] [stdout] 290 | use nom::IResult; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ScrapeRequest`, `ScrapeResponse`, `ScrapeStats` [INFO] [stdout] --> bittorrent-protocol/src/utracker/scrape.rs:292:17 [INFO] [stdout] | [INFO] [stdout] 292 | use super::{ScrapeRequest, ScrapeResponse, ScrapeStats}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::bt` [INFO] [stdout] --> bittorrent-protocol/src/utracker/scrape.rs:293:9 [INFO] [stdout] | [INFO] [stdout] 293 | use crate::util::bt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp` [INFO] [stdout] --> bittorrent-protocol/src/handshake/manager/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HandshakeType` [INFO] [stdout] --> bittorrent-protocol/src/handshake/manager/mod.rs:27:56 [INFO] [stdout] | [INFO] [stdout] 27 | use crate::handshake::handler::{handshaker, initiator, HandshakeType}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Cursor` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/handshaker.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | use std::io::Cursor; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Future`, `self` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/handshaker.rs:147:27 [INFO] [stdout] | [INFO] [stdout] 147 | use futures::future::{self, Future}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::handshake::message::bittorrent::message::HandshakeMessage` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/handshaker.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | use crate::handshake::message::bittorrent::message::HandshakeMessage; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::handshake::filter::filters::Filters` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/handshaker.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | use crate::handshake::filter::filters::Filters; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InitiateMessage`, `Protocol` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/handshaker.rs:157:40 [INFO] [stdout] | [INFO] [stdout] 157 | use crate::handshake::{Extensions, InitiateMessage, Protocol}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/initiator.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::Future` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/initiator.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | use futures::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BlockAddrFilter`, `BlockPeerIdFilter`, `BlockProtocolFilter` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/initiator.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | BlockAddrFilter, BlockPeerIdFilter, BlockProtocolFilter, [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::handshake::filter::filters::Filters` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/initiator.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | use crate::handshake::filter::filters::Filters; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::handshake::handler::timer::HandshakeTimer` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/initiator.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | use crate::handshake::handler::timer::HandshakeTimer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::handshake::handler::HandshakeType` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/initiator.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | use crate::handshake::handler::HandshakeType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::handshake::transport::test_transports::MockTransport` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/initiator.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | use crate::handshake::transport::test_transports::MockTransport; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InitiateMessage`, `Protocol` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/initiator.rs:56:28 [INFO] [stdout] | [INFO] [stdout] 56 | use crate::handshake::{InitiateMessage, Protocol}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/listener.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::handshake::handler::listener::ListenerHandler` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/listener.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | use crate::handshake::handler::listener::ListenerHandler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::handshake::handler::HandshakeType` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/listener.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::handshake::handler::HandshakeType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::Future` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/listener.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | use futures::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BlockAddrFilter`, `BlockProtocolFilter` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/listener.rs:40:59 [INFO] [stdout] | [INFO] [stdout] 40 | use crate::handshake::filter::filters::test_filters::{BlockAddrFilter, BlockProtocolFilter}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::handshake::filter::filters::Filters` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/listener.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | use crate::handshake::filter::filters::Filters; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::handshake::Protocol` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/listener.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | use crate::handshake::Protocol; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/timer.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::HandshakeTimer` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/timer.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | use super::HandshakeTimer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::test_filters::BlockAddrFilter` [INFO] [stdout] --> bittorrent-protocol/src/handshake/filter/filters.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | use super::test_filters::BlockAddrFilter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::Filters` [INFO] [stdout] --> bittorrent-protocol/src/handshake/filter/filters.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | use super::Filters; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::FilterDecision` [INFO] [stdout] --> bittorrent-protocol/src/handshake/filter/mod.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | use super::FilterDecision; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Cursor` [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/framed.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::{self, Cursor, Write, Read}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/framed.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cursor`, `Write` [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/framed.rs:141:19 [INFO] [stdout] | [INFO] [stdout] 141 | use std::io::{Cursor, Write}; [INFO] [stdout] | ^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::handshake::message::bittorrent::framed::FramedHandshake` [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/framed.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | use crate::handshake::message::bittorrent::framed::FramedHandshake; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::handshake::message::bittorrent::message::HandshakeMessage` [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/framed.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | use crate::handshake::message::bittorrent::message::HandshakeMessage; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Protocol` [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/framed.rs:146:40 [INFO] [stdout] | [INFO] [stdout] 146 | use crate::handshake::{Extensions, Protocol}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/message.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::handshake::message::bittorrent::message::HandshakeMessage` [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/message.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | use crate::handshake::message::bittorrent::message::HandshakeMessage; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Protocol` [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/message.rs:107:40 [INFO] [stdout] | [INFO] [stdout] 107 | use crate::handshake::{Extensions, Protocol}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Extension`, `Extensions` [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/extensions.rs:104:17 [INFO] [stdout] | [INFO] [stdout] 104 | use super::{Extension, Extensions}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Incoming` [INFO] [stdout] --> bittorrent-protocol/src/handshake/transport.rs:7:28 [INFO] [stdout] | [INFO] [stdout] 7 | use std::net::{SocketAddr, Incoming}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::option::Option::Some` [INFO] [stdout] --> bittorrent-protocol/src/handshake/transport.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::option::Option::Some; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UtpStream` [INFO] [stdout] --> bittorrent-protocol/src/handshake/transport.rs:10:42 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::utp::{UtpSocket, UtpListener, UtpStream}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sender` [INFO] [stdout] --> bittorrent-protocol/src/handshake/stream.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use crossbeam::channel::{Sender,Receiver}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ManagedMessage` [INFO] [stdout] --> bittorrent-protocol/src/peer/manager/builder.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use super::{ManagedMessage, PeerManager}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::TcpStream` [INFO] [stdout] --> bittorrent-protocol/src/peer/manager/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::net::TcpStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::TcpStream` [INFO] [stdout] --> bittorrent-protocol/src/peer/manager/task_one_thread.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::net::TcpStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex` [INFO] [stdout] --> bittorrent-protocol/src/peer/manager/task_one_thread.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::peer::manager::TryClone` [INFO] [stdout] --> bittorrent-protocol/src/peer/manager/task_one_thread.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::peer::manager::TryClone; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::peer::message::PeerWireProtocolMessage` [INFO] [stdout] --> bittorrent-protocol/src/peer/manager/task_split.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::peer::message::PeerWireProtocolMessage; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::TcpStream` [INFO] [stdout] --> bittorrent-protocol/src/peer/manager/task_split.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::net::TcpStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::select::discovery::error::DiscoveryError` [INFO] [stdout] --> bittorrent-protocol/src/select/uber.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::select::discovery::error::DiscoveryError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ExtensionType`, `Extension`, `HEADER_SIZE`, `PacketType`, `Packet`, `TryFrom`, `check_extensions` [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:498:30 [INFO] [stdout] | [INFO] [stdout] 498 | use crate::utp::packet::{ExtensionType, Extension, Packet, PacketType, HEADER_SIZE, TryFrom, check_extensions}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Data`, `State` [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:499:42 [INFO] [stdout] | [INFO] [stdout] 499 | use crate::utp::packet::PacketType::{State, Data}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Delay`, `Timestamp` [INFO] [stdout] --> bittorrent-protocol/src/utp/packet.rs:500:28 [INFO] [stdout] | [INFO] [stdout] 500 | use crate::utp::time::{Timestamp, Delay}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1301:9 [INFO] [stdout] | [INFO] [stdout] 1301 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::ToSocketAddrs` [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1302:9 [INFO] [stdout] | [INFO] [stdout] 1302 | use std::net::ToSocketAddrs; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind` [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1303:9 [INFO] [stdout] | [INFO] [stdout] 1303 | use std::io::ErrorKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand` [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1304:9 [INFO] [stdout] | [INFO] [stdout] 1304 | use rand; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BUF_SIZE`, `SocketState`, `UtpListener`, `UtpSocket`, `take_address` [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1305:30 [INFO] [stdout] | [INFO] [stdout] 1305 | use crate::utp::socket::{UtpSocket, UtpListener, SocketState, BUF_SIZE, take_address}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utp::packet::*` [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1306:9 [INFO] [stdout] | [INFO] [stdout] 1306 | use crate::utp::packet::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utp::time::now_microseconds` [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1307:9 [INFO] [stdout] | [INFO] [stdout] 1307 | use crate::utp::time::now_microseconds; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utp::socket::SocketState` [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1308:9 [INFO] [stdout] | [INFO] [stdout] 1308 | use crate::utp::socket::SocketState; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition [INFO] [stdout] --> bittorrent-protocol/src/utp/socket.rs:1310:5 [INFO] [stdout] | [INFO] [stdout] 1310 | / macro_rules! iotry { [INFO] [stdout] 1311 | | ($e:expr) => (match $e { Ok(e) => e, Err(e) => panic!("{:?}", e) }) [INFO] [stdout] 1312 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utp::util::*` [INFO] [stdout] --> bittorrent-protocol/src/utp/util.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | use crate::utp::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:479:1 [INFO] [stdout] | [INFO] [stdout] 479 | / named!(parse_ipv4<&[u8], Ipv4Addr>, [INFO] [stdout] 480 | | map!(count_fixed!(u8, be_u8, 4), |b| convert::bytes_be_to_ipv4(b)) [INFO] [stdout] 481 | | ); [INFO] [stdout] | |__^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `count_fixed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> bittorrent-protocol/src/utracker/announce.rs:490:1 [INFO] [stdout] | [INFO] [stdout] 490 | / named!(parse_ipv6<&[u8], Ipv6Addr>, [INFO] [stdout] 491 | | map!(count_fixed!(u8, be_u8, 16), |b| convert::bytes_be_to_ipv6(b)) [INFO] [stdout] 492 | | ); [INFO] [stdout] | |__^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `count_fixed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/extensions.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | / do_parse!( [INFO] [stdout] 97 | | bytes, [INFO] [stdout] 98 | | bytes: count_fixed!(u8, be_u8, NUM_EXTENSION_BYTES) >> (Extensions::with_bytes(bytes)) [INFO] [stdout] 99 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `count_fixed` (in Nightly builds, run with -Z macro-backtrace for more info) [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/src/utp/socket.rs:1315:46 [INFO] [stdout] | [INFO] [stdout] 1315 | use std::sync::atomic::{AtomicUsize, ATOMIC_USIZE_INIT, Ordering}; [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/src/utp/socket.rs:1316:43 [INFO] [stdout] | [INFO] [stdout] 1316 | static NEXT_OFFSET: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicUsize::new(0)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Item == (std::io::Cursor>, std::net::SocketAddr)` [INFO] [stdout] --> bittorrent-protocol/src/handshake/transport.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 18 | type Listener: Stream + LocalAddr + 'static; [INFO] [stdout] | --------------------------------- required by this bound in `Transport::Listener` [INFO] [stdout] ... [INFO] [stdout] 153 | type Listener = MockListener; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected tuple, found struct `std::io::Cursor` [INFO] [stdout] | [INFO] [stdout] = note: expected tuple `(std::io::Cursor>, std::net::SocketAddr)` [INFO] [stdout] found struct `std::io::Cursor>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> bittorrent-protocol/src/utp/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 associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> bittorrent-protocol/src/utp/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 associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> bittorrent-protocol/src/utp/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 associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> bittorrent-protocol/src/utp/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[E0277]: the trait bound `(): From<()>` is not satisfied [INFO] [stdout] --> bittorrent-protocol/src/handshake/transport.rs:199:52 [INFO] [stdout] | [INFO] [stdout] 199 | Err(Error::new(ErrorKind::NotFound, ())) [INFO] [stdout] | ^^ [INFO] [stdout] | | [INFO] [stdout] | expected an implementor of trait `From<()>` [INFO] [stdout] | help: consider borrowing here: `&()` [INFO] [stdout] | [INFO] [stdout] = note: required because of the requirements on the impl of `From<()>` for `Box<(dyn std::error::Error + Sync + std::marker::Send + 'static)>` [INFO] [stdout] = note: required because of the requirements on the impl of `Into>` for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stream_capacity` [INFO] [stdout] --> bittorrent-protocol/src/disk/manager.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | let stream_capacity = builder.stream_buffer_capacity(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream_capacity` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cx` [INFO] [stdout] --> bittorrent-protocol/src/disk/manager.rs:109:41 [INFO] [stdout] | [INFO] [stdout] 109 | fn poll_ready(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cx` [INFO] [stdout] --> bittorrent-protocol/src/disk/manager.rs:125:41 [INFO] [stdout] | [INFO] [stdout] 125 | fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cx` [INFO] [stdout] --> bittorrent-protocol/src/disk/manager.rs:129:41 [INFO] [stdout] | [INFO] [stdout] 129 | fn poll_close(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cx` [INFO] [stdout] --> bittorrent-protocol/src/disk/manager.rs:159:40 [INFO] [stdout] | [INFO] [stdout] 159 | fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `curr_piece_buffer` is never read [INFO] [stdout] --> bittorrent-protocol/src/metainfo/builder/worker.rs:100:25 [INFO] [stdout] | [INFO] [stdout] 100 | let mut curr_piece_buffer = PieceBuffer::new(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timer` [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/initiator.rs:16:44 [INFO] [stdout] | [INFO] [stdout] 16 | let &(ref transport, ref filters, ref timer) = context; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_timer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tasks_available` [INFO] [stdout] --> bittorrent-protocol/src/select/discovery/ut_metadata.rs:462:13 [INFO] [stdout] | [INFO] [stdout] 462 | let tasks_available = self.initialize_pending(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tasks_available` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `free_task_queue_space` [INFO] [stdout] --> bittorrent-protocol/src/select/discovery/ut_metadata.rs:463:13 [INFO] [stdout] | [INFO] [stdout] 463 | let free_task_queue_space = self.active_requests.len() != MAX_ACTIVE_REQUESTS; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_free_task_queue_space` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `peer_requests_available` [INFO] [stdout] --> bittorrent-protocol/src/select/discovery/ut_metadata.rs:465:13 [INFO] [stdout] | [INFO] [stdout] 465 | let peer_requests_available = !self.peer_requests.is_empty(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_peer_requests_available` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `downloads_available` [INFO] [stdout] --> bittorrent-protocol/src/select/discovery/ut_metadata.rs:468:13 [INFO] [stdout] | [INFO] [stdout] 468 | let downloads_available = self.validate_downloaded(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_downloads_available` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> bittorrent-protocol/src/utp/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 associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> bittorrent-protocol/src/utp/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 associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> bittorrent-protocol/src/utp/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 associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> bittorrent-protocol/src/utp/error.rs:81:48 [INFO] [stdout] | [INFO] [stdout] 81 | io::Error::new(ErrorKind::Other, error.description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/mod.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | let mut blocking_sender = context.blocking_sender(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> bittorrent-protocol/src/disk/tasks/helpers/piece_checker.rs:214:40 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn run_with_diff(&mut self, mut callback: F) [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/src/disk/manager.rs:26:25 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn from_builder(mut builder: DiskManagerBuilder, fs: F) -> DiskManager { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 373 previous errors; 139 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0252, E0271, E0277, E0432, E0433. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0252`. [INFO] [stdout] [INFO] [stderr] error: could not compile `bittorrent-protocol` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> bittorrent-protocol/src/select/uber.rs:162:17 [INFO] [stdout] | [INFO] [stdout] 162 | let mut opt_next_state = get_next_state(self); [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/src/utp/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] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> bittorrent-protocol/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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/src/utp/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: function is never used: `run_peer` [INFO] [stdout] --> bittorrent-protocol/src/peer/manager/task_one_thread.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn run_peer( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `DEFAULT_TIMER_SLOTS` [INFO] [stdout] --> bittorrent-protocol/src/peer/manager/mod.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | const DEFAULT_TIMER_SLOTS: usize = 2048; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> bittorrent-protocol/src/peer/macros.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> bittorrent-protocol/src/peer/macros.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/handshaker.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | framed.send(handshake_msg).map_err(|_| ()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> bittorrent-protocol/src/handshake/handler/handshaker.rs:122:21 [INFO] [stdout] | [INFO] [stdout] 122 | framed.send(handshake_msg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> bittorrent-protocol/src/handshake/message/bittorrent/framed.rs:68:17 [INFO] [stdout] | [INFO] [stdout] 68 | self.sock.flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 86 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "3128a85849f4c81f6ea210ef85166ba6549b82b91dfbf25787b46645d894f9b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3128a85849f4c81f6ea210ef85166ba6549b82b91dfbf25787b46645d894f9b6", kill_on_drop: false }` [INFO] [stdout] 3128a85849f4c81f6ea210ef85166ba6549b82b91dfbf25787b46645d894f9b6