[INFO] fetching crate bip_peer 0.5.0...
[INFO] checking bip_peer-0.5.0 against master#61cc47e367d7be91e13bcd01e4e96e0e233d4f6d for pr-133502-18
[INFO] extracting crate bip_peer 0.5.0 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate bip_peer 0.5.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate bip_peer 0.5.0
[INFO] tweaked toml for crates.io crate bip_peer 0.5.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate bip_peer 0.5.0 on toolchain 61cc47e367d7be91e13bcd01e4e96e0e233d4f6d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 96 packages to latest compatible versions
[INFO] [stderr]       Adding bytes v0.4.12 (available: v1.11.0)
[INFO] [stderr]       Adding crossbeam v0.3.2 (available: v0.8.4)
[INFO] [stderr]       Adding error-chain v0.11.0 (available: v0.12.4)
[INFO] [stderr]       Adding futures v0.1.31 (available: v0.3.31)
[INFO] [stderr]       Adding nom v3.2.1 (available: v8.0.0)
[INFO] [stderr]       Adding tokio-timer v0.1.2 (available: v0.2.13)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d76fdec73ba134371bc10c1d71f7dbc807429bef3d48654d419c6f4772d2bbf9
[INFO] running `Command { std: "docker" "start" "-a" "d76fdec73ba134371bc10c1d71f7dbc807429bef3d48654d419c6f4772d2bbf9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d76fdec73ba134371bc10c1d71f7dbc807429bef3d48654d419c6f4772d2bbf9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d76fdec73ba134371bc10c1d71f7dbc807429bef3d48654d419c6f4772d2bbf9", kill_on_drop: false }`
[INFO] [stdout] d76fdec73ba134371bc10c1d71f7dbc807429bef3d48654d419c6f4772d2bbf9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e25371dac961b337027acad58fa210dec81e1c2dd41228b3c3ce54dd99bc188f
[INFO] running `Command { std: "docker" "start" "-a" "e25371dac961b337027acad58fa210dec81e1c2dd41228b3c3ce54dd99bc188f", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]     Checking futures v0.1.31
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking slab v0.4.11
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]     Checking rustc-serialize v0.3.25
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]    Compiling num-bigint v0.1.45
[INFO] [stderr]    Compiling num-rational v0.1.43
[INFO] [stderr]    Compiling num-complex v0.1.44
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]    Compiling parking_lot_core v0.6.3
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]     Checking gimli v0.32.3
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]     Checking rustc-demangle v0.1.26
[INFO] [stderr]     Checking scoped-tls v0.1.2
[INFO] [stderr]     Checking slab v0.3.0
[INFO] [stderr]     Checking crossbeam v0.3.2
[INFO] [stderr]    Compiling rust-crypto v0.2.36
[INFO] [stderr]     Checking crossbeam-queue v0.2.3
[INFO] [stderr]     Checking crossbeam-deque v0.7.4
[INFO] [stderr]     Checking tokio-executor v0.1.10
[INFO] [stderr]     Checking tokio-sync v0.1.8
[INFO] [stderr]     Checking tokio-timer v0.1.2
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking tokio-timer v0.2.13
[INFO] [stderr]     Checking tokio-current-thread v0.1.7
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking memchr v1.0.2
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking nom v3.2.1
[INFO] [stderr]     Checking tokio-threadpool v0.1.18
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking tokio-io v0.1.13
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking tokio-codec v0.1.2
[INFO] [stderr]     Checking tokio-fs v0.1.7
[INFO] [stderr]     Checking tokio-reactor v0.1.12
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]     Checking tokio-uds v0.2.7
[INFO] [stderr]     Checking tokio-tcp v0.1.4
[INFO] [stderr]     Checking tokio-udp v0.1.6
[INFO] [stderr]     Checking addr2line v0.25.1
[INFO] [stderr]     Checking tokio v0.1.22
[INFO] [stderr]     Checking tokio-core v0.1.18
[INFO] [stderr]     Checking num v0.1.43
[INFO] [stderr]     Checking chrono v0.2.25
[INFO] [stderr]     Checking bip_util v0.5.0
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking bip_handshake v0.7.1
[INFO] [stderr]     Checking error-chain v0.11.0
[INFO] [stderr]     Checking bip_bencode v0.4.4
[INFO] [stderr]     Checking bip_peer v0.5.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let bytes = match try!(self.protocol.bytes_needed(src.as_ref())) {
[INFO] [stdout]    |                           ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/manager/mod.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 try!(result);
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/bits_ext/handshake.rs:240:36
[INFO] [stdout]     |
[INFO] [stdout] 240 |                     let ben_dict = try!(bencode::CONVERT.convert_dict(&bencode, ROOT_ERROR_KEY));
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/bits_ext/handshake.rs:266:9
[INFO] [stdout]     |
[INFO] [stdout] 266 |         try!(message::write_length_id_pair(&mut writer, real_length as u32, Some(bits_ext::EXTENDED_MESSAGE_ID)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/bits_ext/port.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         try!(message::write_length_id_pair(&mut writer, bits_ext::PORT_MESSAGE_LEN, Some(bits_ext::PORT_MESSAGE_ID)));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/prot_ext/ut_metadata.rs:30:36
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 let bencode_dict = try!(bencode::CONVERT.convert_dict(&bencode, ROOT_ERROR_KEY));
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/prot_ext/ut_metadata.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 let msg_type = try!(bencode::parse_message_type(bencode_dict));
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/prot_ext/ut_metadata.rs:32:29
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 let piece = try!(bencode::parse_piece_index(bencode_dict));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/prot_ext/ut_metadata.rs:41:42
[INFO] [stdout]    |
[INFO] [stdout] 41 |                         let total_size = try!(bencode::parse_total_size(bencode_dict));
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/prot_ext/ut_metadata.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |         try!(writer.write_all(encoded_bytes.as_ref()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/prot_ext/mod.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 try!(message::write_length_id_pair(&mut writer, total_len, Some(bits_ext::EXTENDED_MESSAGE_ID)));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/prot_ext/mod.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 try!(writer.write_u8(ext_id));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/standard.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         try!(message::write_length_id_pair(&mut writer, message::HAVE_MESSAGE_LEN, Some(message::HAVE_MESSAGE_ID)));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/standard.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |         try!(message::write_length_id_pair(&mut writer, actual_length, Some(message::BITFIELD_MESSAGE_ID)));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         try!(message::write_length_id_pair(&mut writer, message::REQUEST_MESSAGE_LEN, Some(message::REQUEST_MESSAGE_ID)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |         try!(writer.write_u32::<BigEndian>(self.piece_index));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |         try!(writer.write_u32::<BigEndian>(self.block_offset));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         try!(message::write_length_id_pair(&mut writer, actual_length, Some(message::PIECE_MESSAGE_ID)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |         try!(writer.write_u32::<BigEndian>(self.piece_index));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |         try!(writer.write_u32::<BigEndian>(self.block_offset));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:263:9
[INFO] [stdout]     |
[INFO] [stdout] 263 |         try!(message::write_length_id_pair(&mut writer, message::CANCEL_MESSAGE_LEN, Some(message::CANCEL_MESSAGE_ID)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:265:9
[INFO] [stdout]     |
[INFO] [stdout] 265 |         try!(writer.write_u32::<BigEndian>(self.piece_index));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:266:9
[INFO] [stdout]     |
[INFO] [stdout] 266 |         try!(writer.write_u32::<BigEndian>(self.block_offset));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/mod.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 |     try!(writer.write_u32::<BigEndian>(length));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/message/bencode.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn parse_id_map<K, V>(root: &BDictAccess<K, V>) -> HashMap<ExtendedType, u8>
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn parse_id_map<K, V>(root: &dyn BDictAccess<K, V>) -> HashMap<ExtendedType, u8>
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/message/bencode.rs:50:37
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn parse_client_id<K, V>(root: &BDictAccess<K, V>) -> Option<String>
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn parse_client_id<K, V>(root: &dyn BDictAccess<K, V>) -> Option<String>
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/message/bencode.rs:57:43
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn parse_client_tcp_port<K, V>(root: &BDictAccess<K, V>) -> Option<u16>
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn parse_client_tcp_port<K, V>(root: &dyn BDictAccess<K, V>) -> Option<u16>
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/message/bencode.rs:70:34
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn parse_our_ip<K, V>(root: &BDictAccess<K, V>) -> Option<IpAddr>
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn parse_our_ip<K, V>(root: &dyn BDictAccess<K, V>) -> Option<IpAddr>
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/message/bencode.rs:85:44
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn parse_client_ipv6_addr<K, V>(root: &BDictAccess<K, V>) -> Option<Ipv6Addr>
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn parse_client_ipv6_addr<K, V>(root: &dyn BDictAccess<K, V>) -> Option<Ipv6Addr>
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/message/bencode.rs:98:44
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn parse_client_ipv4_addr<K, V>(root: &BDictAccess<K, V>) -> Option<Ipv4Addr> 
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn parse_client_ipv4_addr<K, V>(root: &dyn BDictAccess<K, V>) -> Option<Ipv4Addr> 
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/message/bencode.rs:111:47
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn parse_client_max_requests<K, V>(root: &BDictAccess<K, V>) -> Option<i64>
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn parse_client_max_requests<K, V>(root: &dyn BDictAccess<K, V>) -> Option<i64>
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/message/bencode.rs:117:41
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn parse_metadata_size<K, V>(root: &BDictAccess<K, V>) -> Option<i64>
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn parse_metadata_size<K, V>(root: &dyn BDictAccess<K, V>) -> Option<i64>
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/message/bencode.rs:140:40
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn parse_message_type<K, V>(root: &BDictAccess<K, V>) -> io::Result<u8>
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn parse_message_type<K, V>(root: &dyn BDictAccess<K, V>) -> io::Result<u8>
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/message/bencode.rs:145:39
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn parse_piece_index<K, V>(root: &BDictAccess<K, V>) -> io::Result<i64>
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn parse_piece_index<K, V>(root: &dyn BDictAccess<K, V>) -> io::Result<i64>
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/message/bencode.rs:150:38
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn parse_total_size<K, V>(root: &BDictAccess<K, V>) -> io::Result<i64>
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn parse_total_size<K, V>(root: &dyn BDictAccess<K, V>) -> io::Result<i64>
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` attribute cannot be used on macro defs
[INFO] [stdout]  --> src/macros.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]   = help: `#[macro_use]` can be applied to crates, extern crates, and modules
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` attribute cannot be used on macro defs
[INFO] [stdout]   --> src/macros.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = help: `#[macro_use]` can be applied to crates, extern crates, and modules
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let bytes = match try!(self.protocol.bytes_needed(src.as_ref())) {
[INFO] [stdout]    |                           ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/manager/mod.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 try!(result);
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/bits_ext/handshake.rs:240:36
[INFO] [stdout]     |
[INFO] [stdout] 240 |                     let ben_dict = try!(bencode::CONVERT.convert_dict(&bencode, ROOT_ERROR_KEY));
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/bits_ext/handshake.rs:266:9
[INFO] [stdout]     |
[INFO] [stdout] 266 |         try!(message::write_length_id_pair(&mut writer, real_length as u32, Some(bits_ext::EXTENDED_MESSAGE_ID)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/bits_ext/port.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         try!(message::write_length_id_pair(&mut writer, bits_ext::PORT_MESSAGE_LEN, Some(bits_ext::PORT_MESSAGE_ID)));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/prot_ext/ut_metadata.rs:30:36
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 let bencode_dict = try!(bencode::CONVERT.convert_dict(&bencode, ROOT_ERROR_KEY));
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/prot_ext/ut_metadata.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 let msg_type = try!(bencode::parse_message_type(bencode_dict));
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/prot_ext/ut_metadata.rs:32:29
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 let piece = try!(bencode::parse_piece_index(bencode_dict));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/prot_ext/ut_metadata.rs:41:42
[INFO] [stdout]    |
[INFO] [stdout] 41 |                         let total_size = try!(bencode::parse_total_size(bencode_dict));
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/prot_ext/ut_metadata.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |         try!(writer.write_all(encoded_bytes.as_ref()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/prot_ext/mod.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 try!(message::write_length_id_pair(&mut writer, total_len, Some(bits_ext::EXTENDED_MESSAGE_ID)));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/prot_ext/mod.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 try!(writer.write_u8(ext_id));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/standard.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         try!(message::write_length_id_pair(&mut writer, message::HAVE_MESSAGE_LEN, Some(message::HAVE_MESSAGE_ID)));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/message/standard.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |         try!(message::write_length_id_pair(&mut writer, actual_length, Some(message::BITFIELD_MESSAGE_ID)));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         try!(message::write_length_id_pair(&mut writer, message::REQUEST_MESSAGE_LEN, Some(message::REQUEST_MESSAGE_ID)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |         try!(writer.write_u32::<BigEndian>(self.piece_index));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |         try!(writer.write_u32::<BigEndian>(self.block_offset));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         try!(message::write_length_id_pair(&mut writer, actual_length, Some(message::PIECE_MESSAGE_ID)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |         try!(writer.write_u32::<BigEndian>(self.piece_index));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |         try!(writer.write_u32::<BigEndian>(self.block_offset));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:263:9
[INFO] [stdout]     |
[INFO] [stdout] 263 |         try!(message::write_length_id_pair(&mut writer, message::CANCEL_MESSAGE_LEN, Some(message::CANCEL_MESSAGE_ID)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:265:9
[INFO] [stdout]     |
[INFO] [stdout] 265 |         try!(writer.write_u32::<BigEndian>(self.piece_index));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/standard.rs:266:9
[INFO] [stdout]     |
[INFO] [stdout] 266 |         try!(writer.write_u32::<BigEndian>(self.block_offset));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/message/mod.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 |     try!(writer.write_u32::<BigEndian>(length));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/message/bencode.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn parse_id_map<K, V>(root: &BDictAccess<K, V>) -> HashMap<ExtendedType, u8>
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn parse_id_map<K, V>(root: &dyn BDictAccess<K, V>) -> HashMap<ExtendedType, u8>
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/message/bencode.rs:50:37
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn parse_client_id<K, V>(root: &BDictAccess<K, V>) -> Option<String>
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn parse_client_id<K, V>(root: &dyn BDictAccess<K, V>) -> Option<String>
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/message/bencode.rs:57:43
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn parse_client_tcp_port<K, V>(root: &BDictAccess<K, V>) -> Option<u16>
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn parse_client_tcp_port<K, V>(root: &dyn BDictAccess<K, V>) -> Option<u16>
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/message/bencode.rs:70:34
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn parse_our_ip<K, V>(root: &BDictAccess<K, V>) -> Option<IpAddr>
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn parse_our_ip<K, V>(root: &dyn BDictAccess<K, V>) -> Option<IpAddr>
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/message/bencode.rs:85:44
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn parse_client_ipv6_addr<K, V>(root: &BDictAccess<K, V>) -> Option<Ipv6Addr>
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn parse_client_ipv6_addr<K, V>(root: &dyn BDictAccess<K, V>) -> Option<Ipv6Addr>
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/message/bencode.rs:98:44
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn parse_client_ipv4_addr<K, V>(root: &BDictAccess<K, V>) -> Option<Ipv4Addr> 
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn parse_client_ipv4_addr<K, V>(root: &dyn BDictAccess<K, V>) -> Option<Ipv4Addr> 
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/message/bencode.rs:111:47
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn parse_client_max_requests<K, V>(root: &BDictAccess<K, V>) -> Option<i64>
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn parse_client_max_requests<K, V>(root: &dyn BDictAccess<K, V>) -> Option<i64>
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/message/bencode.rs:117:41
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn parse_metadata_size<K, V>(root: &BDictAccess<K, V>) -> Option<i64>
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn parse_metadata_size<K, V>(root: &dyn BDictAccess<K, V>) -> Option<i64>
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/message/bencode.rs:140:40
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn parse_message_type<K, V>(root: &BDictAccess<K, V>) -> io::Result<u8>
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn parse_message_type<K, V>(root: &dyn BDictAccess<K, V>) -> io::Result<u8>
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/message/bencode.rs:145:39
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn parse_piece_index<K, V>(root: &BDictAccess<K, V>) -> io::Result<i64>
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn parse_piece_index<K, V>(root: &dyn BDictAccess<K, V>) -> io::Result<i64>
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/message/bencode.rs:150:38
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn parse_total_size<K, V>(root: &BDictAccess<K, V>) -> io::Result<i64>
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn parse_total_size<K, V>(root: &dyn BDictAccess<K, V>) -> io::Result<i64>
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` attribute cannot be used on macro defs
[INFO] [stdout]  --> src/macros.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]   = help: `#[macro_use]` can be applied to crates, extern crates, and modules
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` attribute cannot be used on macro defs
[INFO] [stdout]   --> src/macros.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = help: `#[macro_use]` can be applied to crates, extern crates, and modules
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/manager/task.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Peer(PeerError),
[INFO] [stdout]    |     ---- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 30 -     Peer(PeerError),
[INFO] [stdout] 30 +     Peer(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/manager/task.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Peer(PeerError),
[INFO] [stdout]    |     ---- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 30 -     Peer(PeerError),
[INFO] [stdout] 30 +     Peer(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.49s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "e25371dac961b337027acad58fa210dec81e1c2dd41228b3c3ce54dd99bc188f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e25371dac961b337027acad58fa210dec81e1c2dd41228b3c3ce54dd99bc188f", kill_on_drop: false }`
[INFO] [stdout] e25371dac961b337027acad58fa210dec81e1c2dd41228b3c3ce54dd99bc188f
