[INFO] fetching crate redox 0.0.3... [INFO] checking redox-0.0.3 against master#a609fb45efad59dfd459c76e50899be9f0583b5a for pr-80579 [INFO] extracting crate redox 0.0.3 into /workspace/builds/worker-4/source [INFO] validating manifest of crates.io crate redox 0.0.3 on toolchain a609fb45efad59dfd459c76e50899be9f0583b5a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "read-manifest" "--manifest-path" "Cargo.toml", 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-4/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5ca9fd9f3a38f639ebef935301788d175d094b865869b20b59c17109a68c4a57 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "5ca9fd9f3a38f639ebef935301788d175d094b865869b20b59c17109a68c4a57", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5ca9fd9f3a38f639ebef935301788d175d094b865869b20b59c17109a68c4a57", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5ca9fd9f3a38f639ebef935301788d175d094b865869b20b59c17109a68c4a57", kill_on_drop: false }` [INFO] [stdout] 5ca9fd9f3a38f639ebef935301788d175d094b865869b20b59c17109a68c4a57 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ff47cf8b1370f669dfe0b6f769f89d32dce3b7f8ced109e95dab3b34b16d724c [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "ff47cf8b1370f669dfe0b6f769f89d32dce3b7f8ced109e95dab3b34b16d724c", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.57 [INFO] [stderr] Compiling time v0.2.23 [INFO] [stderr] Checking getrandom v0.2.0 [INFO] [stderr] Checking rand_core v0.6.0 [INFO] [stderr] Checking rand_chacha v0.3.0 [INFO] [stderr] Checking rand v0.8.0 [INFO] [stderr] Compiling time-macros-impl v0.1.1 [INFO] [stderr] Checking time-macros v0.1.1 [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: 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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Self::InnerView>` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` 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: 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: `...` 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] = 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: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: 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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, T>` [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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, T>` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Self::InnerView>` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Self::InnerView>` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Self::InnerView>` [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: 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] | ^^^^^ help: use `dyn`: `dyn Error` [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: 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] | ^^^^^ help: use `dyn`: `dyn Error` [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: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: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: 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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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: 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] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator>` [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] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator>` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: 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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: 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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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 [INFO] [stdout] --> src/torrent/metainfo/lazy_metainfo.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | / macro_rules! slice_dict { [INFO] [stdout] 26 | | ($dict:ident, $key:expr, $f:expr) => ( [INFO] [stdout] 27 | | match $dict.lookup($key) { [INFO] [stdout] 28 | | Some(n) => match $f(n) { [INFO] [stdout] ... | [INFO] [stdout] 34 | | ); [INFO] [stdout] 35 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition [INFO] [stdout] --> src/torrent/metainfo/lazy_metainfo.rs:41:1 [INFO] [stdout] | [INFO] [stdout] 41 | / macro_rules! slice_dict_opt { [INFO] [stdout] 42 | | ($dict:ident, $key:expr, $f:expr) => ( [INFO] [stdout] 43 | | match $dict.lookup($key) { [INFO] [stdout] 44 | | Some(n) => match $f(n) { [INFO] [stdout] ... | [INFO] [stdout] 50 | | ); [INFO] [stdout] 51 | | } [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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, T>` [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/torrent/mod.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 32 | iter: Box> + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator> + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator> + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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: 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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Self::InnerView>` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` 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: 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: `...` 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] = 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: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: 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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, T>` [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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, T>` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Self::InnerView>` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Self::InnerView>` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Self::InnerView>` [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: 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] | ^^^^^ help: use `dyn`: `dyn Error` [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: 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] | ^^^^^ help: use `dyn`: `dyn Error` [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: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: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: 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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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: 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] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator>` [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] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator>` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: 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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: 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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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 [INFO] [stdout] --> src/torrent/metainfo/lazy_metainfo.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | / macro_rules! slice_dict { [INFO] [stdout] 26 | | ($dict:ident, $key:expr, $f:expr) => ( [INFO] [stdout] 27 | | match $dict.lookup($key) { [INFO] [stdout] 28 | | Some(n) => match $f(n) { [INFO] [stdout] ... | [INFO] [stdout] 34 | | ); [INFO] [stdout] 35 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition [INFO] [stdout] --> src/torrent/metainfo/lazy_metainfo.rs:41:1 [INFO] [stdout] | [INFO] [stdout] 41 | / macro_rules! slice_dict_opt { [INFO] [stdout] 42 | | ($dict:ident, $key:expr, $f:expr) => ( [INFO] [stdout] 43 | | match $dict.lookup($key) { [INFO] [stdout] 44 | | Some(n) => match $f(n) { [INFO] [stdout] ... | [INFO] [stdout] 50 | | ); [INFO] [stdout] 51 | | } [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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, T>` [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/torrent/mod.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 32 | iter: Box> + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator> + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator> + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] 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: aborting due to previous error; 74 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `redox` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [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] 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: aborting due to previous error; 74 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "ff47cf8b1370f669dfe0b6f769f89d32dce3b7f8ced109e95dab3b34b16d724c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ff47cf8b1370f669dfe0b6f769f89d32dce3b7f8ced109e95dab3b34b16d724c", kill_on_drop: false }` [INFO] [stdout] ff47cf8b1370f669dfe0b6f769f89d32dce3b7f8ced109e95dab3b34b16d724c