[INFO] fetching crate content 0.6.0...
[INFO] testing content-0.6.0 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate content 0.6.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate content 0.6.0
[INFO] finished tweaking crates.io crate content 0.6.0
[INFO] tweaked toml for crates.io crate content 0.6.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate content 0.6.0 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 24 packages to latest compatible versions
[INFO] [stderr]       Adding byteorder v0.5.3 (available: v1.5.0)
[INFO] [stderr]       Adding parking_lot v0.3.8 (available: v0.12.5)
[INFO] [stderr]       Adding rand v0.3.23 (available: v0.9.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "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-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 77a59d34263c0ebb20fa6eabca7eab889f55a6b36974c2d72328a0ecb47e3ead
[INFO] running `Command { std: "docker" "start" "-a" "77a59d34263c0ebb20fa6eabca7eab889f55a6b36974c2d72328a0ecb47e3ead", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "77a59d34263c0ebb20fa6eabca7eab889f55a6b36974c2d72328a0ecb47e3ead", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "77a59d34263c0ebb20fa6eabca7eab889f55a6b36974c2d72328a0ecb47e3ead", kill_on_drop: false }`
[INFO] [stdout] 77a59d34263c0ebb20fa6eabca7eab889f55a6b36974c2d72328a0ecb47e3ead
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bb05034126243591dcfb919fe5af5153e5899a318291a8d8db6f1c9c41ddb88e
[INFO] running `Command { std: "docker" "start" "-a" "bb05034126243591dcfb919fe5af5153e5899a318291a8d8db6f1c9c41ddb88e", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]    Compiling nodrop v0.1.14
[INFO] [stderr]    Compiling parking_lot_core v0.2.14
[INFO] [stderr]    Compiling thread-id v3.3.0
[INFO] [stderr]    Compiling constant_time_eq v0.1.5
[INFO] [stderr]    Compiling owning_ref v0.2.4
[INFO] [stderr]    Compiling byteorder v0.5.3
[INFO] [stderr]    Compiling parking_lot v0.3.8
[INFO] [stderr]    Compiling blake2-rfc v0.2.18
[INFO] [stderr]    Compiling content v0.6.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/default.rs:56:3
[INFO] [stdout]    |
[INFO] [stdout] 56 |         try!(source.read_exact(&mut bytes[..]));
[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/content.rs:76:3
[INFO] [stdout]    |
[INFO] [stdout] 76 |         try!(self.hasher.write(buf));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/store.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 try!(t.to_content(&mut sink));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/store.rs:58:3
[INFO] [stdout]    |
[INFO] [stdout] 58 |         try!(self.backend.read().request(hash, &|read| {
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/hashmap.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let hash = try!(source(&mut vec, self));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/hashmap.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let vec = try!(self.get(hash)
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:42:2
[INFO] [stdout]    |
[INFO] [stdout] 42 |     try!(fs::create_dir_all(pathbuf.to_str().unwrap()));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:63:3
[INFO] [stdout]    |
[INFO] [stdout] 63 |         try!(fs::rename(tmp_path, pathbuf));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut file = try!(File::create(&tmp_path));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:61:14
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let hash = try!(source(&mut file, self));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let pathbuf = try!(pathbuf_from_hash::<H>(self, &hash));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let pathbuf = try!(pathbuf_from_hash::<H>(self, &hash));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:72:18
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let mut file = try!(File::open(pathbuf));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/std_impls.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 try!(sink.write(&[1]));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/std_impls.rs:37:3
[INFO] [stdout]    |
[INFO] [stdout] 37 |         try!(source.read_exact(&mut byte));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/std_impls.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             1 => Ok(Some(try!(T::from_content(source)))),
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/std_impls.rs:58:15
[INFO] [stdout]    |
[INFO] [stdout] 58 |         Ok(Box::new(try!(T::from_content(source))))
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/std_impls.rs:68:3
[INFO] [stdout]    |
[INFO] [stdout] 68 |         try!(source.read_exact(b));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/default.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 |         unsafe { bytes = mem::uninitialized() }
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/default.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 |         unsafe { bytes = mem::uninitialized() }
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 |     read: &'a 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]    = 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] 30 |     read: &'a mut dyn Read,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:31:39
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub backend: RwLockReadGuard<'a, Box<Backend<H>>>,
[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] 31 |     pub backend: RwLockReadGuard<'a, Box<dyn Backend<H>>>,
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 |     write: &'a mut Write,
[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] 53 |     write: &'a mut dyn Write,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub backend: &'a mut Backend<H>,
[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] 54 |     pub backend: &'a mut dyn Backend<H>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/store.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 |     backend: Arc<RwLock<Box<Backend<H>>>>,
[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] 29 |     backend: Arc<RwLock<Box<dyn Backend<H>>>>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 26 |         source: &dyn Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 26 |         source: &Fn(&mut dyn Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 26 |         source: &Fn(&mut Write, &mut dyn Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 |         read: &Fn(&mut Read) -> Result<()>,
[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] 31 |         read: &dyn Fn(&mut Read) -> Result<()>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:31:18
[INFO] [stdout]    |
[INFO] [stdout] 31 |         read: &Fn(&mut Read) -> Result<()>,
[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] 31 |         read: &Fn(&mut dyn Read) -> Result<()>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |         read: &'a 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] 36 |         read: &'a mut dyn Read,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:37:36
[INFO] [stdout]    |
[INFO] [stdout] 37 |         backend: RwLockReadGuard<'a, Box<Backend<H>>>,
[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] 37 |         backend: RwLockReadGuard<'a, Box<dyn Backend<H>>>,
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |         write: &'a mut Write,
[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] 60 |         write: &'a mut dyn Write,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:61:20
[INFO] [stdout]    |
[INFO] [stdout] 61 |         backend: &'a mut Backend<H>,
[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] 61 |         backend: &'a mut dyn Backend<H>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/store.rs:38:39
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn new_with_backend(backend: Box<Backend<H>>) -> Self {
[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] 38 |     pub fn new_with_backend(backend: Box<dyn Backend<H>>) -> Self {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/hashmap.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 28 |         source: &dyn Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/hashmap.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 28 |         source: &Fn(&mut dyn Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/hashmap.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 28 |         source: &Fn(&mut Write, &mut dyn Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/hashmap.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 |         read: &Fn(&mut Read) -> Result<()>,
[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] 38 |         read: &dyn Fn(&mut Read) -> Result<()>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/hashmap.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |         read: &Fn(&mut Read) -> Result<()>,
[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] 38 |         read: &Fn(&mut dyn Read) -> Result<()>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/pathbuf.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>
[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] 57 |         source: &dyn Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/pathbuf.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>
[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] 57 |         source: &Fn(&mut dyn Write, &mut Backend<H>) -> Result<H::Digest>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/pathbuf.rs:57:32
[INFO] [stdout]    |
[INFO] [stdout] 57 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>
[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] 57 |         source: &Fn(&mut Write, &mut dyn Backend<H>) -> Result<H::Digest>
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/pathbuf.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 |         read: &Fn(&mut Read) -> Result<()>,
[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] 69 |         read: &dyn Fn(&mut Read) -> Result<()>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/pathbuf.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 69 |         read: &Fn(&mut Read) -> Result<()>,
[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] 69 |         read: &Fn(&mut dyn Read) -> Result<()>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VoidHasher` is never constructed
[INFO] [stdout]   --> src/hash.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct VoidHasher;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VoidHash` is never constructed
[INFO] [stdout]   --> src/hash.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct VoidHash;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]   --> src/default.rs:25:20
[INFO] [stdout]    |
[INFO] [stdout] 25 |         unsafe { bytes = mem::uninitialized() }
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this code causes undefined behavior when executed
[INFO] [stdout]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]   --> src/default.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 55 |         unsafe { bytes = mem::uninitialized() }
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this code causes undefined behavior when executed
[INFO] [stdout]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.36s
[INFO] running `Command { std: "docker" "inspect" "bb05034126243591dcfb919fe5af5153e5899a318291a8d8db6f1c9c41ddb88e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb05034126243591dcfb919fe5af5153e5899a318291a8d8db6f1c9c41ddb88e", kill_on_drop: false }`
[INFO] [stdout] bb05034126243591dcfb919fe5af5153e5899a318291a8d8db6f1c9c41ddb88e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 842ea1c8b891cc927b466bc6a22d46cbdfcb33135824ff04c59418b3f9639b7e
[INFO] running `Command { std: "docker" "start" "-a" "842ea1c8b891cc927b466bc6a22d46cbdfcb33135824ff04c59418b3f9639b7e", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/default.rs:56:3
[INFO] [stdout]    |
[INFO] [stdout] 56 |         try!(source.read_exact(&mut bytes[..]));
[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/content.rs:76:3
[INFO] [stdout]    |
[INFO] [stdout] 76 |         try!(self.hasher.write(buf));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/store.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 try!(t.to_content(&mut sink));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/store.rs:58:3
[INFO] [stdout]    |
[INFO] [stdout] 58 |         try!(self.backend.read().request(hash, &|read| {
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/hashmap.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let hash = try!(source(&mut vec, self));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/hashmap.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let vec = try!(self.get(hash)
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:42:2
[INFO] [stdout]    |
[INFO] [stdout] 42 |     try!(fs::create_dir_all(pathbuf.to_str().unwrap()));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:63:3
[INFO] [stdout]    |
[INFO] [stdout] 63 |         try!(fs::rename(tmp_path, pathbuf));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut file = try!(File::create(&tmp_path));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:61:14
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let hash = try!(source(&mut file, self));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let pathbuf = try!(pathbuf_from_hash::<H>(self, &hash));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let pathbuf = try!(pathbuf_from_hash::<H>(self, &hash));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:72:18
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let mut file = try!(File::open(pathbuf));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/std_impls.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 try!(sink.write(&[1]));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/std_impls.rs:37:3
[INFO] [stdout]    |
[INFO] [stdout] 37 |         try!(source.read_exact(&mut byte));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/std_impls.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             1 => Ok(Some(try!(T::from_content(source)))),
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/std_impls.rs:58:15
[INFO] [stdout]    |
[INFO] [stdout] 58 |         Ok(Box::new(try!(T::from_content(source))))
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/std_impls.rs:68:3
[INFO] [stdout]    |
[INFO] [stdout] 68 |         try!(source.read_exact(b));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/default.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 |         unsafe { bytes = mem::uninitialized() }
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/default.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 |         unsafe { bytes = mem::uninitialized() }
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 |     read: &'a 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]    = 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] 30 |     read: &'a mut dyn Read,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:31:39
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub backend: RwLockReadGuard<'a, Box<Backend<H>>>,
[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] 31 |     pub backend: RwLockReadGuard<'a, Box<dyn Backend<H>>>,
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 |     write: &'a mut Write,
[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] 53 |     write: &'a mut dyn Write,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub backend: &'a mut Backend<H>,
[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] 54 |     pub backend: &'a mut dyn Backend<H>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/store.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 |     backend: Arc<RwLock<Box<Backend<H>>>>,
[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] 29 |     backend: Arc<RwLock<Box<dyn Backend<H>>>>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 26 |         source: &dyn Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 26 |         source: &Fn(&mut dyn Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 26 |         source: &Fn(&mut Write, &mut dyn Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 |         read: &Fn(&mut Read) -> Result<()>,
[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] 31 |         read: &dyn Fn(&mut Read) -> Result<()>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:31:18
[INFO] [stdout]    |
[INFO] [stdout] 31 |         read: &Fn(&mut Read) -> Result<()>,
[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] 31 |         read: &Fn(&mut dyn Read) -> Result<()>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |         read: &'a 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] 36 |         read: &'a mut dyn Read,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:37:36
[INFO] [stdout]    |
[INFO] [stdout] 37 |         backend: RwLockReadGuard<'a, Box<Backend<H>>>,
[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] 37 |         backend: RwLockReadGuard<'a, Box<dyn Backend<H>>>,
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |         write: &'a mut Write,
[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] 60 |         write: &'a mut dyn Write,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:61:20
[INFO] [stdout]    |
[INFO] [stdout] 61 |         backend: &'a mut Backend<H>,
[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] 61 |         backend: &'a mut dyn Backend<H>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/store.rs:38:39
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn new_with_backend(backend: Box<Backend<H>>) -> Self {
[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] 38 |     pub fn new_with_backend(backend: Box<dyn Backend<H>>) -> Self {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/hashmap.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 28 |         source: &dyn Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/hashmap.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 28 |         source: &Fn(&mut dyn Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/hashmap.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 28 |         source: &Fn(&mut Write, &mut dyn Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/hashmap.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 |         read: &Fn(&mut Read) -> Result<()>,
[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] 38 |         read: &dyn Fn(&mut Read) -> Result<()>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/hashmap.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |         read: &Fn(&mut Read) -> Result<()>,
[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] 38 |         read: &Fn(&mut dyn Read) -> Result<()>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/pathbuf.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>
[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] 57 |         source: &dyn Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/pathbuf.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>
[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] 57 |         source: &Fn(&mut dyn Write, &mut Backend<H>) -> Result<H::Digest>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/pathbuf.rs:57:32
[INFO] [stdout]    |
[INFO] [stdout] 57 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>
[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] 57 |         source: &Fn(&mut Write, &mut dyn Backend<H>) -> Result<H::Digest>
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/pathbuf.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 |         read: &Fn(&mut Read) -> Result<()>,
[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] 69 |         read: &dyn Fn(&mut Read) -> Result<()>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/pathbuf.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 69 |         read: &Fn(&mut Read) -> Result<()>,
[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] 69 |         read: &Fn(&mut dyn Read) -> Result<()>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VoidHasher` is never constructed
[INFO] [stdout]   --> src/hash.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct VoidHasher;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VoidHash` is never constructed
[INFO] [stdout]   --> src/hash.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct VoidHash;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]   --> src/default.rs:25:20
[INFO] [stdout]    |
[INFO] [stdout] 25 |         unsafe { bytes = mem::uninitialized() }
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this code causes undefined behavior when executed
[INFO] [stdout]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]   --> src/default.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 55 |         unsafe { bytes = mem::uninitialized() }
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this code causes undefined behavior when executed
[INFO] [stdout]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling content v0.6.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/default.rs:56:3
[INFO] [stdout]    |
[INFO] [stdout] 56 |         try!(source.read_exact(&mut bytes[..]));
[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/content.rs:76:3
[INFO] [stdout]    |
[INFO] [stdout] 76 |         try!(self.hasher.write(buf));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/store.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 try!(t.to_content(&mut sink));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/store.rs:58:3
[INFO] [stdout]    |
[INFO] [stdout] 58 |         try!(self.backend.read().request(hash, &|read| {
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/hashmap.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let hash = try!(source(&mut vec, self));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/hashmap.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let vec = try!(self.get(hash)
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:42:2
[INFO] [stdout]    |
[INFO] [stdout] 42 |     try!(fs::create_dir_all(pathbuf.to_str().unwrap()));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:63:3
[INFO] [stdout]    |
[INFO] [stdout] 63 |         try!(fs::rename(tmp_path, pathbuf));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut file = try!(File::create(&tmp_path));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:61:14
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let hash = try!(source(&mut file, self));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let pathbuf = try!(pathbuf_from_hash::<H>(self, &hash));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let pathbuf = try!(pathbuf_from_hash::<H>(self, &hash));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/pathbuf.rs:72:18
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let mut file = try!(File::open(pathbuf));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/std_impls.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 try!(sink.write(&[1]));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/std_impls.rs:37:3
[INFO] [stdout]    |
[INFO] [stdout] 37 |         try!(source.read_exact(&mut byte));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/std_impls.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             1 => Ok(Some(try!(T::from_content(source)))),
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/std_impls.rs:58:15
[INFO] [stdout]    |
[INFO] [stdout] 58 |         Ok(Box::new(try!(T::from_content(source))))
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/std_impls.rs:68:3
[INFO] [stdout]    |
[INFO] [stdout] 68 |         try!(source.read_exact(b));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/default.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 |         unsafe { bytes = mem::uninitialized() }
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/default.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 |         unsafe { bytes = mem::uninitialized() }
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/test_common.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 33 |         source: &dyn Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/test_common.rs:33:20
[INFO] [stdout]    |
[INFO] [stdout] 33 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 33 |         source: &Fn(&mut dyn Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/test_common.rs:33:32
[INFO] [stdout]    |
[INFO] [stdout] 33 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 33 |         source: &Fn(&mut Write, &mut dyn Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 26 |         source: &dyn Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 26 |         source: &Fn(&mut dyn Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 26 |         source: &Fn(&mut Write, &mut dyn Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 |         read: &Fn(&mut Read) -> Result<()>,
[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] 31 |         read: &dyn Fn(&mut Read) -> Result<()>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:31:18
[INFO] [stdout]    |
[INFO] [stdout] 31 |         read: &Fn(&mut Read) -> Result<()>,
[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] 31 |         read: &Fn(&mut dyn Read) -> Result<()>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/test_common.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 |         read: &Fn(&mut Read) -> Result<()>,
[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] 40 |         read: &dyn Fn(&mut Read) -> Result<()>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/test_common.rs:40:18
[INFO] [stdout]    |
[INFO] [stdout] 40 |         read: &Fn(&mut Read) -> Result<()>,
[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] 40 |         read: &Fn(&mut dyn Read) -> Result<()>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 |     read: &'a 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] 30 |     read: &'a mut dyn Read,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:31:39
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub backend: RwLockReadGuard<'a, Box<Backend<H>>>,
[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] 31 |     pub backend: RwLockReadGuard<'a, Box<dyn Backend<H>>>,
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 |     write: &'a mut Write,
[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] 53 |     write: &'a mut dyn Write,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub backend: &'a mut Backend<H>,
[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] 54 |     pub backend: &'a mut dyn Backend<H>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/store.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 |     backend: Arc<RwLock<Box<Backend<H>>>>,
[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] 29 |     backend: Arc<RwLock<Box<dyn Backend<H>>>>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |         read: &'a 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] 36 |         read: &'a mut dyn Read,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:37:36
[INFO] [stdout]    |
[INFO] [stdout] 37 |         backend: RwLockReadGuard<'a, Box<Backend<H>>>,
[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] 37 |         backend: RwLockReadGuard<'a, Box<dyn Backend<H>>>,
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |         write: &'a mut Write,
[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] 60 |         write: &'a mut dyn Write,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/content.rs:61:20
[INFO] [stdout]    |
[INFO] [stdout] 61 |         backend: &'a mut Backend<H>,
[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] 61 |         backend: &'a mut dyn Backend<H>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/store.rs:38:39
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn new_with_backend(backend: Box<Backend<H>>) -> Self {
[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] 38 |     pub fn new_with_backend(backend: Box<dyn Backend<H>>) -> Self {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/hashmap.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 28 |         source: &dyn Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/hashmap.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 28 |         source: &Fn(&mut dyn Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/hashmap.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 28 |         source: &Fn(&mut Write, &mut dyn Backend<H>) -> Result<H::Digest>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/hashmap.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 |         read: &Fn(&mut Read) -> Result<()>,
[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] 38 |         read: &dyn Fn(&mut Read) -> Result<()>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/hashmap.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |         read: &Fn(&mut Read) -> Result<()>,
[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] 38 |         read: &Fn(&mut dyn Read) -> Result<()>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/pathbuf.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>
[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] 57 |         source: &dyn Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/pathbuf.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>
[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] 57 |         source: &Fn(&mut dyn Write, &mut Backend<H>) -> Result<H::Digest>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/pathbuf.rs:57:32
[INFO] [stdout]    |
[INFO] [stdout] 57 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>
[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] 57 |         source: &Fn(&mut Write, &mut dyn Backend<H>) -> Result<H::Digest>
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/pathbuf.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 |         read: &Fn(&mut Read) -> Result<()>,
[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] 69 |         read: &dyn Fn(&mut Read) -> Result<()>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/pathbuf.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 69 |         read: &Fn(&mut Read) -> Result<()>,
[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] 69 |         read: &Fn(&mut dyn Read) -> Result<()>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/test_common.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |         (&pb as &Backend<H>).request(hash, 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] 43 |         (&pb as &dyn Backend<H>).request(hash, read)
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VoidHasher` is never constructed
[INFO] [stdout]   --> src/hash.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct VoidHasher;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VoidHash` is never constructed
[INFO] [stdout]   --> src/hash.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct VoidHash;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]   --> src/default.rs:25:20
[INFO] [stdout]    |
[INFO] [stdout] 25 |         unsafe { bytes = mem::uninitialized() }
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this code causes undefined behavior when executed
[INFO] [stdout]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]   --> src/default.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 55 |         unsafe { bytes = mem::uninitialized() }
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this code causes undefined behavior when executed
[INFO] [stdout]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.84s
[INFO] running `Command { std: "docker" "inspect" "842ea1c8b891cc927b466bc6a22d46cbdfcb33135824ff04c59418b3f9639b7e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "842ea1c8b891cc927b466bc6a22d46cbdfcb33135824ff04c59418b3f9639b7e", kill_on_drop: false }`
[INFO] [stdout] 842ea1c8b891cc927b466bc6a22d46cbdfcb33135824ff04c59418b3f9639b7e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5e9de45fc59c39f78ba725860614be344caaf3a831b4a79a9a81fba353c9b30c
[INFO] running `Command { std: "docker" "start" "-a" "5e9de45fc59c39f78ba725860614be344caaf3a831b4a79a9a81fba353c9b30c", 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/default.rs:56:3
[INFO] [stderr]    |
[INFO] [stderr] 56 |         try!(source.read_exact(&mut bytes[..]));
[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/content.rs:76:3
[INFO] [stderr]    |
[INFO] [stderr] 76 |         try!(self.hasher.write(buf));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/store.rs:49:5
[INFO] [stderr]    |
[INFO] [stderr] 49 |                 try!(t.to_content(&mut sink));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/store.rs:58:3
[INFO] [stderr]    |
[INFO] [stderr] 58 |         try!(self.backend.read().request(hash, &|read| {
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/backend/hashmap.rs:31:14
[INFO] [stderr]    |
[INFO] [stderr] 31 |         let hash = try!(source(&mut vec, self));
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/backend/hashmap.rs:40:13
[INFO] [stderr]    |
[INFO] [stderr] 40 |         let vec = try!(self.get(hash)
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/backend/pathbuf.rs:42:2
[INFO] [stderr]    |
[INFO] [stderr] 42 |     try!(fs::create_dir_all(pathbuf.to_str().unwrap()));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/backend/pathbuf.rs:63:3
[INFO] [stderr]    |
[INFO] [stderr] 63 |         try!(fs::rename(tmp_path, pathbuf));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/backend/pathbuf.rs:60:18
[INFO] [stderr]    |
[INFO] [stderr] 60 |         let mut file = try!(File::create(&tmp_path));
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/backend/pathbuf.rs:61:14
[INFO] [stderr]    |
[INFO] [stderr] 61 |         let hash = try!(source(&mut file, self));
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/backend/pathbuf.rs:62:17
[INFO] [stderr]    |
[INFO] [stderr] 62 |         let pathbuf = try!(pathbuf_from_hash::<H>(self, &hash));
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/backend/pathbuf.rs:71:17
[INFO] [stderr]    |
[INFO] [stderr] 71 |         let pathbuf = try!(pathbuf_from_hash::<H>(self, &hash));
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/backend/pathbuf.rs:72:18
[INFO] [stderr]    |
[INFO] [stderr] 72 |         let mut file = try!(File::open(pathbuf));
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/std_impls.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 |                 try!(sink.write(&[1]));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/std_impls.rs:37:3
[INFO] [stderr]    |
[INFO] [stderr] 37 |         try!(source.read_exact(&mut byte));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/std_impls.rs:40:17
[INFO] [stderr]    |
[INFO] [stderr] 40 |             1 => Ok(Some(try!(T::from_content(source)))),
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/std_impls.rs:58:15
[INFO] [stderr]    |
[INFO] [stderr] 58 |         Ok(Box::new(try!(T::from_content(source))))
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/std_impls.rs:68:3
[INFO] [stderr]    |
[INFO] [stderr] 68 |         try!(source.read_exact(b));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/default.rs:25:25
[INFO] [stderr]    |
[INFO] [stderr] 25 |         unsafe { bytes = mem::uninitialized() }
[INFO] [stderr]    |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/default.rs:55:25
[INFO] [stderr]    |
[INFO] [stderr] 55 |         unsafe { bytes = mem::uninitialized() }
[INFO] [stderr]    |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/content.rs:30:16
[INFO] [stderr]    |
[INFO] [stderr] 30 |     read: &'a 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]    = 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] 30 |     read: &'a mut dyn Read,
[INFO] [stderr]    |                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/content.rs:31:39
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub backend: RwLockReadGuard<'a, Box<Backend<H>>>,
[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] 31 |     pub backend: RwLockReadGuard<'a, Box<dyn Backend<H>>>,
[INFO] [stderr]    |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/content.rs:53:17
[INFO] [stderr]    |
[INFO] [stderr] 53 |     write: &'a mut Write,
[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] 53 |     write: &'a mut dyn Write,
[INFO] [stderr]    |                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/content.rs:54:23
[INFO] [stderr]    |
[INFO] [stderr] 54 |     pub backend: &'a mut Backend<H>,
[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] 54 |     pub backend: &'a mut dyn Backend<H>,
[INFO] [stderr]    |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/store.rs:29:26
[INFO] [stderr]    |
[INFO] [stderr] 29 |     backend: Arc<RwLock<Box<Backend<H>>>>,
[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] 29 |     backend: Arc<RwLock<Box<dyn Backend<H>>>>,
[INFO] [stderr]    |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/mod.rs:26:12
[INFO] [stderr]    |
[INFO] [stderr] 26 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 26 |         source: &dyn Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stderr]    |                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/mod.rs:26:20
[INFO] [stderr]    |
[INFO] [stderr] 26 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 26 |         source: &Fn(&mut dyn Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stderr]    |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/mod.rs:26:32
[INFO] [stderr]    |
[INFO] [stderr] 26 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 26 |         source: &Fn(&mut Write, &mut dyn Backend<H>) -> Result<H::Digest>,
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/mod.rs:31:10
[INFO] [stderr]    |
[INFO] [stderr] 31 |         read: &Fn(&mut Read) -> Result<()>,
[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] 31 |         read: &dyn Fn(&mut Read) -> Result<()>,
[INFO] [stderr]    |                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/mod.rs:31:18
[INFO] [stderr]    |
[INFO] [stderr] 31 |         read: &Fn(&mut Read) -> Result<()>,
[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] 31 |         read: &Fn(&mut dyn Read) -> Result<()>,
[INFO] [stderr]    |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/content.rs:36:17
[INFO] [stderr]    |
[INFO] [stderr] 36 |         read: &'a 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] 36 |         read: &'a mut dyn Read,
[INFO] [stderr]    |                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/content.rs:37:36
[INFO] [stderr]    |
[INFO] [stderr] 37 |         backend: RwLockReadGuard<'a, Box<Backend<H>>>,
[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] 37 |         backend: RwLockReadGuard<'a, Box<dyn Backend<H>>>,
[INFO] [stderr]    |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/content.rs:60:18
[INFO] [stderr]    |
[INFO] [stderr] 60 |         write: &'a mut Write,
[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] 60 |         write: &'a mut dyn Write,
[INFO] [stderr]    |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/content.rs:61:20
[INFO] [stderr]    |
[INFO] [stderr] 61 |         backend: &'a mut Backend<H>,
[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] 61 |         backend: &'a mut dyn Backend<H>,
[INFO] [stderr]    |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/store.rs:38:39
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub fn new_with_backend(backend: Box<Backend<H>>) -> Self {
[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] 38 |     pub fn new_with_backend(backend: Box<dyn Backend<H>>) -> Self {
[INFO] [stderr]    |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/hashmap.rs:28:12
[INFO] [stderr]    |
[INFO] [stderr] 28 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 28 |         source: &dyn Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stderr]    |                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/hashmap.rs:28:20
[INFO] [stderr]    |
[INFO] [stderr] 28 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 28 |         source: &Fn(&mut dyn Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stderr]    |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/hashmap.rs:28:32
[INFO] [stderr]    |
[INFO] [stderr] 28 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 28 |         source: &Fn(&mut Write, &mut dyn Backend<H>) -> Result<H::Digest>,
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/hashmap.rs:38:10
[INFO] [stderr]    |
[INFO] [stderr] 38 |         read: &Fn(&mut Read) -> Result<()>,
[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] 38 |         read: &dyn Fn(&mut Read) -> Result<()>,
[INFO] [stderr]    |                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/hashmap.rs:38:18
[INFO] [stderr]    |
[INFO] [stderr] 38 |         read: &Fn(&mut Read) -> Result<()>,
[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] 38 |         read: &Fn(&mut dyn Read) -> Result<()>,
[INFO] [stderr]    |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/pathbuf.rs:57:12
[INFO] [stderr]    |
[INFO] [stderr] 57 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>
[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] 57 |         source: &dyn Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>
[INFO] [stderr]    |                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/pathbuf.rs:57:20
[INFO] [stderr]    |
[INFO] [stderr] 57 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>
[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] 57 |         source: &Fn(&mut dyn Write, &mut Backend<H>) -> Result<H::Digest>
[INFO] [stderr]    |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/pathbuf.rs:57:32
[INFO] [stderr]    |
[INFO] [stderr] 57 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>
[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] 57 |         source: &Fn(&mut Write, &mut dyn Backend<H>) -> Result<H::Digest>
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/pathbuf.rs:69:10
[INFO] [stderr]    |
[INFO] [stderr] 69 |         read: &Fn(&mut Read) -> Result<()>,
[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] 69 |         read: &dyn Fn(&mut Read) -> Result<()>,
[INFO] [stderr]    |                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/pathbuf.rs:69:18
[INFO] [stderr]    |
[INFO] [stderr] 69 |         read: &Fn(&mut Read) -> Result<()>,
[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] 69 |         read: &Fn(&mut dyn Read) -> Result<()>,
[INFO] [stderr]    |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: struct `VoidHasher` is never constructed
[INFO] [stderr]   --> src/hash.rs:33:8
[INFO] [stderr]    |
[INFO] [stderr] 33 | struct VoidHasher;
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `VoidHash` is never constructed
[INFO] [stderr]   --> src/hash.rs:36:8
[INFO] [stderr]    |
[INFO] [stderr] 36 | struct VoidHash;
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stderr]   --> src/default.rs:25:20
[INFO] [stderr]    |
[INFO] [stderr] 25 |         unsafe { bytes = mem::uninitialized() }
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          this code causes undefined behavior when executed
[INFO] [stderr]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stderr]   --> src/default.rs:55:20
[INFO] [stderr]    |
[INFO] [stderr] 55 |         unsafe { bytes = mem::uninitialized() }
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          this code causes undefined behavior when executed
[INFO] [stderr]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/test_common.rs:33:12
[INFO] [stderr]    |
[INFO] [stderr] 33 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] 33 |         source: &dyn Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stderr]    |                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/test_common.rs:33:20
[INFO] [stderr]    |
[INFO] [stderr] 33 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[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] [stdout] 
[INFO] [stderr] 33 |         source: &Fn(&mut dyn Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stdout] running 4 tests
[INFO] [stderr]    |                          +++
[INFO] [stdout] test default::tests::hash_of_hash ... ok
[INFO] [stderr] 
[INFO] [stdout] test store::tests::put_u8 ... ok
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout] test std_impls::tests::std ... ok
[INFO] [stderr]   --> src/test_common.rs:33:32
[INFO] [stdout] test backend::pathbuf::tests::disk_write_get ... ok
[INFO] [stderr]    |
[INFO] [stdout] 
[INFO] [stderr] 33 |         source: &Fn(&mut Write, &mut Backend<H>) -> Result<H::Digest>,
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stderr]    |                                      ^^^^^^^^^^
[INFO] [stdout] 
[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] 33 |         source: &Fn(&mut Write, &mut dyn Backend<H>) -> Result<H::Digest>,
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/test_common.rs:40:10
[INFO] [stderr]    |
[INFO] [stderr] 40 |         read: &Fn(&mut Read) -> Result<()>,
[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] 40 |         read: &dyn Fn(&mut Read) -> Result<()>,
[INFO] [stderr]    |                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/test_common.rs:40:18
[INFO] [stderr]    |
[INFO] [stderr] 40 |         read: &Fn(&mut Read) -> Result<()>,
[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] 40 |         read: &Fn(&mut dyn Read) -> Result<()>,
[INFO] [stderr]    |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/content.rs:30:16
[INFO] [stderr]    |
[INFO] [stderr] 30 |     read: &'a 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] 30 |     read: &'a mut dyn Read,
[INFO] [stderr]    |                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/test_common.rs:43:12
[INFO] [stderr]    |
[INFO] [stderr] 43 |         (&pb as &Backend<H>).request(hash, 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] 43 |         (&pb as &dyn Backend<H>).request(hash, read)
[INFO] [stderr]    |                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: `content` (lib) generated 49 warnings (run `cargo fix --lib -p content` to apply 25 suggestions)
[INFO] [stderr] warning: `content` (lib test) generated 55 warnings (48 duplicates) (run `cargo fix --lib -p content --tests` to apply 7 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/content-e40c8b8a0aa2a25d)
[INFO] [stderr]    Doc-tests content
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5e9de45fc59c39f78ba725860614be344caaf3a831b4a79a9a81fba353c9b30c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e9de45fc59c39f78ba725860614be344caaf3a831b4a79a9a81fba353c9b30c", kill_on_drop: false }`
[INFO] [stdout] 5e9de45fc59c39f78ba725860614be344caaf3a831b4a79a9a81fba353c9b30c
