[INFO] crate redox 0.0.3 is already in cache
[INFO] checking redox-0.0.3 against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] extracting crate redox 0.0.3 into /workspace/builds/worker-7/source
[INFO] validating manifest of crates.io crate redox 0.0.3 on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[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-7/source/Cargo.toml
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stdout] 6cfce8b84b59e03feb217bfb20903857e57b271f32d9f5c6deaeddd0bfcce6e9
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `"docker" "start" "-a" "6cfce8b84b59e03feb217bfb20903857e57b271f32d9f5c6deaeddd0bfcce6e9"`
[INFO] [stderr]    Compiling time-macros-impl v0.1.0
[INFO] [stderr]    Compiling rustversion v1.0.2
[INFO] [stderr]    Compiling time v0.2.9
[INFO] [stderr]     Checking time-macros v0.1.0
[INFO] [stderr]     Checking redox v0.0.3 (/opt/rustwide/workdir)
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/bencode/decode.rs:32:34
[INFO] [stderr]    |
[INFO] [stderr] 32 |         let (bencode, end_pos) = try!(decode(bytes_ref, 0));
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/bencode/decode.rs:85:21
[INFO] [stderr]    |
[INFO] [stderr] 85 |     let curr_byte = try!(peek_byte(bytes, pos, "End Of Bytes Encountered"));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/bencode/decode.rs:89:34
[INFO] [stderr]    |
[INFO] [stderr] 89 |             let (bencode, pos) = try!(decode_int(bytes, pos + 1, bencode::BEN_END));
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/bencode/decode.rs:93:34
[INFO] [stderr]    |
[INFO] [stderr] 93 |             let (bencode, pos) = try!(decode_list(bytes, pos + 1));
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/bencode/decode.rs:97:34
[INFO] [stderr]    |
[INFO] [stderr] 97 |             let (bencode, pos) = try!(decode_dict(bytes, pos + 1));
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:101:34
[INFO] [stderr]     |
[INFO] [stderr] 101 |             let (bencode, pos) = try!(decode_bytes(bytes, pos));
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:150:34
[INFO] [stderr]     |
[INFO] [stderr] 150 |     let (num_bytes, start_pos) = try!(decode_int(bytes, pos, bencode::BYTE_LEN_END));
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:175:25
[INFO] [stderr]     |
[INFO] [stderr] 175 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos, "End Of Bytes Element Encountered In List"));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:178:35
[INFO] [stderr]     |
[INFO] [stderr] 178 |         let (bencode, next_pos) = try!(decode(bytes, curr_pos));
[INFO] [stderr]     |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:183:21
[INFO] [stderr]     |
[INFO] [stderr] 183 |         curr_byte = try!(peek_byte(bytes, curr_pos, "End Of Bytes Element Encountered In List"));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:193:25
[INFO] [stderr]     |
[INFO] [stderr] 193 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos, "End Of Bytes Element Encountered In Dictionary"));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:196:37
[INFO] [stderr]     |
[INFO] [stderr] 196 |         let (key_bytes, next_pos) = try!(decode_bytes(bytes, curr_pos));
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:216:33
[INFO] [stderr]     |
[INFO] [stderr] 216 |         let (value, next_pos) = try!(decode(bytes, curr_pos));
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:226:21
[INFO] [stderr]     |
[INFO] [stderr] 226 |         curr_byte = try!(peek_byte(bytes, curr_pos, "End Of Bytes Element Encountered In Dictionary"));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/error.rs:55:9
[INFO] [stderr]    |
[INFO] [stderr] 55 |         try!(f.write_fmt(format_args!("Kind: {:?}", self.kind)));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/error.rs:57:9
[INFO] [stderr]    |
[INFO] [stderr] 57 |         try!(f.write_fmt(format_args!(", Description: {}", self.desc)));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/error.rs:60:13
[INFO] [stderr]    |
[INFO] [stderr] 60 |             try!(f.write_fmt(format_args!(", Position: {}", n)));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/error.rs:117:9
[INFO] [stderr]     |
[INFO] [stderr] 117 |         try!(f.write_fmt(format_args!("Kind: {:?}", self.kind)));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/error.rs:119:9
[INFO] [stderr]     |
[INFO] [stderr] 119 |         try!(f.write_fmt(format_args!(", Description: {}", self.desc)));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/error.rs:122:13
[INFO] [stderr]     |
[INFO] [stderr] 122 |             try!(f.write_fmt(format_args!(", Detail: {}", n)));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:42:27
[INFO] [stderr]    |
[INFO] [stderr] 42 |         let mut bencode = try!(Bencode::decode(&bytes));
[INFO] [stderr]    |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:45:25
[INFO] [stderr]    |
[INFO] [stderr] 45 |         let info_hash = try!(metainfo::generate_info_hash(&bencode));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:47:20
[INFO] [stderr]    |
[INFO] [stderr] 47 |         let info = try!(PieceInfoImpl::new(&mut bencode));
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:48:20
[INFO] [stderr]    |
[INFO] [stderr] 48 |         let file = try!(FileInfoImpl::new(&mut bencode));
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:59:23
[INFO] [stderr]    |
[INFO] [stderr] 59 |         let comment = try!(move_comment(&mut bencode));
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:60:26
[INFO] [stderr]    |
[INFO] [stderr] 60 |         let created_by = try!(move_created_by(&mut bencode));
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:61:29
[INFO] [stderr]    |
[INFO] [stderr] 61 |         let creation_date = try!(move_creation_date(&mut bencode));
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:77:32
[INFO] [stderr]    |
[INFO] [stderr] 77 |         let mut torrent_file = try!(fs::File::open(path));
[INFO] [stderr]    |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:80:9
[INFO] [stderr]    |
[INFO] [stderr] 80 |         try!(torrent_file.read_to_end(&mut torrent_bytes));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:142:22
[INFO] [stderr]     |
[INFO] [stderr] 142 |         let length = try!(move_piece_length(root));
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:143:22
[INFO] [stderr]     |
[INFO] [stderr] 143 |         let pieces = try!(move_pieces(root));
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:169:37
[INFO] [stderr]     |
[INFO] [stderr] 169 |         Ok(FileInfoImpl{ file_type: try!(move_files(root)) })
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:290:21
[INFO] [stderr]     |
[INFO] [stderr] 290 |     let root_dict = try!(slice_root_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:304:21
[INFO] [stderr]     |
[INFO] [stderr] 304 |     let root_dict = try!(slice_root_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:311:21
[INFO] [stderr]     |
[INFO] [stderr] 311 |     let root_dict = try!(slice_root_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:327:20
[INFO] [stderr]     |
[INFO] [stderr] 327 |         let host = try!(bytes_into_string(
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:339:21
[INFO] [stderr]     |
[INFO] [stderr] 339 |     let root_dict = try!(slice_root_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:348:21
[INFO] [stderr]     |
[INFO] [stderr] 348 |     let root_dict = try!(slice_root_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:357:21
[INFO] [stderr]     |
[INFO] [stderr] 357 |     let root_dict = try!(slice_root_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:363:21
[INFO] [stderr]     |
[INFO] [stderr] 363 |     let info_dict = try!(slice_info_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:369:21
[INFO] [stderr]     |
[INFO] [stderr] 369 |     let info_dict = try!(slice_info_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:389:21
[INFO] [stderr]     |
[INFO] [stderr] 389 |     let info_dict = try!(slice_info_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:400:16
[INFO] [stderr]     |
[INFO] [stderr] 400 |     let name = try!(move_name(root));
[INFO] [stderr]     |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:401:21
[INFO] [stderr]     |
[INFO] [stderr] 401 |     let info_dict = try!(slice_info_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:406:24
[INFO] [stderr]     |
[INFO] [stderr] 406 |         let checksum = try!(move_checksum(info_dict));
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:414:28
[INFO] [stderr]     |
[INFO] [stderr] 414 |             file_list.push(try!(move_file(&mut file)));
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:426:20
[INFO] [stderr]     |
[INFO] [stderr] 426 |     let checksum = try!(move_checksum(file));
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:435:24
[INFO] [stderr]     |
[INFO] [stderr] 435 |         path_list.push(try!(bytes_into_string(path_entry_bytes.to_vec(), metainfo::PATH_KEY)));
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/mod.rs:45:21
[INFO] [stderr]    |
[INFO] [stderr] 45 |     let root_dict = try!(lazy_metainfo::slice_root_dict(root));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/mod.rs:47:16
[INFO] [stderr]    |
[INFO] [stderr] 47 |     let info = try!(root_dict.lookup(INFO_KEY).ok_or(
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bencode/decode.rs:76:31
[INFO] [stderr]    |
[INFO] [stderr] 76 |     fn dict(&self) -> Option<&Dictionary<'a, Self::InnerView>> {
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Self::InnerView>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/bencode/decode.rs:100:30
[INFO] [stderr]     |
[INFO] [stderr] 100 |         bencode::BYTE_LEN_LOW...bencode::BYTE_LEN_HIGH => {
[INFO] [stderr]     |                              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bencode/encode.rs:47:30
[INFO] [stderr]    |
[INFO] [stderr] 47 | fn encode_dict<'a, T>(dict: &Dictionary<'a, T>) -> Vec<u8>
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bencode/mod.rs:31:14
[INFO] [stderr]    |
[INFO] [stderr] 31 |     Dict(&'b Dictionary<'a, T>)
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bencode/mod.rs:74:31
[INFO] [stderr]    |
[INFO] [stderr] 74 |     fn dict(&self) -> Option<&Dictionary<'a, Self::InnerView>>;
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Self::InnerView>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/bencode/mod.rs:100:31
[INFO] [stderr]     |
[INFO] [stderr] 100 |     fn dict(&self) -> Option<&Dictionary<'a, Self::InnerView>> {
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Self::InnerView>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/bencode/mod.rs:128:31
[INFO] [stderr]     |
[INFO] [stderr] 128 |     fn dict(&self) -> Option<&Dictionary<'a, Self::InnerView>> {
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Self::InnerView>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/error.rs:70:32
[INFO] [stderr]    |
[INFO] [stderr] 70 |     fn cause(&self) -> Option<&Error> { None }
[INFO] [stderr]    |                                ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/error.rs:150:32
[INFO] [stderr]     |
[INFO] [stderr] 150 |     fn cause(&self) -> Option<&Error> { None }
[INFO] [stderr]     |                                ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:93:28
[INFO] [stderr]    |
[INFO] [stderr] 93 |                 })) as Box<Iterator<Item=(&'a str, u16)> + 'a>;
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=(&'a str, u16)> + 'a`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:100:28
[INFO] [stderr]     |
[INFO] [stderr] 100 |                 })) as Box<Iterator<Item=(&'a str, u16)> + 'a>;
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=(&'a str, u16)> + 'a`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:176:75
[INFO] [stderr]     |
[INFO] [stderr] 176 |                     let path_iter = Box::new(Iter::new(&name[..])) as Box<Iterator<Item=&str>>;
[INFO] [stderr]     |                                                                           ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=&str>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:183:28
[INFO] [stderr]     |
[INFO] [stderr] 183 |                 })) as Box<Iterator<Item=File<'a>>>;
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=File<'a>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:192:88
[INFO] [stderr]     |
[INFO] [stderr] 192 |                     let path_iter = Box::new(path.iter().map(|path| &path[..])) as Box<Iterator<Item=&str>>;
[INFO] [stderr]     |                                                                                        ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=&str>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:199:28
[INFO] [stderr]     |
[INFO] [stderr] 199 |                 })) as Box<Iterator<Item=File<'a>>>;
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=File<'a>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:285:84
[INFO] [stderr]     |
[INFO] [stderr] 285 | pub fn slice_root_dict<'a, 'b>(root: &'b mut Bencode<'a>) -> TorrentResult<&'b mut Dictionary<'a, Bencode<'a>>> {
[INFO] [stderr]     |                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:289:84
[INFO] [stderr]     |
[INFO] [stderr] 289 | pub fn slice_info_dict<'a, 'b>(root: &'b mut Bencode<'a>) -> TorrentResult<&'b mut Dictionary<'a, Bencode<'a>>> {
[INFO] [stderr]     |                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:377:33
[INFO] [stderr]     |
[INFO] [stderr] 377 | fn move_checksum<'a>(dict: &mut Dictionary<'a, Bencode<'a>>) -> TorrentResult<Option<Vec<u8>>> {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>`
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition
[INFO] [stderr]   --> src/torrent/metainfo/lazy_metainfo.rs:25:1
[INFO] [stderr]    |
[INFO] [stderr] 25 | / macro_rules! slice_dict {
[INFO] [stderr] 26 | |     ($dict:ident, $key:expr, $f:expr) => (
[INFO] [stderr] 27 | |         match $dict.lookup($key) {
[INFO] [stderr] 28 | |             Some(n) => match $f(n) {
[INFO] [stderr] ...  |
[INFO] [stderr] 34 | |     );
[INFO] [stderr] 35 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition
[INFO] [stderr]   --> src/torrent/metainfo/lazy_metainfo.rs:41:1
[INFO] [stderr]    |
[INFO] [stderr] 41 | / macro_rules! slice_dict_opt {
[INFO] [stderr] 42 | |     ($dict:ident, $key:expr, $f:expr) => (
[INFO] [stderr] 43 | |         match $dict.lookup($key) {
[INFO] [stderr] 44 | |             Some(n) => match $f(n) {
[INFO] [stderr] ...  |
[INFO] [stderr] 50 | |     );
[INFO] [stderr] 51 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/torrent/metainfo/lazy_metainfo.rs:54:59
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub fn slice_root_dict<'a, T>(root: &T) -> TorrentResult<&Dictionary<'a, T>>
[INFO] [stderr]    |                                                           ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/torrent/mod.rs:32:15
[INFO] [stderr]    |
[INFO] [stderr] 32 |     iter: Box<Iterator<Item=Node<'a>> + 'a>
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=Node<'a>> + 'a`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/mod.rs:204:15
[INFO] [stderr]     |
[INFO] [stderr] 204 |     iter: Box<Iterator<Item=File<'a>> + 'a>
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=File<'a>> + 'a`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/mod.rs:243:15
[INFO] [stderr]     |
[INFO] [stderr] 243 |     iter: Box<Iterator<Item=&'a str> + 'a>
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=&'a str> + 'a`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/bencode/decode.rs:32:34
[INFO] [stderr]    |
[INFO] [stderr] 32 |         let (bencode, end_pos) = try!(decode(bytes_ref, 0));
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/bencode/decode.rs:85:21
[INFO] [stderr]    |
[INFO] [stderr] 85 |     let curr_byte = try!(peek_byte(bytes, pos, "End Of Bytes Encountered"));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/bencode/decode.rs:89:34
[INFO] [stderr]    |
[INFO] [stderr] 89 |             let (bencode, pos) = try!(decode_int(bytes, pos + 1, bencode::BEN_END));
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/bencode/decode.rs:93:34
[INFO] [stderr]    |
[INFO] [stderr] 93 |             let (bencode, pos) = try!(decode_list(bytes, pos + 1));
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/bencode/decode.rs:97:34
[INFO] [stderr]    |
[INFO] [stderr] 97 |             let (bencode, pos) = try!(decode_dict(bytes, pos + 1));
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:101:34
[INFO] [stderr]     |
[INFO] [stderr] 101 |             let (bencode, pos) = try!(decode_bytes(bytes, pos));
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:150:34
[INFO] [stderr]     |
[INFO] [stderr] 150 |     let (num_bytes, start_pos) = try!(decode_int(bytes, pos, bencode::BYTE_LEN_END));
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:175:25
[INFO] [stderr]     |
[INFO] [stderr] 175 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos, "End Of Bytes Element Encountered In List"));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:178:35
[INFO] [stderr]     |
[INFO] [stderr] 178 |         let (bencode, next_pos) = try!(decode(bytes, curr_pos));
[INFO] [stderr]     |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:183:21
[INFO] [stderr]     |
[INFO] [stderr] 183 |         curr_byte = try!(peek_byte(bytes, curr_pos, "End Of Bytes Element Encountered In List"));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:193:25
[INFO] [stderr]     |
[INFO] [stderr] 193 |     let mut curr_byte = try!(peek_byte(bytes, curr_pos, "End Of Bytes Element Encountered In Dictionary"));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:196:37
[INFO] [stderr]     |
[INFO] [stderr] 196 |         let (key_bytes, next_pos) = try!(decode_bytes(bytes, curr_pos));
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:216:33
[INFO] [stderr]     |
[INFO] [stderr] 216 |         let (value, next_pos) = try!(decode(bytes, curr_pos));
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/bencode/decode.rs:226:21
[INFO] [stderr]     |
[INFO] [stderr] 226 |         curr_byte = try!(peek_byte(bytes, curr_pos, "End Of Bytes Element Encountered In Dictionary"));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/error.rs:55:9
[INFO] [stderr]    |
[INFO] [stderr] 55 |         try!(f.write_fmt(format_args!("Kind: {:?}", self.kind)));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/error.rs:57:9
[INFO] [stderr]    |
[INFO] [stderr] 57 |         try!(f.write_fmt(format_args!(", Description: {}", self.desc)));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/error.rs:60:13
[INFO] [stderr]    |
[INFO] [stderr] 60 |             try!(f.write_fmt(format_args!(", Position: {}", n)));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/error.rs:117:9
[INFO] [stderr]     |
[INFO] [stderr] 117 |         try!(f.write_fmt(format_args!("Kind: {:?}", self.kind)));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/error.rs:119:9
[INFO] [stderr]     |
[INFO] [stderr] 119 |         try!(f.write_fmt(format_args!(", Description: {}", self.desc)));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/error.rs:122:13
[INFO] [stderr]     |
[INFO] [stderr] 122 |             try!(f.write_fmt(format_args!(", Detail: {}", n)));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:42:27
[INFO] [stderr]    |
[INFO] [stderr] 42 |         let mut bencode = try!(Bencode::decode(&bytes));
[INFO] [stderr]    |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:45:25
[INFO] [stderr]    |
[INFO] [stderr] 45 |         let info_hash = try!(metainfo::generate_info_hash(&bencode));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:47:20
[INFO] [stderr]    |
[INFO] [stderr] 47 |         let info = try!(PieceInfoImpl::new(&mut bencode));
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:48:20
[INFO] [stderr]    |
[INFO] [stderr] 48 |         let file = try!(FileInfoImpl::new(&mut bencode));
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:59:23
[INFO] [stderr]    |
[INFO] [stderr] 59 |         let comment = try!(move_comment(&mut bencode));
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:60:26
[INFO] [stderr]    |
[INFO] [stderr] 60 |         let created_by = try!(move_created_by(&mut bencode));
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:61:29
[INFO] [stderr]    |
[INFO] [stderr] 61 |         let creation_date = try!(move_creation_date(&mut bencode));
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:77:32
[INFO] [stderr]    |
[INFO] [stderr] 77 |         let mut torrent_file = try!(fs::File::open(path));
[INFO] [stderr]    |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:80:9
[INFO] [stderr]    |
[INFO] [stderr] 80 |         try!(torrent_file.read_to_end(&mut torrent_bytes));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:142:22
[INFO] [stderr]     |
[INFO] [stderr] 142 |         let length = try!(move_piece_length(root));
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:143:22
[INFO] [stderr]     |
[INFO] [stderr] 143 |         let pieces = try!(move_pieces(root));
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:169:37
[INFO] [stderr]     |
[INFO] [stderr] 169 |         Ok(FileInfoImpl{ file_type: try!(move_files(root)) })
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:290:21
[INFO] [stderr]     |
[INFO] [stderr] 290 |     let root_dict = try!(slice_root_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:304:21
[INFO] [stderr]     |
[INFO] [stderr] 304 |     let root_dict = try!(slice_root_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:311:21
[INFO] [stderr]     |
[INFO] [stderr] 311 |     let root_dict = try!(slice_root_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:327:20
[INFO] [stderr]     |
[INFO] [stderr] 327 |         let host = try!(bytes_into_string(
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:339:21
[INFO] [stderr]     |
[INFO] [stderr] 339 |     let root_dict = try!(slice_root_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:348:21
[INFO] [stderr]     |
[INFO] [stderr] 348 |     let root_dict = try!(slice_root_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:357:21
[INFO] [stderr]     |
[INFO] [stderr] 357 |     let root_dict = try!(slice_root_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:363:21
[INFO] [stderr]     |
[INFO] [stderr] 363 |     let info_dict = try!(slice_info_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:369:21
[INFO] [stderr]     |
[INFO] [stderr] 369 |     let info_dict = try!(slice_info_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:389:21
[INFO] [stderr]     |
[INFO] [stderr] 389 |     let info_dict = try!(slice_info_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:400:16
[INFO] [stderr]     |
[INFO] [stderr] 400 |     let name = try!(move_name(root));
[INFO] [stderr]     |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:401:21
[INFO] [stderr]     |
[INFO] [stderr] 401 |     let info_dict = try!(slice_info_dict(root));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:406:24
[INFO] [stderr]     |
[INFO] [stderr] 406 |         let checksum = try!(move_checksum(info_dict));
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:414:28
[INFO] [stderr]     |
[INFO] [stderr] 414 |             file_list.push(try!(move_file(&mut file)));
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:426:20
[INFO] [stderr]     |
[INFO] [stderr] 426 |     let checksum = try!(move_checksum(file));
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:435:24
[INFO] [stderr]     |
[INFO] [stderr] 435 |         path_list.push(try!(bytes_into_string(path_entry_bytes.to_vec(), metainfo::PATH_KEY)));
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/mod.rs:45:21
[INFO] [stderr]    |
[INFO] [stderr] 45 |     let root_dict = try!(lazy_metainfo::slice_root_dict(root));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/torrent/metainfo/mod.rs:47:16
[INFO] [stderr]    |
[INFO] [stderr] 47 |     let info = try!(root_dict.lookup(INFO_KEY).ok_or(
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bencode/decode.rs:76:31
[INFO] [stderr]    |
[INFO] [stderr] 76 |     fn dict(&self) -> Option<&Dictionary<'a, Self::InnerView>> {
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Self::InnerView>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/bencode/decode.rs:100:30
[INFO] [stderr]     |
[INFO] [stderr] 100 |         bencode::BYTE_LEN_LOW...bencode::BYTE_LEN_HIGH => {
[INFO] [stderr]     |                              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bencode/encode.rs:47:30
[INFO] [stderr]    |
[INFO] [stderr] 47 | fn encode_dict<'a, T>(dict: &Dictionary<'a, T>) -> Vec<u8>
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bencode/mod.rs:31:14
[INFO] [stderr]    |
[INFO] [stderr] 31 |     Dict(&'b Dictionary<'a, T>)
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bencode/mod.rs:74:31
[INFO] [stderr]    |
[INFO] [stderr] 74 |     fn dict(&self) -> Option<&Dictionary<'a, Self::InnerView>>;
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Self::InnerView>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/bencode/mod.rs:100:31
[INFO] [stderr]     |
[INFO] [stderr] 100 |     fn dict(&self) -> Option<&Dictionary<'a, Self::InnerView>> {
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Self::InnerView>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/bencode/mod.rs:128:31
[INFO] [stderr]     |
[INFO] [stderr] 128 |     fn dict(&self) -> Option<&Dictionary<'a, Self::InnerView>> {
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Self::InnerView>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/error.rs:70:32
[INFO] [stderr]    |
[INFO] [stderr] 70 |     fn cause(&self) -> Option<&Error> { None }
[INFO] [stderr]    |                                ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/error.rs:150:32
[INFO] [stderr]     |
[INFO] [stderr] 150 |     fn cause(&self) -> Option<&Error> { None }
[INFO] [stderr]     |                                ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/torrent/metainfo/metainfo.rs:93:28
[INFO] [stderr]    |
[INFO] [stderr] 93 |                 })) as Box<Iterator<Item=(&'a str, u16)> + 'a>;
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=(&'a str, u16)> + 'a`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:100:28
[INFO] [stderr]     |
[INFO] [stderr] 100 |                 })) as Box<Iterator<Item=(&'a str, u16)> + 'a>;
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=(&'a str, u16)> + 'a`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:176:75
[INFO] [stderr]     |
[INFO] [stderr] 176 |                     let path_iter = Box::new(Iter::new(&name[..])) as Box<Iterator<Item=&str>>;
[INFO] [stderr]     |                                                                           ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=&str>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:183:28
[INFO] [stderr]     |
[INFO] [stderr] 183 |                 })) as Box<Iterator<Item=File<'a>>>;
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=File<'a>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:192:88
[INFO] [stderr]     |
[INFO] [stderr] 192 |                     let path_iter = Box::new(path.iter().map(|path| &path[..])) as Box<Iterator<Item=&str>>;
[INFO] [stderr]     |                                                                                        ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=&str>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:199:28
[INFO] [stderr]     |
[INFO] [stderr] 199 |                 })) as Box<Iterator<Item=File<'a>>>;
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=File<'a>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:285:84
[INFO] [stderr]     |
[INFO] [stderr] 285 | pub fn slice_root_dict<'a, 'b>(root: &'b mut Bencode<'a>) -> TorrentResult<&'b mut Dictionary<'a, Bencode<'a>>> {
[INFO] [stderr]     |                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:289:84
[INFO] [stderr]     |
[INFO] [stderr] 289 | pub fn slice_info_dict<'a, 'b>(root: &'b mut Bencode<'a>) -> TorrentResult<&'b mut Dictionary<'a, Bencode<'a>>> {
[INFO] [stderr]     |                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/metainfo/metainfo.rs:377:33
[INFO] [stderr]     |
[INFO] [stderr] 377 | fn move_checksum<'a>(dict: &mut Dictionary<'a, Bencode<'a>>) -> TorrentResult<Option<Vec<u8>>> {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>`
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition
[INFO] [stderr]   --> src/torrent/metainfo/lazy_metainfo.rs:25:1
[INFO] [stderr]    |
[INFO] [stderr] 25 | / macro_rules! slice_dict {
[INFO] [stderr] 26 | |     ($dict:ident, $key:expr, $f:expr) => (
[INFO] [stderr] 27 | |         match $dict.lookup($key) {
[INFO] [stderr] 28 | |             Some(n) => match $f(n) {
[INFO] [stderr] ...  |
[INFO] [stderr] 34 | |     );
[INFO] [stderr] 35 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition
[INFO] [stderr]   --> src/torrent/metainfo/lazy_metainfo.rs:41:1
[INFO] [stderr]    |
[INFO] [stderr] 41 | / macro_rules! slice_dict_opt {
[INFO] [stderr] 42 | |     ($dict:ident, $key:expr, $f:expr) => (
[INFO] [stderr] 43 | |         match $dict.lookup($key) {
[INFO] [stderr] 44 | |             Some(n) => match $f(n) {
[INFO] [stderr] ...  |
[INFO] [stderr] 50 | |     );
[INFO] [stderr] 51 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/torrent/metainfo/lazy_metainfo.rs:54:59
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub fn slice_root_dict<'a, T>(root: &T) -> TorrentResult<&Dictionary<'a, T>>
[INFO] [stderr]    |                                                           ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/torrent/mod.rs:32:15
[INFO] [stderr]    |
[INFO] [stderr] 32 |     iter: Box<Iterator<Item=Node<'a>> + 'a>
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=Node<'a>> + 'a`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/mod.rs:204:15
[INFO] [stderr]     |
[INFO] [stderr] 204 |     iter: Box<Iterator<Item=File<'a>> + 'a>
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=File<'a>> + 'a`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/torrent/mod.rs:243:15
[INFO] [stderr]     |
[INFO] [stderr] 243 |     iter: Box<Iterator<Item=&'a str> + 'a>
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator<Item=&'a str> + 'a`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `Self` cannot be known at compilation time
[INFO] [stderr]   --> src/bencode/mod.rs:35:21
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn decode(T) -> BencodeResult<Self>;
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^- help: consider further restricting `Self`: `where Self: std::marker::Sized`
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `std::marker::Sized` is not implemented for `Self`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0277`.
[INFO] [stderr] error[E0277]: the size for values of type `Self` cannot be known at compilation time
[INFO] [stderr]   --> src/bencode/mod.rs:35:21
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn decode(T) -> BencodeResult<Self>;
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^- help: consider further restricting `Self`: `where Self: std::marker::Sized`
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `std::marker::Sized` is not implemented for `Self`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[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] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0277`.
[INFO] [stderr] error: could not compile `redox`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "6cfce8b84b59e03feb217bfb20903857e57b271f32d9f5c6deaeddd0bfcce6e9"`
[INFO] running `"docker" "rm" "-f" "6cfce8b84b59e03feb217bfb20903857e57b271f32d9f5c6deaeddd0bfcce6e9"`
[INFO] [stdout] 6cfce8b84b59e03feb217bfb20903857e57b271f32d9f5c6deaeddd0bfcce6e9
