[INFO] fetching crate redox 0.0.3... [INFO] checking redox-0.0.3 against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] extracting crate redox 0.0.3 into /workspace/builds/worker-6-tc1/source [INFO] validating manifest of crates.io crate redox 0.0.3 on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate redox 0.0.3 [INFO] finished tweaking crates.io crate redox 0.0.3 [INFO] tweaked toml for crates.io crate redox 0.0.3 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 30 packages to latest compatible versions [INFO] [stderr] Adding generic-array v0.14.7 (available: v1.1.0) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ef717b4a847cf5d587f1e06d918c8cae91eee4cd0768cd05bc79fec643bb9b03 [INFO] running `Command { std: "docker" "start" "-a" "ef717b4a847cf5d587f1e06d918c8cae91eee4cd0768cd05bc79fec643bb9b03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ef717b4a847cf5d587f1e06d918c8cae91eee4cd0768cd05bc79fec643bb9b03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ef717b4a847cf5d587f1e06d918c8cae91eee4cd0768cd05bc79fec643bb9b03", kill_on_drop: false }` [INFO] [stdout] ef717b4a847cf5d587f1e06d918c8cae91eee4cd0768cd05bc79fec643bb9b03 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c192267a01cb7e82f5ac7491f107605529967bd81671acee854cad09390b54a7 [INFO] running `Command { std: "docker" "start" "-a" "c192267a01cb7e82f5ac7491f107605529967bd81671acee854cad09390b54a7", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Checking num-conv v0.1.0 [INFO] [stderr] Checking deranged v0.3.11 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking time v0.3.36 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking redox v0.0.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | let (bencode, end_pos) = try!(decode(bytes_ref, 0)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | let curr_byte = try!(peek_byte(bytes, pos, "End Of Bytes Encountered")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:89:34 [INFO] [stdout] | [INFO] [stdout] 89 | let (bencode, pos) = try!(decode_int(bytes, pos + 1, bencode::BEN_END)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:93:34 [INFO] [stdout] | [INFO] [stdout] 93 | let (bencode, pos) = try!(decode_list(bytes, pos + 1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:97:34 [INFO] [stdout] | [INFO] [stdout] 97 | let (bencode, pos) = try!(decode_dict(bytes, pos + 1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/bencode/decode.rs:100:30 [INFO] [stdout] | [INFO] [stdout] 100 | bencode::BYTE_LEN_LOW...bencode::BYTE_LEN_HIGH => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:101:34 [INFO] [stdout] | [INFO] [stdout] 101 | let (bencode, pos) = try!(decode_bytes(bytes, pos)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:150:34 [INFO] [stdout] | [INFO] [stdout] 150 | let (num_bytes, start_pos) = try!(decode_int(bytes, pos, bencode::BYTE_LEN_END)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:175:25 [INFO] [stdout] | [INFO] [stdout] 175 | let mut curr_byte = try!(peek_byte(bytes, curr_pos, "End Of Bytes Element Encountered In List")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:178:35 [INFO] [stdout] | [INFO] [stdout] 178 | let (bencode, next_pos) = try!(decode(bytes, curr_pos)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:183:21 [INFO] [stdout] | [INFO] [stdout] 183 | curr_byte = try!(peek_byte(bytes, curr_pos, "End Of Bytes Element Encountered In List")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:193:25 [INFO] [stdout] | [INFO] [stdout] 193 | let mut curr_byte = try!(peek_byte(bytes, curr_pos, "End Of Bytes Element Encountered In Dictionary")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:196:37 [INFO] [stdout] | [INFO] [stdout] 196 | let (key_bytes, next_pos) = try!(decode_bytes(bytes, curr_pos)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:216:33 [INFO] [stdout] | [INFO] [stdout] 216 | let (value, next_pos) = try!(decode(bytes, curr_pos)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:226:21 [INFO] [stdout] | [INFO] [stdout] 226 | curr_byte = try!(peek_byte(bytes, curr_pos, "End Of Bytes Element Encountered In Dictionary")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/bencode/mod.rs:35:15 [INFO] [stdout] | [INFO] [stdout] 35 | fn decode(T) -> BencodeResult; [INFO] [stdout] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/error.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | try!(f.write_fmt(format_args!("Kind: {:?}", self.kind))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/error.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | try!(f.write_fmt(format_args!(", Description: {}", self.desc))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/error.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | try!(f.write_fmt(format_args!(", Position: {}", n))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/error.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | try!(f.write_fmt(format_args!("Kind: {:?}", self.kind))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/error.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | try!(f.write_fmt(format_args!(", Description: {}", self.desc))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/error.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | try!(f.write_fmt(format_args!(", Detail: {}", n))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:42:27 [INFO] [stdout] | [INFO] [stdout] 42 | let mut bencode = try!(Bencode::decode(&bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:45:25 [INFO] [stdout] | [INFO] [stdout] 45 | let info_hash = try!(metainfo::generate_info_hash(&bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:47:20 [INFO] [stdout] | [INFO] [stdout] 47 | let info = try!(PieceInfoImpl::new(&mut bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | let file = try!(FileInfoImpl::new(&mut bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:59:23 [INFO] [stdout] | [INFO] [stdout] 59 | let comment = try!(move_comment(&mut bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:60:26 [INFO] [stdout] | [INFO] [stdout] 60 | let created_by = try!(move_created_by(&mut bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:61:29 [INFO] [stdout] | [INFO] [stdout] 61 | let creation_date = try!(move_creation_date(&mut bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | try!(torrent_file.read_to_end(&mut torrent_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:77:32 [INFO] [stdout] | [INFO] [stdout] 77 | let mut torrent_file = try!(fs::File::open(path)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:142:22 [INFO] [stdout] | [INFO] [stdout] 142 | let length = try!(move_piece_length(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:143:22 [INFO] [stdout] | [INFO] [stdout] 143 | let pieces = try!(move_pieces(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:169:37 [INFO] [stdout] | [INFO] [stdout] 169 | Ok(FileInfoImpl{ file_type: try!(move_files(root)) }) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:290:21 [INFO] [stdout] | [INFO] [stdout] 290 | let root_dict = try!(slice_root_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:304:21 [INFO] [stdout] | [INFO] [stdout] 304 | let root_dict = try!(slice_root_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:311:21 [INFO] [stdout] | [INFO] [stdout] 311 | let root_dict = try!(slice_root_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:327:20 [INFO] [stdout] | [INFO] [stdout] 327 | let host = try!(bytes_into_string( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:339:21 [INFO] [stdout] | [INFO] [stdout] 339 | let root_dict = try!(slice_root_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:348:21 [INFO] [stdout] | [INFO] [stdout] 348 | let root_dict = try!(slice_root_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:357:21 [INFO] [stdout] | [INFO] [stdout] 357 | let root_dict = try!(slice_root_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:363:21 [INFO] [stdout] | [INFO] [stdout] 363 | let info_dict = try!(slice_info_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:369:21 [INFO] [stdout] | [INFO] [stdout] 369 | let info_dict = try!(slice_info_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:389:21 [INFO] [stdout] | [INFO] [stdout] 389 | let info_dict = try!(slice_info_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:400:16 [INFO] [stdout] | [INFO] [stdout] 400 | let name = try!(move_name(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:401:21 [INFO] [stdout] | [INFO] [stdout] 401 | let info_dict = try!(slice_info_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:406:24 [INFO] [stdout] | [INFO] [stdout] 406 | let checksum = try!(move_checksum(info_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:414:28 [INFO] [stdout] | [INFO] [stdout] 414 | file_list.push(try!(move_file(&mut file))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:426:20 [INFO] [stdout] | [INFO] [stdout] 426 | let checksum = try!(move_checksum(file)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:435:24 [INFO] [stdout] | [INFO] [stdout] 435 | path_list.push(try!(bytes_into_string(path_entry_bytes.to_vec(), metainfo::PATH_KEY))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `slice_dict` [INFO] [stdout] --> src/torrent/metainfo/lazy_metainfo.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | macro_rules! slice_dict { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `slice_dict_opt` [INFO] [stdout] --> src/torrent/metainfo/lazy_metainfo.rs:41:14 [INFO] [stdout] | [INFO] [stdout] 41 | macro_rules! slice_dict_opt { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/mod.rs:45:21 [INFO] [stdout] | [INFO] [stdout] 45 | let root_dict = try!(lazy_metainfo::slice_root_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/mod.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 47 | let info = try!(root_dict.lookup(INFO_KEY).ok_or( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:32:34 [INFO] [stdout] | [INFO] [stdout] 32 | let (bencode, end_pos) = try!(decode(bytes_ref, 0)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | let curr_byte = try!(peek_byte(bytes, pos, "End Of Bytes Encountered")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:89:34 [INFO] [stdout] | [INFO] [stdout] 89 | let (bencode, pos) = try!(decode_int(bytes, pos + 1, bencode::BEN_END)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:93:34 [INFO] [stdout] | [INFO] [stdout] 93 | let (bencode, pos) = try!(decode_list(bytes, pos + 1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:97:34 [INFO] [stdout] | [INFO] [stdout] 97 | let (bencode, pos) = try!(decode_dict(bytes, pos + 1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/bencode/decode.rs:100:30 [INFO] [stdout] | [INFO] [stdout] 100 | bencode::BYTE_LEN_LOW...bencode::BYTE_LEN_HIGH => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:101:34 [INFO] [stdout] | [INFO] [stdout] 101 | let (bencode, pos) = try!(decode_bytes(bytes, pos)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:150:34 [INFO] [stdout] | [INFO] [stdout] 150 | let (num_bytes, start_pos) = try!(decode_int(bytes, pos, bencode::BYTE_LEN_END)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:175:25 [INFO] [stdout] | [INFO] [stdout] 175 | let mut curr_byte = try!(peek_byte(bytes, curr_pos, "End Of Bytes Element Encountered In List")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:178:35 [INFO] [stdout] | [INFO] [stdout] 178 | let (bencode, next_pos) = try!(decode(bytes, curr_pos)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:183:21 [INFO] [stdout] | [INFO] [stdout] 183 | curr_byte = try!(peek_byte(bytes, curr_pos, "End Of Bytes Element Encountered In List")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:193:25 [INFO] [stdout] | [INFO] [stdout] 193 | let mut curr_byte = try!(peek_byte(bytes, curr_pos, "End Of Bytes Element Encountered In Dictionary")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:196:37 [INFO] [stdout] | [INFO] [stdout] 196 | let (key_bytes, next_pos) = try!(decode_bytes(bytes, curr_pos)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:216:33 [INFO] [stdout] | [INFO] [stdout] 216 | let (value, next_pos) = try!(decode(bytes, curr_pos)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode/decode.rs:226:21 [INFO] [stdout] | [INFO] [stdout] 226 | curr_byte = try!(peek_byte(bytes, curr_pos, "End Of Bytes Element Encountered In Dictionary")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/bencode/mod.rs:35:15 [INFO] [stdout] | [INFO] [stdout] 35 | fn decode(T) -> BencodeResult; [INFO] [stdout] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/error.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | try!(f.write_fmt(format_args!("Kind: {:?}", self.kind))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/error.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | try!(f.write_fmt(format_args!(", Description: {}", self.desc))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/error.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | try!(f.write_fmt(format_args!(", Position: {}", n))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/error.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | try!(f.write_fmt(format_args!("Kind: {:?}", self.kind))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/error.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | try!(f.write_fmt(format_args!(", Description: {}", self.desc))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/error.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | try!(f.write_fmt(format_args!(", Detail: {}", n))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:42:27 [INFO] [stdout] | [INFO] [stdout] 42 | let mut bencode = try!(Bencode::decode(&bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:45:25 [INFO] [stdout] | [INFO] [stdout] 45 | let info_hash = try!(metainfo::generate_info_hash(&bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:47:20 [INFO] [stdout] | [INFO] [stdout] 47 | let info = try!(PieceInfoImpl::new(&mut bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | let file = try!(FileInfoImpl::new(&mut bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:59:23 [INFO] [stdout] | [INFO] [stdout] 59 | let comment = try!(move_comment(&mut bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:60:26 [INFO] [stdout] | [INFO] [stdout] 60 | let created_by = try!(move_created_by(&mut bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:61:29 [INFO] [stdout] | [INFO] [stdout] 61 | let creation_date = try!(move_creation_date(&mut bencode)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | try!(torrent_file.read_to_end(&mut torrent_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:77:32 [INFO] [stdout] | [INFO] [stdout] 77 | let mut torrent_file = try!(fs::File::open(path)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:142:22 [INFO] [stdout] | [INFO] [stdout] 142 | let length = try!(move_piece_length(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:143:22 [INFO] [stdout] | [INFO] [stdout] 143 | let pieces = try!(move_pieces(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:169:37 [INFO] [stdout] | [INFO] [stdout] 169 | Ok(FileInfoImpl{ file_type: try!(move_files(root)) }) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:290:21 [INFO] [stdout] | [INFO] [stdout] 290 | let root_dict = try!(slice_root_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:304:21 [INFO] [stdout] | [INFO] [stdout] 304 | let root_dict = try!(slice_root_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:311:21 [INFO] [stdout] | [INFO] [stdout] 311 | let root_dict = try!(slice_root_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:327:20 [INFO] [stdout] | [INFO] [stdout] 327 | let host = try!(bytes_into_string( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:339:21 [INFO] [stdout] | [INFO] [stdout] 339 | let root_dict = try!(slice_root_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:348:21 [INFO] [stdout] | [INFO] [stdout] 348 | let root_dict = try!(slice_root_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:357:21 [INFO] [stdout] | [INFO] [stdout] 357 | let root_dict = try!(slice_root_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:363:21 [INFO] [stdout] | [INFO] [stdout] 363 | let info_dict = try!(slice_info_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:369:21 [INFO] [stdout] | [INFO] [stdout] 369 | let info_dict = try!(slice_info_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:389:21 [INFO] [stdout] | [INFO] [stdout] 389 | let info_dict = try!(slice_info_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:400:16 [INFO] [stdout] | [INFO] [stdout] 400 | let name = try!(move_name(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:401:21 [INFO] [stdout] | [INFO] [stdout] 401 | let info_dict = try!(slice_info_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:406:24 [INFO] [stdout] | [INFO] [stdout] 406 | let checksum = try!(move_checksum(info_dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:414:28 [INFO] [stdout] | [INFO] [stdout] 414 | file_list.push(try!(move_file(&mut file))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:426:20 [INFO] [stdout] | [INFO] [stdout] 426 | let checksum = try!(move_checksum(file)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:435:24 [INFO] [stdout] | [INFO] [stdout] 435 | path_list.push(try!(bytes_into_string(path_entry_bytes.to_vec(), metainfo::PATH_KEY))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `slice_dict` [INFO] [stdout] --> src/torrent/metainfo/lazy_metainfo.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | macro_rules! slice_dict { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `slice_dict_opt` [INFO] [stdout] --> src/torrent/metainfo/lazy_metainfo.rs:41:14 [INFO] [stdout] | [INFO] [stdout] 41 | macro_rules! slice_dict_opt { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/mod.rs:45:21 [INFO] [stdout] | [INFO] [stdout] 45 | let root_dict = try!(lazy_metainfo::slice_root_dict(root)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/torrent/metainfo/mod.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 47 | let info = try!(root_dict.lookup(INFO_KEY).ok_or( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode/mod.rs:31:14 [INFO] [stdout] | [INFO] [stdout] 31 | Dict(&'b Dictionary<'a, T>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | Dict(&'b dyn Dictionary<'a, T>) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/mod.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 32 | iter: Box> + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | iter: Box> + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/mod.rs:204:15 [INFO] [stdout] | [INFO] [stdout] 204 | iter: Box> + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 204 | iter: Box> + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/mod.rs:243:15 [INFO] [stdout] | [INFO] [stdout] 243 | iter: Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 243 | iter: Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode/encode.rs:47:30 [INFO] [stdout] | [INFO] [stdout] 47 | fn encode_dict<'a, T>(dict: &Dictionary<'a, T>) -> Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 47 | fn encode_dict<'a, T>(dict: &dyn Dictionary<'a, T>) -> Vec [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/lazy_metainfo.rs:54:59 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn slice_root_dict<'a, T>(root: &T) -> TorrentResult<&Dictionary<'a, T>> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 | pub fn slice_root_dict<'a, T>(root: &T) -> TorrentResult<&dyn Dictionary<'a, T>> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode/mod.rs:74:31 [INFO] [stdout] | [INFO] [stdout] 74 | fn dict(&self) -> Option<&Dictionary<'a, Self::InnerView>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 | fn dict(&self) -> Option<&dyn Dictionary<'a, Self::InnerView>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode/decode.rs:76:31 [INFO] [stdout] | [INFO] [stdout] 76 | fn dict(&self) -> Option<&Dictionary<'a, Self::InnerView>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 76 | fn dict(&self) -> Option<&dyn Dictionary<'a, Self::InnerView>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode/mod.rs:100:31 [INFO] [stdout] | [INFO] [stdout] 100 | fn dict(&self) -> Option<&Dictionary<'a, Self::InnerView>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 100 | fn dict(&self) -> Option<&dyn Dictionary<'a, Self::InnerView>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode/mod.rs:128:31 [INFO] [stdout] | [INFO] [stdout] 128 | fn dict(&self) -> Option<&Dictionary<'a, Self::InnerView>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 128 | fn dict(&self) -> Option<&dyn Dictionary<'a, Self::InnerView>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode/mod.rs:31:14 [INFO] [stdout] | [INFO] [stdout] 31 | Dict(&'b Dictionary<'a, T>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | Dict(&'b dyn Dictionary<'a, T>) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/mod.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 32 | iter: Box> + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | iter: Box> + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/mod.rs:204:15 [INFO] [stdout] | [INFO] [stdout] 204 | iter: Box> + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 204 | iter: Box> + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/mod.rs:243:15 [INFO] [stdout] | [INFO] [stdout] 243 | iter: Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 243 | iter: Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode/encode.rs:47:30 [INFO] [stdout] | [INFO] [stdout] 47 | fn encode_dict<'a, T>(dict: &Dictionary<'a, T>) -> Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 47 | fn encode_dict<'a, T>(dict: &dyn Dictionary<'a, T>) -> Vec [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/lazy_metainfo.rs:54:59 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn slice_root_dict<'a, T>(root: &T) -> TorrentResult<&Dictionary<'a, T>> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 | pub fn slice_root_dict<'a, T>(root: &T) -> TorrentResult<&dyn Dictionary<'a, T>> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode/mod.rs:74:31 [INFO] [stdout] | [INFO] [stdout] 74 | fn dict(&self) -> Option<&Dictionary<'a, Self::InnerView>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 | fn dict(&self) -> Option<&dyn Dictionary<'a, Self::InnerView>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode/decode.rs:76:31 [INFO] [stdout] | [INFO] [stdout] 76 | fn dict(&self) -> Option<&Dictionary<'a, Self::InnerView>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 76 | fn dict(&self) -> Option<&dyn Dictionary<'a, Self::InnerView>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode/mod.rs:100:31 [INFO] [stdout] | [INFO] [stdout] 100 | fn dict(&self) -> Option<&Dictionary<'a, Self::InnerView>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 100 | fn dict(&self) -> Option<&dyn Dictionary<'a, Self::InnerView>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode/mod.rs:128:31 [INFO] [stdout] | [INFO] [stdout] 128 | fn dict(&self) -> Option<&Dictionary<'a, Self::InnerView>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 128 | fn dict(&self) -> Option<&dyn Dictionary<'a, Self::InnerView>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `Self` cannot be known at compilation time [INFO] [stdout] --> src/bencode/mod.rs:35:21 [INFO] [stdout] | [INFO] [stdout] 35 | fn decode(T) -> BencodeResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] note: required by an implicit `Sized` bound in `Result` [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/result.rs:527:1 [INFO] [stdout] help: consider further restricting `Self` [INFO] [stdout] | [INFO] [stdout] 35 | fn decode(T) -> BencodeResult where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `Self` cannot be known at compilation time [INFO] [stdout] --> src/bencode/mod.rs:35:21 [INFO] [stdout] | [INFO] [stdout] 35 | fn decode(T) -> BencodeResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] note: required by an implicit `Sized` bound in `Result` [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/result.rs:527:1 [INFO] [stdout] help: consider further restricting `Self` [INFO] [stdout] | [INFO] [stdout] 35 | fn decode(T) -> BencodeResult where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/error.rs:70:32 [INFO] [stdout] | [INFO] [stdout] 70 | fn cause(&self) -> Option<&Error> { None } [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 70 | fn cause(&self) -> Option<&dyn Error> { None } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/error.rs:150:32 [INFO] [stdout] | [INFO] [stdout] 150 | fn cause(&self) -> Option<&Error> { None } [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 | fn cause(&self) -> Option<&dyn Error> { None } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/error.rs:70:32 [INFO] [stdout] | [INFO] [stdout] 70 | fn cause(&self) -> Option<&Error> { None } [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 70 | fn cause(&self) -> Option<&dyn Error> { None } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/error.rs:150:32 [INFO] [stdout] | [INFO] [stdout] 150 | fn cause(&self) -> Option<&Error> { None } [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 | fn cause(&self) -> Option<&dyn Error> { None } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:285:84 [INFO] [stdout] | [INFO] [stdout] 285 | pub fn slice_root_dict<'a, 'b>(root: &'b mut Bencode<'a>) -> TorrentResult<&'b mut Dictionary<'a, Bencode<'a>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 285 | pub fn slice_root_dict<'a, 'b>(root: &'b mut Bencode<'a>) -> TorrentResult<&'b mut dyn Dictionary<'a, Bencode<'a>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:289:84 [INFO] [stdout] | [INFO] [stdout] 289 | pub fn slice_info_dict<'a, 'b>(root: &'b mut Bencode<'a>) -> TorrentResult<&'b mut Dictionary<'a, Bencode<'a>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 289 | pub fn slice_info_dict<'a, 'b>(root: &'b mut Bencode<'a>) -> TorrentResult<&'b mut dyn Dictionary<'a, Bencode<'a>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:377:33 [INFO] [stdout] | [INFO] [stdout] 377 | fn move_checksum<'a>(dict: &mut Dictionary<'a, Bencode<'a>>) -> TorrentResult>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 377 | fn move_checksum<'a>(dict: &mut dyn Dictionary<'a, Bencode<'a>>) -> TorrentResult>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:285:84 [INFO] [stdout] | [INFO] [stdout] 285 | pub fn slice_root_dict<'a, 'b>(root: &'b mut Bencode<'a>) -> TorrentResult<&'b mut Dictionary<'a, Bencode<'a>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 285 | pub fn slice_root_dict<'a, 'b>(root: &'b mut Bencode<'a>) -> TorrentResult<&'b mut dyn Dictionary<'a, Bencode<'a>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:289:84 [INFO] [stdout] | [INFO] [stdout] 289 | pub fn slice_info_dict<'a, 'b>(root: &'b mut Bencode<'a>) -> TorrentResult<&'b mut Dictionary<'a, Bencode<'a>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 289 | pub fn slice_info_dict<'a, 'b>(root: &'b mut Bencode<'a>) -> TorrentResult<&'b mut dyn Dictionary<'a, Bencode<'a>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:377:33 [INFO] [stdout] | [INFO] [stdout] 377 | fn move_checksum<'a>(dict: &mut Dictionary<'a, Bencode<'a>>) -> TorrentResult>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 377 | fn move_checksum<'a>(dict: &mut dyn Dictionary<'a, Bencode<'a>>) -> TorrentResult>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:133:19 [INFO] [stdout] | [INFO] [stdout] 133 | error.description().to_owned() [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:93:28 [INFO] [stdout] | [INFO] [stdout] 93 | })) as Box + 'a>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 93 | })) as Box + 'a>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:100:28 [INFO] [stdout] | [INFO] [stdout] 100 | })) as Box + 'a>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 100 | })) as Box + 'a>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:183:28 [INFO] [stdout] | [INFO] [stdout] 183 | })) as Box>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 183 | })) as Box>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:176:75 [INFO] [stdout] | [INFO] [stdout] 176 | let path_iter = Box::new(Iter::new(&name[..])) as Box>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 176 | let path_iter = Box::new(Iter::new(&name[..])) as Box>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:199:28 [INFO] [stdout] | [INFO] [stdout] 199 | })) as Box>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 199 | })) as Box>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:192:88 [INFO] [stdout] | [INFO] [stdout] 192 | let path_iter = Box::new(path.iter().map(|path| &path[..])) as Box>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 192 | let path_iter = Box::new(path.iter().map(|path| &path[..])) as Box>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:133:19 [INFO] [stdout] | [INFO] [stdout] 133 | error.description().to_owned() [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:93:28 [INFO] [stdout] | [INFO] [stdout] 93 | })) as Box + 'a>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 93 | })) as Box + 'a>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:100:28 [INFO] [stdout] | [INFO] [stdout] 100 | })) as Box + 'a>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 100 | })) as Box + 'a>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:183:28 [INFO] [stdout] | [INFO] [stdout] 183 | })) as Box>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 183 | })) as Box>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:176:75 [INFO] [stdout] | [INFO] [stdout] 176 | let path_iter = Box::new(Iter::new(&name[..])) as Box>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 176 | let path_iter = Box::new(Iter::new(&name[..])) as Box>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:199:28 [INFO] [stdout] | [INFO] [stdout] 199 | })) as Box>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 199 | })) as Box>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/torrent/metainfo/metainfo.rs:192:88 [INFO] [stdout] | [INFO] [stdout] 192 | let path_iter = Box::new(path.iter().map(|path| &path[..])) as Box>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 192 | let path_iter = Box::new(path.iter().map(|path| &path[..])) as Box>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `CoreWrapper` in the current scope [INFO] [stdout] --> src/util.rs:77:25 [INFO] [stdout] | [INFO] [stdout] 77 | let mut sha = Sha1::new(); [INFO] [stdout] | ^^^ function or associated item not found in `CoreWrapper` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `CoreWrapper`, consider using `CoreWrapper::::from_core` which returns `CoreWrapper<_>` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/digest-0.10.7/src/core_api/wrapper.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn from_core(core: T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Digest` which provides `new` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 3 + use sha1::Digest; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `CoreWrapper` in the current scope [INFO] [stdout] --> src/util.rs:77:25 [INFO] [stdout] | [INFO] [stdout] 77 | let mut sha = Sha1::new(); [INFO] [stdout] | ^^^ function or associated item not found in `CoreWrapper` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `CoreWrapper`, consider using `CoreWrapper::::from_core` which returns `CoreWrapper<_>` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/digest-0.10.7/src/core_api/wrapper.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn from_core(core: T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Digest` which provides `new` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 3 + use sha1::Digest; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 76 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `redox` (lib) due to 3 previous errors; 76 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 2 previous errors; 76 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `redox` (lib test) due to 3 previous errors; 76 warnings emitted [INFO] running `Command { std: "docker" "inspect" "c192267a01cb7e82f5ac7491f107605529967bd81671acee854cad09390b54a7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c192267a01cb7e82f5ac7491f107605529967bd81671acee854cad09390b54a7", kill_on_drop: false }` [INFO] [stdout] c192267a01cb7e82f5ac7491f107605529967bd81671acee854cad09390b54a7