[INFO] fetching crate bip_bencode 0.4.4...
[INFO] testing bip_bencode-0.4.4 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] extracting crate bip_bencode 0.4.4 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate bip_bencode 0.4.4 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate bip_bencode 0.4.4
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate bip_bencode 0.4.4
[INFO] tweaked toml for crates.io crate bip_bencode 0.4.4 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 13 packages to latest compatible versions
[INFO] [stderr]       Adding addr2line v0.21.0 (latest: v0.22.0)
[INFO] [stderr]       Adding error-chain v0.11.0 (latest: v0.12.4)
[INFO] [stderr]       Adding gimli v0.28.1 (latest: v0.29.0)
[INFO] [stderr]       Adding object v0.32.2 (latest: v0.35.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `panic` setting is ignored for `bench` profile
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded error-chain v0.11.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 447e5049e042f85ee4835437b055cbc93cdca4eec025c7f6025963bf2af9eaed
[INFO] running `Command { std: "docker" "start" "-a" "447e5049e042f85ee4835437b055cbc93cdca4eec025c7f6025963bf2af9eaed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "447e5049e042f85ee4835437b055cbc93cdca4eec025c7f6025963bf2af9eaed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "447e5049e042f85ee4835437b055cbc93cdca4eec025c7f6025963bf2af9eaed", kill_on_drop: false }`
[INFO] [stdout] 447e5049e042f85ee4835437b055cbc93cdca4eec025c7f6025963bf2af9eaed
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ebd2bdda7a4c2be6cc9e996cff2baab4e462a34c2ea7180be8dbe5b9fb06bf78
[INFO] running `Command { std: "docker" "start" "-a" "ebd2bdda7a4c2be6cc9e996cff2baab4e462a34c2ea7180be8dbe5b9fb06bf78", kill_on_drop: false }`
[INFO] [stderr] warning: `panic` setting is ignored for `bench` profile
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling object v0.32.2
[INFO] [stderr]    Compiling backtrace v0.3.71
[INFO] [stderr]    Compiling error-chain v0.11.0
[INFO] [stderr]    Compiling bip_bencode v0.4.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/access/convert.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 31 |         self.convert_bytes_ext(try!(self.lookup(dictionary, &key)), &key)
[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/access/convert.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |         self.convert_str_ext(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:120:26
[INFO] [stdout]     |
[INFO] [stdout] 120 |         self.convert_int(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 |         self.convert_bytes(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:134:26
[INFO] [stdout]     |
[INFO] [stdout] 134 |         self.convert_str(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 |         self.convert_list(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:148:27
[INFO] [stdout]     |
[INFO] [stdout] 148 |         self.convert_dict(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/bencode_ref.rs:41:34
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let (bencode, end_pos) = try!(decode::decode(bytes, 0, opts, 0));
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let curr_byte = try!(peek_byte(bytes, pos));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:17:39
[INFO] [stdout]    |
[INFO] [stdout] 17 |             let (bencode, next_pos) = try!(decode_int(bytes, pos + 1, ::BEN_END));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:21:39
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let (bencode, next_pos) = try!(decode_list(bytes, pos + 1, opts, depth));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:25:39
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let (bencode, next_pos) = try!(decode_dict(bytes, pos + 1, opts, depth));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/reference/decode.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |         ::BYTE_LEN_LOW...::BYTE_LEN_HIGH => {
[INFO] [stdout]    |                       ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:29:39
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let (bencode, next_pos) = try!(decode_bytes(bytes, pos));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:73:34
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let (num_bytes, start_pos) = try!(decode_int(bytes, pos, ::BYTE_LEN_END));
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:96:25
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:99:35
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let (bencode, next_pos) = try!(decode(bytes, curr_pos, opts, depth + 1));
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |         curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:118:37
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let (key_bytes, next_pos) = try!(decode_bytes(bytes, curr_pos));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:129:33
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let (value, next_pos) = try!(decode(bytes, curr_pos, opts, depth + 1));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |         curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |     List(&'a BListAccess<V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     List(&'a dyn BListAccess<V>),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Dict(&'a BDictAccess<K, V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Dict(&'a dyn BDictAccess<K, V>),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout] 101 |     List(&'a mut BListAccess<V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 101 |     List(&'a mut dyn BListAccess<V>),
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:103:18
[INFO] [stdout]     |
[INFO] [stdout] 103 |     Dict(&'a mut BDictAccess<K, V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     Dict(&'a mut dyn BDictAccess<K, V>),
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |     access: &'a BListAccess<V>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     access: &'a dyn BListAccess<V>
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable/encode.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn encode_list<T>(list: &BListAccess<T>, bytes: &mut Vec<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn encode_list<T>(list: &dyn BListAccess<T>, bytes: &mut Vec<u8>)
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable/encode.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn encode_dict<'a, K, V>(dict: &BDictAccess<K, V>, bytes: &mut Vec<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn encode_dict<'a, K, V>(dict: &dyn BDictAccess<K, V>, bytes: &mut Vec<u8>)
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn list(&self) -> Option<&BListAccess<Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn list(&self) -> Option<&dyn BListAccess<Self::BType>>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:37:31
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn dict(&self) -> Option<&BDictAccess<Self::BKey, Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn dict(&self) -> Option<&dyn BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:112:43
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn list_mut(&mut self) -> Option<&mut BListAccess<Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn list_mut(&mut self) -> Option<&mut dyn BListAccess<Self::BType>>;
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:115:43
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn dict_mut(&mut self) -> Option<&mut BDictAccess<Self::BKey, Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:28:72
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:35:70
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:85:82
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BListAccess<B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BListAccess<B::BType>, Self::Error>
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:96:82
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:105:53
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn lookup<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a B, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn lookup<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a B, Self::Error>
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:117:62
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn lookup_and_convert_int<B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<i64, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn lookup_and_convert_int<B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<i64, Self::Error>
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:124:71
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:131:69
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:138:70
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Se...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Self::Error>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:138:113
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Se...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a dyn BListAccess<B::BType>, Self::Error>
[INFO] [stdout]     |                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:145:70
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::B...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:145:113
[INFO] [stdout]     |
[INFO] [stdout] 145 | ...ary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a dyn BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]     |                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:74:31
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn list(&self) -> Option<&BListAccess<Self::BType>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn list(&self) -> Option<&dyn BListAccess<Self::BType>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:78:31
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn dict(&self) -> Option<&BDictAccess<Self::BKey, Self::BType>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn dict(&self) -> Option<&dyn BDictAccess<Self::BKey, Self::BType>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl<'a, V: 'a> Index<usize> for &'a BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl<'a, V: 'a> Index<usize> for &'a dyn BListAccess<V> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a, V: 'a> Index<usize> for &'a mut BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a, V: 'a> Index<usize> for &'a mut dyn BListAccess<V> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:40:45
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<'a, V: 'a> IndexMut<usize> for &'a mut BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<'a, V: 'a> IndexMut<usize> for &'a mut dyn BListAccess<V> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:46:38
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl<'a, V: 'a> IntoIterator for &'a BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl<'a, V: 'a> IntoIterator for &'a dyn BListAccess<V> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:103:31
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn list(&self) -> Option<&BListAccess<BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn list(&self) -> Option<&dyn BListAccess<BencodeMut<'a>>> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:110:31
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn dict(&self) -> Option<&BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn dict(&self) -> Option<&dyn BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:128:43
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn list_mut(&mut self) -> Option<&mut BListAccess<BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn list_mut(&mut self) -> Option<&mut dyn BListAccess<BencodeMut<'a>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:135:43
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn dict_mut(&mut self) -> Option<&mut BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reference/bencode_ref.rs:89:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn list(&self) -> Option<&BListAccess<BencodeRef<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn list(&self) -> Option<&dyn BListAccess<BencodeRef<'a>>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reference/bencode_ref.rs:96:31
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn dict(&self) -> Option<&BDictAccess<&'a [u8], BencodeRef<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn dict(&self) -> Option<&dyn BDictAccess<&'a [u8], BencodeRef<'a>>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 57 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.12s
[INFO] running `Command { std: "docker" "inspect" "ebd2bdda7a4c2be6cc9e996cff2baab4e462a34c2ea7180be8dbe5b9fb06bf78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebd2bdda7a4c2be6cc9e996cff2baab4e462a34c2ea7180be8dbe5b9fb06bf78", kill_on_drop: false }`
[INFO] [stdout] ebd2bdda7a4c2be6cc9e996cff2baab4e462a34c2ea7180be8dbe5b9fb06bf78
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2fbcb6cfd1125c9cf06fafeac105662cd47e9eaa5cc9768a3daf04b2c7648494
[INFO] running `Command { std: "docker" "start" "-a" "2fbcb6cfd1125c9cf06fafeac105662cd47e9eaa5cc9768a3daf04b2c7648494", kill_on_drop: false }`
[INFO] [stderr] warning: `panic` setting is ignored for `bench` profile
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/access/convert.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 31 |         self.convert_bytes_ext(try!(self.lookup(dictionary, &key)), &key)
[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/access/convert.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |         self.convert_str_ext(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:120:26
[INFO] [stdout]     |
[INFO] [stdout] 120 |         self.convert_int(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 |         self.convert_bytes(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:134:26
[INFO] [stdout]     |
[INFO] [stdout] 134 |         self.convert_str(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 |         self.convert_list(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:148:27
[INFO] [stdout]     |
[INFO] [stdout] 148 |         self.convert_dict(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/bencode_ref.rs:41:34
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let (bencode, end_pos) = try!(decode::decode(bytes, 0, opts, 0));
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let curr_byte = try!(peek_byte(bytes, pos));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:17:39
[INFO] [stdout]    |
[INFO] [stdout] 17 |             let (bencode, next_pos) = try!(decode_int(bytes, pos + 1, ::BEN_END));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:21:39
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let (bencode, next_pos) = try!(decode_list(bytes, pos + 1, opts, depth));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:25:39
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let (bencode, next_pos) = try!(decode_dict(bytes, pos + 1, opts, depth));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/reference/decode.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |         ::BYTE_LEN_LOW...::BYTE_LEN_HIGH => {
[INFO] [stdout]    |                       ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:29:39
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let (bencode, next_pos) = try!(decode_bytes(bytes, pos));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:73:34
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let (num_bytes, start_pos) = try!(decode_int(bytes, pos, ::BYTE_LEN_END));
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:96:25
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:99:35
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let (bencode, next_pos) = try!(decode(bytes, curr_pos, opts, depth + 1));
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |         curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:118:37
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let (key_bytes, next_pos) = try!(decode_bytes(bytes, curr_pos));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:129:33
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let (value, next_pos) = try!(decode(bytes, curr_pos, opts, depth + 1));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |         curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |     List(&'a BListAccess<V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     List(&'a dyn BListAccess<V>),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Dict(&'a BDictAccess<K, V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Dict(&'a dyn BDictAccess<K, V>),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout] 101 |     List(&'a mut BListAccess<V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 101 |     List(&'a mut dyn BListAccess<V>),
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:103:18
[INFO] [stdout]     |
[INFO] [stdout] 103 |     Dict(&'a mut BDictAccess<K, V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     Dict(&'a mut dyn BDictAccess<K, V>),
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |     access: &'a BListAccess<V>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     access: &'a dyn BListAccess<V>
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable/encode.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn encode_list<T>(list: &BListAccess<T>, bytes: &mut Vec<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn encode_list<T>(list: &dyn BListAccess<T>, bytes: &mut Vec<u8>)
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable/encode.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn encode_dict<'a, K, V>(dict: &BDictAccess<K, V>, bytes: &mut Vec<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn encode_dict<'a, K, V>(dict: &dyn BDictAccess<K, V>, bytes: &mut Vec<u8>)
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn list(&self) -> Option<&BListAccess<Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn list(&self) -> Option<&dyn BListAccess<Self::BType>>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:37:31
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn dict(&self) -> Option<&BDictAccess<Self::BKey, Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn dict(&self) -> Option<&dyn BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:112:43
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn list_mut(&mut self) -> Option<&mut BListAccess<Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn list_mut(&mut self) -> Option<&mut dyn BListAccess<Self::BType>>;
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:115:43
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn dict_mut(&mut self) -> Option<&mut BDictAccess<Self::BKey, Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:28:72
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:35:70
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:85:82
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BListAccess<B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BListAccess<B::BType>, Self::Error>
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:96:82
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:105:53
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn lookup<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a B, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn lookup<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a B, Self::Error>
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:117:62
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn lookup_and_convert_int<B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<i64, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn lookup_and_convert_int<B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<i64, Self::Error>
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:124:71
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:131:69
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:138:70
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Se...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Self::Error>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:138:113
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Se...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a dyn BListAccess<B::BType>, Self::Error>
[INFO] [stdout]     |                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:145:70
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::B...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:145:113
[INFO] [stdout]     |
[INFO] [stdout] 145 | ...ary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a dyn BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]     |                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:74:31
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn list(&self) -> Option<&BListAccess<Self::BType>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn list(&self) -> Option<&dyn BListAccess<Self::BType>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:78:31
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn dict(&self) -> Option<&BDictAccess<Self::BKey, Self::BType>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn dict(&self) -> Option<&dyn BDictAccess<Self::BKey, Self::BType>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl<'a, V: 'a> Index<usize> for &'a BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl<'a, V: 'a> Index<usize> for &'a dyn BListAccess<V> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a, V: 'a> Index<usize> for &'a mut BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a, V: 'a> Index<usize> for &'a mut dyn BListAccess<V> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:40:45
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<'a, V: 'a> IndexMut<usize> for &'a mut BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<'a, V: 'a> IndexMut<usize> for &'a mut dyn BListAccess<V> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:46:38
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl<'a, V: 'a> IntoIterator for &'a BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl<'a, V: 'a> IntoIterator for &'a dyn BListAccess<V> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:103:31
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn list(&self) -> Option<&BListAccess<BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn list(&self) -> Option<&dyn BListAccess<BencodeMut<'a>>> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:110:31
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn dict(&self) -> Option<&BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn dict(&self) -> Option<&dyn BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:128:43
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn list_mut(&mut self) -> Option<&mut BListAccess<BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn list_mut(&mut self) -> Option<&mut dyn BListAccess<BencodeMut<'a>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:135:43
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn dict_mut(&mut self) -> Option<&mut BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reference/bencode_ref.rs:89:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn list(&self) -> Option<&BListAccess<BencodeRef<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn list(&self) -> Option<&dyn BListAccess<BencodeRef<'a>>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reference/bencode_ref.rs:96:31
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn dict(&self) -> Option<&BDictAccess<&'a [u8], BencodeRef<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn dict(&self) -> Option<&dyn BDictAccess<&'a [u8], BencodeRef<'a>>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 57 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling bip_bencode v0.4.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/access/convert.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 31 |         self.convert_bytes_ext(try!(self.lookup(dictionary, &key)), &key)
[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/access/convert.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |         self.convert_str_ext(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:120:26
[INFO] [stdout]     |
[INFO] [stdout] 120 |         self.convert_int(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 |         self.convert_bytes(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:134:26
[INFO] [stdout]     |
[INFO] [stdout] 134 |         self.convert_str(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 |         self.convert_list(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:148:27
[INFO] [stdout]     |
[INFO] [stdout] 148 |         self.convert_dict(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/bencode_ref.rs:41:34
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let (bencode, end_pos) = try!(decode::decode(bytes, 0, opts, 0));
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let curr_byte = try!(peek_byte(bytes, pos));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:17:39
[INFO] [stdout]    |
[INFO] [stdout] 17 |             let (bencode, next_pos) = try!(decode_int(bytes, pos + 1, ::BEN_END));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:21:39
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let (bencode, next_pos) = try!(decode_list(bytes, pos + 1, opts, depth));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:25:39
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let (bencode, next_pos) = try!(decode_dict(bytes, pos + 1, opts, depth));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/reference/decode.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |         ::BYTE_LEN_LOW...::BYTE_LEN_HIGH => {
[INFO] [stdout]    |                       ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:29:39
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let (bencode, next_pos) = try!(decode_bytes(bytes, pos));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:73:34
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let (num_bytes, start_pos) = try!(decode_int(bytes, pos, ::BYTE_LEN_END));
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:96:25
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:99:35
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let (bencode, next_pos) = try!(decode(bytes, curr_pos, opts, depth + 1));
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |         curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:118:37
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let (key_bytes, next_pos) = try!(decode_bytes(bytes, curr_pos));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:129:33
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let (value, next_pos) = try!(decode(bytes, curr_pos, opts, depth + 1));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |         curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |     List(&'a BListAccess<V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     List(&'a dyn BListAccess<V>),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Dict(&'a BDictAccess<K, V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Dict(&'a dyn BDictAccess<K, V>),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout] 101 |     List(&'a mut BListAccess<V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 101 |     List(&'a mut dyn BListAccess<V>),
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:103:18
[INFO] [stdout]     |
[INFO] [stdout] 103 |     Dict(&'a mut BDictAccess<K, V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     Dict(&'a mut dyn BDictAccess<K, V>),
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |     access: &'a BListAccess<V>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     access: &'a dyn BListAccess<V>
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable/encode.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn encode_list<T>(list: &BListAccess<T>, bytes: &mut Vec<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn encode_list<T>(list: &dyn BListAccess<T>, bytes: &mut Vec<u8>)
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable/encode.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn encode_dict<'a, K, V>(dict: &BDictAccess<K, V>, bytes: &mut Vec<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn encode_dict<'a, K, V>(dict: &dyn BDictAccess<K, V>, bytes: &mut Vec<u8>)
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn list(&self) -> Option<&BListAccess<Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn list(&self) -> Option<&dyn BListAccess<Self::BType>>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:37:31
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn dict(&self) -> Option<&BDictAccess<Self::BKey, Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn dict(&self) -> Option<&dyn BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:112:43
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn list_mut(&mut self) -> Option<&mut BListAccess<Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn list_mut(&mut self) -> Option<&mut dyn BListAccess<Self::BType>>;
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:115:43
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn dict_mut(&mut self) -> Option<&mut BDictAccess<Self::BKey, Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:28:72
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:35:70
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:85:82
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BListAccess<B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BListAccess<B::BType>, Self::Error>
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:96:82
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:105:53
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn lookup<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a B, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn lookup<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a B, Self::Error>
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:117:62
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn lookup_and_convert_int<B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<i64, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn lookup_and_convert_int<B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<i64, Self::Error>
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:124:71
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:131:69
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:138:70
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Se...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Self::Error>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:138:113
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Se...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a dyn BListAccess<B::BType>, Self::Error>
[INFO] [stdout]     |                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:145:70
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::B...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:145:113
[INFO] [stdout]     |
[INFO] [stdout] 145 | ...ary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a dyn BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]     |                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:74:31
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn list(&self) -> Option<&BListAccess<Self::BType>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn list(&self) -> Option<&dyn BListAccess<Self::BType>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:78:31
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn dict(&self) -> Option<&BDictAccess<Self::BKey, Self::BType>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn dict(&self) -> Option<&dyn BDictAccess<Self::BKey, Self::BType>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl<'a, V: 'a> Index<usize> for &'a BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl<'a, V: 'a> Index<usize> for &'a dyn BListAccess<V> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a, V: 'a> Index<usize> for &'a mut BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a, V: 'a> Index<usize> for &'a mut dyn BListAccess<V> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:40:45
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<'a, V: 'a> IndexMut<usize> for &'a mut BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<'a, V: 'a> IndexMut<usize> for &'a mut dyn BListAccess<V> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:46:38
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl<'a, V: 'a> IntoIterator for &'a BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl<'a, V: 'a> IntoIterator for &'a dyn BListAccess<V> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:103:31
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn list(&self) -> Option<&BListAccess<BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn list(&self) -> Option<&dyn BListAccess<BencodeMut<'a>>> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:110:31
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn dict(&self) -> Option<&BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn dict(&self) -> Option<&dyn BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:128:43
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn list_mut(&mut self) -> Option<&mut BListAccess<BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn list_mut(&mut self) -> Option<&mut dyn BListAccess<BencodeMut<'a>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:135:43
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn dict_mut(&mut self) -> Option<&mut BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reference/bencode_ref.rs:89:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn list(&self) -> Option<&BListAccess<BencodeRef<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn list(&self) -> Option<&dyn BListAccess<BencodeRef<'a>>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reference/bencode_ref.rs:96:31
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn dict(&self) -> Option<&BDictAccess<&'a [u8], BencodeRef<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn dict(&self) -> Option<&dyn BDictAccess<&'a [u8], BencodeRef<'a>>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 57 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.02s
[INFO] running `Command { std: "docker" "inspect" "2fbcb6cfd1125c9cf06fafeac105662cd47e9eaa5cc9768a3daf04b2c7648494", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2fbcb6cfd1125c9cf06fafeac105662cd47e9eaa5cc9768a3daf04b2c7648494", kill_on_drop: false }`
[INFO] [stdout] 2fbcb6cfd1125c9cf06fafeac105662cd47e9eaa5cc9768a3daf04b2c7648494
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 232a328a6ba0eb10aa2a10d6a2525157c8194b90e8801cb864d8cedb5038474c
[INFO] running `Command { std: "docker" "start" "-a" "232a328a6ba0eb10aa2a10d6a2525157c8194b90e8801cb864d8cedb5038474c", kill_on_drop: false }`
[INFO] [stderr] warning: `panic` setting is ignored for `bench` profile
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/access/convert.rs:31:32
[INFO] [stderr]    |
[INFO] [stderr] 31 |         self.convert_bytes_ext(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stderr]    |                                ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/access/convert.rs:38:30
[INFO] [stderr]    |
[INFO] [stderr] 38 |         self.convert_str_ext(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/access/convert.rs:120:26
[INFO] [stderr]     |
[INFO] [stderr] 120 |         self.convert_int(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/access/convert.rs:127:28
[INFO] [stderr]     |
[INFO] [stderr] 127 |         self.convert_bytes(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/access/convert.rs:134:26
[INFO] [stderr]     |
[INFO] [stderr] 134 |         self.convert_str(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/access/convert.rs:141:27
[INFO] [stderr]     |
[INFO] [stderr] 141 |         self.convert_list(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/access/convert.rs:148:27
[INFO] [stderr]     |
[INFO] [stderr] 148 |         self.convert_dict(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/bencode_ref.rs:41:34
[INFO] [stderr]    |
[INFO] [stderr] 41 |         let (bencode, end_pos) = try!(decode::decode(bytes, 0, opts, 0));
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/decode.rs:13:21
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let curr_byte = try!(peek_byte(bytes, pos));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/decode.rs:17:39
[INFO] [stderr]    |
[INFO] [stderr] 17 |             let (bencode, next_pos) = try!(decode_int(bytes, pos + 1, ::BEN_END));
[INFO] [stderr]    |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/decode.rs:21:39
[INFO] [stderr]    |
[INFO] [stderr] 21 |             let (bencode, next_pos) = try!(decode_list(bytes, pos + 1, opts, depth));
[INFO] [stderr]    |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/decode.rs:25:39
[INFO] [stderr]    |
[INFO] [stderr] 25 |             let (bencode, next_pos) = try!(decode_dict(bytes, pos + 1, opts, depth));
[INFO] [stderr]    |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/reference/decode.rs:28:23
[INFO] [stderr]    |
[INFO] [stderr] 28 |         ::BYTE_LEN_LOW...::BYTE_LEN_HIGH => {
[INFO] [stderr]    |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/decode.rs:29:39
[INFO] [stderr]    |
[INFO] [stderr] 29 |             let (bencode, next_pos) = try!(decode_bytes(bytes, pos));
[INFO] [stderr]    |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/decode.rs:73:34
[INFO] [stderr]    |
[INFO] [stderr] 73 |     let (num_bytes, start_pos) = try!(decode_int(bytes, pos, ::BYTE_LEN_END));
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/decode.rs:96:25
[INFO] [stderr]    |
[INFO] [stderr] 96 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/decode.rs:99:35
[INFO] [stderr]    |
[INFO] [stderr] 99 |         let (bencode, next_pos) = try!(decode(bytes, curr_pos, opts, depth + 1));
[INFO] [stderr]    |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/reference/decode.rs:104:21
[INFO] [stderr]     |
[INFO] [stderr] 104 |         curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/reference/decode.rs:115:25
[INFO] [stderr]     |
[INFO] [stderr] 115 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/reference/decode.rs:118:37
[INFO] [stderr]     |
[INFO] [stderr] 118 |         let (key_bytes, next_pos) = try!(decode_bytes(bytes, curr_pos));
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/reference/decode.rs:129:33
[INFO] [stderr]     |
[INFO] [stderr] 129 |         let (value, next_pos) = try!(decode(bytes, curr_pos, opts, depth + 1));
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/reference/decode.rs:138:21
[INFO] [stderr]     |
[INFO] [stderr] 138 |         curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/bencode.rs:11:14
[INFO] [stderr]    |
[INFO] [stderr] 11 |     List(&'a BListAccess<V>),
[INFO] [stderr]    |              ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 11 |     List(&'a dyn BListAccess<V>),
[INFO] [stderr]    |              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/bencode.rs:13:14
[INFO] [stderr]    |
[INFO] [stderr] 13 |     Dict(&'a BDictAccess<K, V>),
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 13 |     Dict(&'a dyn BDictAccess<K, V>),
[INFO] [stderr]    |              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/bencode.rs:101:18
[INFO] [stderr]     |
[INFO] [stderr] 101 |     List(&'a mut BListAccess<V>),
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 101 |     List(&'a mut dyn BListAccess<V>),
[INFO] [stderr]     |                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/bencode.rs:103:18
[INFO] [stderr]     |
[INFO] [stderr] 103 |     Dict(&'a mut BDictAccess<K, V>),
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 103 |     Dict(&'a mut dyn BDictAccess<K, V>),
[INFO] [stderr]     |                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/list.rs:57:17
[INFO] [stderr]    |
[INFO] [stderr] 57 |     access: &'a BListAccess<V>
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 57 |     access: &'a dyn BListAccess<V>
[INFO] [stderr]    |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/mutable/encode.rs:33:26
[INFO] [stderr]    |
[INFO] [stderr] 33 | fn encode_list<T>(list: &BListAccess<T>, bytes: &mut Vec<u8>)
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 33 | fn encode_list<T>(list: &dyn BListAccess<T>, bytes: &mut Vec<u8>)
[INFO] [stderr]    |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/mutable/encode.rs:44:33
[INFO] [stderr]    |
[INFO] [stderr] 44 | fn encode_dict<'a, K, V>(dict: &BDictAccess<K, V>, bytes: &mut Vec<u8>)
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 44 | fn encode_dict<'a, K, V>(dict: &dyn BDictAccess<K, V>, bytes: &mut Vec<u8>)
[INFO] [stderr]    |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/bencode.rs:34:31
[INFO] [stderr]    |
[INFO] [stderr] 34 |     fn list(&self) -> Option<&BListAccess<Self::BType>>;
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 34 |     fn list(&self) -> Option<&dyn BListAccess<Self::BType>>;
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/bencode.rs:37:31
[INFO] [stderr]    |
[INFO] [stderr] 37 |     fn dict(&self) -> Option<&BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 37 |     fn dict(&self) -> Option<&dyn BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/bencode.rs:112:43
[INFO] [stderr]     |
[INFO] [stderr] 112 |     fn list_mut(&mut self) -> Option<&mut BListAccess<Self::BType>>;
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 112 |     fn list_mut(&mut self) -> Option<&mut dyn BListAccess<Self::BType>>;
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/bencode.rs:115:43
[INFO] [stderr]     |
[INFO] [stderr] 115 |     fn dict_mut(&mut self) -> Option<&mut BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 115 |     fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/convert.rs:28:72
[INFO] [stderr]    |
[INFO] [stderr] 28 |     fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stderr]    |                                                                        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 28 |     fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stderr]    |                                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/convert.rs:35:70
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stderr]    |                                                                      ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stderr]    |                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/convert.rs:85:82
[INFO] [stderr]    |
[INFO] [stderr] 85 |     fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BListAccess<B::BType>, Self::Error>
[INFO] [stderr]    |                                                                                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 85 |     fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BListAccess<B::BType>, Self::Error>
[INFO] [stderr]    |                                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/convert.rs:96:82
[INFO] [stderr]    |
[INFO] [stderr] 96 |     fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stderr]    |                                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 96 |     fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stderr]    |                                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/convert.rs:105:53
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn lookup<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a B, Self::Error>
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn lookup<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a B, Self::Error>
[INFO] [stderr]     |                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/convert.rs:117:62
[INFO] [stderr]     |
[INFO] [stderr] 117 |     fn lookup_and_convert_int<B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<i64, Self::Error>
[INFO] [stderr]     |                                                              ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 117 |     fn lookup_and_convert_int<B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<i64, Self::Error>
[INFO] [stderr]     |                                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/convert.rs:124:71
[INFO] [stderr]     |
[INFO] [stderr] 124 |     fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 124 |     fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stderr]     |                                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/convert.rs:131:69
[INFO] [stderr]     |
[INFO] [stderr] 131 |     fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stderr]     |                                                                     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 131 |     fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stderr]     |                                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/convert.rs:138:70
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Se...
[INFO] [stderr]     |                                                                      ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Self::Error>
[INFO] [stderr]     |                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/convert.rs:138:113
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Se...
[INFO] [stderr]     |                                                                                                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a dyn BListAccess<B::BType>, Self::Error>
[INFO] [stderr]     |                                                                                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/convert.rs:145:70
[INFO] [stderr]     |
[INFO] [stderr] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::B...
[INFO] [stderr]     |                                                                      ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stderr]     |                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/convert.rs:145:113
[INFO] [stderr]     |
[INFO] [stderr] 145 | ...ary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stderr]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a dyn BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stderr]     |                                                                                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/bencode.rs:74:31
[INFO] [stderr]    |
[INFO] [stderr] 74 |     fn list(&self) -> Option<&BListAccess<Self::BType>> {
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 74 |     fn list(&self) -> Option<&dyn BListAccess<Self::BType>> {
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/bencode.rs:78:31
[INFO] [stderr]    |
[INFO] [stderr] 78 |     fn dict(&self) -> Option<&BDictAccess<Self::BKey, Self::BType>> {
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 78 |     fn dict(&self) -> Option<&dyn BDictAccess<Self::BKey, Self::BType>> {
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/list.rs:24:38
[INFO] [stderr]    |
[INFO] [stderr] 24 | impl<'a, V: 'a> Index<usize> for &'a BListAccess<V> {
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 24 | impl<'a, V: 'a> Index<usize> for &'a dyn BListAccess<V> {
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/list.rs:32:42
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl<'a, V: 'a> Index<usize> for &'a mut BListAccess<V> {
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl<'a, V: 'a> Index<usize> for &'a mut dyn BListAccess<V> {
[INFO] [stderr]    |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/list.rs:40:45
[INFO] [stderr]    |
[INFO] [stderr] 40 | impl<'a, V: 'a> IndexMut<usize> for &'a mut BListAccess<V> {
[INFO] [stderr]    |                                             ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 40 | impl<'a, V: 'a> IndexMut<usize> for &'a mut dyn BListAccess<V> {
[INFO] [stderr]    |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/list.rs:46:38
[INFO] [stderr]    |
[INFO] [stderr] 46 | impl<'a, V: 'a> IntoIterator for &'a BListAccess<V> {
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 46 | impl<'a, V: 'a> IntoIterator for &'a dyn BListAccess<V> {
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/mutable/bencode_mut.rs:103:31
[INFO] [stderr]     |
[INFO] [stderr] 103 |     fn list(&self) -> Option<&BListAccess<BencodeMut<'a>>> {
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 103 |     fn list(&self) -> Option<&dyn BListAccess<BencodeMut<'a>>> {
[INFO] [stderr]     |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/mutable/bencode_mut.rs:110:31
[INFO] [stderr]     |
[INFO] [stderr] 110 |     fn dict(&self) -> Option<&BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 110 |     fn dict(&self) -> Option<&dyn BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stderr]     |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/mutable/bencode_mut.rs:128:43
[INFO] [stderr]     |
[INFO] [stderr] 128 |     fn list_mut(&mut self) -> Option<&mut BListAccess<BencodeMut<'a>>> {
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 128 |     fn list_mut(&mut self) -> Option<&mut dyn BListAccess<BencodeMut<'a>>> {
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/mutable/bencode_mut.rs:135:43
[INFO] [stderr]     |
[INFO] [stderr] 135 |     fn dict_mut(&mut self) -> Option<&mut BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 135 |     fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reference/bencode_ref.rs:89:31
[INFO] [stderr]    |
[INFO] [stderr] 89 |     fn list(&self) -> Option<&BListAccess<BencodeRef<'a>>> {
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 89 |     fn list(&self) -> Option<&dyn BListAccess<BencodeRef<'a>>> {
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reference/bencode_ref.rs:96:31
[INFO] [stderr]    |
[INFO] [stderr] 96 |     fn dict(&self) -> Option<&BDictAccess<&'a [u8], BencodeRef<'a>>> {
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 96 |     fn dict(&self) -> Option<&dyn BDictAccess<&'a [u8], BencodeRef<'a>>> {
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: `bip_bencode` (lib) generated 57 warnings (run `cargo fix --lib -p bip_bencode` to apply 36 suggestions)
[INFO] [stderr] warning: `bip_bencode` (lib test) generated 57 warnings (57 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bip_bencode-edcc9308f06cd719)
[INFO] [stdout] 
[INFO] [stdout] running 41 tests
[INFO] [stdout] test mutable::bencode_mut::test::positive_bytes_encode ... ok
[INFO] [stdout] test mutable::bencode_mut::test::positive_int_encode ... ok
[INFO] [stdout] test mutable::bencode_mut::test::positive_nonempty_list_encode ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_dict_nested_bytes_buffer ... ok
[INFO] [stdout] test mutable::bencode_mut::test::positive_nonempty_dict_encode ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_dict_nested_int_buffer ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_bytes_buffer ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_dict_buffer ... ok
[INFO] [stdout] test mutable::bencode_mut::test::positive_empty_list_encode ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_dict_nested_dict_buffer ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_int_buffer ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_dict_nested_list_buffer ... ok
[INFO] [stdout] test mutable::bencode_mut::test::positive_empty_dict_encode ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_list_nested_list_buffer ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_list_nested_dict_buffer ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_list_nested_bytes_buffer ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_list_buffer ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_list_nested_int_buffer ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_bytes_not_utf8 - should panic ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_bytes_extra - should panic ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_dict_dup_keys_diff_data - should panic ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_int_double_zero - should panic ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_bytes_neg_len - should panic ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_dict_dup_keys_same_data - should panic ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_int_leading_zero - should panic ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_int_nan - should panic ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_int_negative_zero - should panic ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_int_double_negative - should panic ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_bytes_utf8 ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_bytes ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_dict ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_int ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_int_zero ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_int_negative ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_partial ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_dict_unordered_keys ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_dict_unordered_keys - should panic ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_bytes_zero_len ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_recursion ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_general ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_list ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 41 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s
[INFO] [stdout] 
[INFO] [stderr]      Running test/mod.rs (/opt/rustwide/target/debug/deps/test-5e4de42ef125a1b8)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test positive_ben_list_macro ... ok
[INFO] [stdout] test positive_ben_map_macro ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests bip_bencode
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/reference/decode.rs:28:23
[INFO] [stderr]    |
[INFO] [stderr] 28 |         ::BYTE_LEN_LOW...::BYTE_LEN_HIGH => {
[INFO] [stderr]    |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/lib.rs - (line 24) ... ok
[INFO] [stdout] test src/lib.rs - (line 7) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.73s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "232a328a6ba0eb10aa2a10d6a2525157c8194b90e8801cb864d8cedb5038474c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "232a328a6ba0eb10aa2a10d6a2525157c8194b90e8801cb864d8cedb5038474c", kill_on_drop: false }`
[INFO] [stdout] 232a328a6ba0eb10aa2a10d6a2525157c8194b90e8801cb864d8cedb5038474c
[INFO] testing bip_bencode-0.4.4 against try#b642703cf9526da1e72c0b6755753b939a9c6b6d for pr-125151
[INFO] extracting crate bip_bencode 0.4.4 into /workspace/builds/worker-7-tc2/source
[INFO] validating manifest of crates.io crate bip_bencode 0.4.4 on toolchain b642703cf9526da1e72c0b6755753b939a9c6b6d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate bip_bencode 0.4.4
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate bip_bencode 0.4.4
[INFO] tweaked toml for crates.io crate bip_bencode 0.4.4 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 13 packages to latest compatible versions
[INFO] [stderr]       Adding addr2line v0.21.0 (latest: v0.22.0)
[INFO] [stderr]       Adding error-chain v0.11.0 (latest: v0.12.4)
[INFO] [stderr]       Adding gimli v0.28.1 (latest: v0.29.0)
[INFO] [stderr]       Adding object v0.32.2 (latest: v0.35.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `panic` setting is ignored for `bench` profile
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2d62f365cb5a1c01bec12338a341cf6125485398c21f14dbd5a0fd4c233bc464
[INFO] running `Command { std: "docker" "start" "-a" "2d62f365cb5a1c01bec12338a341cf6125485398c21f14dbd5a0fd4c233bc464", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2d62f365cb5a1c01bec12338a341cf6125485398c21f14dbd5a0fd4c233bc464", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d62f365cb5a1c01bec12338a341cf6125485398c21f14dbd5a0fd4c233bc464", kill_on_drop: false }`
[INFO] [stdout] 2d62f365cb5a1c01bec12338a341cf6125485398c21f14dbd5a0fd4c233bc464
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8d44d57312fad9d6c0b69b48522c5ca894702416f5f3534cd062d808ade855f8
[INFO] running `Command { std: "docker" "start" "-a" "8d44d57312fad9d6c0b69b48522c5ca894702416f5f3534cd062d808ade855f8", kill_on_drop: false }`
[INFO] [stderr] warning: `panic` setting is ignored for `bench` profile
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling object v0.32.2
[INFO] [stderr]    Compiling backtrace v0.3.71
[INFO] [stderr]    Compiling error-chain v0.11.0
[INFO] [stderr]    Compiling bip_bencode v0.4.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/access/convert.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 31 |         self.convert_bytes_ext(try!(self.lookup(dictionary, &key)), &key)
[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/access/convert.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |         self.convert_str_ext(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:120:26
[INFO] [stdout]     |
[INFO] [stdout] 120 |         self.convert_int(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 |         self.convert_bytes(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:134:26
[INFO] [stdout]     |
[INFO] [stdout] 134 |         self.convert_str(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 |         self.convert_list(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:148:27
[INFO] [stdout]     |
[INFO] [stdout] 148 |         self.convert_dict(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/bencode_ref.rs:41:34
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let (bencode, end_pos) = try!(decode::decode(bytes, 0, opts, 0));
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let curr_byte = try!(peek_byte(bytes, pos));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:17:39
[INFO] [stdout]    |
[INFO] [stdout] 17 |             let (bencode, next_pos) = try!(decode_int(bytes, pos + 1, ::BEN_END));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:21:39
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let (bencode, next_pos) = try!(decode_list(bytes, pos + 1, opts, depth));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:25:39
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let (bencode, next_pos) = try!(decode_dict(bytes, pos + 1, opts, depth));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/reference/decode.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |         ::BYTE_LEN_LOW...::BYTE_LEN_HIGH => {
[INFO] [stdout]    |                       ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:29:39
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let (bencode, next_pos) = try!(decode_bytes(bytes, pos));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:73:34
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let (num_bytes, start_pos) = try!(decode_int(bytes, pos, ::BYTE_LEN_END));
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:96:25
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:99:35
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let (bencode, next_pos) = try!(decode(bytes, curr_pos, opts, depth + 1));
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |         curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:118:37
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let (key_bytes, next_pos) = try!(decode_bytes(bytes, curr_pos));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:129:33
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let (value, next_pos) = try!(decode(bytes, curr_pos, opts, depth + 1));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |         curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |     List(&'a BListAccess<V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     List(&'a dyn BListAccess<V>),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Dict(&'a BDictAccess<K, V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Dict(&'a dyn BDictAccess<K, V>),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout] 101 |     List(&'a mut BListAccess<V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 101 |     List(&'a mut dyn BListAccess<V>),
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:103:18
[INFO] [stdout]     |
[INFO] [stdout] 103 |     Dict(&'a mut BDictAccess<K, V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     Dict(&'a mut dyn BDictAccess<K, V>),
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |     access: &'a BListAccess<V>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     access: &'a dyn BListAccess<V>
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable/encode.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn encode_list<T>(list: &BListAccess<T>, bytes: &mut Vec<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn encode_list<T>(list: &dyn BListAccess<T>, bytes: &mut Vec<u8>)
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable/encode.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn encode_dict<'a, K, V>(dict: &BDictAccess<K, V>, bytes: &mut Vec<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn encode_dict<'a, K, V>(dict: &dyn BDictAccess<K, V>, bytes: &mut Vec<u8>)
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn list(&self) -> Option<&BListAccess<Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn list(&self) -> Option<&dyn BListAccess<Self::BType>>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:37:31
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn dict(&self) -> Option<&BDictAccess<Self::BKey, Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn dict(&self) -> Option<&dyn BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:112:43
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn list_mut(&mut self) -> Option<&mut BListAccess<Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn list_mut(&mut self) -> Option<&mut dyn BListAccess<Self::BType>>;
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:115:43
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn dict_mut(&mut self) -> Option<&mut BDictAccess<Self::BKey, Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:28:72
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:35:70
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:85:82
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BListAccess<B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BListAccess<B::BType>, Self::Error>
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:96:82
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:105:53
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn lookup<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a B, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn lookup<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a B, Self::Error>
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:117:62
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn lookup_and_convert_int<B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<i64, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn lookup_and_convert_int<B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<i64, Self::Error>
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:124:71
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:131:69
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:138:70
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Se...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Self::Error>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:138:113
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Se...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a dyn BListAccess<B::BType>, Self::Error>
[INFO] [stdout]     |                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:145:70
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::B...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:145:113
[INFO] [stdout]     |
[INFO] [stdout] 145 | ...ary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a dyn BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]     |                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:74:31
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn list(&self) -> Option<&BListAccess<Self::BType>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn list(&self) -> Option<&dyn BListAccess<Self::BType>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:78:31
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn dict(&self) -> Option<&BDictAccess<Self::BKey, Self::BType>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn dict(&self) -> Option<&dyn BDictAccess<Self::BKey, Self::BType>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl<'a, V: 'a> Index<usize> for &'a BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl<'a, V: 'a> Index<usize> for &'a dyn BListAccess<V> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a, V: 'a> Index<usize> for &'a mut BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a, V: 'a> Index<usize> for &'a mut dyn BListAccess<V> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:40:45
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<'a, V: 'a> IndexMut<usize> for &'a mut BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<'a, V: 'a> IndexMut<usize> for &'a mut dyn BListAccess<V> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:46:38
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl<'a, V: 'a> IntoIterator for &'a BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl<'a, V: 'a> IntoIterator for &'a dyn BListAccess<V> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:103:31
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn list(&self) -> Option<&BListAccess<BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn list(&self) -> Option<&dyn BListAccess<BencodeMut<'a>>> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:110:31
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn dict(&self) -> Option<&BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn dict(&self) -> Option<&dyn BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:128:43
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn list_mut(&mut self) -> Option<&mut BListAccess<BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn list_mut(&mut self) -> Option<&mut dyn BListAccess<BencodeMut<'a>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:135:43
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn dict_mut(&mut self) -> Option<&mut BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reference/bencode_ref.rs:89:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn list(&self) -> Option<&BListAccess<BencodeRef<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn list(&self) -> Option<&dyn BListAccess<BencodeRef<'a>>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reference/bencode_ref.rs:96:31
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn dict(&self) -> Option<&BDictAccess<&'a [u8], BencodeRef<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn dict(&self) -> Option<&dyn BDictAccess<&'a [u8], BencodeRef<'a>>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 57 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.86s
[INFO] running `Command { std: "docker" "inspect" "8d44d57312fad9d6c0b69b48522c5ca894702416f5f3534cd062d808ade855f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8d44d57312fad9d6c0b69b48522c5ca894702416f5f3534cd062d808ade855f8", kill_on_drop: false }`
[INFO] [stdout] 8d44d57312fad9d6c0b69b48522c5ca894702416f5f3534cd062d808ade855f8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 31183b90d1d2b360a9070288c40c1e3ae3de15ba22ebeb03cf8e5c5494a7e0e9
[INFO] running `Command { std: "docker" "start" "-a" "31183b90d1d2b360a9070288c40c1e3ae3de15ba22ebeb03cf8e5c5494a7e0e9", kill_on_drop: false }`
[INFO] [stderr] warning: `panic` setting is ignored for `bench` profile
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/access/convert.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 31 |         self.convert_bytes_ext(try!(self.lookup(dictionary, &key)), &key)
[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/access/convert.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |         self.convert_str_ext(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:120:26
[INFO] [stdout]     |
[INFO] [stdout] 120 |         self.convert_int(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 |         self.convert_bytes(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:134:26
[INFO] [stdout]     |
[INFO] [stdout] 134 |         self.convert_str(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 |         self.convert_list(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:148:27
[INFO] [stdout]     |
[INFO] [stdout] 148 |         self.convert_dict(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/bencode_ref.rs:41:34
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let (bencode, end_pos) = try!(decode::decode(bytes, 0, opts, 0));
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let curr_byte = try!(peek_byte(bytes, pos));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:17:39
[INFO] [stdout]    |
[INFO] [stdout] 17 |             let (bencode, next_pos) = try!(decode_int(bytes, pos + 1, ::BEN_END));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:21:39
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let (bencode, next_pos) = try!(decode_list(bytes, pos + 1, opts, depth));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:25:39
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let (bencode, next_pos) = try!(decode_dict(bytes, pos + 1, opts, depth));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/reference/decode.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |         ::BYTE_LEN_LOW...::BYTE_LEN_HIGH => {
[INFO] [stdout]    |                       ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:29:39
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let (bencode, next_pos) = try!(decode_bytes(bytes, pos));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:73:34
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let (num_bytes, start_pos) = try!(decode_int(bytes, pos, ::BYTE_LEN_END));
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:96:25
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:99:35
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let (bencode, next_pos) = try!(decode(bytes, curr_pos, opts, depth + 1));
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |         curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:118:37
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let (key_bytes, next_pos) = try!(decode_bytes(bytes, curr_pos));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:129:33
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let (value, next_pos) = try!(decode(bytes, curr_pos, opts, depth + 1));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |         curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |     List(&'a BListAccess<V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     List(&'a dyn BListAccess<V>),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Dict(&'a BDictAccess<K, V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Dict(&'a dyn BDictAccess<K, V>),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout] 101 |     List(&'a mut BListAccess<V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 101 |     List(&'a mut dyn BListAccess<V>),
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:103:18
[INFO] [stdout]     |
[INFO] [stdout] 103 |     Dict(&'a mut BDictAccess<K, V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     Dict(&'a mut dyn BDictAccess<K, V>),
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |     access: &'a BListAccess<V>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     access: &'a dyn BListAccess<V>
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable/encode.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn encode_list<T>(list: &BListAccess<T>, bytes: &mut Vec<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn encode_list<T>(list: &dyn BListAccess<T>, bytes: &mut Vec<u8>)
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable/encode.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn encode_dict<'a, K, V>(dict: &BDictAccess<K, V>, bytes: &mut Vec<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn encode_dict<'a, K, V>(dict: &dyn BDictAccess<K, V>, bytes: &mut Vec<u8>)
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn list(&self) -> Option<&BListAccess<Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn list(&self) -> Option<&dyn BListAccess<Self::BType>>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:37:31
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn dict(&self) -> Option<&BDictAccess<Self::BKey, Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn dict(&self) -> Option<&dyn BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:112:43
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn list_mut(&mut self) -> Option<&mut BListAccess<Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn list_mut(&mut self) -> Option<&mut dyn BListAccess<Self::BType>>;
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:115:43
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn dict_mut(&mut self) -> Option<&mut BDictAccess<Self::BKey, Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling bip_bencode v0.4.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:28:72
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:35:70
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:85:82
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BListAccess<B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BListAccess<B::BType>, Self::Error>
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:96:82
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:105:53
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn lookup<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a B, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn lookup<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a B, Self::Error>
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:117:62
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn lookup_and_convert_int<B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<i64, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn lookup_and_convert_int<B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<i64, Self::Error>
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:124:71
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:131:69
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:138:70
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Se...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Self::Error>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:138:113
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Se...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a dyn BListAccess<B::BType>, Self::Error>
[INFO] [stdout]     |                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:145:70
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::B...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:145:113
[INFO] [stdout]     |
[INFO] [stdout] 145 | ...ary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a dyn BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]     |                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:74:31
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn list(&self) -> Option<&BListAccess<Self::BType>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn list(&self) -> Option<&dyn BListAccess<Self::BType>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:78:31
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn dict(&self) -> Option<&BDictAccess<Self::BKey, Self::BType>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn dict(&self) -> Option<&dyn BDictAccess<Self::BKey, Self::BType>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl<'a, V: 'a> Index<usize> for &'a BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl<'a, V: 'a> Index<usize> for &'a dyn BListAccess<V> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a, V: 'a> Index<usize> for &'a mut BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a, V: 'a> Index<usize> for &'a mut dyn BListAccess<V> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:40:45
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<'a, V: 'a> IndexMut<usize> for &'a mut BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<'a, V: 'a> IndexMut<usize> for &'a mut dyn BListAccess<V> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:46:38
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl<'a, V: 'a> IntoIterator for &'a BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl<'a, V: 'a> IntoIterator for &'a dyn BListAccess<V> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:103:31
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn list(&self) -> Option<&BListAccess<BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn list(&self) -> Option<&dyn BListAccess<BencodeMut<'a>>> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:110:31
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn dict(&self) -> Option<&BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn dict(&self) -> Option<&dyn BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:128:43
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn list_mut(&mut self) -> Option<&mut BListAccess<BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn list_mut(&mut self) -> Option<&mut dyn BListAccess<BencodeMut<'a>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:135:43
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn dict_mut(&mut self) -> Option<&mut BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reference/bencode_ref.rs:89:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn list(&self) -> Option<&BListAccess<BencodeRef<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn list(&self) -> Option<&dyn BListAccess<BencodeRef<'a>>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reference/bencode_ref.rs:96:31
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn dict(&self) -> Option<&BDictAccess<&'a [u8], BencodeRef<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn dict(&self) -> Option<&dyn BDictAccess<&'a [u8], BencodeRef<'a>>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 57 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/access/convert.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 31 |         self.convert_bytes_ext(try!(self.lookup(dictionary, &key)), &key)
[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/access/convert.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |         self.convert_str_ext(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:120:26
[INFO] [stdout]     |
[INFO] [stdout] 120 |         self.convert_int(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 |         self.convert_bytes(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:134:26
[INFO] [stdout]     |
[INFO] [stdout] 134 |         self.convert_str(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 |         self.convert_list(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/access/convert.rs:148:27
[INFO] [stdout]     |
[INFO] [stdout] 148 |         self.convert_dict(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/bencode_ref.rs:41:34
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let (bencode, end_pos) = try!(decode::decode(bytes, 0, opts, 0));
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let curr_byte = try!(peek_byte(bytes, pos));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:17:39
[INFO] [stdout]    |
[INFO] [stdout] 17 |             let (bencode, next_pos) = try!(decode_int(bytes, pos + 1, ::BEN_END));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:21:39
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let (bencode, next_pos) = try!(decode_list(bytes, pos + 1, opts, depth));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:25:39
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let (bencode, next_pos) = try!(decode_dict(bytes, pos + 1, opts, depth));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/reference/decode.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |         ::BYTE_LEN_LOW...::BYTE_LEN_HIGH => {
[INFO] [stdout]    |                       ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:29:39
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let (bencode, next_pos) = try!(decode_bytes(bytes, pos));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:73:34
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let (num_bytes, start_pos) = try!(decode_int(bytes, pos, ::BYTE_LEN_END));
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:96:25
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/reference/decode.rs:99:35
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let (bencode, next_pos) = try!(decode(bytes, curr_pos, opts, depth + 1));
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |         curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:118:37
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let (key_bytes, next_pos) = try!(decode_bytes(bytes, curr_pos));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:129:33
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let (value, next_pos) = try!(decode(bytes, curr_pos, opts, depth + 1));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/reference/decode.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |         curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |     List(&'a BListAccess<V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     List(&'a dyn BListAccess<V>),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Dict(&'a BDictAccess<K, V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Dict(&'a dyn BDictAccess<K, V>),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout] 101 |     List(&'a mut BListAccess<V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 101 |     List(&'a mut dyn BListAccess<V>),
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:103:18
[INFO] [stdout]     |
[INFO] [stdout] 103 |     Dict(&'a mut BDictAccess<K, V>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     Dict(&'a mut dyn BDictAccess<K, V>),
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |     access: &'a BListAccess<V>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     access: &'a dyn BListAccess<V>
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable/encode.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn encode_list<T>(list: &BListAccess<T>, bytes: &mut Vec<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn encode_list<T>(list: &dyn BListAccess<T>, bytes: &mut Vec<u8>)
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable/encode.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn encode_dict<'a, K, V>(dict: &BDictAccess<K, V>, bytes: &mut Vec<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn encode_dict<'a, K, V>(dict: &dyn BDictAccess<K, V>, bytes: &mut Vec<u8>)
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn list(&self) -> Option<&BListAccess<Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn list(&self) -> Option<&dyn BListAccess<Self::BType>>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:37:31
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn dict(&self) -> Option<&BDictAccess<Self::BKey, Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn dict(&self) -> Option<&dyn BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:112:43
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn list_mut(&mut self) -> Option<&mut BListAccess<Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn list_mut(&mut self) -> Option<&mut dyn BListAccess<Self::BType>>;
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/bencode.rs:115:43
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn dict_mut(&mut self) -> Option<&mut BDictAccess<Self::BKey, Self::BType>>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:28:72
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:35:70
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:85:82
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BListAccess<B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BListAccess<B::BType>, Self::Error>
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/convert.rs:96:82
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:105:53
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn lookup<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a B, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn lookup<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a B, Self::Error>
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:117:62
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn lookup_and_convert_int<B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<i64, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn lookup_and_convert_int<B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<i64, Self::Error>
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:124:71
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:131:69
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:138:70
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Se...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Self::Error>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:138:113
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Se...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a dyn BListAccess<B::BType>, Self::Error>
[INFO] [stdout]     |                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:145:70
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::B...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/access/convert.rs:145:113
[INFO] [stdout]     |
[INFO] [stdout] 145 | ...ary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a dyn BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stdout]     |                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:74:31
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn list(&self) -> Option<&BListAccess<Self::BType>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn list(&self) -> Option<&dyn BListAccess<Self::BType>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/bencode.rs:78:31
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn dict(&self) -> Option<&BDictAccess<Self::BKey, Self::BType>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn dict(&self) -> Option<&dyn BDictAccess<Self::BKey, Self::BType>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl<'a, V: 'a> Index<usize> for &'a BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl<'a, V: 'a> Index<usize> for &'a dyn BListAccess<V> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a, V: 'a> Index<usize> for &'a mut BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a, V: 'a> Index<usize> for &'a mut dyn BListAccess<V> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:40:45
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<'a, V: 'a> IndexMut<usize> for &'a mut BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<'a, V: 'a> IndexMut<usize> for &'a mut dyn BListAccess<V> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/access/list.rs:46:38
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl<'a, V: 'a> IntoIterator for &'a BListAccess<V> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl<'a, V: 'a> IntoIterator for &'a dyn BListAccess<V> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:103:31
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn list(&self) -> Option<&BListAccess<BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn list(&self) -> Option<&dyn BListAccess<BencodeMut<'a>>> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:110:31
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn dict(&self) -> Option<&BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn dict(&self) -> Option<&dyn BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:128:43
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn list_mut(&mut self) -> Option<&mut BListAccess<BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn list_mut(&mut self) -> Option<&mut dyn BListAccess<BencodeMut<'a>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/mutable/bencode_mut.rs:135:43
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn dict_mut(&mut self) -> Option<&mut BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reference/bencode_ref.rs:89:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn list(&self) -> Option<&BListAccess<BencodeRef<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn list(&self) -> Option<&dyn BListAccess<BencodeRef<'a>>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reference/bencode_ref.rs:96:31
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn dict(&self) -> Option<&BDictAccess<&'a [u8], BencodeRef<'a>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn dict(&self) -> Option<&dyn BDictAccess<&'a [u8], BencodeRef<'a>>> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 57 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.08s
[INFO] running `Command { std: "docker" "inspect" "31183b90d1d2b360a9070288c40c1e3ae3de15ba22ebeb03cf8e5c5494a7e0e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31183b90d1d2b360a9070288c40c1e3ae3de15ba22ebeb03cf8e5c5494a7e0e9", kill_on_drop: false }`
[INFO] [stdout] 31183b90d1d2b360a9070288c40c1e3ae3de15ba22ebeb03cf8e5c5494a7e0e9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 40c3979c6ff114d32f4a1c16486bf49cc7d1fe5bcc7c3bb45902e21b527c45f0
[INFO] running `Command { std: "docker" "start" "-a" "40c3979c6ff114d32f4a1c16486bf49cc7d1fe5bcc7c3bb45902e21b527c45f0", kill_on_drop: false }`
[INFO] [stderr] warning: `panic` setting is ignored for `bench` profile
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/access/convert.rs:31:32
[INFO] [stderr]    |
[INFO] [stderr] 31 |         self.convert_bytes_ext(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stderr]    |                                ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/access/convert.rs:38:30
[INFO] [stderr]    |
[INFO] [stderr] 38 |         self.convert_str_ext(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/access/convert.rs:120:26
[INFO] [stderr]     |
[INFO] [stderr] 120 |         self.convert_int(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/access/convert.rs:127:28
[INFO] [stderr]     |
[INFO] [stderr] 127 |         self.convert_bytes(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/access/convert.rs:134:26
[INFO] [stderr]     |
[INFO] [stderr] 134 |         self.convert_str(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/access/convert.rs:141:27
[INFO] [stderr]     |
[INFO] [stderr] 141 |         self.convert_list(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/access/convert.rs:148:27
[INFO] [stderr]     |
[INFO] [stderr] 148 |         self.convert_dict(try!(self.lookup(dictionary, &key)), &key)
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/bencode_ref.rs:41:34
[INFO] [stderr]    |
[INFO] [stderr] 41 |         let (bencode, end_pos) = try!(decode::decode(bytes, 0, opts, 0));
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/decode.rs:13:21
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let curr_byte = try!(peek_byte(bytes, pos));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/decode.rs:17:39
[INFO] [stderr]    |
[INFO] [stderr] 17 |             let (bencode, next_pos) = try!(decode_int(bytes, pos + 1, ::BEN_END));
[INFO] [stderr]    |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/decode.rs:21:39
[INFO] [stderr]    |
[INFO] [stderr] 21 |             let (bencode, next_pos) = try!(decode_list(bytes, pos + 1, opts, depth));
[INFO] [stderr]    |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/decode.rs:25:39
[INFO] [stderr]    |
[INFO] [stderr] 25 |             let (bencode, next_pos) = try!(decode_dict(bytes, pos + 1, opts, depth));
[INFO] [stderr]    |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/reference/decode.rs:28:23
[INFO] [stderr]    |
[INFO] [stderr] 28 |         ::BYTE_LEN_LOW...::BYTE_LEN_HIGH => {
[INFO] [stderr]    |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/decode.rs:29:39
[INFO] [stderr]    |
[INFO] [stderr] 29 |             let (bencode, next_pos) = try!(decode_bytes(bytes, pos));
[INFO] [stderr]    |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/decode.rs:73:34
[INFO] [stderr]    |
[INFO] [stderr] 73 |     let (num_bytes, start_pos) = try!(decode_int(bytes, pos, ::BYTE_LEN_END));
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/decode.rs:96:25
[INFO] [stderr]    |
[INFO] [stderr] 96 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/reference/decode.rs:99:35
[INFO] [stderr]    |
[INFO] [stderr] 99 |         let (bencode, next_pos) = try!(decode(bytes, curr_pos, opts, depth + 1));
[INFO] [stderr]    |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/reference/decode.rs:104:21
[INFO] [stderr]     |
[INFO] [stderr] 104 |         curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/reference/decode.rs:115:25
[INFO] [stderr]     |
[INFO] [stderr] 115 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/reference/decode.rs:118:37
[INFO] [stderr]     |
[INFO] [stderr] 118 |         let (key_bytes, next_pos) = try!(decode_bytes(bytes, curr_pos));
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/reference/decode.rs:129:33
[INFO] [stderr]     |
[INFO] [stderr] 129 |         let (value, next_pos) = try!(decode(bytes, curr_pos, opts, depth + 1));
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/reference/decode.rs:138:21
[INFO] [stderr]     |
[INFO] [stderr] 138 |         curr_byte = try!(peek_byte(bytes, curr_pos));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/bencode.rs:11:14
[INFO] [stderr]    |
[INFO] [stderr] 11 |     List(&'a BListAccess<V>),
[INFO] [stderr]    |              ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 11 |     List(&'a dyn BListAccess<V>),
[INFO] [stderr]    |              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/bencode.rs:13:14
[INFO] [stderr]    |
[INFO] [stderr] 13 |     Dict(&'a BDictAccess<K, V>),
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 13 |     Dict(&'a dyn BDictAccess<K, V>),
[INFO] [stderr]    |              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/bencode.rs:101:18
[INFO] [stderr]     |
[INFO] [stderr] 101 |     List(&'a mut BListAccess<V>),
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 101 |     List(&'a mut dyn BListAccess<V>),
[INFO] [stderr]     |                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/bencode.rs:103:18
[INFO] [stderr]     |
[INFO] [stderr] 103 |     Dict(&'a mut BDictAccess<K, V>),
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 103 |     Dict(&'a mut dyn BDictAccess<K, V>),
[INFO] [stderr]     |                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/list.rs:57:17
[INFO] [stderr]    |
[INFO] [stderr] 57 |     access: &'a BListAccess<V>
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 57 |     access: &'a dyn BListAccess<V>
[INFO] [stderr]    |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/mutable/encode.rs:33:26
[INFO] [stderr]    |
[INFO] [stderr] 33 | fn encode_list<T>(list: &BListAccess<T>, bytes: &mut Vec<u8>)
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 33 | fn encode_list<T>(list: &dyn BListAccess<T>, bytes: &mut Vec<u8>)
[INFO] [stderr]    |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/mutable/encode.rs:44:33
[INFO] [stderr]    |
[INFO] [stderr] 44 | fn encode_dict<'a, K, V>(dict: &BDictAccess<K, V>, bytes: &mut Vec<u8>)
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 44 | fn encode_dict<'a, K, V>(dict: &dyn BDictAccess<K, V>, bytes: &mut Vec<u8>)
[INFO] [stderr]    |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/bencode.rs:34:31
[INFO] [stderr]    |
[INFO] [stderr] 34 |     fn list(&self) -> Option<&BListAccess<Self::BType>>;
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 34 |     fn list(&self) -> Option<&dyn BListAccess<Self::BType>>;
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/bencode.rs:37:31
[INFO] [stderr]    |
[INFO] [stderr] 37 |     fn dict(&self) -> Option<&BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 37 |     fn dict(&self) -> Option<&dyn BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/bencode.rs:112:43
[INFO] [stderr]     |
[INFO] [stderr] 112 |     fn list_mut(&mut self) -> Option<&mut BListAccess<Self::BType>>;
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 112 |     fn list_mut(&mut self) -> Option<&mut dyn BListAccess<Self::BType>>;
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/bencode.rs:115:43
[INFO] [stderr]     |
[INFO] [stderr] 115 |     fn dict_mut(&mut self) -> Option<&mut BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 115 |     fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess<Self::BKey, Self::BType>>;
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/convert.rs:28:72
[INFO] [stderr]    |
[INFO] [stderr] 28 |     fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stderr]    |                                                                        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 28 |     fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stderr]    |                                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/convert.rs:35:70
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stderr]    |                                                                      ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stderr]    |                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/convert.rs:85:82
[INFO] [stderr]    |
[INFO] [stderr] 85 |     fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BListAccess<B::BType>, Self::Error>
[INFO] [stderr]    |                                                                                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 85 |     fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BListAccess<B::BType>, Self::Error>
[INFO] [stderr]    |                                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/convert.rs:96:82
[INFO] [stderr]    |
[INFO] [stderr] 96 |     fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stderr]    |                                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 96 |     fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stderr]    |                                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/convert.rs:105:53
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn lookup<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a B, Self::Error>
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn lookup<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a B, Self::Error>
[INFO] [stderr]     |                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/convert.rs:117:62
[INFO] [stderr]     |
[INFO] [stderr] 117 |     fn lookup_and_convert_int<B, K1, K2>(&self, dictionary: &BDictAccess<K1, B>, key: K2) -> Result<i64, Self::Error>
[INFO] [stderr]     |                                                              ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 117 |     fn lookup_and_convert_int<B, K1, K2>(&self, dictionary: &dyn BDictAccess<K1, B>, key: K2) -> Result<i64, Self::Error>
[INFO] [stderr]     |                                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/convert.rs:124:71
[INFO] [stderr]     |
[INFO] [stderr] 124 |     fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 124 |     fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a [u8], Self::Error>
[INFO] [stderr]     |                                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/convert.rs:131:69
[INFO] [stderr]     |
[INFO] [stderr] 131 |     fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stderr]     |                                                                     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 131 |     fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a str, Self::Error>
[INFO] [stderr]     |                                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/convert.rs:138:70
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Se...
[INFO] [stderr]     |                                                                      ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Self::Error>
[INFO] [stderr]     |                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/convert.rs:138:113
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BListAccess<B::BType>, Se...
[INFO] [stderr]     |                                                                                                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a dyn BListAccess<B::BType>, Self::Error>
[INFO] [stderr]     |                                                                                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/convert.rs:145:70
[INFO] [stderr]     |
[INFO] [stderr] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::B...
[INFO] [stderr]     |                                                                      ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stderr]     |                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/access/convert.rs:145:113
[INFO] [stderr]     |
[INFO] [stderr] 145 | ...ary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stderr]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 145 |     fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess<K1, B>, key: K2) -> Result<&'a dyn BDictAccess<B::BKey, B::BType>, Self::Error>
[INFO] [stderr]     |                                                                                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/bencode.rs:74:31
[INFO] [stderr]    |
[INFO] [stderr] 74 |     fn list(&self) -> Option<&BListAccess<Self::BType>> {
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 74 |     fn list(&self) -> Option<&dyn BListAccess<Self::BType>> {
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/bencode.rs:78:31
[INFO] [stderr]    |
[INFO] [stderr] 78 |     fn dict(&self) -> Option<&BDictAccess<Self::BKey, Self::BType>> {
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 78 |     fn dict(&self) -> Option<&dyn BDictAccess<Self::BKey, Self::BType>> {
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/list.rs:24:38
[INFO] [stderr]    |
[INFO] [stderr] 24 | impl<'a, V: 'a> Index<usize> for &'a BListAccess<V> {
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 24 | impl<'a, V: 'a> Index<usize> for &'a dyn BListAccess<V> {
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/list.rs:32:42
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl<'a, V: 'a> Index<usize> for &'a mut BListAccess<V> {
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl<'a, V: 'a> Index<usize> for &'a mut dyn BListAccess<V> {
[INFO] [stderr]    |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/list.rs:40:45
[INFO] [stderr]    |
[INFO] [stderr] 40 | impl<'a, V: 'a> IndexMut<usize> for &'a mut BListAccess<V> {
[INFO] [stderr]    |                                             ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 40 | impl<'a, V: 'a> IndexMut<usize> for &'a mut dyn BListAccess<V> {
[INFO] [stderr]    |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/access/list.rs:46:38
[INFO] [stderr]    |
[INFO] [stderr] 46 | impl<'a, V: 'a> IntoIterator for &'a BListAccess<V> {
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 46 | impl<'a, V: 'a> IntoIterator for &'a dyn BListAccess<V> {
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/mutable/bencode_mut.rs:103:31
[INFO] [stderr]     |
[INFO] [stderr] 103 |     fn list(&self) -> Option<&BListAccess<BencodeMut<'a>>> {
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 103 |     fn list(&self) -> Option<&dyn BListAccess<BencodeMut<'a>>> {
[INFO] [stderr]     |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/mutable/bencode_mut.rs:110:31
[INFO] [stderr]     |
[INFO] [stderr] 110 |     fn dict(&self) -> Option<&BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 110 |     fn dict(&self) -> Option<&dyn BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stderr]     |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/mutable/bencode_mut.rs:128:43
[INFO] [stderr]     |
[INFO] [stderr] 128 |     fn list_mut(&mut self) -> Option<&mut BListAccess<BencodeMut<'a>>> {
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 128 |     fn list_mut(&mut self) -> Option<&mut dyn BListAccess<BencodeMut<'a>>> {
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/mutable/bencode_mut.rs:135:43
[INFO] [stderr]     |
[INFO] [stderr] 135 |     fn dict_mut(&mut self) -> Option<&mut BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 135 |     fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess<Cow<'a, [u8]>, BencodeMut<'a>>> {
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reference/bencode_ref.rs:89:31
[INFO] [stderr]    |
[INFO] [stderr] 89 |     fn list(&self) -> Option<&BListAccess<BencodeRef<'a>>> {
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 89 |     fn list(&self) -> Option<&dyn BListAccess<BencodeRef<'a>>> {
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reference/bencode_ref.rs:96:31
[INFO] [stderr]    |
[INFO] [stderr] 96 |     fn dict(&self) -> Option<&BDictAccess<&'a [u8], BencodeRef<'a>>> {
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 96 |     fn dict(&self) -> Option<&dyn BDictAccess<&'a [u8], BencodeRef<'a>>> {
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: `bip_bencode` (lib) generated 57 warnings (run `cargo fix --lib -p bip_bencode` to apply 36 suggestions)
[INFO] [stderr] warning: `bip_bencode` (lib test) generated 57 warnings (57 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bip_bencode-edcc9308f06cd719)
[INFO] [stdout] 
[INFO] [stdout] running 41 tests
[INFO] [stdout] test mutable::bencode_mut::test::positive_bytes_encode ... ok
[INFO] [stdout] test mutable::bencode_mut::test::positive_empty_dict_encode ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_dict_nested_bytes_buffer ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_dict_nested_dict_buffer ... ok
[INFO] [stdout] test mutable::bencode_mut::test::positive_nonempty_list_encode ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_dict_buffer ... ok
[INFO] [stdout] test mutable::bencode_mut::test::positive_nonempty_dict_encode ... ok
[INFO] [stdout] test mutable::bencode_mut::test::positive_empty_list_encode ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_list_nested_bytes_buffer ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_list_nested_dict_buffer ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_dict_nested_list_buffer ... ok
[INFO] [stdout] test mutable::bencode_mut::test::positive_int_encode ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_list_buffer ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_dict_nested_int_buffer ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_list_nested_int_buffer ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_int_buffer ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_list_nested_list_buffer ... ok
[INFO] [stdout] test reference::bencode_ref::tests::positive_bytes_buffer ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_bytes_not_utf8 - should panic ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_dict_dup_keys_diff_data - should panic ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_bytes_neg_len - should panic ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_dict_dup_keys_same_data - should panic ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_dict_unordered_keys - should panic ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_bytes_utf8 ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_bytes ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_int_double_negative - should panic ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_int_nan - should panic ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_int_double_zero - should panic ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_bytes_zero_len ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_int ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_bytes_extra - should panic ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_int_leading_zero - should panic ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_int_negative ... ok
[INFO] [stdout] test reference::decode::tests::negative_decode_int_negative_zero - should panic ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_dict_unordered_keys ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_dict ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_recursion ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_int_zero ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_general ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_list ... ok
[INFO] [stdout] test reference::decode::tests::positive_decode_partial ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 41 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s
[INFO] [stdout] 
[INFO] [stderr]      Running test/mod.rs (/opt/rustwide/target/debug/deps/test-5e4de42ef125a1b8)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test positive_ben_map_macro ... ok
[INFO] [stderr]    Doc-tests bip_bencode
[INFO] [stdout] test positive_ben_list_macro ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/reference/decode.rs:28:23
[INFO] [stderr]    |
[INFO] [stderr] 28 |         ::BYTE_LEN_LOW...::BYTE_LEN_HIGH => {
[INFO] [stderr]    |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/lib.rs - (line 7) ... ok
[INFO] [stdout] test src/lib.rs - (line 24) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.99s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "40c3979c6ff114d32f4a1c16486bf49cc7d1fe5bcc7c3bb45902e21b527c45f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "40c3979c6ff114d32f4a1c16486bf49cc7d1fe5bcc7c3bb45902e21b527c45f0", kill_on_drop: false }`
[INFO] [stdout] 40c3979c6ff114d32f4a1c16486bf49cc7d1fe5bcc7c3bb45902e21b527c45f0
