[INFO] fetching crate bip_bencode 0.4.4... [INFO] testing bip_bencode-0.4.4 against beta-2022-04-10 for beta-1.61-1 [INFO] extracting crate bip_bencode 0.4.4 into /workspace/builds/worker-10/source [INFO] validating manifest of crates.io crate bip_bencode 0.4.4 on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "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-10/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "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-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2267584cc163ef1d35a1e12c06b4aea1fb3afef8aee31dddbb7242dff03dcfaf [INFO] running `Command { std: "docker" "start" "-a" "2267584cc163ef1d35a1e12c06b4aea1fb3afef8aee31dddbb7242dff03dcfaf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2267584cc163ef1d35a1e12c06b4aea1fb3afef8aee31dddbb7242dff03dcfaf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2267584cc163ef1d35a1e12c06b4aea1fb3afef8aee31dddbb7242dff03dcfaf", kill_on_drop: false }` [INFO] [stdout] 2267584cc163ef1d35a1e12c06b4aea1fb3afef8aee31dddbb7242dff03dcfaf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9ad0fbc9f66a18e78a3626933f53ce8e31b02f0ca3777201530edddc1ee8173d [INFO] running `Command { std: "docker" "start" "-a" "9ad0fbc9f66a18e78a3626933f53ce8e31b02f0ca3777201530edddc1ee8173d", kill_on_drop: false }` [INFO] [stderr] warning: `panic` setting is ignored for `bench` profile [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling libc v0.2.123 [INFO] [stderr] Compiling gimli v0.26.1 [INFO] [stderr] Compiling rustc-demangle v0.1.21 [INFO] [stderr] Compiling backtrace v0.3.64 [INFO] [stderr] Compiling object v0.27.1 [INFO] [stderr] Compiling addr2line v0.17.0 [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] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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 [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), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 - List(&'a BListAccess), [INFO] [stdout] 11 + List(&'a dyn BListAccess), [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), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 13 - Dict(&'a BDictAccess), [INFO] [stdout] 13 + Dict(&'a dyn BDictAccess), [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), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 101 - List(&'a mut BListAccess), [INFO] [stdout] 101 + List(&'a mut dyn BListAccess), [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), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 103 - Dict(&'a mut BDictAccess), [INFO] [stdout] 103 + Dict(&'a mut dyn BDictAccess), [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 [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 57 - access: &'a BListAccess [INFO] [stdout] 57 + access: &'a dyn BListAccess [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>; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - fn list(&self) -> Option<&BListAccess>; [INFO] [stdout] 34 + fn list(&self) -> Option<&dyn BListAccess>; [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>; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 - fn dict(&self) -> Option<&BDictAccess>; [INFO] [stdout] 37 + fn dict(&self) -> Option<&dyn BDictAccess>; [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>; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 112 - fn list_mut(&mut self) -> Option<&mut BListAccess>; [INFO] [stdout] 112 + fn list_mut(&mut self) -> Option<&mut dyn BListAccess>; [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>; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 115 - fn dict_mut(&mut self) -> Option<&mut BDictAccess>; [INFO] [stdout] 115 + fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess>; [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 - fn list(&self) -> Option<&BListAccess> { [INFO] [stdout] 74 + fn list(&self) -> Option<&dyn BListAccess> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 78 - fn dict(&self) -> Option<&BDictAccess> { [INFO] [stdout] 78 + fn dict(&self) -> Option<&dyn BDictAccess> { [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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 28 - fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess, key: K2) -> Result<&'a [u8], Self::Error> [INFO] [stdout] 28 + fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess, 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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 - fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess, key: K2) -> Result<&'a str, Self::Error> [INFO] [stdout] 35 + fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess, 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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 85 - fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BListAccess, Self::Error> [INFO] [stdout] 85 + fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BListAccess, 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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 96 - fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BDictAccess, Self::Error> [INFO] [stdout] 96 + fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BDictAccess, 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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 105 - fn lookup<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a B, Self::Error> [INFO] [stdout] 105 + fn lookup<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, 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(&self, dictionary: &BDictAccess, key: K2) -> Result [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 117 - fn lookup_and_convert_int(&self, dictionary: &BDictAccess, key: K2) -> Result [INFO] [stdout] 117 + fn lookup_and_convert_int(&self, dictionary: &dyn BDictAccess, key: K2) -> Result [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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 124 - fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a [u8], Self::Error> [INFO] [stdout] 124 + fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, 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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 131 - fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a str, Self::Error> [INFO] [stdout] 131 + fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, 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:113 [INFO] [stdout] | [INFO] [stdout] 138 | fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BListAccess, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 - fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BListAccess, Self::Error> [INFO] [stdout] 138 + fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a dyn BListAccess, 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, key: K2) -> Result<&'a BListAccess, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 - fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BListAccess, Self::Error> [INFO] [stdout] 138 + fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, key: K2) -> Result<&'a BListAccess, 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, key: K2) -> Result<&'a BDictAccess, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 145 - fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BDictAccess, Self::Error> [INFO] [stdout] 145 + fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a dyn BDictAccess, 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, key: K2) -> Result<&'a BDictAccess [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 145 - fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BDictAccess, Self::Error> [INFO] [stdout] 145 + fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, key: K2) -> Result<&'a BDictAccess, Self::Error> [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 for &'a BListAccess { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 24 - impl<'a, V: 'a> Index for &'a BListAccess { [INFO] [stdout] 24 + impl<'a, V: 'a> Index for &'a dyn BListAccess { [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 for &'a mut BListAccess { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - impl<'a, V: 'a> Index for &'a mut BListAccess { [INFO] [stdout] 32 + impl<'a, V: 'a> Index for &'a mut dyn BListAccess { [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 for &'a mut BListAccess { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 - impl<'a, V: 'a> IndexMut for &'a mut BListAccess { [INFO] [stdout] 40 + impl<'a, V: 'a> IndexMut for &'a mut dyn BListAccess { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 46 - impl<'a, V: 'a> IntoIterator for &'a BListAccess { [INFO] [stdout] 46 + impl<'a, V: 'a> IntoIterator for &'a dyn BListAccess { [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>> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 103 - fn list(&self) -> Option<&BListAccess>> { [INFO] [stdout] 103 + fn list(&self) -> Option<&dyn BListAccess>> { [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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 - fn dict(&self) -> Option<&BDictAccess, BencodeMut<'a>>> { [INFO] [stdout] 110 + fn dict(&self) -> Option<&dyn BDictAccess, 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>> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 128 - fn list_mut(&mut self) -> Option<&mut BListAccess>> { [INFO] [stdout] 128 + fn list_mut(&mut self) -> Option<&mut dyn BListAccess>> { [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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 135 - fn dict_mut(&mut self) -> Option<&mut BDictAccess, BencodeMut<'a>>> { [INFO] [stdout] 135 + fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess, BencodeMut<'a>>> { [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(list: &BListAccess, bytes: &mut Vec) [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 33 - fn encode_list(list: &BListAccess, bytes: &mut Vec) [INFO] [stdout] 33 + fn encode_list(list: &dyn BListAccess, bytes: &mut Vec) [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, bytes: &mut Vec) [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 - fn encode_dict<'a, K, V>(dict: &BDictAccess, bytes: &mut Vec) [INFO] [stdout] 44 + fn encode_dict<'a, K, V>(dict: &dyn BDictAccess, bytes: &mut Vec) [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>> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 89 - fn list(&self) -> Option<&BListAccess>> { [INFO] [stdout] 89 + fn list(&self) -> Option<&dyn BListAccess>> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 96 - fn dict(&self) -> Option<&BDictAccess<&'a [u8], BencodeRef<'a>>> { [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 [unoptimized + debuginfo] target(s) in 7.12s [INFO] running `Command { std: "docker" "inspect" "9ad0fbc9f66a18e78a3626933f53ce8e31b02f0ca3777201530edddc1ee8173d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9ad0fbc9f66a18e78a3626933f53ce8e31b02f0ca3777201530edddc1ee8173d", kill_on_drop: false }` [INFO] [stdout] 9ad0fbc9f66a18e78a3626933f53ce8e31b02f0ca3777201530edddc1ee8173d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 25454c089ab36c51e3c18c3574f96725c89870572a6c9cdc3fd2184d9ec62517 [INFO] running `Command { std: "docker" "start" "-a" "25454c089ab36c51e3c18c3574f96725c89870572a6c9cdc3fd2184d9ec62517", 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] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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 [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), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 - List(&'a BListAccess), [INFO] [stdout] 11 + List(&'a dyn BListAccess), [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), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 13 - Dict(&'a BDictAccess), [INFO] [stdout] 13 + Dict(&'a dyn BDictAccess), [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), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 101 - List(&'a mut BListAccess), [INFO] [stdout] 101 + List(&'a mut dyn BListAccess), [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), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 103 - Dict(&'a mut BDictAccess), [INFO] [stdout] 103 + Dict(&'a mut dyn BDictAccess), [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 [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 57 - access: &'a BListAccess [INFO] [stdout] 57 + access: &'a dyn BListAccess [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>; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - fn list(&self) -> Option<&BListAccess>; [INFO] [stdout] 34 + fn list(&self) -> Option<&dyn BListAccess>; [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>; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 - fn dict(&self) -> Option<&BDictAccess>; [INFO] [stdout] 37 + fn dict(&self) -> Option<&dyn BDictAccess>; [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>; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 112 - fn list_mut(&mut self) -> Option<&mut BListAccess>; [INFO] [stdout] 112 + fn list_mut(&mut self) -> Option<&mut dyn BListAccess>; [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>; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 115 - fn dict_mut(&mut self) -> Option<&mut BDictAccess>; [INFO] [stdout] 115 + fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess>; [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 - fn list(&self) -> Option<&BListAccess> { [INFO] [stdout] 74 + fn list(&self) -> Option<&dyn BListAccess> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 78 - fn dict(&self) -> Option<&BDictAccess> { [INFO] [stdout] 78 + fn dict(&self) -> Option<&dyn BDictAccess> { [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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 28 - fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess, key: K2) -> Result<&'a [u8], Self::Error> [INFO] [stdout] 28 + fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess, 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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 - fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess, key: K2) -> Result<&'a str, Self::Error> [INFO] [stdout] 35 + fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess, 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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 85 - fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BListAccess, Self::Error> [INFO] [stdout] 85 + fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BListAccess, 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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 96 - fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BDictAccess, Self::Error> [INFO] [stdout] 96 + fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BDictAccess, 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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 105 - fn lookup<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a B, Self::Error> [INFO] [stdout] 105 + fn lookup<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, 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(&self, dictionary: &BDictAccess, key: K2) -> Result [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 117 - fn lookup_and_convert_int(&self, dictionary: &BDictAccess, key: K2) -> Result [INFO] [stdout] 117 + fn lookup_and_convert_int(&self, dictionary: &dyn BDictAccess, key: K2) -> Result [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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 124 - fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a [u8], Self::Error> [INFO] [stdout] 124 + fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, 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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 131 - fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a str, Self::Error> [INFO] [stdout] 131 + fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, 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:113 [INFO] [stdout] | [INFO] [stdout] 138 | fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BListAccess, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 - fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BListAccess, Self::Error> [INFO] [stdout] 138 + fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a dyn BListAccess, 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, key: K2) -> Result<&'a BListAccess, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 - fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BListAccess, Self::Error> [INFO] [stdout] 138 + fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, key: K2) -> Result<&'a BListAccess, 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, key: K2) -> Result<&'a BDictAccess, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 145 - fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BDictAccess, Self::Error> [INFO] [stdout] 145 + fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a dyn BDictAccess, 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, key: K2) -> Result<&'a BDictAccess [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 145 - fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BDictAccess, Self::Error> [INFO] [stdout] 145 + fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, key: K2) -> Result<&'a BDictAccess, Self::Error> [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 for &'a BListAccess { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 24 - impl<'a, V: 'a> Index for &'a BListAccess { [INFO] [stdout] 24 + impl<'a, V: 'a> Index for &'a dyn BListAccess { [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 for &'a mut BListAccess { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - impl<'a, V: 'a> Index for &'a mut BListAccess { [INFO] [stdout] 32 + impl<'a, V: 'a> Index for &'a mut dyn BListAccess { [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 for &'a mut BListAccess { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 - impl<'a, V: 'a> IndexMut for &'a mut BListAccess { [INFO] [stdout] 40 + impl<'a, V: 'a> IndexMut for &'a mut dyn BListAccess { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 46 - impl<'a, V: 'a> IntoIterator for &'a BListAccess { [INFO] [stdout] 46 + impl<'a, V: 'a> IntoIterator for &'a dyn BListAccess { [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>> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 103 - fn list(&self) -> Option<&BListAccess>> { [INFO] [stdout] 103 + fn list(&self) -> Option<&dyn BListAccess>> { [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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 - fn dict(&self) -> Option<&BDictAccess, BencodeMut<'a>>> { [INFO] [stdout] 110 + fn dict(&self) -> Option<&dyn BDictAccess, 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>> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 128 - fn list_mut(&mut self) -> Option<&mut BListAccess>> { [INFO] [stdout] 128 + fn list_mut(&mut self) -> Option<&mut dyn BListAccess>> { [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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 135 - fn dict_mut(&mut self) -> Option<&mut BDictAccess, BencodeMut<'a>>> { [INFO] [stdout] 135 + fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess, BencodeMut<'a>>> { [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(list: &BListAccess, bytes: &mut Vec) [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 33 - fn encode_list(list: &BListAccess, bytes: &mut Vec) [INFO] [stdout] 33 + fn encode_list(list: &dyn BListAccess, bytes: &mut Vec) [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, bytes: &mut Vec) [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 - fn encode_dict<'a, K, V>(dict: &BDictAccess, bytes: &mut Vec) [INFO] [stdout] 44 + fn encode_dict<'a, K, V>(dict: &dyn BDictAccess, bytes: &mut Vec) [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>> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 89 - fn list(&self) -> Option<&BListAccess>> { [INFO] [stdout] 89 + fn list(&self) -> Option<&dyn BListAccess>> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 96 - fn dict(&self) -> Option<&BDictAccess<&'a [u8], BencodeRef<'a>>> { [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] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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 [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), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 - List(&'a BListAccess), [INFO] [stdout] 11 + List(&'a dyn BListAccess), [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), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 13 - Dict(&'a BDictAccess), [INFO] [stdout] 13 + Dict(&'a dyn BDictAccess), [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), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 101 - List(&'a mut BListAccess), [INFO] [stdout] 101 + List(&'a mut dyn BListAccess), [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), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 103 - Dict(&'a mut BDictAccess), [INFO] [stdout] 103 + Dict(&'a mut dyn BDictAccess), [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 [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 57 - access: &'a BListAccess [INFO] [stdout] 57 + access: &'a dyn BListAccess [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>; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - fn list(&self) -> Option<&BListAccess>; [INFO] [stdout] 34 + fn list(&self) -> Option<&dyn BListAccess>; [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>; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 - fn dict(&self) -> Option<&BDictAccess>; [INFO] [stdout] 37 + fn dict(&self) -> Option<&dyn BDictAccess>; [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>; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 112 - fn list_mut(&mut self) -> Option<&mut BListAccess>; [INFO] [stdout] 112 + fn list_mut(&mut self) -> Option<&mut dyn BListAccess>; [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>; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 115 - fn dict_mut(&mut self) -> Option<&mut BDictAccess>; [INFO] [stdout] 115 + fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess>; [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 - fn list(&self) -> Option<&BListAccess> { [INFO] [stdout] 74 + fn list(&self) -> Option<&dyn BListAccess> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 78 - fn dict(&self) -> Option<&BDictAccess> { [INFO] [stdout] 78 + fn dict(&self) -> Option<&dyn BDictAccess> { [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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 28 - fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess, key: K2) -> Result<&'a [u8], Self::Error> [INFO] [stdout] 28 + fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess, 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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 - fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess, key: K2) -> Result<&'a str, Self::Error> [INFO] [stdout] 35 + fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess, 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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 85 - fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BListAccess, Self::Error> [INFO] [stdout] 85 + fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BListAccess, 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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 96 - fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BDictAccess, Self::Error> [INFO] [stdout] 96 + fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BDictAccess, 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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 105 - fn lookup<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a B, Self::Error> [INFO] [stdout] 105 + fn lookup<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, 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(&self, dictionary: &BDictAccess, key: K2) -> Result [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 117 - fn lookup_and_convert_int(&self, dictionary: &BDictAccess, key: K2) -> Result [INFO] [stdout] 117 + fn lookup_and_convert_int(&self, dictionary: &dyn BDictAccess, key: K2) -> Result [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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 124 - fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a [u8], Self::Error> [INFO] [stdout] 124 + fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, 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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 131 - fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a str, Self::Error> [INFO] [stdout] 131 + fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, 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:113 [INFO] [stdout] | [INFO] [stdout] 138 | fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BListAccess, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 - fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BListAccess, Self::Error> [INFO] [stdout] 138 + fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a dyn BListAccess, 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, key: K2) -> Result<&'a BListAccess, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 - fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BListAccess, Self::Error> [INFO] [stdout] 138 + fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, key: K2) -> Result<&'a BListAccess, 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, key: K2) -> Result<&'a BDictAccess, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 145 - fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BDictAccess, Self::Error> [INFO] [stdout] 145 + fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a dyn BDictAccess, 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, key: K2) -> Result<&'a BDictAccess [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 145 - fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BDictAccess, Self::Error> [INFO] [stdout] 145 + fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, key: K2) -> Result<&'a BDictAccess, Self::Error> [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 for &'a BListAccess { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 24 - impl<'a, V: 'a> Index for &'a BListAccess { [INFO] [stdout] 24 + impl<'a, V: 'a> Index for &'a dyn BListAccess { [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 for &'a mut BListAccess { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - impl<'a, V: 'a> Index for &'a mut BListAccess { [INFO] [stdout] 32 + impl<'a, V: 'a> Index for &'a mut dyn BListAccess { [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 for &'a mut BListAccess { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 - impl<'a, V: 'a> IndexMut for &'a mut BListAccess { [INFO] [stdout] 40 + impl<'a, V: 'a> IndexMut for &'a mut dyn BListAccess { [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 { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 46 - impl<'a, V: 'a> IntoIterator for &'a BListAccess { [INFO] [stdout] 46 + impl<'a, V: 'a> IntoIterator for &'a dyn BListAccess { [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>> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 103 - fn list(&self) -> Option<&BListAccess>> { [INFO] [stdout] 103 + fn list(&self) -> Option<&dyn BListAccess>> { [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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 - fn dict(&self) -> Option<&BDictAccess, BencodeMut<'a>>> { [INFO] [stdout] 110 + fn dict(&self) -> Option<&dyn BDictAccess, 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>> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 128 - fn list_mut(&mut self) -> Option<&mut BListAccess>> { [INFO] [stdout] 128 + fn list_mut(&mut self) -> Option<&mut dyn BListAccess>> { [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, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 135 - fn dict_mut(&mut self) -> Option<&mut BDictAccess, BencodeMut<'a>>> { [INFO] [stdout] 135 + fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess, BencodeMut<'a>>> { [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(list: &BListAccess, bytes: &mut Vec) [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 33 - fn encode_list(list: &BListAccess, bytes: &mut Vec) [INFO] [stdout] 33 + fn encode_list(list: &dyn BListAccess, bytes: &mut Vec) [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, bytes: &mut Vec) [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 - fn encode_dict<'a, K, V>(dict: &BDictAccess, bytes: &mut Vec) [INFO] [stdout] 44 + fn encode_dict<'a, K, V>(dict: &dyn BDictAccess, bytes: &mut Vec) [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>> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 89 - fn list(&self) -> Option<&BListAccess>> { [INFO] [stdout] 89 + fn list(&self) -> Option<&dyn BListAccess>> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 96 - fn dict(&self) -> Option<&BDictAccess<&'a [u8], BencodeRef<'a>>> { [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 [unoptimized + debuginfo] target(s) in 1.37s [INFO] [stderr] Executable unittests src/lib.rs (/opt/rustwide/target/debug/deps/bip_bencode-4df3ce396d8aa209) [INFO] [stderr] Executable test/mod.rs (/opt/rustwide/target/debug/deps/test-b624b985fa1e20b2) [INFO] running `Command { std: "docker" "inspect" "25454c089ab36c51e3c18c3574f96725c89870572a6c9cdc3fd2184d9ec62517", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "25454c089ab36c51e3c18c3574f96725c89870572a6c9cdc3fd2184d9ec62517", kill_on_drop: false }` [INFO] [stdout] 25454c089ab36c51e3c18c3574f96725c89870572a6c9cdc3fd2184d9ec62517 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] b98410397bd9a0872fc5ae3a286ec20eea2646592bf05593778853ccb5bf698c [INFO] running `Command { std: "docker" "start" "-a" "b98410397bd9a0872fc5ae3a286ec20eea2646592bf05593778853ccb5bf698c", 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] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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 [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), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 11 - List(&'a BListAccess), [INFO] [stderr] 11 + List(&'a dyn BListAccess), [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), [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 13 - Dict(&'a BDictAccess), [INFO] [stderr] 13 + Dict(&'a dyn BDictAccess), [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), [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 101 - List(&'a mut BListAccess), [INFO] [stderr] 101 + List(&'a mut dyn BListAccess), [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), [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 103 - Dict(&'a mut BDictAccess), [INFO] [stderr] 103 + Dict(&'a mut dyn BDictAccess), [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 [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 57 - access: &'a BListAccess [INFO] [stderr] 57 + access: &'a dyn BListAccess [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>; [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 34 - fn list(&self) -> Option<&BListAccess>; [INFO] [stderr] 34 + fn list(&self) -> Option<&dyn BListAccess>; [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>; [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 37 - fn dict(&self) -> Option<&BDictAccess>; [INFO] [stderr] 37 + fn dict(&self) -> Option<&dyn BDictAccess>; [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>; [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 112 - fn list_mut(&mut self) -> Option<&mut BListAccess>; [INFO] [stderr] 112 + fn list_mut(&mut self) -> Option<&mut dyn BListAccess>; [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>; [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 115 - fn dict_mut(&mut self) -> Option<&mut BDictAccess>; [INFO] [stderr] 115 + fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess>; [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> { [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 74 - fn list(&self) -> Option<&BListAccess> { [INFO] [stderr] 74 + fn list(&self) -> Option<&dyn BListAccess> { [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> { [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 78 - fn dict(&self) -> Option<&BDictAccess> { [INFO] [stderr] 78 + fn dict(&self) -> Option<&dyn BDictAccess> { [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, 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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 28 - fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess, key: K2) -> Result<&'a [u8], Self::Error> [INFO] [stderr] 28 + fn lookup_and_convert_bytes_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess, 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, 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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 35 - fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &BDictAccess, key: K2) -> Result<&'a str, Self::Error> [INFO] [stderr] 35 + fn lookup_and_convert_str_ext<'a, B, K1, K2>(&self, dictionary: &dyn BDictAccess, 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, 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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 85 - fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BListAccess, Self::Error> [INFO] [stderr] 85 + fn convert_list<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BListAccess, 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, 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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 96 - fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a BDictAccess, Self::Error> [INFO] [stderr] 96 + fn convert_dict<'a, B, E>(&self, bencode: &'a B, error_key: E) -> Result<&'a dyn BDictAccess, 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, 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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 105 - fn lookup<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a B, Self::Error> [INFO] [stderr] 105 + fn lookup<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, 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(&self, dictionary: &BDictAccess, key: K2) -> Result [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 117 - fn lookup_and_convert_int(&self, dictionary: &BDictAccess, key: K2) -> Result [INFO] [stderr] 117 + fn lookup_and_convert_int(&self, dictionary: &dyn BDictAccess, key: K2) -> Result [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, 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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 124 - fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a [u8], Self::Error> [INFO] [stderr] 124 + fn lookup_and_convert_bytes<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, 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, 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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 131 - fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a str, Self::Error> [INFO] [stderr] 131 + fn lookup_and_convert_str<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, 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:113 [INFO] [stderr] | [INFO] [stderr] 138 | fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BListAccess, 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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 138 - fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BListAccess, Self::Error> [INFO] [stderr] 138 + fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a dyn BListAccess, 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, key: K2) -> Result<&'a BListAccess, 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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 138 - fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BListAccess, Self::Error> [INFO] [stderr] 138 + fn lookup_and_convert_list<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, key: K2) -> Result<&'a BListAccess, 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, key: K2) -> Result<&'a BDictAccess, 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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 145 - fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BDictAccess, Self::Error> [INFO] [stderr] 145 + fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a dyn BDictAccess, 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, key: K2) -> Result<&'a BDictAccess [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 145 - fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a BDictAccess, key: K2) -> Result<&'a BDictAccess, Self::Error> [INFO] [stderr] 145 + fn lookup_and_convert_dict<'a, B, K1, K2>(&self, dictionary: &'a dyn BDictAccess, key: K2) -> Result<&'a BDictAccess, Self::Error> [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 for &'a BListAccess { [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 24 - impl<'a, V: 'a> Index for &'a BListAccess { [INFO] [stderr] 24 + impl<'a, V: 'a> Index for &'a dyn BListAccess { [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 for &'a mut BListAccess { [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 32 - impl<'a, V: 'a> Index for &'a mut BListAccess { [INFO] [stderr] 32 + impl<'a, V: 'a> Index for &'a mut dyn BListAccess { [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 for &'a mut BListAccess { [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 40 - impl<'a, V: 'a> IndexMut for &'a mut BListAccess { [INFO] [stderr] 40 + impl<'a, V: 'a> IndexMut for &'a mut dyn BListAccess { [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 { [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 46 - impl<'a, V: 'a> IntoIterator for &'a BListAccess { [INFO] [stderr] 46 + impl<'a, V: 'a> IntoIterator for &'a dyn BListAccess { [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>> { [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 103 - fn list(&self) -> Option<&BListAccess>> { [INFO] [stderr] 103 + fn list(&self) -> Option<&dyn BListAccess>> { [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, 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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 110 - fn dict(&self) -> Option<&BDictAccess, BencodeMut<'a>>> { [INFO] [stderr] 110 + fn dict(&self) -> Option<&dyn BDictAccess, 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>> { [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 128 - fn list_mut(&mut self) -> Option<&mut BListAccess>> { [INFO] [stderr] 128 + fn list_mut(&mut self) -> Option<&mut dyn BListAccess>> { [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, 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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 135 - fn dict_mut(&mut self) -> Option<&mut BDictAccess, BencodeMut<'a>>> { [INFO] [stderr] 135 + fn dict_mut(&mut self) -> Option<&mut dyn BDictAccess, BencodeMut<'a>>> { [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(list: &BListAccess, bytes: &mut Vec) [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 33 - fn encode_list(list: &BListAccess, bytes: &mut Vec) [INFO] [stderr] 33 + fn encode_list(list: &dyn BListAccess, bytes: &mut Vec) [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, bytes: &mut Vec) [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 44 - fn encode_dict<'a, K, V>(dict: &BDictAccess, bytes: &mut Vec) [INFO] [stderr] 44 + fn encode_dict<'a, K, V>(dict: &dyn BDictAccess, bytes: &mut Vec) [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>> { [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 89 - fn list(&self) -> Option<&BListAccess>> { [INFO] [stderr] 89 + fn list(&self) -> Option<&dyn BListAccess>> { [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 96 - fn dict(&self) -> Option<&BDictAccess<&'a [u8], BencodeRef<'a>>> { [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 [INFO] [stderr] warning: `bip_bencode` (lib test) generated 57 warnings (57 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bip_bencode-4df3ce396d8aa209) [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 mutable::bencode_mut::test::positive_int_encode ... ok [INFO] [stdout] test mutable::bencode_mut::test::positive_empty_list_encode ... ok [INFO] [stdout] test mutable::bencode_mut::test::positive_nonempty_dict_encode ... ok [INFO] [stdout] test mutable::bencode_mut::test::positive_nonempty_list_encode ... 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 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 reference::bencode_ref::tests::positive_dict_nested_int_buffer ... ok [INFO] [stdout] test reference::bencode_ref::tests::positive_dict_nested_list_buffer ... ok [INFO] [stdout] test reference::bencode_ref::tests::positive_int_buffer ... ok [INFO] [stdout] test reference::bencode_ref::tests::positive_list_buffer ... 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_list_nested_int_buffer ... ok [INFO] [stdout] test reference::bencode_ref::tests::positive_list_nested_list_buffer ... ok [INFO] [stdout] test reference::decode::tests::positive_decode_bytes ... ok [INFO] [stdout] test reference::decode::tests::positive_decode_bytes_utf8 ... ok [INFO] [stdout] test reference::decode::tests::positive_decode_bytes_zero_len ... ok [INFO] [stdout] test reference::decode::tests::positive_decode_dict ... ok [INFO] [stdout] test reference::decode::tests::positive_decode_dict_unordered_keys ... ok [INFO] [stdout] test reference::decode::tests::positive_decode_general ... 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_list ... ok [INFO] [stdout] test reference::decode::tests::negative_decode_bytes_not_utf8 - should panic ... ok [INFO] [stdout] test reference::decode::tests::negative_decode_dict_unordered_keys - should panic ... ok [INFO] [stdout] test reference::decode::tests::negative_decode_bytes_extra - 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_int_leading_zero - 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_bytes_neg_len - should panic ... ok [INFO] [stdout] test reference::decode::tests::negative_decode_int_nan - 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_dict_dup_keys_same_data - should panic ... ok [INFO] [stdout] test reference::decode::tests::positive_decode_recursion ... ok [INFO] [stdout] test reference::decode::tests::negative_decode_int_double_negative - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 41 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s [INFO] [stdout] [INFO] [stderr] Running test/mod.rs (/opt/rustwide/target/debug/deps/test-b624b985fa1e20b2) [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] --> /opt/rustwide/workdir/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] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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 [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.74s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b98410397bd9a0872fc5ae3a286ec20eea2646592bf05593778853ccb5bf698c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b98410397bd9a0872fc5ae3a286ec20eea2646592bf05593778853ccb5bf698c", kill_on_drop: false }` [INFO] [stdout] b98410397bd9a0872fc5ae3a286ec20eea2646592bf05593778853ccb5bf698c