[INFO] fetching crate encryptfile 0.1.3...
[INFO] testing encryptfile-0.1.3 against beta-2025-09-21 for beta-1.91-2
[INFO] extracting crate encryptfile 0.1.3 into /workspace/builds/worker-5-tc2/source
[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-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate encryptfile 0.1.3 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 18 packages to latest compatible versions
[INFO] [stderr]       Adding byteorder v0.4.2 (available: v1.5.0)
[INFO] [stderr]       Adding rand v0.3.23 (available: v0.9.2)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c1c16d180ce1259a9a95abe2f14490679722c4821cca6dd1bcc8ea1c27c3096a
[INFO] running `Command { std: "docker" "start" "-a" "c1c16d180ce1259a9a95abe2f14490679722c4821cca6dd1bcc8ea1c27c3096a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c1c16d180ce1259a9a95abe2f14490679722c4821cca6dd1bcc8ea1c27c3096a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c1c16d180ce1259a9a95abe2f14490679722c4821cca6dd1bcc8ea1c27c3096a", kill_on_drop: false }`
[INFO] [stdout] c1c16d180ce1259a9a95abe2f14490679722c4821cca6dd1bcc8ea1c27c3096a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9065d75dcf30ad9a739b91f9776768bca9abaa41bbd0b8161490d5ba960d22cc
[INFO] running `Command { std: "docker" "start" "-a" "9065d75dcf30ad9a739b91f9776768bca9abaa41bbd0b8161490d5ba960d22cc", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling gcc v0.3.55
[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)]` (part of `#[warn(unused)]`) 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.76s
[INFO] running `Command { std: "docker" "inspect" "9065d75dcf30ad9a739b91f9776768bca9abaa41bbd0b8161490d5ba960d22cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9065d75dcf30ad9a739b91f9776768bca9abaa41bbd0b8161490d5ba960d22cc", kill_on_drop: false }`
[INFO] [stdout] 9065d75dcf30ad9a739b91f9776768bca9abaa41bbd0b8161490d5ba960d22cc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c1fcea93eb3a3ddb0b773fbc9867bd8f9c3e5a5e946b4b2767f0e72beb9770ca
[INFO] running `Command { std: "docker" "start" "-a" "c1fcea93eb3a3ddb0b773fbc9867bd8f9c3e5a5e946b4b2767f0e72beb9770ca", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[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)]` (part of `#[warn(unused)]`) 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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/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)]` (part of `#[warn(rust_2021_compatibility)]`) 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/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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.02s
[INFO] running `Command { std: "docker" "inspect" "c1fcea93eb3a3ddb0b773fbc9867bd8f9c3e5a5e946b4b2767f0e72beb9770ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c1fcea93eb3a3ddb0b773fbc9867bd8f9c3e5a5e946b4b2767f0e72beb9770ca", kill_on_drop: false }`
[INFO] [stdout] c1fcea93eb3a3ddb0b773fbc9867bd8f9c3e5a5e946b4b2767f0e72beb9770ca
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5280a045580a5139475b99f83fa31c3483b317d0f4d8ee7a999a12a82a1c01e6
[INFO] running `Command { std: "docker" "start" "-a" "5280a045580a5139475b99f83fa31c3483b317d0f4d8ee7a999a12a82a1c01e6", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[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)]` (part of `#[warn(unused)]`) 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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/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)]` (part of `#[warn(rust_2021_compatibility)]`) 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/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-023a13c8340f65d6)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test config::derived_key ... ok
[INFO] [stdout] test config::validate ... ok
[INFO] [stdout] test crypt::tests::crypt_overwrite ... ok
[INFO] [stdout] test crypt::tests::crypt_no_key_metadata ... ok
[INFO] [stdout] test crypt::tests::crypt_change_iv ... ok
[INFO] [stdout] test tests::get_iv_variants ... ok
[INFO] [stdout] test tests::get_pwkey_variants ... ok
[INFO] [stdout] test crypto_util::tests::crypto_util_state ... ok
[INFO] [stdout] test tests::get_iv_generate ... ok
[INFO] [stdout] test crypt::tests::crypt_change_data ... ok
[INFO] [stdout] test crypt::tests::crypt_change_hmac ... ok
[INFO] [stdout] test crypt::tests::crypt_basic ... ok
[INFO] [stdout] test crypt::tests::crypt_wrong_pw ... ok
[INFO] [stdout] test tests::get_pwkey_scrypt ... ok
[INFO] [stderr]    Doc-tests encryptfile
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.27s
[INFO] [stdout] 
[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/beta-2025-09-21-x86_64-unknown-linux-gnu/bin/rustdoc --edition=2015 --crate-type lib --color auto --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-17626fc92fbeef3c/out --extern byteorder=/opt/rustwide/target/debug/deps/libbyteorder-9b12044cb924033d.rlib --extern encryptfile=/opt/rustwide/target/debug/deps/libencryptfile-23e49bed7f5ba4fd.rlib --extern rand=/opt/rustwide/target/debug/deps/librand-a4bdcec6f7a89244.rlib --extern crypto=/opt/rustwide/target/debug/deps/libcrypto-aad0c234531a5b88.rlib --extern tempdir=/opt/rustwide/target/debug/deps/libtempdir-e46cd1629a559692.rlib -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' --cap-lints=warn --error-format human` (exit status: 1)
[INFO] [stderr] note: test exited abnormally; to see the full output pass --no-capture to the harness.
[INFO] running `Command { std: "docker" "inspect" "5280a045580a5139475b99f83fa31c3483b317d0f4d8ee7a999a12a82a1c01e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5280a045580a5139475b99f83fa31c3483b317d0f4d8ee7a999a12a82a1c01e6", kill_on_drop: false }`
[INFO] [stdout] 5280a045580a5139475b99f83fa31c3483b317d0f4d8ee7a999a12a82a1c01e6
