[INFO] crate bip_metainfo 0.12.0 is already in cache [INFO] testing bip_metainfo-0.12.0 against 1.44.0 for beta-1.45-1 [INFO] extracting crate bip_metainfo 0.12.0 into /workspace/builds/worker-2/source [INFO] validating manifest of crates.io crate bip_metainfo 0.12.0 on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate bip_metainfo 0.12.0 [INFO] finished tweaking crates.io crate bip_metainfo 0.12.0 [INFO] tweaked toml for crates.io crate bip_metainfo 0.12.0 written to /workspace/builds/worker-2/source/Cargo.toml [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] warning: `panic` setting is ignored for `bench` profile [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] b69125a59a505a1218b75011adb63779f461aba6e08d7eafe363fb3279b2c7ad [INFO] running `"docker" "start" "-a" "b69125a59a505a1218b75011adb63779f461aba6e08d7eafe363fb3279b2c7ad"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: `panic` setting is ignored for `bench` profile [INFO] [stderr] Compiling gimli v0.21.0 [INFO] [stderr] Compiling rustc-demangle v0.1.16 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling object v0.19.0 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling crossbeam v0.3.2 [INFO] [stderr] Compiling bip_util v0.5.0 [INFO] [stderr] Compiling walkdir v2.3.1 [INFO] [stderr] Compiling addr2line v0.12.1 [INFO] [stderr] Compiling backtrace v0.3.48 [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) [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:136:24 [INFO] [stderr] | [INFO] [stderr] 136 | let accessor = try!(accessor.into_accessor()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:185:24 [INFO] [stderr] | [INFO] [stderr] 185 | let accessor = try!(accessor.into_accessor()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:207:9 [INFO] [stderr] | [INFO] [stderr] 207 | try!(accessor.access_metadata(|len, path| { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:219:27 [INFO] [stderr] | [INFO] [stderr] 219 | let pieces_list = try!(worker::start_hasher_workers(&accessor, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:91:24 [INFO] [stderr] | [INFO] [stderr] 91 | let root_bencode = try!(BencodeRef::decode(bytes, BDecodeOpt::default())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:92:21 [INFO] [stderr] | [INFO] [stderr] 92 | let root_dict = try!(parse::parse_root_dict(&root_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:100:24 [INFO] [stderr] | [INFO] [stderr] 100 | let info_bencode = try!(parse::parse_info_bencode(root_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:101:16 [INFO] [stderr] | [INFO] [stderr] 101 | let info = try!(parse_info_dictionary(info_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:224:13 [INFO] [stderr] | [INFO] [stderr] 224 | try!(callback(PieceAccess::PreComputed(ShaHash::from_hash(piece).unwrap()))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:233:24 [INFO] [stderr] | [INFO] [stderr] 233 | let info_bencode = try!(BencodeRef::decode(bytes, BDecodeOpt::default())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:242:21 [INFO] [stderr] | [INFO] [stderr] 242 | let info_dict = try!(parse::parse_root_dict(info_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:243:21 [INFO] [stderr] | [INFO] [stderr] 243 | let piece_len = try!(parse::parse_piece_length(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:246:18 [INFO] [stderr] | [INFO] [stderr] 246 | let pieces = try!(parse::parse_pieces(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:247:25 [INFO] [stderr] | [INFO] [stderr] 247 | let piece_buffers = try!(allocate_pieces(pieces)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:250:30 [INFO] [stderr] | [INFO] [stderr] 250 | let file_directory = try!(parse::parse_name(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:254:29 [INFO] [stderr] | [INFO] [stderr] 254 | let files_bencode = try!(parse::parse_files_list(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:258:29 [INFO] [stderr] | [INFO] [stderr] 258 | let file_dict = try!(parse::parse_file_dict(file_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:259:24 [INFO] [stderr] | [INFO] [stderr] 259 | let file = try!(File::as_multi_file(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:273:20 [INFO] [stderr] | [INFO] [stderr] 273 | let file = try!(File::as_single_file(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:327:22 [INFO] [stderr] | [INFO] [stderr] 327 | let length = try!(parse::parse_length(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:329:20 [INFO] [stderr] | [INFO] [stderr] 329 | let name = try!(parse::parse_name(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:341:22 [INFO] [stderr] | [INFO] [stderr] 341 | let length = try!(parse::parse_length(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:344:33 [INFO] [stderr] | [INFO] [stderr] 344 | let path_list_bencode = try!(parse::parse_path_list(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:348:24 [INFO] [stderr] | [INFO] [stderr] 348 | let path = try!(parse::parse_path_str(path_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/accessor.rs:62:21 [INFO] [stderr] | [INFO] [stderr] 62 | Compute(&'a mut Read), [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metainfo.rs:287:41 [INFO] [stderr] | [INFO] [stderr] 287 | fn is_multi_file_torrent(info_dict: &BDictAccess) -> bool [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metainfo.rs:325:38 [INFO] [stderr] | [INFO] [stderr] 325 | fn as_single_file(info_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metainfo.rs:339:37 [INFO] [stderr] | [INFO] [stderr] 339 | fn as_multi_file(file_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:44:61 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn parse_root_dict(root_bencode: &B) -> ParseResult<&BDictAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:50:49 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn parse_announce_url<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:56:43 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn parse_creation_date(root_dict: &BDictAccess) -> Option [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:62:44 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn parse_comment<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:68:47 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn parse_created_by<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:74:45 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn parse_encoding<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:80:49 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn parse_info_bencode<'a, B>(root_dict: &'a BDictAccess) -> ParseResult<&B> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:88:42 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn parse_piece_length(info_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:94:43 [INFO] [stderr] | [INFO] [stderr] 94 | pub fn parse_pieces<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a [u8]> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:100:37 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn parse_private(info_dict: &BDictAccess) -> Option [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:106:41 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn parse_name<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:112:40 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:112:81 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn BListAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:120:61 [INFO] [stderr] | [INFO] [stderr] 120 | pub fn parse_file_dict(file_bencode: &B) -> ParseResult<&BDictAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:126:44 [INFO] [stderr] | [INFO] [stderr] 126 | pub fn parse_length(info_or_file_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:132:51 [INFO] [stderr] | [INFO] [stderr] 132 | pub fn parse_md5sum<'a, B>(info_or_file_dict: &'a BDictAccess) -> Option<&'a [u8]> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:138:39 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:138:80 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn BListAccess` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> 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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> 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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 57 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 22.73s [INFO] running `"docker" "inspect" "b69125a59a505a1218b75011adb63779f461aba6e08d7eafe363fb3279b2c7ad"` [INFO] running `"docker" "rm" "-f" "b69125a59a505a1218b75011adb63779f461aba6e08d7eafe363fb3279b2c7ad"` [INFO] [stdout] b69125a59a505a1218b75011adb63779f461aba6e08d7eafe363fb3279b2c7ad [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 67336f68e67b13499eb983d58abe9d2d09a65c61b8a588f7e9fe593fda7a3dd6 [INFO] running `"docker" "start" "-a" "67336f68e67b13499eb983d58abe9d2d09a65c61b8a588f7e9fe593fda7a3dd6"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: `panic` setting is ignored for `bench` profile [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling chrono v0.4.11 [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:136:24 [INFO] [stderr] | [INFO] [stderr] 136 | let accessor = try!(accessor.into_accessor()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:185:24 [INFO] [stderr] | [INFO] [stderr] 185 | let accessor = try!(accessor.into_accessor()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:207:9 [INFO] [stderr] | [INFO] [stderr] 207 | try!(accessor.access_metadata(|len, path| { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:219:27 [INFO] [stderr] | [INFO] [stderr] 219 | let pieces_list = try!(worker::start_hasher_workers(&accessor, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:91:24 [INFO] [stderr] | [INFO] [stderr] 91 | let root_bencode = try!(BencodeRef::decode(bytes, BDecodeOpt::default())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:92:21 [INFO] [stderr] | [INFO] [stderr] 92 | let root_dict = try!(parse::parse_root_dict(&root_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:100:24 [INFO] [stderr] | [INFO] [stderr] 100 | let info_bencode = try!(parse::parse_info_bencode(root_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:101:16 [INFO] [stderr] | [INFO] [stderr] 101 | let info = try!(parse_info_dictionary(info_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:224:13 [INFO] [stderr] | [INFO] [stderr] 224 | try!(callback(PieceAccess::PreComputed(ShaHash::from_hash(piece).unwrap()))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:233:24 [INFO] [stderr] | [INFO] [stderr] 233 | let info_bencode = try!(BencodeRef::decode(bytes, BDecodeOpt::default())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:242:21 [INFO] [stderr] | [INFO] [stderr] 242 | let info_dict = try!(parse::parse_root_dict(info_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:243:21 [INFO] [stderr] | [INFO] [stderr] 243 | let piece_len = try!(parse::parse_piece_length(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:246:18 [INFO] [stderr] | [INFO] [stderr] 246 | let pieces = try!(parse::parse_pieces(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:247:25 [INFO] [stderr] | [INFO] [stderr] 247 | let piece_buffers = try!(allocate_pieces(pieces)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:250:30 [INFO] [stderr] | [INFO] [stderr] 250 | let file_directory = try!(parse::parse_name(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:254:29 [INFO] [stderr] | [INFO] [stderr] 254 | let files_bencode = try!(parse::parse_files_list(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:258:29 [INFO] [stderr] | [INFO] [stderr] 258 | let file_dict = try!(parse::parse_file_dict(file_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:259:24 [INFO] [stderr] | [INFO] [stderr] 259 | let file = try!(File::as_multi_file(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:273:20 [INFO] [stderr] | [INFO] [stderr] 273 | let file = try!(File::as_single_file(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:327:22 [INFO] [stderr] | [INFO] [stderr] 327 | let length = try!(parse::parse_length(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:329:20 [INFO] [stderr] | [INFO] [stderr] 329 | let name = try!(parse::parse_name(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:341:22 [INFO] [stderr] | [INFO] [stderr] 341 | let length = try!(parse::parse_length(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:344:33 [INFO] [stderr] | [INFO] [stderr] 344 | let path_list_bencode = try!(parse::parse_path_list(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:348:24 [INFO] [stderr] | [INFO] [stderr] 348 | let path = try!(parse::parse_path_str(path_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/accessor.rs:62:21 [INFO] [stderr] | [INFO] [stderr] 62 | Compute(&'a mut Read), [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metainfo.rs:287:41 [INFO] [stderr] | [INFO] [stderr] 287 | fn is_multi_file_torrent(info_dict: &BDictAccess) -> bool [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metainfo.rs:325:38 [INFO] [stderr] | [INFO] [stderr] 325 | fn as_single_file(info_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metainfo.rs:339:37 [INFO] [stderr] | [INFO] [stderr] 339 | fn as_multi_file(file_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:44:61 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn parse_root_dict(root_bencode: &B) -> ParseResult<&BDictAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:50:49 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn parse_announce_url<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:56:43 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn parse_creation_date(root_dict: &BDictAccess) -> Option [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:62:44 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn parse_comment<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:68:47 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn parse_created_by<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:74:45 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn parse_encoding<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:80:49 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn parse_info_bencode<'a, B>(root_dict: &'a BDictAccess) -> ParseResult<&B> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:88:42 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn parse_piece_length(info_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:94:43 [INFO] [stderr] | [INFO] [stderr] 94 | pub fn parse_pieces<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a [u8]> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:100:37 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn parse_private(info_dict: &BDictAccess) -> Option [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:106:41 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn parse_name<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:112:40 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:112:81 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn BListAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:120:61 [INFO] [stderr] | [INFO] [stderr] 120 | pub fn parse_file_dict(file_bencode: &B) -> ParseResult<&BDictAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:126:44 [INFO] [stderr] | [INFO] [stderr] 126 | pub fn parse_length(info_or_file_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:132:51 [INFO] [stderr] | [INFO] [stderr] 132 | pub fn parse_md5sum<'a, B>(info_or_file_dict: &'a BDictAccess) -> Option<&'a [u8]> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:138:39 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:138:80 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn BListAccess` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> 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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> 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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 57 warnings emitted [INFO] [stderr] [INFO] [stderr] Compiling crossbeam-channel v0.4.2 [INFO] [stderr] Compiling pbr v1.0.3 [INFO] [stderr] Compiling bip_metainfo v0.12.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/worker.rs:273:17 [INFO] [stderr] | [INFO] [stderr] 273 | try!(callback(PieceAccess::Compute(&mut next_region))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:136:24 [INFO] [stderr] | [INFO] [stderr] 136 | let accessor = try!(accessor.into_accessor()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:185:24 [INFO] [stderr] | [INFO] [stderr] 185 | let accessor = try!(accessor.into_accessor()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:207:9 [INFO] [stderr] | [INFO] [stderr] 207 | try!(accessor.access_metadata(|len, path| { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:219:27 [INFO] [stderr] | [INFO] [stderr] 219 | let pieces_list = try!(worker::start_hasher_workers(&accessor, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:91:24 [INFO] [stderr] | [INFO] [stderr] 91 | let root_bencode = try!(BencodeRef::decode(bytes, BDecodeOpt::default())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:92:21 [INFO] [stderr] | [INFO] [stderr] 92 | let root_dict = try!(parse::parse_root_dict(&root_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:100:24 [INFO] [stderr] | [INFO] [stderr] 100 | let info_bencode = try!(parse::parse_info_bencode(root_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:101:16 [INFO] [stderr] | [INFO] [stderr] 101 | let info = try!(parse_info_dictionary(info_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:224:13 [INFO] [stderr] | [INFO] [stderr] 224 | try!(callback(PieceAccess::PreComputed(ShaHash::from_hash(piece).unwrap()))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:233:24 [INFO] [stderr] | [INFO] [stderr] 233 | let info_bencode = try!(BencodeRef::decode(bytes, BDecodeOpt::default())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:242:21 [INFO] [stderr] | [INFO] [stderr] 242 | let info_dict = try!(parse::parse_root_dict(info_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:243:21 [INFO] [stderr] | [INFO] [stderr] 243 | let piece_len = try!(parse::parse_piece_length(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:246:18 [INFO] [stderr] | [INFO] [stderr] 246 | let pieces = try!(parse::parse_pieces(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:247:25 [INFO] [stderr] | [INFO] [stderr] 247 | let piece_buffers = try!(allocate_pieces(pieces)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:250:30 [INFO] [stderr] | [INFO] [stderr] 250 | let file_directory = try!(parse::parse_name(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:254:29 [INFO] [stderr] | [INFO] [stderr] 254 | let files_bencode = try!(parse::parse_files_list(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:258:29 [INFO] [stderr] | [INFO] [stderr] 258 | let file_dict = try!(parse::parse_file_dict(file_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:259:24 [INFO] [stderr] | [INFO] [stderr] 259 | let file = try!(File::as_multi_file(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:273:20 [INFO] [stderr] | [INFO] [stderr] 273 | let file = try!(File::as_single_file(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:327:22 [INFO] [stderr] | [INFO] [stderr] 327 | let length = try!(parse::parse_length(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:329:20 [INFO] [stderr] | [INFO] [stderr] 329 | let name = try!(parse::parse_name(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:341:22 [INFO] [stderr] | [INFO] [stderr] 341 | let length = try!(parse::parse_length(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:344:33 [INFO] [stderr] | [INFO] [stderr] 344 | let path_list_bencode = try!(parse::parse_path_list(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:348:24 [INFO] [stderr] | [INFO] [stderr] 348 | let path = try!(parse::parse_path_str(path_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/accessor.rs:62:21 [INFO] [stderr] | [INFO] [stderr] 62 | Compute(&'a mut Read), [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metainfo.rs:287:41 [INFO] [stderr] | [INFO] [stderr] 287 | fn is_multi_file_torrent(info_dict: &BDictAccess) -> bool [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metainfo.rs:325:38 [INFO] [stderr] | [INFO] [stderr] 325 | fn as_single_file(info_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metainfo.rs:339:37 [INFO] [stderr] | [INFO] [stderr] 339 | fn as_multi_file(file_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:44:61 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn parse_root_dict(root_bencode: &B) -> ParseResult<&BDictAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:50:49 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn parse_announce_url<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:56:43 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn parse_creation_date(root_dict: &BDictAccess) -> Option [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:62:44 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn parse_comment<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:68:47 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn parse_created_by<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:74:45 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn parse_encoding<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:80:49 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn parse_info_bencode<'a, B>(root_dict: &'a BDictAccess) -> ParseResult<&B> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:88:42 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn parse_piece_length(info_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:94:43 [INFO] [stderr] | [INFO] [stderr] 94 | pub fn parse_pieces<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a [u8]> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:100:37 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn parse_private(info_dict: &BDictAccess) -> Option [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:106:41 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn parse_name<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:112:40 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:112:81 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn BListAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:120:61 [INFO] [stderr] | [INFO] [stderr] 120 | pub fn parse_file_dict(file_bencode: &B) -> ParseResult<&BDictAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:126:44 [INFO] [stderr] | [INFO] [stderr] 126 | pub fn parse_length(info_or_file_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:132:51 [INFO] [stderr] | [INFO] [stderr] 132 | pub fn parse_md5sum<'a, B>(info_or_file_dict: &'a BDictAccess) -> Option<&'a [u8]> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:138:39 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:138:80 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn BListAccess` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> 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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> 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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stderr] --> src/builder/worker.rs:352:46 [INFO] [stderr] | [INFO] [stderr] 352 | for ®ion_length in region_lengths.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(array_into_iter)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stderr] --> src/builder/worker.rs:366:46 [INFO] [stderr] | [INFO] [stderr] 366 | for ®ion_length in region_lengths.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stderr] --> src/builder/worker.rs:381:46 [INFO] [stderr] | [INFO] [stderr] 381 | for ®ion_length in region_lengths.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stderr] --> src/builder/worker.rs:396:46 [INFO] [stderr] | [INFO] [stderr] 396 | for ®ion_length in region_lengths.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: 62 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 11.83s [INFO] running `"docker" "inspect" "67336f68e67b13499eb983d58abe9d2d09a65c61b8a588f7e9fe593fda7a3dd6"` [INFO] running `"docker" "rm" "-f" "67336f68e67b13499eb983d58abe9d2d09a65c61b8a588f7e9fe593fda7a3dd6"` [INFO] [stdout] 67336f68e67b13499eb983d58abe9d2d09a65c61b8a588f7e9fe593fda7a3dd6 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 859e1cca67f5b6ea646d0bb83a4badc4b97a7966ae4355499fc0355a65d1c9d9 [INFO] running `"docker" "start" "-a" "859e1cca67f5b6ea646d0bb83a4badc4b97a7966ae4355499fc0355a65d1c9d9"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: `panic` setting is ignored for `bench` profile [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/worker.rs:273:17 [INFO] [stderr] | [INFO] [stderr] 273 | try!(callback(PieceAccess::Compute(&mut next_region))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:136:24 [INFO] [stderr] | [INFO] [stderr] 136 | let accessor = try!(accessor.into_accessor()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:185:24 [INFO] [stderr] | [INFO] [stderr] 185 | let accessor = try!(accessor.into_accessor()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:207:9 [INFO] [stderr] | [INFO] [stderr] 207 | try!(accessor.access_metadata(|len, path| { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:219:27 [INFO] [stderr] | [INFO] [stderr] 219 | let pieces_list = try!(worker::start_hasher_workers(&accessor, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:91:24 [INFO] [stderr] | [INFO] [stderr] 91 | let root_bencode = try!(BencodeRef::decode(bytes, BDecodeOpt::default())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:92:21 [INFO] [stderr] | [INFO] [stderr] 92 | let root_dict = try!(parse::parse_root_dict(&root_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:100:24 [INFO] [stderr] | [INFO] [stderr] 100 | let info_bencode = try!(parse::parse_info_bencode(root_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:101:16 [INFO] [stderr] | [INFO] [stderr] 101 | let info = try!(parse_info_dictionary(info_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:224:13 [INFO] [stderr] | [INFO] [stderr] 224 | try!(callback(PieceAccess::PreComputed(ShaHash::from_hash(piece).unwrap()))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:233:24 [INFO] [stderr] | [INFO] [stderr] 233 | let info_bencode = try!(BencodeRef::decode(bytes, BDecodeOpt::default())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:242:21 [INFO] [stderr] | [INFO] [stderr] 242 | let info_dict = try!(parse::parse_root_dict(info_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:243:21 [INFO] [stderr] | [INFO] [stderr] 243 | let piece_len = try!(parse::parse_piece_length(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:246:18 [INFO] [stderr] | [INFO] [stderr] 246 | let pieces = try!(parse::parse_pieces(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:247:25 [INFO] [stderr] | [INFO] [stderr] 247 | let piece_buffers = try!(allocate_pieces(pieces)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:250:30 [INFO] [stderr] | [INFO] [stderr] 250 | let file_directory = try!(parse::parse_name(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:254:29 [INFO] [stderr] | [INFO] [stderr] 254 | let files_bencode = try!(parse::parse_files_list(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:258:29 [INFO] [stderr] | [INFO] [stderr] 258 | let file_dict = try!(parse::parse_file_dict(file_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:259:24 [INFO] [stderr] | [INFO] [stderr] 259 | let file = try!(File::as_multi_file(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:273:20 [INFO] [stderr] | [INFO] [stderr] 273 | let file = try!(File::as_single_file(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:327:22 [INFO] [stderr] | [INFO] [stderr] 327 | let length = try!(parse::parse_length(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:329:20 [INFO] [stderr] | [INFO] [stderr] 329 | let name = try!(parse::parse_name(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:341:22 [INFO] [stderr] | [INFO] [stderr] 341 | let length = try!(parse::parse_length(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:344:33 [INFO] [stderr] | [INFO] [stderr] 344 | let path_list_bencode = try!(parse::parse_path_list(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:348:24 [INFO] [stderr] | [INFO] [stderr] 348 | let path = try!(parse::parse_path_str(path_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/accessor.rs:62:21 [INFO] [stderr] | [INFO] [stderr] 62 | Compute(&'a mut Read), [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metainfo.rs:287:41 [INFO] [stderr] | [INFO] [stderr] 287 | fn is_multi_file_torrent(info_dict: &BDictAccess) -> bool [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metainfo.rs:325:38 [INFO] [stderr] | [INFO] [stderr] 325 | fn as_single_file(info_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metainfo.rs:339:37 [INFO] [stderr] | [INFO] [stderr] 339 | fn as_multi_file(file_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:44:61 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn parse_root_dict(root_bencode: &B) -> ParseResult<&BDictAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:50:49 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn parse_announce_url<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:56:43 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn parse_creation_date(root_dict: &BDictAccess) -> Option [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:62:44 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn parse_comment<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:68:47 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn parse_created_by<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:74:45 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn parse_encoding<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:80:49 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn parse_info_bencode<'a, B>(root_dict: &'a BDictAccess) -> ParseResult<&B> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:88:42 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn parse_piece_length(info_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:94:43 [INFO] [stderr] | [INFO] [stderr] 94 | pub fn parse_pieces<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a [u8]> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:100:37 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn parse_private(info_dict: &BDictAccess) -> Option [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:106:41 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn parse_name<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:112:40 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:112:81 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn BListAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:120:61 [INFO] [stderr] | [INFO] [stderr] 120 | pub fn parse_file_dict(file_bencode: &B) -> ParseResult<&BDictAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:126:44 [INFO] [stderr] | [INFO] [stderr] 126 | pub fn parse_length(info_or_file_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:132:51 [INFO] [stderr] | [INFO] [stderr] 132 | pub fn parse_md5sum<'a, B>(info_or_file_dict: &'a BDictAccess) -> Option<&'a [u8]> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:138:39 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:138:80 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn BListAccess` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> 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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> 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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stderr] --> src/builder/worker.rs:352:46 [INFO] [stderr] | [INFO] [stderr] 352 | for ®ion_length in region_lengths.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(array_into_iter)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stderr] --> src/builder/worker.rs:366:46 [INFO] [stderr] | [INFO] [stderr] 366 | for ®ion_length in region_lengths.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stderr] --> src/builder/worker.rs:381:46 [INFO] [stderr] | [INFO] [stderr] 381 | for ®ion_length in region_lengths.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stderr] --> src/builder/worker.rs:396:46 [INFO] [stderr] | [INFO] [stderr] 396 | for ®ion_length in region_lengths.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: 62 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> 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 item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:136:24 [INFO] [stderr] | [INFO] [stderr] 136 | let accessor = try!(accessor.into_accessor()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:185:24 [INFO] [stderr] | [INFO] [stderr] 185 | let accessor = try!(accessor.into_accessor()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:207:9 [INFO] [stderr] | [INFO] [stderr] 207 | try!(accessor.access_metadata(|len, path| { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/builder/mod.rs:219:27 [INFO] [stderr] | [INFO] [stderr] 219 | let pieces_list = try!(worker::start_hasher_workers(&accessor, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:91:24 [INFO] [stderr] | [INFO] [stderr] 91 | let root_bencode = try!(BencodeRef::decode(bytes, BDecodeOpt::default())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:92:21 [INFO] [stderr] | [INFO] [stderr] 92 | let root_dict = try!(parse::parse_root_dict(&root_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:100:24 [INFO] [stderr] | [INFO] [stderr] 100 | let info_bencode = try!(parse::parse_info_bencode(root_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:101:16 [INFO] [stderr] | [INFO] [stderr] 101 | let info = try!(parse_info_dictionary(info_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:224:13 [INFO] [stderr] | [INFO] [stderr] 224 | try!(callback(PieceAccess::PreComputed(ShaHash::from_hash(piece).unwrap()))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:233:24 [INFO] [stderr] | [INFO] [stderr] 233 | let info_bencode = try!(BencodeRef::decode(bytes, BDecodeOpt::default())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:242:21 [INFO] [stderr] | [INFO] [stderr] 242 | let info_dict = try!(parse::parse_root_dict(info_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:243:21 [INFO] [stderr] | [INFO] [stderr] 243 | let piece_len = try!(parse::parse_piece_length(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:246:18 [INFO] [stderr] | [INFO] [stderr] 246 | let pieces = try!(parse::parse_pieces(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:247:25 [INFO] [stderr] | [INFO] [stderr] 247 | let piece_buffers = try!(allocate_pieces(pieces)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:250:30 [INFO] [stderr] | [INFO] [stderr] 250 | let file_directory = try!(parse::parse_name(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:254:29 [INFO] [stderr] | [INFO] [stderr] 254 | let files_bencode = try!(parse::parse_files_list(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:258:29 [INFO] [stderr] | [INFO] [stderr] 258 | let file_dict = try!(parse::parse_file_dict(file_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:259:24 [INFO] [stderr] | [INFO] [stderr] 259 | let file = try!(File::as_multi_file(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:273:20 [INFO] [stderr] | [INFO] [stderr] 273 | let file = try!(File::as_single_file(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:327:22 [INFO] [stderr] | [INFO] [stderr] 327 | let length = try!(parse::parse_length(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:329:20 [INFO] [stderr] | [INFO] [stderr] 329 | let name = try!(parse::parse_name(info_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:341:22 [INFO] [stderr] | [INFO] [stderr] 341 | let length = try!(parse::parse_length(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:344:33 [INFO] [stderr] | [INFO] [stderr] 344 | let path_list_bencode = try!(parse::parse_path_list(file_dict)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/metainfo.rs:348:24 [INFO] [stderr] | [INFO] [stderr] 348 | let path = try!(parse::parse_path_str(path_bencode)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/accessor.rs:62:21 [INFO] [stderr] | [INFO] [stderr] 62 | Compute(&'a mut Read), [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metainfo.rs:287:41 [INFO] [stderr] | [INFO] [stderr] 287 | fn is_multi_file_torrent(info_dict: &BDictAccess) -> bool [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metainfo.rs:325:38 [INFO] [stderr] | [INFO] [stderr] 325 | fn as_single_file(info_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/metainfo.rs:339:37 [INFO] [stderr] | [INFO] [stderr] 339 | fn as_multi_file(file_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:44:61 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn parse_root_dict(root_bencode: &B) -> ParseResult<&BDictAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:50:49 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn parse_announce_url<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:56:43 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn parse_creation_date(root_dict: &BDictAccess) -> Option [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:62:44 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn parse_comment<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:68:47 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn parse_created_by<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:74:45 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn parse_encoding<'a, B>(root_dict: &'a BDictAccess) -> Option<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:80:49 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn parse_info_bencode<'a, B>(root_dict: &'a BDictAccess) -> ParseResult<&B> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:88:42 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn parse_piece_length(info_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:94:43 [INFO] [stderr] | [INFO] [stderr] 94 | pub fn parse_pieces<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a [u8]> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:100:37 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn parse_private(info_dict: &BDictAccess) -> Option [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:106:41 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn parse_name<'a, B>(info_dict: &'a BDictAccess) -> ParseResult<&'a str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:112:40 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:112:81 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn parse_files_list(info_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn BListAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:120:61 [INFO] [stderr] | [INFO] [stderr] 120 | pub fn parse_file_dict(file_bencode: &B) -> ParseResult<&BDictAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:126:44 [INFO] [stderr] | [INFO] [stderr] 126 | pub fn parse_length(info_or_file_dict: &BDictAccess) -> ParseResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:132:51 [INFO] [stderr] | [INFO] [stderr] 132 | pub fn parse_md5sum<'a, B>(info_or_file_dict: &'a BDictAccess) -> Option<&'a [u8]> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:138:39 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BDictAccess` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parse.rs:138:80 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn parse_path_list(file_dict: &BDictAccess) -> ParseResult<&BListAccess> [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn BListAccess` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> 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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> 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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 57 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.12s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/bip_metainfo-6b3e7a8c98bd84d6 [INFO] [stdout] [INFO] [stdout] running 25 tests [INFO] [stdout] test builder::worker::tests::positive_piece_length_undivisible_region_single_thread ... ok [INFO] [stdout] test builder::worker::tests::positive_piece_length_undivisible_regions_multiple_threads ... ok [INFO] [stdout] test builder::worker::tests::positive_piece_length_divisible_region_multiple_threads ... ok [INFO] [stdout] test builder::worker::tests::positive_piece_length_undivisible_region_multiple_threads ... ok [INFO] [stdout] test builder::worker::tests::positive_piece_length_undivisible_regions_single_thread ... ok [INFO] [stdout] test builder::worker::tests::positive_piece_length_divisible_region_single_thread ... ok [INFO] [stdout] test builder::worker::tests::positive_piece_length_divisible_regions_multiple_threads ... ok [INFO] [stdout] test builder::worker::tests::positive_piece_length_divisible_regions_single_thread ... ok [INFO] [stdout] test metainfo::tests::positive_parse_from_single_file ... ok [INFO] [stdout] test metainfo::tests::positive_parse_with_comment ... ok [INFO] [stdout] test metainfo::tests::negative_parse_from_empty_bytes ... ok [INFO] [stdout] test metainfo::tests::negative_parse_with_no_piece_length ... ok [INFO] [stdout] test metainfo::tests::negative_parse_from_single_file_with_no_file_name ... ok [INFO] [stdout] test metainfo::tests::negative_parse_with_no_pieces ... ok [INFO] [stdout] test metainfo::tests::positive_parse_with_no_main_tracker ... ok [INFO] [stdout] test metainfo::tests::positive_parse_with_created_by ... ok [INFO] [stdout] test metainfo::tests::positive_parse_with_creation_date ... ok [INFO] [stdout] test metainfo::tests::positive_parse_from_multi_file ... ok [INFO] [stdout] test metainfo::tests::positive_parse_from_empty_pieces ... ok [INFO] [stdout] test metainfo::tests::negative_parse_from_single_file_with_no_file_length ... ok [INFO] [stdout] test metainfo::tests::positive_parse_from_multi_files ... ok [INFO] [stdout] test metainfo::tests::positive_parse_with_private_non_zero ... ok [INFO] [stdout] test metainfo::tests::positive_parse_with_encoding ... ok [INFO] [stdout] test metainfo::tests::positive_parse_with_private_zero ... ok [INFO] [stdout] test metainfo::tests::positive_parse_with_private_one ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Doc-tests bip_metainfo [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test src/lib.rs - (line 7) ... ok [INFO] [stdout] test src/lib.rs - (line 30) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "859e1cca67f5b6ea646d0bb83a4badc4b97a7966ae4355499fc0355a65d1c9d9"` [INFO] running `"docker" "rm" "-f" "859e1cca67f5b6ea646d0bb83a4badc4b97a7966ae4355499fc0355a65d1c9d9"` [INFO] [stdout] 859e1cca67f5b6ea646d0bb83a4badc4b97a7966ae4355499fc0355a65d1c9d9