[INFO] cloning repository https://github.com/fuchsi/maketorrent [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fuchsi/maketorrent" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffuchsi%2Fmaketorrent", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffuchsi%2Fmaketorrent'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 697606f26064b6a84e934b5d3df65910cce38673 [INFO] testing fuchsi/maketorrent against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffuchsi%2Fmaketorrent" "/workspace/builds/worker-14/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-14/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/fuchsi/maketorrent on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/fuchsi/maketorrent [INFO] finished tweaking git repo https://github.com/fuchsi/maketorrent [INFO] tweaked toml for git repo https://github.com/fuchsi/maketorrent written to /workspace/builds/worker-14/source/Cargo.toml [INFO] crate git repo https://github.com/fuchsi/maketorrent already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded bip_bencode v0.4.4 [INFO] [stderr] Downloaded bip_util v0.5.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9fb72591f09e14b55e600536a51ec86620b53d842f3cefdfa2872e6d4c5a16ac [INFO] running `Command { std: "docker" "start" "-a" "9fb72591f09e14b55e600536a51ec86620b53d842f3cefdfa2872e6d4c5a16ac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9fb72591f09e14b55e600536a51ec86620b53d842f3cefdfa2872e6d4c5a16ac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9fb72591f09e14b55e600536a51ec86620b53d842f3cefdfa2872e6d4c5a16ac", kill_on_drop: false }` [INFO] [stdout] 9fb72591f09e14b55e600536a51ec86620b53d842f3cefdfa2872e6d4c5a16ac [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a6f74d549792afc94ab3a3133534c7c2bb6bd3ebe8d60e9e124b01a45599aeb8 [INFO] running `Command { std: "docker" "start" "-a" "a6f74d549792afc94ab3a3133534c7c2bb6bd3ebe8d60e9e124b01a45599aeb8", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.40 [INFO] [stderr] Compiling num-traits v0.2.2 [INFO] [stderr] Compiling rustc-serialize v0.3.24 [INFO] [stderr] Compiling cc v1.0.15 [INFO] [stderr] Compiling gcc v0.3.54 [INFO] [stderr] Compiling cfg-if v0.1.3 [INFO] [stderr] Compiling rustc-demangle v0.1.8 [INFO] [stderr] Compiling same-file v1.0.2 [INFO] [stderr] Compiling unicode-width v0.1.4 [INFO] [stderr] Compiling crossbeam v0.3.2 [INFO] [stderr] Compiling bitflags v1.0.3 [INFO] [stderr] Compiling walkdir v2.1.4 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling rand v0.4.2 [INFO] [stderr] Compiling time v0.1.39 [INFO] [stderr] Compiling atty v0.2.10 [INFO] [stderr] Compiling num_cpus v1.10.0 [INFO] [stderr] Compiling num-integer v0.1.36 [INFO] [stderr] Compiling rust-crypto v0.2.36 [INFO] [stderr] Compiling clap v2.33.0 [INFO] [stderr] Compiling backtrace-sys v0.1.16 [INFO] [stderr] Compiling num-iter v0.1.35 [INFO] [stderr] Compiling pbr v1.0.1 [INFO] [stderr] Compiling rand v0.3.22 [INFO] [stderr] Compiling num-bigint v0.1.43 [INFO] [stderr] Compiling num-complex v0.1.43 [INFO] [stderr] Compiling num-rational v0.1.42 [INFO] [stderr] Compiling num v0.1.42 [INFO] [stderr] Compiling chrono v0.2.25 [INFO] [stderr] Compiling bip_util v0.5.0 [INFO] [stderr] Compiling backtrace v0.3.7 [INFO] [stderr] Compiling error-chain v0.11.0 [INFO] [stderr] Compiling bip_bencode v0.4.4 [INFO] [stderr] Compiling bip_metainfo v0.12.0 (/opt/rustwide/workdir/bip_metainfo) [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/accessor.rs:80:29 [INFO] [stdout] | [INFO] [stdout] 80 | let absolute_path = try!(path.as_ref().canonicalize()); [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] --> bip_metainfo/src/accessor.rs:129:25 [INFO] [stdout] | [INFO] [stdout] 129 | let entry = try!(res_entry); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/accessor.rs:130:34 [INFO] [stdout] | [INFO] [stdout] 130 | let entry_metadata = try!(entry.metadata()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/accessor.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | try!(callback(PieceAccess::Compute(&mut file))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/accessor.rs:150:25 [INFO] [stdout] | [INFO] [stdout] 150 | let entry = try!(res_entry); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/accessor.rs:151:28 [INFO] [stdout] | [INFO] [stdout] 151 | let mut file = try!(File::open(entry.path())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/builder/buffer.rs:66:30 [INFO] [stdout] | [INFO] [stdout] 66 | let new_bytes_read = try!(callback(&mut self.buffer[self.bytes_read..])); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/builder/worker.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | try!(accessor.access_pieces(|piece_access| { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/builder/worker.rs:103:25 [INFO] [stdout] | [INFO] [stdout] 103 | try!(curr_piece_buffer.write_bytes(|buffer| piece_region.read(buffer))) == 0; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/builder/mod.rs:230:24 [INFO] [stdout] | [INFO] [stdout] 230 | let accessor = try!(accessor.into_accessor()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/builder/mod.rs:301:24 [INFO] [stdout] | [INFO] [stdout] 301 | let accessor = try!(accessor.into_accessor()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/builder/mod.rs:323:9 [INFO] [stdout] | [INFO] [stdout] 323 | try!(accessor.access_metadata(|len, path| { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/builder/mod.rs:335:27 [INFO] [stdout] | [INFO] [stdout] 335 | let pieces_list = try!(worker::start_hasher_workers(&accessor, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:104:24 [INFO] [stdout] | [INFO] [stdout] 104 | let root_bencode = try!(BencodeRef::decode(bytes, BDecodeOpt::default())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:105:21 [INFO] [stdout] | [INFO] [stdout] 105 | let root_dict = try!(parse::parse_root_dict(&root_bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:120:24 [INFO] [stdout] | [INFO] [stdout] 120 | let info_bencode = try!(parse::parse_info_bencode(root_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:121:16 [INFO] [stdout] | [INFO] [stdout] 121 | let info = try!(parse_info_dictionary(info_bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:245:13 [INFO] [stdout] | [INFO] [stdout] 245 | try!(callback(PieceAccess::PreComputed(ShaHash::from_hash(piece).unwrap()))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:254:24 [INFO] [stdout] | [INFO] [stdout] 254 | let info_bencode = try!(BencodeRef::decode(bytes, BDecodeOpt::default())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:263:21 [INFO] [stdout] | [INFO] [stdout] 263 | let info_dict = try!(parse::parse_root_dict(info_bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:264:21 [INFO] [stdout] | [INFO] [stdout] 264 | let piece_len = try!(parse::parse_piece_length(info_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:267:18 [INFO] [stdout] | [INFO] [stdout] 267 | let pieces = try!(parse::parse_pieces(info_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:268:25 [INFO] [stdout] | [INFO] [stdout] 268 | let piece_buffers = try!(allocate_pieces(pieces)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:271:30 [INFO] [stdout] | [INFO] [stdout] 271 | let file_directory = try!(parse::parse_name(info_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:275:29 [INFO] [stdout] | [INFO] [stdout] 275 | let files_bencode = try!(parse::parse_files_list(info_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:279:29 [INFO] [stdout] | [INFO] [stdout] 279 | let file_dict = try!(parse::parse_file_dict(file_bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:280:24 [INFO] [stdout] | [INFO] [stdout] 280 | let file = try!(File::as_multi_file(file_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:294:20 [INFO] [stdout] | [INFO] [stdout] 294 | let file = try!(File::as_single_file(info_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:348:22 [INFO] [stdout] | [INFO] [stdout] 348 | let length = try!(parse::parse_length(info_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:350:20 [INFO] [stdout] | [INFO] [stdout] 350 | let name = try!(parse::parse_name(info_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:362:22 [INFO] [stdout] | [INFO] [stdout] 362 | let length = try!(parse::parse_length(file_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:365:33 [INFO] [stdout] | [INFO] [stdout] 365 | let path_list_bencode = try!(parse::parse_path_list(file_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:369:24 [INFO] [stdout] | [INFO] [stdout] 369 | let path = try!(parse::parse_path_str(path_bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> bip_metainfo/src/error.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / error_chain! { [INFO] [stdout] 9 | | types { [INFO] [stdout] 10 | | ParseError, ParseErrorKind, ParseResultEx, ParseResult; [INFO] [stdout] 11 | | } [INFO] [stdout] ... | [INFO] [stdout] 27 | | } [INFO] [stdout] 28 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/accessor.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | Compute(&'a mut Read), [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] 62 - Compute(&'a mut Read), [INFO] [stdout] 62 + Compute(&'a mut dyn Read), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:308:41 [INFO] [stdout] | [INFO] [stdout] 308 | fn is_multi_file_torrent(info_dict: &BDictAccess) -> bool [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 308 - fn is_multi_file_torrent(info_dict: &BDictAccess) -> bool [INFO] [stdout] 308 + fn is_multi_file_torrent(info_dict: &dyn BDictAccess) -> bool [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:346:38 [INFO] [stdout] | [INFO] [stdout] 346 | fn as_single_file(info_dict: &BDictAccess) -> ParseResult [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 346 - fn as_single_file(info_dict: &BDictAccess) -> ParseResult [INFO] [stdout] 346 + fn as_single_file(info_dict: &dyn BDictAccess) -> ParseResult [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:360:37 [INFO] [stdout] | [INFO] [stdout] 360 | fn as_multi_file(file_dict: &BDictAccess) -> ParseResult [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 360 - fn as_multi_file(file_dict: &BDictAccess) -> ParseResult [INFO] [stdout] 360 + fn as_multi_file(file_dict: &dyn BDictAccess) -> ParseResult [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:46:61 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn parse_root_dict(root_bencode: &B) -> ParseResult<&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] 46 - pub fn parse_root_dict(root_bencode: &B) -> ParseResult<&BDictAccess> [INFO] [stdout] 46 + pub fn parse_root_dict(root_bencode: &B) -> ParseResult<&dyn BDictAccess> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:52:79 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn parse_announce_list(root_dict: &BDictAccess) -> 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] 52 - pub fn parse_announce_list(root_dict: &BDictAccess) -> Option<&BListAccess> [INFO] [stdout] 52 + pub fn parse_announce_list(root_dict: &BDictAccess) -> Option<&dyn BListAccess> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:52:43 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn parse_announce_list(root_dict: &BDictAccess) -> 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] 52 - pub fn parse_announce_list(root_dict: &BDictAccess) -> Option<&BListAccess> [INFO] [stdout] 52 + pub fn parse_announce_list(root_dict: &dyn BDictAccess) -> Option<&BListAccess> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:58:40 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn convert_announce_list(list: &BListAccess) -> 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] 58 - pub fn convert_announce_list(list: &BListAccess) -> Vec> [INFO] [stdout] 58 + pub fn convert_announce_list(list: &dyn BListAccess) -> Vec> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:72:49 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn parse_announce_url<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 72 - pub fn parse_announce_url<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] 72 + pub fn parse_announce_url<'a, B>(root_dict: &'a dyn BDictAccess) -> Option<&'a str> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:78:43 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn parse_creation_date(root_dict: &BDictAccess) -> Option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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 - pub fn parse_creation_date(root_dict: &BDictAccess) -> Option [INFO] [stdout] 78 + pub fn parse_creation_date(root_dict: &dyn BDictAccess) -> Option [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:84:43 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn parse_source<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 84 - pub fn parse_source<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] 84 + pub fn parse_source<'a, B>(root_dict: &'a dyn BDictAccess) -> Option<&'a str> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:90:44 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn parse_comment<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 90 - pub fn parse_comment<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] 90 + pub fn parse_comment<'a, B>(root_dict: &'a dyn BDictAccess) -> Option<&'a str> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:96:47 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn parse_created_by<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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 - pub fn parse_created_by<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] 96 + pub fn parse_created_by<'a, B>(root_dict: &'a dyn BDictAccess) -> Option<&'a str> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:102:45 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn parse_encoding<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 102 - pub fn parse_encoding<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] 102 + pub fn parse_encoding<'a, B>(root_dict: &'a dyn BDictAccess) -> Option<&'a str> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:108:49 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn parse_info_bencode<'a, B>(root_dict: &'a BDictAccess) -> ParseResult<&B> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 108 - pub fn parse_info_bencode<'a, B>(root_dict: &'a BDictAccess) -> ParseResult<&B> [INFO] [stdout] 108 + pub fn parse_info_bencode<'a, B>(root_dict: &'a dyn BDictAccess) -> ParseResult<&B> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:116:42 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn parse_piece_length(info_dict: &BDictAccess) -> ParseResult [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 116 - pub fn parse_piece_length(info_dict: &BDictAccess) -> ParseResult [INFO] [stdout] 116 + pub fn parse_piece_length(info_dict: &dyn BDictAccess) -> ParseResult [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:122:43 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn parse_pieces<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a [u8]> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 122 - pub fn parse_pieces<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a [u8]> [INFO] [stdout] 122 + pub fn parse_pieces<'a, B>(info_dict: &'a dyn BDictAccess) -> ParseResult<&'a [u8]> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:128:37 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn parse_private(info_dict: &BDictAccess) -> Option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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 - pub fn parse_private(info_dict: &BDictAccess) -> Option [INFO] [stdout] 128 + pub fn parse_private(info_dict: &dyn BDictAccess) -> Option [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:134:41 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn parse_name<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a str> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 134 - pub fn parse_name<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a str> [INFO] [stdout] 134 + pub fn parse_name<'a, B>(info_dict: &'a dyn BDictAccess) -> ParseResult<&'a str> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:140:81 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&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] 140 - pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stdout] 140 + pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&dyn BListAccess> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:140:40 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&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] 140 - pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stdout] 140 + pub fn parse_files_list(info_dict: &dyn BDictAccess) -> ParseResult<&BListAccess> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:148:61 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn parse_file_dict(file_bencode: &B) -> ParseResult<&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] 148 - pub fn parse_file_dict(file_bencode: &B) -> ParseResult<&BDictAccess> [INFO] [stdout] 148 + pub fn parse_file_dict(file_bencode: &B) -> ParseResult<&dyn BDictAccess> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:154:44 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn parse_length(info_or_file_dict: &BDictAccess) -> ParseResult [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 154 - pub fn parse_length(info_or_file_dict: &BDictAccess) -> ParseResult [INFO] [stdout] 154 + pub fn parse_length(info_or_file_dict: &dyn BDictAccess) -> ParseResult [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:160:51 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn parse_md5sum<'a, B>(info_or_file_dict: &'a BDictAccess) -> Option<&'a [u8]> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 160 - pub fn parse_md5sum<'a, B>(info_or_file_dict: &'a BDictAccess) -> Option<&'a [u8]> [INFO] [stdout] 160 + pub fn parse_md5sum<'a, B>(info_or_file_dict: &'a dyn BDictAccess) -> Option<&'a [u8]> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:166:80 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&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] 166 - pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stdout] 166 + pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&dyn BListAccess> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:166:39 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&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] 166 - pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stdout] 166 + pub fn parse_path_list(file_dict: &dyn BDictAccess) -> ParseResult<&BListAccess> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> bip_metainfo/src/error.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / error_chain! { [INFO] [stdout] 9 | | types { [INFO] [stdout] 10 | | ParseError, ParseErrorKind, ParseResultEx, ParseResult; [INFO] [stdout] 11 | | } [INFO] [stdout] ... | [INFO] [stdout] 27 | | } [INFO] [stdout] 28 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 61 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling maketorrent v0.2.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 18.36s [INFO] running `Command { std: "docker" "inspect" "a6f74d549792afc94ab3a3133534c7c2bb6bd3ebe8d60e9e124b01a45599aeb8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a6f74d549792afc94ab3a3133534c7c2bb6bd3ebe8d60e9e124b01a45599aeb8", kill_on_drop: false }` [INFO] [stdout] a6f74d549792afc94ab3a3133534c7c2bb6bd3ebe8d60e9e124b01a45599aeb8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c4191d438d1354c628239ee04b18da3d0966ce47950b86c4ad7fba328c51bd20 [INFO] running `Command { std: "docker" "start" "-a" "c4191d438d1354c628239ee04b18da3d0966ce47950b86c4ad7fba328c51bd20", kill_on_drop: false }` [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/accessor.rs:80:29 [INFO] [stdout] | [INFO] [stdout] 80 | let absolute_path = try!(path.as_ref().canonicalize()); [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] --> bip_metainfo/src/accessor.rs:129:25 [INFO] [stdout] | [INFO] [stdout] 129 | let entry = try!(res_entry); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/accessor.rs:130:34 [INFO] [stdout] | [INFO] [stdout] 130 | let entry_metadata = try!(entry.metadata()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/accessor.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | try!(callback(PieceAccess::Compute(&mut file))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/accessor.rs:150:25 [INFO] [stdout] | [INFO] [stdout] 150 | let entry = try!(res_entry); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/accessor.rs:151:28 [INFO] [stdout] | [INFO] [stdout] 151 | let mut file = try!(File::open(entry.path())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/builder/buffer.rs:66:30 [INFO] [stdout] | [INFO] [stdout] 66 | let new_bytes_read = try!(callback(&mut self.buffer[self.bytes_read..])); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/builder/worker.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | try!(accessor.access_pieces(|piece_access| { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/builder/worker.rs:103:25 [INFO] [stdout] | [INFO] [stdout] 103 | try!(curr_piece_buffer.write_bytes(|buffer| piece_region.read(buffer))) == 0; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/builder/mod.rs:230:24 [INFO] [stdout] | [INFO] [stdout] 230 | let accessor = try!(accessor.into_accessor()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/builder/mod.rs:301:24 [INFO] [stdout] | [INFO] [stdout] 301 | let accessor = try!(accessor.into_accessor()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/builder/mod.rs:323:9 [INFO] [stdout] | [INFO] [stdout] 323 | try!(accessor.access_metadata(|len, path| { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/builder/mod.rs:335:27 [INFO] [stdout] | [INFO] [stdout] 335 | let pieces_list = try!(worker::start_hasher_workers(&accessor, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:104:24 [INFO] [stdout] | [INFO] [stdout] 104 | let root_bencode = try!(BencodeRef::decode(bytes, BDecodeOpt::default())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:105:21 [INFO] [stdout] | [INFO] [stdout] 105 | let root_dict = try!(parse::parse_root_dict(&root_bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:120:24 [INFO] [stdout] | [INFO] [stdout] 120 | let info_bencode = try!(parse::parse_info_bencode(root_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:121:16 [INFO] [stdout] | [INFO] [stdout] 121 | let info = try!(parse_info_dictionary(info_bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:245:13 [INFO] [stdout] | [INFO] [stdout] 245 | try!(callback(PieceAccess::PreComputed(ShaHash::from_hash(piece).unwrap()))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:254:24 [INFO] [stdout] | [INFO] [stdout] 254 | let info_bencode = try!(BencodeRef::decode(bytes, BDecodeOpt::default())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:263:21 [INFO] [stdout] | [INFO] [stdout] 263 | let info_dict = try!(parse::parse_root_dict(info_bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:264:21 [INFO] [stdout] | [INFO] [stdout] 264 | let piece_len = try!(parse::parse_piece_length(info_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:267:18 [INFO] [stdout] | [INFO] [stdout] 267 | let pieces = try!(parse::parse_pieces(info_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:268:25 [INFO] [stdout] | [INFO] [stdout] 268 | let piece_buffers = try!(allocate_pieces(pieces)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:271:30 [INFO] [stdout] | [INFO] [stdout] 271 | let file_directory = try!(parse::parse_name(info_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:275:29 [INFO] [stdout] | [INFO] [stdout] 275 | let files_bencode = try!(parse::parse_files_list(info_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:279:29 [INFO] [stdout] | [INFO] [stdout] 279 | let file_dict = try!(parse::parse_file_dict(file_bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:280:24 [INFO] [stdout] | [INFO] [stdout] 280 | let file = try!(File::as_multi_file(file_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:294:20 [INFO] [stdout] | [INFO] [stdout] 294 | let file = try!(File::as_single_file(info_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:348:22 [INFO] [stdout] | [INFO] [stdout] 348 | let length = try!(parse::parse_length(info_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:350:20 [INFO] [stdout] | [INFO] [stdout] 350 | let name = try!(parse::parse_name(info_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:362:22 [INFO] [stdout] | [INFO] [stdout] 362 | let length = try!(parse::parse_length(file_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:365:33 [INFO] [stdout] | [INFO] [stdout] 365 | let path_list_bencode = try!(parse::parse_path_list(file_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:369:24 [INFO] [stdout] | [INFO] [stdout] 369 | let path = try!(parse::parse_path_str(path_bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> bip_metainfo/src/error.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / error_chain! { [INFO] [stdout] 9 | | types { [INFO] [stdout] 10 | | ParseError, ParseErrorKind, ParseResultEx, ParseResult; [INFO] [stdout] 11 | | } [INFO] [stdout] ... | [INFO] [stdout] 27 | | } [INFO] [stdout] 28 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/accessor.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | Compute(&'a mut Read), [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] 62 - Compute(&'a mut Read), [INFO] [stdout] 62 + Compute(&'a mut dyn Read), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:308:41 [INFO] [stdout] | [INFO] [stdout] 308 | fn is_multi_file_torrent(info_dict: &BDictAccess) -> bool [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 308 - fn is_multi_file_torrent(info_dict: &BDictAccess) -> bool [INFO] [stdout] 308 + fn is_multi_file_torrent(info_dict: &dyn BDictAccess) -> bool [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:346:38 [INFO] [stdout] | [INFO] [stdout] 346 | fn as_single_file(info_dict: &BDictAccess) -> ParseResult [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 346 - fn as_single_file(info_dict: &BDictAccess) -> ParseResult [INFO] [stdout] 346 + fn as_single_file(info_dict: &dyn BDictAccess) -> ParseResult [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/metainfo.rs:360:37 [INFO] [stdout] | [INFO] [stdout] 360 | fn as_multi_file(file_dict: &BDictAccess) -> ParseResult [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 360 - fn as_multi_file(file_dict: &BDictAccess) -> ParseResult [INFO] [stdout] 360 + fn as_multi_file(file_dict: &dyn BDictAccess) -> ParseResult [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:46:61 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn parse_root_dict(root_bencode: &B) -> ParseResult<&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] 46 - pub fn parse_root_dict(root_bencode: &B) -> ParseResult<&BDictAccess> [INFO] [stdout] 46 + pub fn parse_root_dict(root_bencode: &B) -> ParseResult<&dyn BDictAccess> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:52:79 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn parse_announce_list(root_dict: &BDictAccess) -> 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] 52 - pub fn parse_announce_list(root_dict: &BDictAccess) -> Option<&BListAccess> [INFO] [stdout] 52 + pub fn parse_announce_list(root_dict: &BDictAccess) -> Option<&dyn BListAccess> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:52:43 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn parse_announce_list(root_dict: &BDictAccess) -> 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] 52 - pub fn parse_announce_list(root_dict: &BDictAccess) -> Option<&BListAccess> [INFO] [stdout] 52 + pub fn parse_announce_list(root_dict: &dyn BDictAccess) -> Option<&BListAccess> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:58:40 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn convert_announce_list(list: &BListAccess) -> 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] 58 - pub fn convert_announce_list(list: &BListAccess) -> Vec> [INFO] [stdout] 58 + pub fn convert_announce_list(list: &dyn BListAccess) -> Vec> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:72:49 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn parse_announce_url<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 72 - pub fn parse_announce_url<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] 72 + pub fn parse_announce_url<'a, B>(root_dict: &'a dyn BDictAccess) -> Option<&'a str> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:78:43 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn parse_creation_date(root_dict: &BDictAccess) -> Option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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 - pub fn parse_creation_date(root_dict: &BDictAccess) -> Option [INFO] [stdout] 78 + pub fn parse_creation_date(root_dict: &dyn BDictAccess) -> Option [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:84:43 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn parse_source<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 84 - pub fn parse_source<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] 84 + pub fn parse_source<'a, B>(root_dict: &'a dyn BDictAccess) -> Option<&'a str> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:90:44 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn parse_comment<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 90 - pub fn parse_comment<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] 90 + pub fn parse_comment<'a, B>(root_dict: &'a dyn BDictAccess) -> Option<&'a str> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:96:47 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn parse_created_by<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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 - pub fn parse_created_by<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] 96 + pub fn parse_created_by<'a, B>(root_dict: &'a dyn BDictAccess) -> Option<&'a str> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:102:45 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn parse_encoding<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 102 - pub fn parse_encoding<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stdout] 102 + pub fn parse_encoding<'a, B>(root_dict: &'a dyn BDictAccess) -> Option<&'a str> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:108:49 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn parse_info_bencode<'a, B>(root_dict: &'a BDictAccess) -> ParseResult<&B> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 108 - pub fn parse_info_bencode<'a, B>(root_dict: &'a BDictAccess) -> ParseResult<&B> [INFO] [stdout] 108 + pub fn parse_info_bencode<'a, B>(root_dict: &'a dyn BDictAccess) -> ParseResult<&B> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:116:42 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn parse_piece_length(info_dict: &BDictAccess) -> ParseResult [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 116 - pub fn parse_piece_length(info_dict: &BDictAccess) -> ParseResult [INFO] [stdout] 116 + pub fn parse_piece_length(info_dict: &dyn BDictAccess) -> ParseResult [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:122:43 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn parse_pieces<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a [u8]> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 122 - pub fn parse_pieces<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a [u8]> [INFO] [stdout] 122 + pub fn parse_pieces<'a, B>(info_dict: &'a dyn BDictAccess) -> ParseResult<&'a [u8]> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:128:37 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn parse_private(info_dict: &BDictAccess) -> Option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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 - pub fn parse_private(info_dict: &BDictAccess) -> Option [INFO] [stdout] 128 + pub fn parse_private(info_dict: &dyn BDictAccess) -> Option [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:134:41 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn parse_name<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a str> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 134 - pub fn parse_name<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a str> [INFO] [stdout] 134 + pub fn parse_name<'a, B>(info_dict: &'a dyn BDictAccess) -> ParseResult<&'a str> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:140:81 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&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] 140 - pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stdout] 140 + pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&dyn BListAccess> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:140:40 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&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] 140 - pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stdout] 140 + pub fn parse_files_list(info_dict: &dyn BDictAccess) -> ParseResult<&BListAccess> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:148:61 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn parse_file_dict(file_bencode: &B) -> ParseResult<&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] 148 - pub fn parse_file_dict(file_bencode: &B) -> ParseResult<&BDictAccess> [INFO] [stdout] 148 + pub fn parse_file_dict(file_bencode: &B) -> ParseResult<&dyn BDictAccess> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:154:44 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn parse_length(info_or_file_dict: &BDictAccess) -> ParseResult [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: 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] 154 - pub fn parse_length(info_or_file_dict: &BDictAccess) -> ParseResult [INFO] [stdout] 154 + pub fn parse_length(info_or_file_dict: &dyn BDictAccess) -> ParseResult [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:160:51 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn parse_md5sum<'a, B>(info_or_file_dict: &'a BDictAccess) -> Option<&'a [u8]> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 160 - pub fn parse_md5sum<'a, B>(info_or_file_dict: &'a BDictAccess) -> Option<&'a [u8]> [INFO] [stdout] 160 + pub fn parse_md5sum<'a, B>(info_or_file_dict: &'a dyn BDictAccess) -> Option<&'a [u8]> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:166:80 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&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] 166 - pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stdout] 166 + pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&dyn BListAccess> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling maketorrent v0.2.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> bip_metainfo/src/parse.rs:166:39 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&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] 166 - pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stdout] 166 + pub fn parse_path_list(file_dict: &dyn BDictAccess) -> ParseResult<&BListAccess> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> bip_metainfo/src/error.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / error_chain! { [INFO] [stdout] 9 | | types { [INFO] [stdout] 10 | | ParseError, ParseErrorKind, ParseResultEx, ParseResult; [INFO] [stdout] 11 | | } [INFO] [stdout] ... | [INFO] [stdout] 27 | | } [INFO] [stdout] 28 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 61 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.54s [INFO] running `Command { std: "docker" "inspect" "c4191d438d1354c628239ee04b18da3d0966ce47950b86c4ad7fba328c51bd20", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c4191d438d1354c628239ee04b18da3d0966ce47950b86c4ad7fba328c51bd20", kill_on_drop: false }` [INFO] [stdout] c4191d438d1354c628239ee04b18da3d0966ce47950b86c4ad7fba328c51bd20 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 55cbcaf711c74fc29f370c288e0c2d63fc9a010f1419153d24db155e0fff09e9 [INFO] running `Command { std: "docker" "start" "-a" "55cbcaf711c74fc29f370c288e0c2d63fc9a010f1419153d24db155e0fff09e9", kill_on_drop: false }` [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/accessor.rs:80:29 [INFO] [stderr] | [INFO] [stderr] 80 | let absolute_path = try!(path.as_ref().canonicalize()); [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] --> bip_metainfo/src/accessor.rs:129:25 [INFO] [stderr] | [INFO] [stderr] 129 | let entry = try!(res_entry); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/accessor.rs:130:34 [INFO] [stderr] | [INFO] [stderr] 130 | let entry_metadata = try!(entry.metadata()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/accessor.rs:153:13 [INFO] [stderr] | [INFO] [stderr] 153 | try!(callback(PieceAccess::Compute(&mut file))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/accessor.rs:150:25 [INFO] [stderr] | [INFO] [stderr] 150 | let entry = try!(res_entry); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/accessor.rs:151:28 [INFO] [stderr] | [INFO] [stderr] 151 | let mut file = try!(File::open(entry.path())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/builder/buffer.rs:66:30 [INFO] [stderr] | [INFO] [stderr] 66 | let new_bytes_read = try!(callback(&mut self.buffer[self.bytes_read..])); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/builder/worker.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | try!(accessor.access_pieces(|piece_access| { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/builder/worker.rs:103:25 [INFO] [stderr] | [INFO] [stderr] 103 | try!(curr_piece_buffer.write_bytes(|buffer| piece_region.read(buffer))) == 0; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/builder/mod.rs:230:24 [INFO] [stderr] | [INFO] [stderr] 230 | let accessor = try!(accessor.into_accessor()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/builder/mod.rs:301:24 [INFO] [stderr] | [INFO] [stderr] 301 | let accessor = try!(accessor.into_accessor()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/builder/mod.rs:323:9 [INFO] [stderr] | [INFO] [stderr] 323 | try!(accessor.access_metadata(|len, path| { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/builder/mod.rs:335:27 [INFO] [stderr] | [INFO] [stderr] 335 | let pieces_list = try!(worker::start_hasher_workers(&accessor, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:104:24 [INFO] [stderr] | [INFO] [stderr] 104 | let root_bencode = try!(BencodeRef::decode(bytes, BDecodeOpt::default())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:105:21 [INFO] [stderr] | [INFO] [stderr] 105 | let root_dict = try!(parse::parse_root_dict(&root_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:120:24 [INFO] [stderr] | [INFO] [stderr] 120 | let info_bencode = try!(parse::parse_info_bencode(root_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:121:16 [INFO] [stderr] | [INFO] [stderr] 121 | let info = try!(parse_info_dictionary(info_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:245:13 [INFO] [stderr] | [INFO] [stderr] 245 | try!(callback(PieceAccess::PreComputed(ShaHash::from_hash(piece).unwrap()))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:254:24 [INFO] [stderr] | [INFO] [stderr] 254 | let info_bencode = try!(BencodeRef::decode(bytes, BDecodeOpt::default())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:263:21 [INFO] [stderr] | [INFO] [stderr] 263 | let info_dict = try!(parse::parse_root_dict(info_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:264:21 [INFO] [stderr] | [INFO] [stderr] 264 | let piece_len = try!(parse::parse_piece_length(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:267:18 [INFO] [stderr] | [INFO] [stderr] 267 | let pieces = try!(parse::parse_pieces(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:268:25 [INFO] [stderr] | [INFO] [stderr] 268 | let piece_buffers = try!(allocate_pieces(pieces)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:271:30 [INFO] [stderr] | [INFO] [stderr] 271 | let file_directory = try!(parse::parse_name(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:275:29 [INFO] [stderr] | [INFO] [stderr] 275 | let files_bencode = try!(parse::parse_files_list(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:279:29 [INFO] [stderr] | [INFO] [stderr] 279 | let file_dict = try!(parse::parse_file_dict(file_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:280:24 [INFO] [stderr] | [INFO] [stderr] 280 | let file = try!(File::as_multi_file(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:294:20 [INFO] [stderr] | [INFO] [stderr] 294 | let file = try!(File::as_single_file(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:348:22 [INFO] [stderr] | [INFO] [stderr] 348 | let length = try!(parse::parse_length(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:350:20 [INFO] [stderr] | [INFO] [stderr] 350 | let name = try!(parse::parse_name(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:362:22 [INFO] [stderr] | [INFO] [stderr] 362 | let length = try!(parse::parse_length(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:365:33 [INFO] [stderr] | [INFO] [stderr] 365 | let path_list_bencode = try!(parse::parse_path_list(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:369:24 [INFO] [stderr] | [INFO] [stderr] 369 | let path = try!(parse::parse_path_str(path_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> bip_metainfo/src/error.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / error_chain! { [INFO] [stderr] 9 | | types { [INFO] [stderr] 10 | | ParseError, ParseErrorKind, ParseResultEx, ParseResult; [INFO] [stderr] 11 | | } [INFO] [stderr] ... | [INFO] [stderr] 27 | | } [INFO] [stderr] 28 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `impl_error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/accessor.rs:62:21 [INFO] [stderr] | [INFO] [stderr] 62 | Compute(&'a mut Read), [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] 62 - Compute(&'a mut Read), [INFO] [stderr] 62 + Compute(&'a mut dyn Read), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:308:41 [INFO] [stderr] | [INFO] [stderr] 308 | fn is_multi_file_torrent(info_dict: &BDictAccess) -> bool [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] 308 - fn is_multi_file_torrent(info_dict: &BDictAccess) -> bool [INFO] [stderr] 308 + fn is_multi_file_torrent(info_dict: &dyn BDictAccess) -> bool [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:346:38 [INFO] [stderr] | [INFO] [stderr] 346 | fn as_single_file(info_dict: &BDictAccess) -> ParseResult [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] 346 - fn as_single_file(info_dict: &BDictAccess) -> ParseResult [INFO] [stderr] 346 + fn as_single_file(info_dict: &dyn BDictAccess) -> ParseResult [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/metainfo.rs:360:37 [INFO] [stderr] | [INFO] [stderr] 360 | fn as_multi_file(file_dict: &BDictAccess) -> ParseResult [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] 360 - fn as_multi_file(file_dict: &BDictAccess) -> ParseResult [INFO] [stderr] 360 + fn as_multi_file(file_dict: &dyn BDictAccess) -> ParseResult [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:46:61 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn parse_root_dict(root_bencode: &B) -> ParseResult<&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] 46 - pub fn parse_root_dict(root_bencode: &B) -> ParseResult<&BDictAccess> [INFO] [stderr] 46 + pub fn parse_root_dict(root_bencode: &B) -> ParseResult<&dyn BDictAccess> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:52:79 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn parse_announce_list(root_dict: &BDictAccess) -> 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] 52 - pub fn parse_announce_list(root_dict: &BDictAccess) -> Option<&BListAccess> [INFO] [stderr] 52 + pub fn parse_announce_list(root_dict: &BDictAccess) -> Option<&dyn BListAccess> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:52:43 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn parse_announce_list(root_dict: &BDictAccess) -> 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] 52 - pub fn parse_announce_list(root_dict: &BDictAccess) -> Option<&BListAccess> [INFO] [stderr] 52 + pub fn parse_announce_list(root_dict: &dyn BDictAccess) -> Option<&BListAccess> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:58:40 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn convert_announce_list(list: &BListAccess) -> 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] 58 - pub fn convert_announce_list(list: &BListAccess) -> Vec> [INFO] [stderr] 58 + pub fn convert_announce_list(list: &dyn BListAccess) -> Vec> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:72:49 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn parse_announce_url<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [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] 72 - pub fn parse_announce_url<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] 72 + pub fn parse_announce_url<'a, B>(root_dict: &'a dyn BDictAccess) -> Option<&'a str> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:78:43 [INFO] [stderr] | [INFO] [stderr] 78 | pub fn parse_creation_date(root_dict: &BDictAccess) -> Option [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 - pub fn parse_creation_date(root_dict: &BDictAccess) -> Option [INFO] [stderr] 78 + pub fn parse_creation_date(root_dict: &dyn BDictAccess) -> Option [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:84:43 [INFO] [stderr] | [INFO] [stderr] 84 | pub fn parse_source<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [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] 84 - pub fn parse_source<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] 84 + pub fn parse_source<'a, B>(root_dict: &'a dyn BDictAccess) -> Option<&'a str> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:90:44 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn parse_comment<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [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] 90 - pub fn parse_comment<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] 90 + pub fn parse_comment<'a, B>(root_dict: &'a dyn BDictAccess) -> Option<&'a str> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:96:47 [INFO] [stderr] | [INFO] [stderr] 96 | pub fn parse_created_by<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [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 - pub fn parse_created_by<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] 96 + pub fn parse_created_by<'a, B>(root_dict: &'a dyn BDictAccess) -> Option<&'a str> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:102:45 [INFO] [stderr] | [INFO] [stderr] 102 | pub fn parse_encoding<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [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] 102 - pub fn parse_encoding<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] 102 + pub fn parse_encoding<'a, B>(root_dict: &'a dyn BDictAccess) -> Option<&'a str> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:108:49 [INFO] [stderr] | [INFO] [stderr] 108 | pub fn parse_info_bencode<'a, B>(root_dict: &'a BDictAccess) -> ParseResult<&B> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 108 - pub fn parse_info_bencode<'a, B>(root_dict: &'a BDictAccess) -> ParseResult<&B> [INFO] [stderr] 108 + pub fn parse_info_bencode<'a, B>(root_dict: &'a dyn BDictAccess) -> ParseResult<&B> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:116:42 [INFO] [stderr] | [INFO] [stderr] 116 | pub fn parse_piece_length(info_dict: &BDictAccess) -> ParseResult [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] 116 - pub fn parse_piece_length(info_dict: &BDictAccess) -> ParseResult [INFO] [stderr] 116 + pub fn parse_piece_length(info_dict: &dyn BDictAccess) -> ParseResult [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:122:43 [INFO] [stderr] | [INFO] [stderr] 122 | pub fn parse_pieces<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a [u8]> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 122 - pub fn parse_pieces<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a [u8]> [INFO] [stderr] 122 + pub fn parse_pieces<'a, B>(info_dict: &'a dyn BDictAccess) -> ParseResult<&'a [u8]> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:128:37 [INFO] [stderr] | [INFO] [stderr] 128 | pub fn parse_private(info_dict: &BDictAccess) -> Option [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 - pub fn parse_private(info_dict: &BDictAccess) -> Option [INFO] [stderr] 128 + pub fn parse_private(info_dict: &dyn BDictAccess) -> Option [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:134:41 [INFO] [stderr] | [INFO] [stderr] 134 | pub fn parse_name<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a str> [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] 134 - pub fn parse_name<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a str> [INFO] [stderr] 134 + pub fn parse_name<'a, B>(info_dict: &'a dyn BDictAccess) -> ParseResult<&'a str> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:140:81 [INFO] [stderr] | [INFO] [stderr] 140 | pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&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] 140 - pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] 140 + pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&dyn BListAccess> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:140:40 [INFO] [stderr] | [INFO] [stderr] 140 | pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&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] 140 - pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] 140 + pub fn parse_files_list(info_dict: &dyn BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:148:61 [INFO] [stderr] | [INFO] [stderr] 148 | pub fn parse_file_dict(file_bencode: &B) -> ParseResult<&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] 148 - pub fn parse_file_dict(file_bencode: &B) -> ParseResult<&BDictAccess> [INFO] [stderr] 148 + pub fn parse_file_dict(file_bencode: &B) -> ParseResult<&dyn BDictAccess> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:154:44 [INFO] [stderr] | [INFO] [stderr] 154 | pub fn parse_length(info_or_file_dict: &BDictAccess) -> ParseResult [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] 154 - pub fn parse_length(info_or_file_dict: &BDictAccess) -> ParseResult [INFO] [stderr] 154 + pub fn parse_length(info_or_file_dict: &dyn BDictAccess) -> ParseResult [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:160:51 [INFO] [stderr] | [INFO] [stderr] 160 | pub fn parse_md5sum<'a, B>(info_or_file_dict: &'a BDictAccess) -> Option<&'a [u8]> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 160 - pub fn parse_md5sum<'a, B>(info_or_file_dict: &'a BDictAccess) -> Option<&'a [u8]> [INFO] [stderr] 160 + pub fn parse_md5sum<'a, B>(info_or_file_dict: &'a dyn BDictAccess) -> Option<&'a [u8]> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:166:80 [INFO] [stderr] | [INFO] [stderr] 166 | pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&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] 166 - pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] 166 + pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&dyn BListAccess> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> bip_metainfo/src/parse.rs:166:39 [INFO] [stderr] | [INFO] [stderr] 166 | pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&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] 166 - pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] 166 + pub fn parse_path_list(file_dict: &dyn BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stderr] --> bip_metainfo/src/error.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / error_chain! { [INFO] [stderr] 9 | | types { [INFO] [stderr] 10 | | ParseError, ParseErrorKind, ParseResultEx, ParseResult; [INFO] [stderr] 11 | | } [INFO] [stderr] ... | [INFO] [stderr] 27 | | } [INFO] [stderr] 28 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `impl_error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `bip_metainfo` (lib) generated 61 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/maketorrent-dd8df4b645925f7f) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "55cbcaf711c74fc29f370c288e0c2d63fc9a010f1419153d24db155e0fff09e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "55cbcaf711c74fc29f370c288e0c2d63fc9a010f1419153d24db155e0fff09e9", kill_on_drop: false }` [INFO] [stdout] 55cbcaf711c74fc29f370c288e0c2d63fc9a010f1419153d24db155e0fff09e9