[INFO] fetching crate encryptfile 0.1.3...
[INFO] testing encryptfile-0.1.3 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] extracting crate encryptfile 0.1.3 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate encryptfile 0.1.3 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate encryptfile 0.1.3
[INFO] finished tweaking crates.io crate encryptfile 0.1.3
[INFO] tweaked toml for crates.io crate encryptfile 0.1.3 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 19 packages to latest compatible versions
[INFO] [stderr]       Adding byteorder v0.4.2 (latest: v1.5.0)
[INFO] [stderr]       Adding rand v0.3.23 (latest: v0.8.5)
[INFO] [stderr]       Adding rand v0.4.6 (latest: v0.8.5)
[INFO] [stderr]       Adding rand_core v0.3.1 (latest: v0.6.4)
[INFO] [stderr]       Adding rand_core v0.4.2 (latest: v0.6.4)
[INFO] [stderr]       Adding rdrand v0.4.0 (latest: v0.8.3)
[INFO] [stderr]       Adding remove_dir_all v0.5.3 (latest: v0.8.2)
[INFO] [stderr]       Adding time v0.1.45 (latest: v0.3.36)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (latest: v0.13.1+wasi-0.2.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0860b3e4ec7421c296d8845e7d2bbb1d4984099a760a19dcb34a34d93c80da5d
[INFO] running `Command { std: "docker" "start" "-a" "0860b3e4ec7421c296d8845e7d2bbb1d4984099a760a19dcb34a34d93c80da5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0860b3e4ec7421c296d8845e7d2bbb1d4984099a760a19dcb34a34d93c80da5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0860b3e4ec7421c296d8845e7d2bbb1d4984099a760a19dcb34a34d93c80da5d", kill_on_drop: false }`
[INFO] [stdout] 0860b3e4ec7421c296d8845e7d2bbb1d4984099a760a19dcb34a34d93c80da5d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 426a06af5296c19b0acca5360aad17c208185252d7548b6d9e1639712f9ef716
[INFO] running `Command { std: "docker" "start" "-a" "426a06af5296c19b0acca5360aad17c208185252d7548b6d9e1639712f9ef716", kill_on_drop: false }`
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling rustc-serialize v0.3.25
[INFO] [stderr]    Compiling byteorder v0.4.2
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling rust-crypto v0.2.36
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling encryptfile v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypto_util.rs:75:30
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 let result = try!(encryptor.encrypt(&mut read_buffer,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypto_util.rs:118:30
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 let result = try!(decryptor.decrypt(&mut read_buffer,
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::process`
[INFO] [stdout]   --> src/crypt.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use super::process;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         try!(s.write_u64::<LittleEndian>(self.magic));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         try!(s.write_u32::<LittleEndian>(self.fversion));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         try!(s.write_u32::<LittleEndian>(self.hmac_len));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         try!(s.write_u32::<LittleEndian>(self.key_md_size));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         try!(s.write_all(&self.iv));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         try!(header.verify());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:85:20
[INFO] [stdout]    |
[INFO] [stdout] 85 |             magic: try!(s.read_u64::<LittleEndian>()),
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:86:23
[INFO] [stdout]    |
[INFO] [stdout] 86 |             fversion: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |             hmac_len: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:88:26
[INFO] [stdout]    |
[INFO] [stdout] 88 |             key_md_size: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let nread = try!(s.read(&mut header.iv));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |             try!(md.write_u32::<LittleEndian>(MD_TYPE_SCRYPT));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |             try!(md.write_u8(logn));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |             try!(md.write_u32::<LittleEndian>(r));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |             try!(md.write_u32::<LittleEndian>(p));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let nread = try!(s.read(&mut raw_bytes));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let ktype = try!(s.read_u32::<LittleEndian>());
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:148:39
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 let logn = ScryptLogN(try!(s.read_u8()));
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:149:33
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 let r = ScryptR(try!(s.read_u32::<LittleEndian>()));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let p = ScryptP(try!(s.read_u32::<LittleEndian>()));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     try!(out_stream.write_all(&header));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     try!(out_stream.seek(SeekFrom::Start(0)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 |     try!(header.write(&mut out_stream));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     try!(out_stream.write_all(&hmac));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     try!(out_stream.seek(SeekFrom::Current(hmac_unused as i64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     try!(out_stream.write_all(&key_md));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let pwkey = try!(super::get_pw_key(state.config));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:177:18
[INFO] [stdout]     |
[INFO] [stdout] 177 |     let key_md = try!(get_key_metadata(state.config));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:186:24
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let num_read = try!(in_stream.read(buf));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:192:22
[INFO] [stdout]     |
[INFO] [stdout] 192 |             Ok(d) => try!(out_stream.write_all(&d)),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:224:15
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let pos = try!(out_stream.seek(SeekFrom::Current(0)));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     try!(in_stream.seek(SeekFrom::Current(hmac_unused as i64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:289:5
[INFO] [stdout]     |
[INFO] [stdout] 289 |     try!(in_stream.seek(SeekFrom::Start(header_capacity as u64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let header = try!(FileHeader::read(&mut in_stream));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |     let nread = try!(in_stream.read(&mut hmac_bytes));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:253:38
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let (method, raw_md_bytes) = try!(read_key_metadata(&mut in_stream,
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:255:19
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let key = try!(match *state.config.get_password() {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:280:19
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let key = try!(super::get_pw_key(state.config));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:292:24
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let num_read = try!(in_stream.read(buf));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:298:22
[INFO] [stdout]     |
[INFO] [stdout] 298 |             Ok(d) => try!(out_stream.write_all(&d)),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:288:49
[INFO] [stdout]     |
[INFO] [stdout] 288 |         InputStream::File(ref file) => Box::new(try!(File::open(file))),
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:303:22
[INFO] [stdout]     |
[INFO] [stdout] 303 |             Box::new(try!(OpenOptions::new().read(true).write(true).create(true).open(file)))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |             try!(encrypt(state, in_stream, out_stream))
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:324:22
[INFO] [stdout]     |
[INFO] [stdout] 324 |             let iv = try!(get_iv(c));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:339:17
[INFO] [stdout]     |
[INFO] [stdout] 339 |                 try!(decrypt(state, in_stream, Box::new(tstream)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:341:17
[INFO] [stdout]     |
[INFO] [stdout] 341 |                 try!(rename(tmp_outpath, fname));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:338:31
[INFO] [stdout]     |
[INFO] [stdout] 338 |                 let tstream = try!(File::create(&tmp_outpath));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:343:17
[INFO] [stdout]     |
[INFO] [stdout] 343 |                 try!(decrypt(state, in_stream, out_stream))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/config.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Func(Rc<Box<Fn() -> u8>>),
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Func(Rc<Box<dyn Fn() -> u8>>),
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/config.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Func(Rc<Box<Fn() -> IvArray>>),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Func(Rc<Box<dyn Fn() -> IvArray>>),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/config.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |     Func(Rc<Box<Fn() -> PwKeyArray>>),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |     Func(Rc<Box<dyn Fn() -> PwKeyArray>>),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypto_util.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Encrypting(Box<crypto::symmetriccipher::Encryptor>),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Encrypting(Box<dyn crypto::symmetriccipher::Encryptor>),
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypto_util.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Decrypting(Box<crypto::symmetriccipher::Decryptor>),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Decrypting(Box<dyn crypto::symmetriccipher::Decryptor>),
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:128:30
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn read_key_metadata(s: &mut Read,
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn read_key_metadata(s: &mut dyn Read,
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:163:35
[INFO] [stdout]     |
[INFO] [stdout] 163 |                mut in_stream: Box<SeekRead>,
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 163 |                mut in_stream: Box<dyn SeekRead>,
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:164:36
[INFO] [stdout]     |
[INFO] [stdout] 164 |                mut out_stream: Box<SeekWrite>)
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 164 |                mut out_stream: Box<dyn SeekWrite>)
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:236:35
[INFO] [stdout]     |
[INFO] [stdout] 236 |                mut in_stream: Box<SeekRead>,
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 236 |                mut in_stream: Box<dyn SeekRead>,
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:237:36
[INFO] [stdout]     |
[INFO] [stdout] 237 |                mut out_stream: Box<SeekWrite>)
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 237 |                mut out_stream: Box<dyn SeekWrite>)
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypt.rs:58:33
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn write(&self, s: &mut Write) -> Result<(), EncryptError> {
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn write(&self, s: &mut dyn Write) -> Result<(), EncryptError> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypt.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn read(s: &mut Read) -> Result<FileHeader, EncryptError> {
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn read(s: &mut dyn Read) -> Result<FileHeader, EncryptError> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:283:24
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let in_stream: Box<SeekRead> = match *c.get_input_stream() {
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let in_stream: Box<dyn SeekRead> = match *c.get_input_stream() {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:291:25
[INFO] [stdout]     |
[INFO] [stdout] 291 |     let out_stream: Box<SeekWrite> = match *c.get_output_stream() {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 291 |     let out_stream: Box<dyn SeekWrite> = match *c.get_output_stream() {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/lib.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 | use std::io::{Read, Write};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/lib.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 77 | use std::io::{Read, Write};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/crypt.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let mut buf = state.read_buf;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/crypt.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |     let mut buf = state.read_buf;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:205:25
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     let mut first = &mut iv[0..IV_SIZE / 2];
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |                     let mut second = &mut iv[IV_SIZE / 2..IV_SIZE];
[INFO] [stdout]     |                         ----^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `write_buf` is never read
[INFO] [stdout]   --> src/crypt.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct EncryptState<'a> {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub write_buf: &'a mut [u8],
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 72 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.77s
[INFO] running `Command { std: "docker" "inspect" "426a06af5296c19b0acca5360aad17c208185252d7548b6d9e1639712f9ef716", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "426a06af5296c19b0acca5360aad17c208185252d7548b6d9e1639712f9ef716", kill_on_drop: false }`
[INFO] [stdout] 426a06af5296c19b0acca5360aad17c208185252d7548b6d9e1639712f9ef716
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 67ea99d9770f727e8af48b033e872e3c31efdb86023eadbf55d105e714c7d33d
[INFO] running `Command { std: "docker" "start" "-a" "67ea99d9770f727e8af48b033e872e3c31efdb86023eadbf55d105e714c7d33d", kill_on_drop: false }`
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypto_util.rs:75:30
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 let result = try!(encryptor.encrypt(&mut read_buffer,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypto_util.rs:118:30
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 let result = try!(decryptor.decrypt(&mut read_buffer,
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::process`
[INFO] [stdout]   --> src/crypt.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use super::process;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         try!(s.write_u64::<LittleEndian>(self.magic));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         try!(s.write_u32::<LittleEndian>(self.fversion));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         try!(s.write_u32::<LittleEndian>(self.hmac_len));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         try!(s.write_u32::<LittleEndian>(self.key_md_size));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         try!(s.write_all(&self.iv));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         try!(header.verify());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:85:20
[INFO] [stdout]    |
[INFO] [stdout] 85 |             magic: try!(s.read_u64::<LittleEndian>()),
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:86:23
[INFO] [stdout]    |
[INFO] [stdout] 86 |             fversion: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |             hmac_len: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:88:26
[INFO] [stdout]    |
[INFO] [stdout] 88 |             key_md_size: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let nread = try!(s.read(&mut header.iv));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |             try!(md.write_u32::<LittleEndian>(MD_TYPE_SCRYPT));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |             try!(md.write_u8(logn));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |             try!(md.write_u32::<LittleEndian>(r));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |             try!(md.write_u32::<LittleEndian>(p));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let nread = try!(s.read(&mut raw_bytes));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let ktype = try!(s.read_u32::<LittleEndian>());
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:148:39
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 let logn = ScryptLogN(try!(s.read_u8()));
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:149:33
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 let r = ScryptR(try!(s.read_u32::<LittleEndian>()));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let p = ScryptP(try!(s.read_u32::<LittleEndian>()));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     try!(out_stream.write_all(&header));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     try!(out_stream.seek(SeekFrom::Start(0)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 |     try!(header.write(&mut out_stream));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     try!(out_stream.write_all(&hmac));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     try!(out_stream.seek(SeekFrom::Current(hmac_unused as i64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     try!(out_stream.write_all(&key_md));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let pwkey = try!(super::get_pw_key(state.config));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:177:18
[INFO] [stdout]     |
[INFO] [stdout] 177 |     let key_md = try!(get_key_metadata(state.config));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:186:24
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let num_read = try!(in_stream.read(buf));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:192:22
[INFO] [stdout]     |
[INFO] [stdout] 192 |             Ok(d) => try!(out_stream.write_all(&d)),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:224:15
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let pos = try!(out_stream.seek(SeekFrom::Current(0)));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     try!(in_stream.seek(SeekFrom::Current(hmac_unused as i64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:289:5
[INFO] [stdout]     |
[INFO] [stdout] 289 |     try!(in_stream.seek(SeekFrom::Start(header_capacity as u64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let header = try!(FileHeader::read(&mut in_stream));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |     let nread = try!(in_stream.read(&mut hmac_bytes));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:253:38
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let (method, raw_md_bytes) = try!(read_key_metadata(&mut in_stream,
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:255:19
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let key = try!(match *state.config.get_password() {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:280:19
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let key = try!(super::get_pw_key(state.config));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:292:24
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let num_read = try!(in_stream.read(buf));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:298:22
[INFO] [stdout]     |
[INFO] [stdout] 298 |             Ok(d) => try!(out_stream.write_all(&d)),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:288:49
[INFO] [stdout]     |
[INFO] [stdout] 288 |         InputStream::File(ref file) => Box::new(try!(File::open(file))),
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:303:22
[INFO] [stdout]     |
[INFO] [stdout] 303 |             Box::new(try!(OpenOptions::new().read(true).write(true).create(true).open(file)))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |             try!(encrypt(state, in_stream, out_stream))
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:324:22
[INFO] [stdout]     |
[INFO] [stdout] 324 |             let iv = try!(get_iv(c));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:339:17
[INFO] [stdout]     |
[INFO] [stdout] 339 |                 try!(decrypt(state, in_stream, Box::new(tstream)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:341:17
[INFO] [stdout]     |
[INFO] [stdout] 341 |                 try!(rename(tmp_outpath, fname));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:338:31
[INFO] [stdout]     |
[INFO] [stdout] 338 |                 let tstream = try!(File::create(&tmp_outpath));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:343:17
[INFO] [stdout]     |
[INFO] [stdout] 343 |                 try!(decrypt(state, in_stream, out_stream))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/config.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Func(Rc<Box<Fn() -> u8>>),
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Func(Rc<Box<dyn Fn() -> u8>>),
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/config.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Func(Rc<Box<Fn() -> IvArray>>),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Func(Rc<Box<dyn Fn() -> IvArray>>),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/config.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |     Func(Rc<Box<Fn() -> PwKeyArray>>),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |     Func(Rc<Box<dyn Fn() -> PwKeyArray>>),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypto_util.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Encrypting(Box<crypto::symmetriccipher::Encryptor>),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Encrypting(Box<dyn crypto::symmetriccipher::Encryptor>),
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypto_util.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Decrypting(Box<crypto::symmetriccipher::Decryptor>),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Decrypting(Box<dyn crypto::symmetriccipher::Decryptor>),
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:128:30
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn read_key_metadata(s: &mut Read,
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn read_key_metadata(s: &mut dyn Read,
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:163:35
[INFO] [stdout]     |
[INFO] [stdout] 163 |                mut in_stream: Box<SeekRead>,
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 163 |                mut in_stream: Box<dyn SeekRead>,
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:164:36
[INFO] [stdout]     |
[INFO] [stdout] 164 |                mut out_stream: Box<SeekWrite>)
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 164 |                mut out_stream: Box<dyn SeekWrite>)
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:236:35
[INFO] [stdout]     |
[INFO] [stdout] 236 |                mut in_stream: Box<SeekRead>,
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 236 |                mut in_stream: Box<dyn SeekRead>,
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:237:36
[INFO] [stdout]     |
[INFO] [stdout] 237 |                mut out_stream: Box<SeekWrite>)
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 237 |                mut out_stream: Box<dyn SeekWrite>)
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypt.rs:58:33
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn write(&self, s: &mut Write) -> Result<(), EncryptError> {
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn write(&self, s: &mut dyn Write) -> Result<(), EncryptError> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypt.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn read(s: &mut Read) -> Result<FileHeader, EncryptError> {
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn read(s: &mut dyn Read) -> Result<FileHeader, EncryptError> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:283:24
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let in_stream: Box<SeekRead> = match *c.get_input_stream() {
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let in_stream: Box<dyn SeekRead> = match *c.get_input_stream() {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:291:25
[INFO] [stdout]     |
[INFO] [stdout] 291 |     let out_stream: Box<SeekWrite> = match *c.get_output_stream() {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 291 |     let out_stream: Box<dyn SeekWrite> = match *c.get_output_stream() {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/lib.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 | use std::io::{Read, Write};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/lib.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 77 | use std::io::{Read, Write};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/crypt.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let mut buf = state.read_buf;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/crypt.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |     let mut buf = state.read_buf;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:205:25
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     let mut first = &mut iv[0..IV_SIZE / 2];
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |                     let mut second = &mut iv[IV_SIZE / 2..IV_SIZE];
[INFO] [stdout]     |                         ----^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `write_buf` is never read
[INFO] [stdout]   --> src/crypt.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct EncryptState<'a> {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub write_buf: &'a mut [u8],
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 72 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]    Compiling encryptfile v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypto_util.rs:75:30
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 let result = try!(encryptor.encrypt(&mut read_buffer,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypto_util.rs:118:30
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 let result = try!(decryptor.decrypt(&mut read_buffer,
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         try!(s.write_u64::<LittleEndian>(self.magic));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         try!(s.write_u32::<LittleEndian>(self.fversion));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         try!(s.write_u32::<LittleEndian>(self.hmac_len));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         try!(s.write_u32::<LittleEndian>(self.key_md_size));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         try!(s.write_all(&self.iv));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         try!(header.verify());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:85:20
[INFO] [stdout]    |
[INFO] [stdout] 85 |             magic: try!(s.read_u64::<LittleEndian>()),
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:86:23
[INFO] [stdout]    |
[INFO] [stdout] 86 |             fversion: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |             hmac_len: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:88:26
[INFO] [stdout]    |
[INFO] [stdout] 88 |             key_md_size: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let nread = try!(s.read(&mut header.iv));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |             try!(md.write_u32::<LittleEndian>(MD_TYPE_SCRYPT));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |             try!(md.write_u8(logn));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |             try!(md.write_u32::<LittleEndian>(r));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |             try!(md.write_u32::<LittleEndian>(p));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let nread = try!(s.read(&mut raw_bytes));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let ktype = try!(s.read_u32::<LittleEndian>());
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:148:39
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 let logn = ScryptLogN(try!(s.read_u8()));
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:149:33
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 let r = ScryptR(try!(s.read_u32::<LittleEndian>()));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let p = ScryptP(try!(s.read_u32::<LittleEndian>()));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     try!(out_stream.write_all(&header));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     try!(out_stream.seek(SeekFrom::Start(0)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 |     try!(header.write(&mut out_stream));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     try!(out_stream.write_all(&hmac));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     try!(out_stream.seek(SeekFrom::Current(hmac_unused as i64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     try!(out_stream.write_all(&key_md));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let pwkey = try!(super::get_pw_key(state.config));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:177:18
[INFO] [stdout]     |
[INFO] [stdout] 177 |     let key_md = try!(get_key_metadata(state.config));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:186:24
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let num_read = try!(in_stream.read(buf));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:192:22
[INFO] [stdout]     |
[INFO] [stdout] 192 |             Ok(d) => try!(out_stream.write_all(&d)),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:224:15
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let pos = try!(out_stream.seek(SeekFrom::Current(0)));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     try!(in_stream.seek(SeekFrom::Current(hmac_unused as i64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:289:5
[INFO] [stdout]     |
[INFO] [stdout] 289 |     try!(in_stream.seek(SeekFrom::Start(header_capacity as u64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let header = try!(FileHeader::read(&mut in_stream));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |     let nread = try!(in_stream.read(&mut hmac_bytes));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:253:38
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let (method, raw_md_bytes) = try!(read_key_metadata(&mut in_stream,
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:255:19
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let key = try!(match *state.config.get_password() {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:280:19
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let key = try!(super::get_pw_key(state.config));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:292:24
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let num_read = try!(in_stream.read(buf));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:298:22
[INFO] [stdout]     |
[INFO] [stdout] 298 |             Ok(d) => try!(out_stream.write_all(&d)),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:288:49
[INFO] [stdout]     |
[INFO] [stdout] 288 |         InputStream::File(ref file) => Box::new(try!(File::open(file))),
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:303:22
[INFO] [stdout]     |
[INFO] [stdout] 303 |             Box::new(try!(OpenOptions::new().read(true).write(true).create(true).open(file)))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |             try!(encrypt(state, in_stream, out_stream))
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:324:22
[INFO] [stdout]     |
[INFO] [stdout] 324 |             let iv = try!(get_iv(c));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:339:17
[INFO] [stdout]     |
[INFO] [stdout] 339 |                 try!(decrypt(state, in_stream, Box::new(tstream)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:341:17
[INFO] [stdout]     |
[INFO] [stdout] 341 |                 try!(rename(tmp_outpath, fname));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:338:31
[INFO] [stdout]     |
[INFO] [stdout] 338 |                 let tstream = try!(File::create(&tmp_outpath));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:343:17
[INFO] [stdout]     |
[INFO] [stdout] 343 |                 try!(decrypt(state, in_stream, out_stream))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/config.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Func(Rc<Box<Fn() -> u8>>),
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Func(Rc<Box<dyn Fn() -> u8>>),
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/config.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Func(Rc<Box<Fn() -> IvArray>>),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Func(Rc<Box<dyn Fn() -> IvArray>>),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/config.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |     Func(Rc<Box<Fn() -> PwKeyArray>>),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |     Func(Rc<Box<dyn Fn() -> PwKeyArray>>),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypto_util.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Encrypting(Box<crypto::symmetriccipher::Encryptor>),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Encrypting(Box<dyn crypto::symmetriccipher::Encryptor>),
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypto_util.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Decrypting(Box<crypto::symmetriccipher::Decryptor>),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Decrypting(Box<dyn crypto::symmetriccipher::Decryptor>),
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:128:30
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn read_key_metadata(s: &mut Read,
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn read_key_metadata(s: &mut dyn Read,
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:163:35
[INFO] [stdout]     |
[INFO] [stdout] 163 |                mut in_stream: Box<SeekRead>,
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 163 |                mut in_stream: Box<dyn SeekRead>,
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:164:36
[INFO] [stdout]     |
[INFO] [stdout] 164 |                mut out_stream: Box<SeekWrite>)
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 164 |                mut out_stream: Box<dyn SeekWrite>)
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:236:35
[INFO] [stdout]     |
[INFO] [stdout] 236 |                mut in_stream: Box<SeekRead>,
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 236 |                mut in_stream: Box<dyn SeekRead>,
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:237:36
[INFO] [stdout]     |
[INFO] [stdout] 237 |                mut out_stream: Box<SeekWrite>)
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 237 |                mut out_stream: Box<dyn SeekWrite>)
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypt.rs:58:33
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn write(&self, s: &mut Write) -> Result<(), EncryptError> {
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn write(&self, s: &mut dyn Write) -> Result<(), EncryptError> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypt.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn read(s: &mut Read) -> Result<FileHeader, EncryptError> {
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn read(s: &mut dyn Read) -> Result<FileHeader, EncryptError> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:283:24
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let in_stream: Box<SeekRead> = match *c.get_input_stream() {
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let in_stream: Box<dyn SeekRead> = match *c.get_input_stream() {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:291:25
[INFO] [stdout]     |
[INFO] [stdout] 291 |     let out_stream: Box<SeekWrite> = match *c.get_output_stream() {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 291 |     let out_stream: Box<dyn SeekWrite> = match *c.get_output_stream() {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/lib.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 | use std::io::{Read, Write};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/lib.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 77 | use std::io::{Read, Write};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/crypt.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let mut buf = state.read_buf;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/crypt.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |     let mut buf = state.read_buf;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:205:25
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     let mut first = &mut iv[0..IV_SIZE / 2];
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |                     let mut second = &mut iv[IV_SIZE / 2..IV_SIZE];
[INFO] [stdout]     |                         ----^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `write_buf` is never read
[INFO] [stdout]   --> src/crypt.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct EncryptState<'a> {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub write_buf: &'a mut [u8],
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/crypt.rs:390:17
[INFO] [stdout]     |
[INFO] [stdout] 390 |                 format!("Expected '{}', got '{}'", expected, s));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 390 -                 format!("Expected '{}', got '{}'", expected, s));
[INFO] [stdout] 390 +                 "Expected '{}', got '{}'", expected, s);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:359:27
[INFO] [stdout]     |
[INFO] [stdout] 359 |         assert!(xs == ys, failmsg);
[INFO] [stdout]     |                           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 359 |         assert!(xs == ys, "{}", failmsg);
[INFO] [stdout]     |                           +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 73 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.89s
[INFO] running `Command { std: "docker" "inspect" "67ea99d9770f727e8af48b033e872e3c31efdb86023eadbf55d105e714c7d33d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67ea99d9770f727e8af48b033e872e3c31efdb86023eadbf55d105e714c7d33d", kill_on_drop: false }`
[INFO] [stdout] 67ea99d9770f727e8af48b033e872e3c31efdb86023eadbf55d105e714c7d33d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 61e67678bb7f13c69398e09cf206d853f770e1e3370967062f9efda68ea0f282
[INFO] running `Command { std: "docker" "start" "-a" "61e67678bb7f13c69398e09cf206d853f770e1e3370967062f9efda68ea0f282", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypto_util.rs:75:30
[INFO] [stderr]    |
[INFO] [stderr] 75 |                 let result = try!(encryptor.encrypt(&mut read_buffer,
[INFO] [stderr]    |                              ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypto_util.rs:118:30
[INFO] [stderr]     |
[INFO] [stderr] 118 |                 let result = try!(decryptor.decrypt(&mut read_buffer,
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::process`
[INFO] [stderr]   --> src/crypt.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub use super::process;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:59:9
[INFO] [stderr]    |
[INFO] [stderr] 59 |         try!(s.write_u64::<LittleEndian>(self.magic));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:60:9
[INFO] [stderr]    |
[INFO] [stderr] 60 |         try!(s.write_u32::<LittleEndian>(self.fversion));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:61:9
[INFO] [stderr]    |
[INFO] [stderr] 61 |         try!(s.write_u32::<LittleEndian>(self.hmac_len));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:62:9
[INFO] [stderr]    |
[INFO] [stderr] 62 |         try!(s.write_u32::<LittleEndian>(self.key_md_size));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:63:9
[INFO] [stderr]    |
[INFO] [stderr] 63 |         try!(s.write_all(&self.iv));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:98:9
[INFO] [stderr]    |
[INFO] [stderr] 98 |         try!(header.verify());
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:85:20
[INFO] [stderr]    |
[INFO] [stderr] 85 |             magic: try!(s.read_u64::<LittleEndian>()),
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:86:23
[INFO] [stderr]    |
[INFO] [stderr] 86 |             fversion: try!(s.read_u32::<LittleEndian>()),
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:87:23
[INFO] [stderr]    |
[INFO] [stderr] 87 |             hmac_len: try!(s.read_u32::<LittleEndian>()),
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:88:26
[INFO] [stderr]    |
[INFO] [stderr] 88 |             key_md_size: try!(s.read_u32::<LittleEndian>()),
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:93:21
[INFO] [stderr]    |
[INFO] [stderr] 93 |         let nread = try!(s.read(&mut header.iv));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:118:13
[INFO] [stderr]     |
[INFO] [stderr] 118 |             try!(md.write_u32::<LittleEndian>(MD_TYPE_SCRYPT));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:119:13
[INFO] [stderr]     |
[INFO] [stderr] 119 |             try!(md.write_u8(logn));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:120:13
[INFO] [stderr]     |
[INFO] [stderr] 120 |             try!(md.write_u32::<LittleEndian>(r));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:121:13
[INFO] [stderr]     |
[INFO] [stderr] 121 |             try!(md.write_u32::<LittleEndian>(p));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:138:17
[INFO] [stderr]     |
[INFO] [stderr] 138 |     let nread = try!(s.read(&mut raw_bytes));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:145:21
[INFO] [stderr]     |
[INFO] [stderr] 145 |         let ktype = try!(s.read_u32::<LittleEndian>());
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:148:39
[INFO] [stderr]     |
[INFO] [stderr] 148 |                 let logn = ScryptLogN(try!(s.read_u8()));
[INFO] [stderr]     |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:149:33
[INFO] [stderr]     |
[INFO] [stderr] 149 |                 let r = ScryptR(try!(s.read_u32::<LittleEndian>()));
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:150:33
[INFO] [stderr]     |
[INFO] [stderr] 150 |                 let p = ScryptP(try!(s.read_u32::<LittleEndian>()));
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:183:5
[INFO] [stderr]     |
[INFO] [stderr] 183 |     try!(out_stream.write_all(&header));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:216:5
[INFO] [stderr]     |
[INFO] [stderr] 216 |     try!(out_stream.seek(SeekFrom::Start(0)));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:217:5
[INFO] [stderr]     |
[INFO] [stderr] 217 |     try!(header.write(&mut out_stream));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:219:5
[INFO] [stderr]     |
[INFO] [stderr] 219 |     try!(out_stream.write_all(&hmac));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:221:5
[INFO] [stderr]     |
[INFO] [stderr] 221 |     try!(out_stream.seek(SeekFrom::Current(hmac_unused as i64)));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:222:5
[INFO] [stderr]     |
[INFO] [stderr] 222 |     try!(out_stream.write_all(&key_md));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:167:17
[INFO] [stderr]     |
[INFO] [stderr] 167 |     let pwkey = try!(super::get_pw_key(state.config));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:177:18
[INFO] [stderr]     |
[INFO] [stderr] 177 |     let key_md = try!(get_key_metadata(state.config));
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:186:24
[INFO] [stderr]     |
[INFO] [stderr] 186 |         let num_read = try!(in_stream.read(buf));
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:192:22
[INFO] [stderr]     |
[INFO] [stderr] 192 |             Ok(d) => try!(out_stream.write_all(&d)),
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:224:15
[INFO] [stderr]     |
[INFO] [stderr] 224 |     let pos = try!(out_stream.seek(SeekFrom::Current(0)));
[INFO] [stderr]     |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:250:5
[INFO] [stderr]     |
[INFO] [stderr] 250 |     try!(in_stream.seek(SeekFrom::Current(hmac_unused as i64)));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:289:5
[INFO] [stderr]     |
[INFO] [stderr] 289 |     try!(in_stream.seek(SeekFrom::Start(header_capacity as u64)));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:240:18
[INFO] [stderr]     |
[INFO] [stderr] 240 |     let header = try!(FileHeader::read(&mut in_stream));
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:245:17
[INFO] [stderr]     |
[INFO] [stderr] 245 |     let nread = try!(in_stream.read(&mut hmac_bytes));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:253:38
[INFO] [stderr]     |
[INFO] [stderr] 253 |         let (method, raw_md_bytes) = try!(read_key_metadata(&mut in_stream,
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:255:19
[INFO] [stderr]     |
[INFO] [stderr] 255 |         let key = try!(match *state.config.get_password() {
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:280:19
[INFO] [stderr]     |
[INFO] [stderr] 280 |         let key = try!(super::get_pw_key(state.config));
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:292:24
[INFO] [stderr]     |
[INFO] [stderr] 292 |         let num_read = try!(in_stream.read(buf));
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:298:22
[INFO] [stderr]     |
[INFO] [stderr] 298 |             Ok(d) => try!(out_stream.write_all(&d)),
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:288:49
[INFO] [stderr]     |
[INFO] [stderr] 288 |         InputStream::File(ref file) => Box::new(try!(File::open(file))),
[INFO] [stderr]     |                                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:303:22
[INFO] [stderr]     |
[INFO] [stderr] 303 |             Box::new(try!(OpenOptions::new().read(true).write(true).create(true).open(file)))
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:326:13
[INFO] [stderr]     |
[INFO] [stderr] 326 |             try!(encrypt(state, in_stream, out_stream))
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:324:22
[INFO] [stderr]     |
[INFO] [stderr] 324 |             let iv = try!(get_iv(c));
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:339:17
[INFO] [stderr]     |
[INFO] [stderr] 339 |                 try!(decrypt(state, in_stream, Box::new(tstream)));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:341:17
[INFO] [stderr]     |
[INFO] [stderr] 341 |                 try!(rename(tmp_outpath, fname));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:338:31
[INFO] [stderr]     |
[INFO] [stderr] 338 |                 let tstream = try!(File::create(&tmp_outpath));
[INFO] [stderr]     |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:343:17
[INFO] [stderr]     |
[INFO] [stderr] 343 |                 try!(decrypt(state, in_stream, out_stream))
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/config.rs:99:17
[INFO] [stderr]    |
[INFO] [stderr] 99 |     Func(Rc<Box<Fn() -> u8>>),
[INFO] [stderr]    |                 ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 99 |     Func(Rc<Box<dyn Fn() -> u8>>),
[INFO] [stderr]    |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/config.rs:112:17
[INFO] [stderr]     |
[INFO] [stderr] 112 |     Func(Rc<Box<Fn() -> IvArray>>),
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 112 |     Func(Rc<Box<dyn Fn() -> IvArray>>),
[INFO] [stderr]     |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/config.rs:150:17
[INFO] [stderr]     |
[INFO] [stderr] 150 |     Func(Rc<Box<Fn() -> PwKeyArray>>),
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 150 |     Func(Rc<Box<dyn Fn() -> PwKeyArray>>),
[INFO] [stderr]     |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/crypto_util.rs:11:20
[INFO] [stderr]    |
[INFO] [stderr] 11 |     Encrypting(Box<crypto::symmetriccipher::Encryptor>),
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 11 |     Encrypting(Box<dyn crypto::symmetriccipher::Encryptor>),
[INFO] [stderr]    |                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/crypto_util.rs:12:20
[INFO] [stderr]    |
[INFO] [stderr] 12 |     Decrypting(Box<crypto::symmetriccipher::Decryptor>),
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 12 |     Decrypting(Box<dyn crypto::symmetriccipher::Decryptor>),
[INFO] [stderr]    |                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/crypt.rs:128:30
[INFO] [stderr]     |
[INFO] [stderr] 128 | fn read_key_metadata(s: &mut Read,
[INFO] [stderr]     |                              ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 128 | fn read_key_metadata(s: &mut dyn Read,
[INFO] [stderr]     |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/crypt.rs:163:35
[INFO] [stderr]     |
[INFO] [stderr] 163 |                mut in_stream: Box<SeekRead>,
[INFO] [stderr]     |                                   ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 163 |                mut in_stream: Box<dyn SeekRead>,
[INFO] [stderr]     |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/crypt.rs:164:36
[INFO] [stderr]     |
[INFO] [stderr] 164 |                mut out_stream: Box<SeekWrite>)
[INFO] [stderr]     |                                    ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 164 |                mut out_stream: Box<dyn SeekWrite>)
[INFO] [stderr]     |                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/crypt.rs:236:35
[INFO] [stderr]     |
[INFO] [stderr] 236 |                mut in_stream: Box<SeekRead>,
[INFO] [stderr]     |                                   ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 236 |                mut in_stream: Box<dyn SeekRead>,
[INFO] [stderr]     |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/crypt.rs:237:36
[INFO] [stderr]     |
[INFO] [stderr] 237 |                mut out_stream: Box<SeekWrite>)
[INFO] [stderr]     |                                    ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 237 |                mut out_stream: Box<dyn SeekWrite>)
[INFO] [stderr]     |                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/crypt.rs:58:33
[INFO] [stderr]    |
[INFO] [stderr] 58 |     pub fn write(&self, s: &mut Write) -> Result<(), EncryptError> {
[INFO] [stderr]    |                                 ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 58 |     pub fn write(&self, s: &mut dyn Write) -> Result<(), EncryptError> {
[INFO] [stderr]    |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/crypt.rs:83:25
[INFO] [stderr]    |
[INFO] [stderr] 83 |     pub fn read(s: &mut Read) -> Result<FileHeader, EncryptError> {
[INFO] [stderr]    |                         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 83 |     pub fn read(s: &mut dyn Read) -> Result<FileHeader, EncryptError> {
[INFO] [stderr]    |                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:283:24
[INFO] [stderr]     |
[INFO] [stderr] 283 |     let in_stream: Box<SeekRead> = match *c.get_input_stream() {
[INFO] [stderr]     |                        ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 283 |     let in_stream: Box<dyn SeekRead> = match *c.get_input_stream() {
[INFO] [stderr]     |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:291:25
[INFO] [stderr]     |
[INFO] [stderr] 291 |     let out_stream: Box<SeekWrite> = match *c.get_output_stream() {
[INFO] [stderr]     |                         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 291 |     let out_stream: Box<dyn SeekWrite> = match *c.get_output_stream() {
[INFO] [stderr]     |                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Read`
[INFO] [stderr]   --> src/lib.rs:77:15
[INFO] [stderr]    |
[INFO] [stderr] 77 | use std::io::{Read, Write};
[INFO] [stderr]    |               ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Write`
[INFO] [stderr]   --> src/lib.rs:77:21
[INFO] [stderr]    |
[INFO] [stderr] 77 | use std::io::{Read, Write};
[INFO] [stderr]    |                     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/crypt.rs:174:9
[INFO] [stderr]     |
[INFO] [stderr] 174 |     let mut buf = state.read_buf;
[INFO] [stderr]     |         ----^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/crypt.rs:239:9
[INFO] [stderr]     |
[INFO] [stderr] 239 |     let mut buf = state.read_buf;
[INFO] [stderr]     |         ----^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:205:25
[INFO] [stderr]     |
[INFO] [stderr] 205 |                     let mut first = &mut iv[0..IV_SIZE / 2];
[INFO] [stderr]     |                         ----^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:209:25
[INFO] [stderr]     |
[INFO] [stderr] 209 |                     let mut second = &mut iv[IV_SIZE / 2..IV_SIZE];
[INFO] [stderr]     |                         ----^^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `write_buf` is never read
[INFO] [stderr]   --> src/crypt.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub struct EncryptState<'a> {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub write_buf: &'a mut [u8],
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Read`
[INFO] [stderr]   --> src/lib.rs:77:15
[INFO] [stderr]    |
[INFO] [stderr] 77 | use std::io::{Read, Write};
[INFO] [stderr]    |               ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/crypt.rs:390:17
[INFO] [stderr]     |
[INFO] [stderr] 390 |                 format!("Expected '{}', got '{}'", expected, s));
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 390 -                 format!("Expected '{}', got '{}'", expected, s));
[INFO] [stderr] 390 +                 "Expected '{}', got '{}'", expected, s);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:359:27
[INFO] [stderr]     |
[INFO] [stderr] 359 |         assert!(xs == ys, failmsg);
[INFO] [stderr]     |                           ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 359 |         assert!(xs == ys, "{}", failmsg);
[INFO] [stderr]     |                           +++++
[INFO] [stderr] 
[INFO] [stderr] warning: `encryptfile` (lib) generated 72 warnings (run `cargo fix --lib -p encryptfile` to apply 19 suggestions)
[INFO] [stderr] warning: `encryptfile` (lib test) generated 73 warnings (70 duplicates) (run `cargo fix --lib -p encryptfile --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/encryptfile-40905a4443d44071)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test config::validate ... ok
[INFO] [stdout] test tests::get_iv_variants ... ok
[INFO] [stdout] test config::derived_key ... ok
[INFO] [stdout] test crypto_util::tests::crypto_util_state ... ok
[INFO] [stdout] test crypt::tests::crypt_overwrite ... ok
[INFO] [stdout] test tests::get_iv_generate ... ok
[INFO] [stdout] test tests::get_pwkey_variants ... ok
[INFO] [stdout] test crypt::tests::crypt_change_data ... ok
[INFO] [stdout] test crypt::tests::crypt_change_iv ... ok
[INFO] [stdout] test crypt::tests::crypt_no_key_metadata ... ok
[INFO] [stdout] test crypt::tests::crypt_basic ... ok
[INFO] [stdout] test crypt::tests::crypt_wrong_pw ... ok
[INFO] [stdout] test crypt::tests::crypt_change_hmac ... ok
[INFO] [stdout] test tests::get_pwkey_scrypt ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.87s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests encryptfile
[INFO] [stderr] error[E0428]: the name `scrypt_defaults` is defined multiple times
[INFO] [stderr]    --> src/config.rs:212:1
[INFO] [stderr]     |
[INFO] [stderr] 206 | pub fn scrypt_defaults() -> PasswordKeyGenMethod {
[INFO] [stderr]     | ------------------------------------------------ previous definition of the value `scrypt_defaults` here
[INFO] [stderr] ...
[INFO] [stderr] 212 | pub fn scrypt_defaults() -> PasswordKeyGenMethod {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `scrypt_defaults` redefined here
[INFO] [stderr]     |
[INFO] [stderr]     = note: `scrypt_defaults` must be defined only once in the value namespace of this module
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 1 previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0428`.
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/1871252fc8bb672d40787e67404e6eaae7059369/bin/rustdoc --edition=2015 --crate-type lib --crate-name encryptfile --test src/lib.rs --test-run-directory /opt/rustwide/workdir -L dependency=/opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps -L native=/opt/rustwide/target/debug/build/rust-crypto-7fbf4b88957f08d7/out --extern byteorder=/opt/rustwide/target/debug/deps/libbyteorder-a874c77a0ae79159.rlib --extern encryptfile=/opt/rustwide/target/debug/deps/libencryptfile-32978775dda57c0e.rlib --extern rand=/opt/rustwide/target/debug/deps/librand-cfb51efc7d8b1f76.rlib --extern crypto=/opt/rustwide/target/debug/deps/libcrypto-ad5cb16e5b4acd07.rlib --extern tempdir=/opt/rustwide/target/debug/deps/libtempdir-f6664396d4e16bea.rlib -C embed-bitcode=no --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values())' --cap-lints=forbid --error-format human` (exit status: 1)
[INFO] [stderr] note: test exited abnormally; to see the full output pass --nocapture to the harness.
[INFO] running `Command { std: "docker" "inspect" "61e67678bb7f13c69398e09cf206d853f770e1e3370967062f9efda68ea0f282", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61e67678bb7f13c69398e09cf206d853f770e1e3370967062f9efda68ea0f282", kill_on_drop: false }`
[INFO] [stdout] 61e67678bb7f13c69398e09cf206d853f770e1e3370967062f9efda68ea0f282
[INFO] testing encryptfile-0.1.3 against try#b642703cf9526da1e72c0b6755753b939a9c6b6d for pr-125151
[INFO] extracting crate encryptfile 0.1.3 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate encryptfile 0.1.3 on toolchain b642703cf9526da1e72c0b6755753b939a9c6b6d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate encryptfile 0.1.3
[INFO] finished tweaking crates.io crate encryptfile 0.1.3
[INFO] tweaked toml for crates.io crate encryptfile 0.1.3 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 19 packages to latest compatible versions
[INFO] [stderr]       Adding byteorder v0.4.2 (latest: v1.5.0)
[INFO] [stderr]       Adding rand v0.3.23 (latest: v0.8.5)
[INFO] [stderr]       Adding rand v0.4.6 (latest: v0.8.5)
[INFO] [stderr]       Adding rand_core v0.3.1 (latest: v0.6.4)
[INFO] [stderr]       Adding rand_core v0.4.2 (latest: v0.6.4)
[INFO] [stderr]       Adding rdrand v0.4.0 (latest: v0.8.3)
[INFO] [stderr]       Adding remove_dir_all v0.5.3 (latest: v0.8.2)
[INFO] [stderr]       Adding time v0.1.45 (latest: v0.3.36)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (latest: v0.13.1+wasi-0.2.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d5506b3708261d39b9d1e098c8c896cdb45bf8b2b59097b76aa15685a8023258
[INFO] running `Command { std: "docker" "start" "-a" "d5506b3708261d39b9d1e098c8c896cdb45bf8b2b59097b76aa15685a8023258", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d5506b3708261d39b9d1e098c8c896cdb45bf8b2b59097b76aa15685a8023258", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5506b3708261d39b9d1e098c8c896cdb45bf8b2b59097b76aa15685a8023258", kill_on_drop: false }`
[INFO] [stdout] d5506b3708261d39b9d1e098c8c896cdb45bf8b2b59097b76aa15685a8023258
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ca01fd196be07fdff20ccc86c4f2a88b94cb4623e34318dc7464c6b76a6d8ded
[INFO] running `Command { std: "docker" "start" "-a" "ca01fd196be07fdff20ccc86c4f2a88b94cb4623e34318dc7464c6b76a6d8ded", kill_on_drop: false }`
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling rustc-serialize v0.3.25
[INFO] [stderr]    Compiling byteorder v0.4.2
[INFO] [stderr]    Compiling rust-crypto v0.2.36
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling encryptfile v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypto_util.rs:75:30
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 let result = try!(encryptor.encrypt(&mut read_buffer,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypto_util.rs:118:30
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 let result = try!(decryptor.decrypt(&mut read_buffer,
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::process`
[INFO] [stdout]   --> src/crypt.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use super::process;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         try!(s.write_u64::<LittleEndian>(self.magic));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         try!(s.write_u32::<LittleEndian>(self.fversion));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         try!(s.write_u32::<LittleEndian>(self.hmac_len));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         try!(s.write_u32::<LittleEndian>(self.key_md_size));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         try!(s.write_all(&self.iv));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         try!(header.verify());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:85:20
[INFO] [stdout]    |
[INFO] [stdout] 85 |             magic: try!(s.read_u64::<LittleEndian>()),
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:86:23
[INFO] [stdout]    |
[INFO] [stdout] 86 |             fversion: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |             hmac_len: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:88:26
[INFO] [stdout]    |
[INFO] [stdout] 88 |             key_md_size: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let nread = try!(s.read(&mut header.iv));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |             try!(md.write_u32::<LittleEndian>(MD_TYPE_SCRYPT));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |             try!(md.write_u8(logn));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |             try!(md.write_u32::<LittleEndian>(r));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |             try!(md.write_u32::<LittleEndian>(p));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let nread = try!(s.read(&mut raw_bytes));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let ktype = try!(s.read_u32::<LittleEndian>());
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:148:39
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 let logn = ScryptLogN(try!(s.read_u8()));
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:149:33
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 let r = ScryptR(try!(s.read_u32::<LittleEndian>()));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let p = ScryptP(try!(s.read_u32::<LittleEndian>()));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     try!(out_stream.write_all(&header));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     try!(out_stream.seek(SeekFrom::Start(0)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 |     try!(header.write(&mut out_stream));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     try!(out_stream.write_all(&hmac));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     try!(out_stream.seek(SeekFrom::Current(hmac_unused as i64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     try!(out_stream.write_all(&key_md));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let pwkey = try!(super::get_pw_key(state.config));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:177:18
[INFO] [stdout]     |
[INFO] [stdout] 177 |     let key_md = try!(get_key_metadata(state.config));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:186:24
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let num_read = try!(in_stream.read(buf));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:192:22
[INFO] [stdout]     |
[INFO] [stdout] 192 |             Ok(d) => try!(out_stream.write_all(&d)),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:224:15
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let pos = try!(out_stream.seek(SeekFrom::Current(0)));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     try!(in_stream.seek(SeekFrom::Current(hmac_unused as i64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:289:5
[INFO] [stdout]     |
[INFO] [stdout] 289 |     try!(in_stream.seek(SeekFrom::Start(header_capacity as u64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let header = try!(FileHeader::read(&mut in_stream));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |     let nread = try!(in_stream.read(&mut hmac_bytes));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:253:38
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let (method, raw_md_bytes) = try!(read_key_metadata(&mut in_stream,
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:255:19
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let key = try!(match *state.config.get_password() {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:280:19
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let key = try!(super::get_pw_key(state.config));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:292:24
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let num_read = try!(in_stream.read(buf));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:298:22
[INFO] [stdout]     |
[INFO] [stdout] 298 |             Ok(d) => try!(out_stream.write_all(&d)),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:288:49
[INFO] [stdout]     |
[INFO] [stdout] 288 |         InputStream::File(ref file) => Box::new(try!(File::open(file))),
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:303:22
[INFO] [stdout]     |
[INFO] [stdout] 303 |             Box::new(try!(OpenOptions::new().read(true).write(true).create(true).open(file)))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |             try!(encrypt(state, in_stream, out_stream))
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:324:22
[INFO] [stdout]     |
[INFO] [stdout] 324 |             let iv = try!(get_iv(c));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:339:17
[INFO] [stdout]     |
[INFO] [stdout] 339 |                 try!(decrypt(state, in_stream, Box::new(tstream)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:341:17
[INFO] [stdout]     |
[INFO] [stdout] 341 |                 try!(rename(tmp_outpath, fname));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:338:31
[INFO] [stdout]     |
[INFO] [stdout] 338 |                 let tstream = try!(File::create(&tmp_outpath));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:343:17
[INFO] [stdout]     |
[INFO] [stdout] 343 |                 try!(decrypt(state, in_stream, out_stream))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/config.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Func(Rc<Box<Fn() -> u8>>),
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Func(Rc<Box<dyn Fn() -> u8>>),
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/config.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Func(Rc<Box<Fn() -> IvArray>>),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Func(Rc<Box<dyn Fn() -> IvArray>>),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/config.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |     Func(Rc<Box<Fn() -> PwKeyArray>>),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |     Func(Rc<Box<dyn Fn() -> PwKeyArray>>),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypto_util.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Encrypting(Box<crypto::symmetriccipher::Encryptor>),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Encrypting(Box<dyn crypto::symmetriccipher::Encryptor>),
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypto_util.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Decrypting(Box<crypto::symmetriccipher::Decryptor>),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Decrypting(Box<dyn crypto::symmetriccipher::Decryptor>),
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:128:30
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn read_key_metadata(s: &mut Read,
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn read_key_metadata(s: &mut dyn Read,
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:163:35
[INFO] [stdout]     |
[INFO] [stdout] 163 |                mut in_stream: Box<SeekRead>,
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 163 |                mut in_stream: Box<dyn SeekRead>,
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:164:36
[INFO] [stdout]     |
[INFO] [stdout] 164 |                mut out_stream: Box<SeekWrite>)
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 164 |                mut out_stream: Box<dyn SeekWrite>)
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:236:35
[INFO] [stdout]     |
[INFO] [stdout] 236 |                mut in_stream: Box<SeekRead>,
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 236 |                mut in_stream: Box<dyn SeekRead>,
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:237:36
[INFO] [stdout]     |
[INFO] [stdout] 237 |                mut out_stream: Box<SeekWrite>)
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 237 |                mut out_stream: Box<dyn SeekWrite>)
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypt.rs:58:33
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn write(&self, s: &mut Write) -> Result<(), EncryptError> {
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn write(&self, s: &mut dyn Write) -> Result<(), EncryptError> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypt.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn read(s: &mut Read) -> Result<FileHeader, EncryptError> {
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn read(s: &mut dyn Read) -> Result<FileHeader, EncryptError> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:283:24
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let in_stream: Box<SeekRead> = match *c.get_input_stream() {
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let in_stream: Box<dyn SeekRead> = match *c.get_input_stream() {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:291:25
[INFO] [stdout]     |
[INFO] [stdout] 291 |     let out_stream: Box<SeekWrite> = match *c.get_output_stream() {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 291 |     let out_stream: Box<dyn SeekWrite> = match *c.get_output_stream() {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/lib.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 | use std::io::{Read, Write};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/lib.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 77 | use std::io::{Read, Write};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/crypt.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let mut buf = state.read_buf;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/crypt.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |     let mut buf = state.read_buf;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:205:25
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     let mut first = &mut iv[0..IV_SIZE / 2];
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |                     let mut second = &mut iv[IV_SIZE / 2..IV_SIZE];
[INFO] [stdout]     |                         ----^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `write_buf` is never read
[INFO] [stdout]   --> src/crypt.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct EncryptState<'a> {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub write_buf: &'a mut [u8],
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 72 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.16s
[INFO] running `Command { std: "docker" "inspect" "ca01fd196be07fdff20ccc86c4f2a88b94cb4623e34318dc7464c6b76a6d8ded", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca01fd196be07fdff20ccc86c4f2a88b94cb4623e34318dc7464c6b76a6d8ded", kill_on_drop: false }`
[INFO] [stdout] ca01fd196be07fdff20ccc86c4f2a88b94cb4623e34318dc7464c6b76a6d8ded
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b5f9c26b28cedf77429f351e68cb4be549f7fb97bdb7107f1b35612f1101aea6
[INFO] running `Command { std: "docker" "start" "-a" "b5f9c26b28cedf77429f351e68cb4be549f7fb97bdb7107f1b35612f1101aea6", kill_on_drop: false }`
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypto_util.rs:75:30
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 let result = try!(encryptor.encrypt(&mut read_buffer,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypto_util.rs:118:30
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 let result = try!(decryptor.decrypt(&mut read_buffer,
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::process`
[INFO] [stdout]   --> src/crypt.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use super::process;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         try!(s.write_u64::<LittleEndian>(self.magic));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         try!(s.write_u32::<LittleEndian>(self.fversion));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         try!(s.write_u32::<LittleEndian>(self.hmac_len));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         try!(s.write_u32::<LittleEndian>(self.key_md_size));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         try!(s.write_all(&self.iv));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         try!(header.verify());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:85:20
[INFO] [stdout]    |
[INFO] [stdout] 85 |             magic: try!(s.read_u64::<LittleEndian>()),
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:86:23
[INFO] [stdout]    |
[INFO] [stdout] 86 |             fversion: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |             hmac_len: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:88:26
[INFO] [stdout]    |
[INFO] [stdout] 88 |             key_md_size: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let nread = try!(s.read(&mut header.iv));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |             try!(md.write_u32::<LittleEndian>(MD_TYPE_SCRYPT));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |             try!(md.write_u8(logn));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |             try!(md.write_u32::<LittleEndian>(r));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |             try!(md.write_u32::<LittleEndian>(p));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let nread = try!(s.read(&mut raw_bytes));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let ktype = try!(s.read_u32::<LittleEndian>());
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:148:39
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 let logn = ScryptLogN(try!(s.read_u8()));
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:149:33
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 let r = ScryptR(try!(s.read_u32::<LittleEndian>()));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let p = ScryptP(try!(s.read_u32::<LittleEndian>()));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     try!(out_stream.write_all(&header));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     try!(out_stream.seek(SeekFrom::Start(0)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 |     try!(header.write(&mut out_stream));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     try!(out_stream.write_all(&hmac));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     try!(out_stream.seek(SeekFrom::Current(hmac_unused as i64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     try!(out_stream.write_all(&key_md));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let pwkey = try!(super::get_pw_key(state.config));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:177:18
[INFO] [stdout]     |
[INFO] [stdout] 177 |     let key_md = try!(get_key_metadata(state.config));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:186:24
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let num_read = try!(in_stream.read(buf));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:192:22
[INFO] [stdout]     |
[INFO] [stdout] 192 |             Ok(d) => try!(out_stream.write_all(&d)),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:224:15
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let pos = try!(out_stream.seek(SeekFrom::Current(0)));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     try!(in_stream.seek(SeekFrom::Current(hmac_unused as i64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:289:5
[INFO] [stdout]     |
[INFO] [stdout] 289 |     try!(in_stream.seek(SeekFrom::Start(header_capacity as u64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let header = try!(FileHeader::read(&mut in_stream));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |     let nread = try!(in_stream.read(&mut hmac_bytes));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:253:38
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let (method, raw_md_bytes) = try!(read_key_metadata(&mut in_stream,
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:255:19
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let key = try!(match *state.config.get_password() {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:280:19
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let key = try!(super::get_pw_key(state.config));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:292:24
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let num_read = try!(in_stream.read(buf));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:298:22
[INFO] [stdout]     |
[INFO] [stdout] 298 |             Ok(d) => try!(out_stream.write_all(&d)),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:288:49
[INFO] [stdout]     |
[INFO] [stdout] 288 |         InputStream::File(ref file) => Box::new(try!(File::open(file))),
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:303:22
[INFO] [stdout]     |
[INFO] [stdout] 303 |             Box::new(try!(OpenOptions::new().read(true).write(true).create(true).open(file)))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |             try!(encrypt(state, in_stream, out_stream))
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:324:22
[INFO] [stdout]     |
[INFO] [stdout] 324 |             let iv = try!(get_iv(c));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:339:17
[INFO] [stdout]     |
[INFO] [stdout] 339 |                 try!(decrypt(state, in_stream, Box::new(tstream)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:341:17
[INFO] [stdout]     |
[INFO] [stdout] 341 |                 try!(rename(tmp_outpath, fname));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:338:31
[INFO] [stdout]     |
[INFO] [stdout] 338 |                 let tstream = try!(File::create(&tmp_outpath));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:343:17
[INFO] [stdout]     |
[INFO] [stdout] 343 |                 try!(decrypt(state, in_stream, out_stream))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/config.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Func(Rc<Box<Fn() -> u8>>),
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Func(Rc<Box<dyn Fn() -> u8>>),
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/config.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Func(Rc<Box<Fn() -> IvArray>>),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Func(Rc<Box<dyn Fn() -> IvArray>>),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/config.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |     Func(Rc<Box<Fn() -> PwKeyArray>>),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |     Func(Rc<Box<dyn Fn() -> PwKeyArray>>),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypto_util.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Encrypting(Box<crypto::symmetriccipher::Encryptor>),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Encrypting(Box<dyn crypto::symmetriccipher::Encryptor>),
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypto_util.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Decrypting(Box<crypto::symmetriccipher::Decryptor>),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Decrypting(Box<dyn crypto::symmetriccipher::Decryptor>),
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:128:30
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn read_key_metadata(s: &mut Read,
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn read_key_metadata(s: &mut dyn Read,
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:163:35
[INFO] [stdout]     |
[INFO] [stdout] 163 |                mut in_stream: Box<SeekRead>,
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 163 |                mut in_stream: Box<dyn SeekRead>,
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:164:36
[INFO] [stdout]     |
[INFO] [stdout] 164 |                mut out_stream: Box<SeekWrite>)
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 164 |                mut out_stream: Box<dyn SeekWrite>)
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:236:35
[INFO] [stdout]     |
[INFO] [stdout] 236 |                mut in_stream: Box<SeekRead>,
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 236 |                mut in_stream: Box<dyn SeekRead>,
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:237:36
[INFO] [stdout]     |
[INFO] [stdout] 237 |                mut out_stream: Box<SeekWrite>)
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 237 |                mut out_stream: Box<dyn SeekWrite>)
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypt.rs:58:33
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn write(&self, s: &mut Write) -> Result<(), EncryptError> {
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn write(&self, s: &mut dyn Write) -> Result<(), EncryptError> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypt.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn read(s: &mut Read) -> Result<FileHeader, EncryptError> {
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn read(s: &mut dyn Read) -> Result<FileHeader, EncryptError> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:283:24
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let in_stream: Box<SeekRead> = match *c.get_input_stream() {
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let in_stream: Box<dyn SeekRead> = match *c.get_input_stream() {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:291:25
[INFO] [stdout]     |
[INFO] [stdout] 291 |     let out_stream: Box<SeekWrite> = match *c.get_output_stream() {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 291 |     let out_stream: Box<dyn SeekWrite> = match *c.get_output_stream() {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/lib.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 | use std::io::{Read, Write};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/lib.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 77 | use std::io::{Read, Write};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/crypt.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let mut buf = state.read_buf;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/crypt.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |     let mut buf = state.read_buf;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:205:25
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     let mut first = &mut iv[0..IV_SIZE / 2];
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |                     let mut second = &mut iv[IV_SIZE / 2..IV_SIZE];
[INFO] [stdout]     |                         ----^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `write_buf` is never read
[INFO] [stdout]   --> src/crypt.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct EncryptState<'a> {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub write_buf: &'a mut [u8],
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 72 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]    Compiling encryptfile v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypto_util.rs:75:30
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 let result = try!(encryptor.encrypt(&mut read_buffer,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypto_util.rs:118:30
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 let result = try!(decryptor.decrypt(&mut read_buffer,
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         try!(s.write_u64::<LittleEndian>(self.magic));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         try!(s.write_u32::<LittleEndian>(self.fversion));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         try!(s.write_u32::<LittleEndian>(self.hmac_len));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         try!(s.write_u32::<LittleEndian>(self.key_md_size));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         try!(s.write_all(&self.iv));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         try!(header.verify());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:85:20
[INFO] [stdout]    |
[INFO] [stdout] 85 |             magic: try!(s.read_u64::<LittleEndian>()),
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:86:23
[INFO] [stdout]    |
[INFO] [stdout] 86 |             fversion: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |             hmac_len: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:88:26
[INFO] [stdout]    |
[INFO] [stdout] 88 |             key_md_size: try!(s.read_u32::<LittleEndian>()),
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/crypt.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let nread = try!(s.read(&mut header.iv));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |             try!(md.write_u32::<LittleEndian>(MD_TYPE_SCRYPT));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |             try!(md.write_u8(logn));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |             try!(md.write_u32::<LittleEndian>(r));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |             try!(md.write_u32::<LittleEndian>(p));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let nread = try!(s.read(&mut raw_bytes));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let ktype = try!(s.read_u32::<LittleEndian>());
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:148:39
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 let logn = ScryptLogN(try!(s.read_u8()));
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:149:33
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 let r = ScryptR(try!(s.read_u32::<LittleEndian>()));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let p = ScryptP(try!(s.read_u32::<LittleEndian>()));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     try!(out_stream.write_all(&header));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     try!(out_stream.seek(SeekFrom::Start(0)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 |     try!(header.write(&mut out_stream));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     try!(out_stream.write_all(&hmac));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     try!(out_stream.seek(SeekFrom::Current(hmac_unused as i64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     try!(out_stream.write_all(&key_md));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let pwkey = try!(super::get_pw_key(state.config));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:177:18
[INFO] [stdout]     |
[INFO] [stdout] 177 |     let key_md = try!(get_key_metadata(state.config));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:186:24
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let num_read = try!(in_stream.read(buf));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:192:22
[INFO] [stdout]     |
[INFO] [stdout] 192 |             Ok(d) => try!(out_stream.write_all(&d)),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:224:15
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let pos = try!(out_stream.seek(SeekFrom::Current(0)));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     try!(in_stream.seek(SeekFrom::Current(hmac_unused as i64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:289:5
[INFO] [stdout]     |
[INFO] [stdout] 289 |     try!(in_stream.seek(SeekFrom::Start(header_capacity as u64)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let header = try!(FileHeader::read(&mut in_stream));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |     let nread = try!(in_stream.read(&mut hmac_bytes));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:253:38
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let (method, raw_md_bytes) = try!(read_key_metadata(&mut in_stream,
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:255:19
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let key = try!(match *state.config.get_password() {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:280:19
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let key = try!(super::get_pw_key(state.config));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:292:24
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let num_read = try!(in_stream.read(buf));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/crypt.rs:298:22
[INFO] [stdout]     |
[INFO] [stdout] 298 |             Ok(d) => try!(out_stream.write_all(&d)),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:288:49
[INFO] [stdout]     |
[INFO] [stdout] 288 |         InputStream::File(ref file) => Box::new(try!(File::open(file))),
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:303:22
[INFO] [stdout]     |
[INFO] [stdout] 303 |             Box::new(try!(OpenOptions::new().read(true).write(true).create(true).open(file)))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |             try!(encrypt(state, in_stream, out_stream))
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:324:22
[INFO] [stdout]     |
[INFO] [stdout] 324 |             let iv = try!(get_iv(c));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:339:17
[INFO] [stdout]     |
[INFO] [stdout] 339 |                 try!(decrypt(state, in_stream, Box::new(tstream)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:341:17
[INFO] [stdout]     |
[INFO] [stdout] 341 |                 try!(rename(tmp_outpath, fname));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:338:31
[INFO] [stdout]     |
[INFO] [stdout] 338 |                 let tstream = try!(File::create(&tmp_outpath));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:343:17
[INFO] [stdout]     |
[INFO] [stdout] 343 |                 try!(decrypt(state, in_stream, out_stream))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/config.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Func(Rc<Box<Fn() -> u8>>),
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Func(Rc<Box<dyn Fn() -> u8>>),
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/config.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Func(Rc<Box<Fn() -> IvArray>>),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Func(Rc<Box<dyn Fn() -> IvArray>>),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/config.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |     Func(Rc<Box<Fn() -> PwKeyArray>>),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |     Func(Rc<Box<dyn Fn() -> PwKeyArray>>),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypto_util.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Encrypting(Box<crypto::symmetriccipher::Encryptor>),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Encrypting(Box<dyn crypto::symmetriccipher::Encryptor>),
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypto_util.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Decrypting(Box<crypto::symmetriccipher::Decryptor>),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Decrypting(Box<dyn crypto::symmetriccipher::Decryptor>),
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:128:30
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn read_key_metadata(s: &mut Read,
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn read_key_metadata(s: &mut dyn Read,
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:163:35
[INFO] [stdout]     |
[INFO] [stdout] 163 |                mut in_stream: Box<SeekRead>,
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 163 |                mut in_stream: Box<dyn SeekRead>,
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:164:36
[INFO] [stdout]     |
[INFO] [stdout] 164 |                mut out_stream: Box<SeekWrite>)
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 164 |                mut out_stream: Box<dyn SeekWrite>)
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:236:35
[INFO] [stdout]     |
[INFO] [stdout] 236 |                mut in_stream: Box<SeekRead>,
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 236 |                mut in_stream: Box<dyn SeekRead>,
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/crypt.rs:237:36
[INFO] [stdout]     |
[INFO] [stdout] 237 |                mut out_stream: Box<SeekWrite>)
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 237 |                mut out_stream: Box<dyn SeekWrite>)
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypt.rs:58:33
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn write(&self, s: &mut Write) -> Result<(), EncryptError> {
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn write(&self, s: &mut dyn Write) -> Result<(), EncryptError> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/crypt.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn read(s: &mut Read) -> Result<FileHeader, EncryptError> {
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn read(s: &mut dyn Read) -> Result<FileHeader, EncryptError> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:283:24
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let in_stream: Box<SeekRead> = match *c.get_input_stream() {
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let in_stream: Box<dyn SeekRead> = match *c.get_input_stream() {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:291:25
[INFO] [stdout]     |
[INFO] [stdout] 291 |     let out_stream: Box<SeekWrite> = match *c.get_output_stream() {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 291 |     let out_stream: Box<dyn SeekWrite> = match *c.get_output_stream() {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/lib.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 | use std::io::{Read, Write};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/lib.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 77 | use std::io::{Read, Write};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/crypt.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let mut buf = state.read_buf;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/crypt.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |     let mut buf = state.read_buf;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:205:25
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     let mut first = &mut iv[0..IV_SIZE / 2];
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |                     let mut second = &mut iv[IV_SIZE / 2..IV_SIZE];
[INFO] [stdout]     |                         ----^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `write_buf` is never read
[INFO] [stdout]   --> src/crypt.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct EncryptState<'a> {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub write_buf: &'a mut [u8],
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/crypt.rs:390:17
[INFO] [stdout]     |
[INFO] [stdout] 390 |                 format!("Expected '{}', got '{}'", expected, s));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 390 -                 format!("Expected '{}', got '{}'", expected, s));
[INFO] [stdout] 390 +                 "Expected '{}', got '{}'", expected, s);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:359:27
[INFO] [stdout]     |
[INFO] [stdout] 359 |         assert!(xs == ys, failmsg);
[INFO] [stdout]     |                           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 359 |         assert!(xs == ys, "{}", failmsg);
[INFO] [stdout]     |                           +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 73 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.31s
[INFO] running `Command { std: "docker" "inspect" "b5f9c26b28cedf77429f351e68cb4be549f7fb97bdb7107f1b35612f1101aea6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b5f9c26b28cedf77429f351e68cb4be549f7fb97bdb7107f1b35612f1101aea6", kill_on_drop: false }`
[INFO] [stdout] b5f9c26b28cedf77429f351e68cb4be549f7fb97bdb7107f1b35612f1101aea6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5cf6fc8db7738f877dd6abe4ab03d1ef3206117f696edf4684618d96dcc720b8
[INFO] running `Command { std: "docker" "start" "-a" "5cf6fc8db7738f877dd6abe4ab03d1ef3206117f696edf4684618d96dcc720b8", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypto_util.rs:75:30
[INFO] [stderr]    |
[INFO] [stderr] 75 |                 let result = try!(encryptor.encrypt(&mut read_buffer,
[INFO] [stderr]    |                              ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypto_util.rs:118:30
[INFO] [stderr]     |
[INFO] [stderr] 118 |                 let result = try!(decryptor.decrypt(&mut read_buffer,
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::process`
[INFO] [stderr]   --> src/crypt.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub use super::process;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:59:9
[INFO] [stderr]    |
[INFO] [stderr] 59 |         try!(s.write_u64::<LittleEndian>(self.magic));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:60:9
[INFO] [stderr]    |
[INFO] [stderr] 60 |         try!(s.write_u32::<LittleEndian>(self.fversion));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:61:9
[INFO] [stderr]    |
[INFO] [stderr] 61 |         try!(s.write_u32::<LittleEndian>(self.hmac_len));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:62:9
[INFO] [stderr]    |
[INFO] [stderr] 62 |         try!(s.write_u32::<LittleEndian>(self.key_md_size));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:63:9
[INFO] [stderr]    |
[INFO] [stderr] 63 |         try!(s.write_all(&self.iv));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:98:9
[INFO] [stderr]    |
[INFO] [stderr] 98 |         try!(header.verify());
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:85:20
[INFO] [stderr]    |
[INFO] [stderr] 85 |             magic: try!(s.read_u64::<LittleEndian>()),
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:86:23
[INFO] [stderr]    |
[INFO] [stderr] 86 |             fversion: try!(s.read_u32::<LittleEndian>()),
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:87:23
[INFO] [stderr]    |
[INFO] [stderr] 87 |             hmac_len: try!(s.read_u32::<LittleEndian>()),
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:88:26
[INFO] [stderr]    |
[INFO] [stderr] 88 |             key_md_size: try!(s.read_u32::<LittleEndian>()),
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/crypt.rs:93:21
[INFO] [stderr]    |
[INFO] [stderr] 93 |         let nread = try!(s.read(&mut header.iv));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:118:13
[INFO] [stderr]     |
[INFO] [stderr] 118 |             try!(md.write_u32::<LittleEndian>(MD_TYPE_SCRYPT));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:119:13
[INFO] [stderr]     |
[INFO] [stderr] 119 |             try!(md.write_u8(logn));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:120:13
[INFO] [stderr]     |
[INFO] [stderr] 120 |             try!(md.write_u32::<LittleEndian>(r));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:121:13
[INFO] [stderr]     |
[INFO] [stderr] 121 |             try!(md.write_u32::<LittleEndian>(p));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:138:17
[INFO] [stderr]     |
[INFO] [stderr] 138 |     let nread = try!(s.read(&mut raw_bytes));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:145:21
[INFO] [stderr]     |
[INFO] [stderr] 145 |         let ktype = try!(s.read_u32::<LittleEndian>());
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:148:39
[INFO] [stderr]     |
[INFO] [stderr] 148 |                 let logn = ScryptLogN(try!(s.read_u8()));
[INFO] [stderr]     |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:149:33
[INFO] [stderr]     |
[INFO] [stderr] 149 |                 let r = ScryptR(try!(s.read_u32::<LittleEndian>()));
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:150:33
[INFO] [stderr]     |
[INFO] [stderr] 150 |                 let p = ScryptP(try!(s.read_u32::<LittleEndian>()));
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:183:5
[INFO] [stderr]     |
[INFO] [stderr] 183 |     try!(out_stream.write_all(&header));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:216:5
[INFO] [stderr]     |
[INFO] [stderr] 216 |     try!(out_stream.seek(SeekFrom::Start(0)));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:217:5
[INFO] [stderr]     |
[INFO] [stderr] 217 |     try!(header.write(&mut out_stream));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:219:5
[INFO] [stderr]     |
[INFO] [stderr] 219 |     try!(out_stream.write_all(&hmac));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:221:5
[INFO] [stderr]     |
[INFO] [stderr] 221 |     try!(out_stream.seek(SeekFrom::Current(hmac_unused as i64)));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:222:5
[INFO] [stderr]     |
[INFO] [stderr] 222 |     try!(out_stream.write_all(&key_md));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:167:17
[INFO] [stderr]     |
[INFO] [stderr] 167 |     let pwkey = try!(super::get_pw_key(state.config));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:177:18
[INFO] [stderr]     |
[INFO] [stderr] 177 |     let key_md = try!(get_key_metadata(state.config));
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:186:24
[INFO] [stderr]     |
[INFO] [stderr] 186 |         let num_read = try!(in_stream.read(buf));
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:192:22
[INFO] [stderr]     |
[INFO] [stderr] 192 |             Ok(d) => try!(out_stream.write_all(&d)),
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:224:15
[INFO] [stderr]     |
[INFO] [stderr] 224 |     let pos = try!(out_stream.seek(SeekFrom::Current(0)));
[INFO] [stderr]     |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:250:5
[INFO] [stderr]     |
[INFO] [stderr] 250 |     try!(in_stream.seek(SeekFrom::Current(hmac_unused as i64)));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:289:5
[INFO] [stderr]     |
[INFO] [stderr] 289 |     try!(in_stream.seek(SeekFrom::Start(header_capacity as u64)));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:240:18
[INFO] [stderr]     |
[INFO] [stderr] 240 |     let header = try!(FileHeader::read(&mut in_stream));
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:245:17
[INFO] [stderr]     |
[INFO] [stderr] 245 |     let nread = try!(in_stream.read(&mut hmac_bytes));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:253:38
[INFO] [stderr]     |
[INFO] [stderr] 253 |         let (method, raw_md_bytes) = try!(read_key_metadata(&mut in_stream,
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:255:19
[INFO] [stderr]     |
[INFO] [stderr] 255 |         let key = try!(match *state.config.get_password() {
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:280:19
[INFO] [stderr]     |
[INFO] [stderr] 280 |         let key = try!(super::get_pw_key(state.config));
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:292:24
[INFO] [stderr]     |
[INFO] [stderr] 292 |         let num_read = try!(in_stream.read(buf));
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/crypt.rs:298:22
[INFO] [stderr]     |
[INFO] [stderr] 298 |             Ok(d) => try!(out_stream.write_all(&d)),
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:288:49
[INFO] [stderr]     |
[INFO] [stderr] 288 |         InputStream::File(ref file) => Box::new(try!(File::open(file))),
[INFO] [stderr]     |                                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:303:22
[INFO] [stderr]     |
[INFO] [stderr] 303 |             Box::new(try!(OpenOptions::new().read(true).write(true).create(true).open(file)))
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:326:13
[INFO] [stderr]     |
[INFO] [stderr] 326 |             try!(encrypt(state, in_stream, out_stream))
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:324:22
[INFO] [stderr]     |
[INFO] [stderr] 324 |             let iv = try!(get_iv(c));
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:339:17
[INFO] [stderr]     |
[INFO] [stderr] 339 |                 try!(decrypt(state, in_stream, Box::new(tstream)));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:341:17
[INFO] [stderr]     |
[INFO] [stderr] 341 |                 try!(rename(tmp_outpath, fname));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:338:31
[INFO] [stderr]     |
[INFO] [stderr] 338 |                 let tstream = try!(File::create(&tmp_outpath));
[INFO] [stderr]     |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:343:17
[INFO] [stderr]     |
[INFO] [stderr] 343 |                 try!(decrypt(state, in_stream, out_stream))
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/config.rs:99:17
[INFO] [stderr]    |
[INFO] [stderr] 99 |     Func(Rc<Box<Fn() -> u8>>),
[INFO] [stderr]    |                 ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 99 |     Func(Rc<Box<dyn Fn() -> u8>>),
[INFO] [stderr]    |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/config.rs:112:17
[INFO] [stderr]     |
[INFO] [stderr] 112 |     Func(Rc<Box<Fn() -> IvArray>>),
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 112 |     Func(Rc<Box<dyn Fn() -> IvArray>>),
[INFO] [stderr]     |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/config.rs:150:17
[INFO] [stderr]     |
[INFO] [stderr] 150 |     Func(Rc<Box<Fn() -> PwKeyArray>>),
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 150 |     Func(Rc<Box<dyn Fn() -> PwKeyArray>>),
[INFO] [stderr]     |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/crypto_util.rs:11:20
[INFO] [stderr]    |
[INFO] [stderr] 11 |     Encrypting(Box<crypto::symmetriccipher::Encryptor>),
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 11 |     Encrypting(Box<dyn crypto::symmetriccipher::Encryptor>),
[INFO] [stderr]    |                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/crypto_util.rs:12:20
[INFO] [stderr]    |
[INFO] [stderr] 12 |     Decrypting(Box<crypto::symmetriccipher::Decryptor>),
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 12 |     Decrypting(Box<dyn crypto::symmetriccipher::Decryptor>),
[INFO] [stderr]    |                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/crypt.rs:128:30
[INFO] [stderr]     |
[INFO] [stderr] 128 | fn read_key_metadata(s: &mut Read,
[INFO] [stderr]     |                              ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 128 | fn read_key_metadata(s: &mut dyn Read,
[INFO] [stderr]     |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/crypt.rs:163:35
[INFO] [stderr]     |
[INFO] [stderr] 163 |                mut in_stream: Box<SeekRead>,
[INFO] [stderr]     |                                   ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 163 |                mut in_stream: Box<dyn SeekRead>,
[INFO] [stderr]     |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/crypt.rs:164:36
[INFO] [stderr]     |
[INFO] [stderr] 164 |                mut out_stream: Box<SeekWrite>)
[INFO] [stderr]     |                                    ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 164 |                mut out_stream: Box<dyn SeekWrite>)
[INFO] [stderr]     |                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/crypt.rs:236:35
[INFO] [stderr]     |
[INFO] [stderr] 236 |                mut in_stream: Box<SeekRead>,
[INFO] [stderr]     |                                   ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 236 |                mut in_stream: Box<dyn SeekRead>,
[INFO] [stderr]     |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/crypt.rs:237:36
[INFO] [stderr]     |
[INFO] [stderr] 237 |                mut out_stream: Box<SeekWrite>)
[INFO] [stderr]     |                                    ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 237 |                mut out_stream: Box<dyn SeekWrite>)
[INFO] [stderr]     |                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/crypt.rs:58:33
[INFO] [stderr]    |
[INFO] [stderr] 58 |     pub fn write(&self, s: &mut Write) -> Result<(), EncryptError> {
[INFO] [stderr]    |                                 ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 58 |     pub fn write(&self, s: &mut dyn Write) -> Result<(), EncryptError> {
[INFO] [stderr]    |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/crypt.rs:83:25
[INFO] [stderr]    |
[INFO] [stderr] 83 |     pub fn read(s: &mut Read) -> Result<FileHeader, EncryptError> {
[INFO] [stderr]    |                         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 83 |     pub fn read(s: &mut dyn Read) -> Result<FileHeader, EncryptError> {
[INFO] [stderr]    |                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:283:24
[INFO] [stderr]     |
[INFO] [stderr] 283 |     let in_stream: Box<SeekRead> = match *c.get_input_stream() {
[INFO] [stderr]     |                        ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 283 |     let in_stream: Box<dyn SeekRead> = match *c.get_input_stream() {
[INFO] [stderr]     |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:291:25
[INFO] [stderr]     |
[INFO] [stderr] 291 |     let out_stream: Box<SeekWrite> = match *c.get_output_stream() {
[INFO] [stderr]     |                         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 291 |     let out_stream: Box<dyn SeekWrite> = match *c.get_output_stream() {
[INFO] [stderr]     |                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Read`
[INFO] [stderr]   --> src/lib.rs:77:15
[INFO] [stderr]    |
[INFO] [stderr] 77 | use std::io::{Read, Write};
[INFO] [stderr]    |               ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Write`
[INFO] [stderr]   --> src/lib.rs:77:21
[INFO] [stderr]    |
[INFO] [stderr] 77 | use std::io::{Read, Write};
[INFO] [stderr]    |                     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/crypt.rs:174:9
[INFO] [stderr]     |
[INFO] [stderr] 174 |     let mut buf = state.read_buf;
[INFO] [stderr]     |         ----^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/crypt.rs:239:9
[INFO] [stderr]     |
[INFO] [stderr] 239 |     let mut buf = state.read_buf;
[INFO] [stderr]     |         ----^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:205:25
[INFO] [stderr]     |
[INFO] [stderr] 205 |                     let mut first = &mut iv[0..IV_SIZE / 2];
[INFO] [stderr]     |                         ----^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:209:25
[INFO] [stderr]     |
[INFO] [stderr] 209 |                     let mut second = &mut iv[IV_SIZE / 2..IV_SIZE];
[INFO] [stderr]     |                         ----^^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `write_buf` is never read
[INFO] [stderr]   --> src/crypt.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub struct EncryptState<'a> {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub write_buf: &'a mut [u8],
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Read`
[INFO] [stderr]   --> src/lib.rs:77:15
[INFO] [stderr]    |
[INFO] [stderr] 77 | use std::io::{Read, Write};
[INFO] [stderr]    |               ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/crypt.rs:390:17
[INFO] [stderr]     |
[INFO] [stderr] 390 |                 format!("Expected '{}', got '{}'", expected, s));
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 390 -                 format!("Expected '{}', got '{}'", expected, s));
[INFO] [stderr] 390 +                 "Expected '{}', got '{}'", expected, s);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:359:27
[INFO] [stderr]     |
[INFO] [stderr] 359 |         assert!(xs == ys, failmsg);
[INFO] [stderr]     |                           ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 359 |         assert!(xs == ys, "{}", failmsg);
[INFO] [stderr]     |                           +++++
[INFO] [stderr] 
[INFO] [stderr] warning: `encryptfile` (lib) generated 72 warnings (run `cargo fix --lib -p encryptfile` to apply 19 suggestions)
[INFO] [stderr] warning: `encryptfile` (lib test) generated 73 warnings (70 duplicates) (run `cargo fix --lib -p encryptfile --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/encryptfile-40905a4443d44071)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test tests::get_pwkey_variants ... ok
[INFO] [stdout] test crypto_util::tests::crypto_util_state ... ok
[INFO] [stdout] test crypt::tests::crypt_change_data ... ok
[INFO] [stdout] test config::validate ... ok
[INFO] [stdout] test crypt::tests::crypt_overwrite ... ok
[INFO] [stdout] test crypt::tests::crypt_change_hmac ... ok
[INFO] [stdout] test crypt::tests::crypt_no_key_metadata ... ok
[INFO] [stdout] test crypt::tests::crypt_basic ... ok
[INFO] [stdout] test tests::get_iv_variants ... ok
[INFO] [stdout] test tests::get_iv_generate ... ok
[INFO] [stdout] test config::derived_key ... ok
[INFO] [stdout] test crypt::tests::crypt_wrong_pw ... ok
[INFO] [stdout] test crypt::tests::crypt_change_iv ... ok
[INFO] [stdout] test tests::get_pwkey_scrypt ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.07s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests encryptfile
[INFO] [stderr] error[E0428]: the name `scrypt_defaults` is defined multiple times
[INFO] [stderr]    --> src/config.rs:212:1
[INFO] [stderr]     |
[INFO] [stderr] 206 | pub fn scrypt_defaults() -> PasswordKeyGenMethod {
[INFO] [stderr]     | ------------------------------------------------ previous definition of the value `scrypt_defaults` here
[INFO] [stderr] ...
[INFO] [stderr] 212 | pub fn scrypt_defaults() -> PasswordKeyGenMethod {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `scrypt_defaults` redefined here
[INFO] [stderr]     |
[INFO] [stderr]     = note: `scrypt_defaults` must be defined only once in the value namespace of this module
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 1 previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0428`.
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/b642703cf9526da1e72c0b6755753b939a9c6b6d/bin/rustdoc --edition=2015 --crate-type lib --crate-name encryptfile --test src/lib.rs --test-run-directory /opt/rustwide/workdir -L dependency=/opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps -L native=/opt/rustwide/target/debug/build/rust-crypto-7fbf4b88957f08d7/out --extern byteorder=/opt/rustwide/target/debug/deps/libbyteorder-a874c77a0ae79159.rlib --extern encryptfile=/opt/rustwide/target/debug/deps/libencryptfile-32978775dda57c0e.rlib --extern rand=/opt/rustwide/target/debug/deps/librand-cfb51efc7d8b1f76.rlib --extern crypto=/opt/rustwide/target/debug/deps/libcrypto-ad5cb16e5b4acd07.rlib --extern tempdir=/opt/rustwide/target/debug/deps/libtempdir-f6664396d4e16bea.rlib -C embed-bitcode=no --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values())' --cap-lints=forbid --error-format human` (exit status: 1)
[INFO] [stderr] note: test exited abnormally; to see the full output pass --nocapture to the harness.
[INFO] running `Command { std: "docker" "inspect" "5cf6fc8db7738f877dd6abe4ab03d1ef3206117f696edf4684618d96dcc720b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5cf6fc8db7738f877dd6abe4ab03d1ef3206117f696edf4684618d96dcc720b8", kill_on_drop: false }`
[INFO] [stdout] 5cf6fc8db7738f877dd6abe4ab03d1ef3206117f696edf4684618d96dcc720b8
