[INFO] fetching crate bsonrs 0.2.4...
[INFO] checking bsonrs-0.2.4 against master#80399064afa4a2cd153f30d02c25f7ea0383ed65 for opaque-soundness-fix
[INFO] extracting crate bsonrs 0.2.4 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate bsonrs 0.2.4 on toolchain 80399064afa4a2cd153f30d02c25f7ea0383ed65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate bsonrs 0.2.4
[INFO] finished tweaking crates.io crate bsonrs 0.2.4
[INFO] tweaked toml for crates.io crate bsonrs 0.2.4 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 07cd45c5884c421b666cf9d22db1c5ce4417bf0fd51dc50f346e303b8d9eebe9
[INFO] running `Command { std: "docker" "start" "-a" "07cd45c5884c421b666cf9d22db1c5ce4417bf0fd51dc50f346e303b8d9eebe9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "07cd45c5884c421b666cf9d22db1c5ce4417bf0fd51dc50f346e303b8d9eebe9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "07cd45c5884c421b666cf9d22db1c5ce4417bf0fd51dc50f346e303b8d9eebe9", kill_on_drop: false }`
[INFO] [stdout] 07cd45c5884c421b666cf9d22db1c5ce4417bf0fd51dc50f346e303b8d9eebe9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f5f6656db72a921a6d4cf5ec57b39c8fcd7045264b67133842e21747c44ae4bf
[INFO] running `Command { std: "docker" "start" "-a" "f5f6656db72a921a6d4cf5ec57b39c8fcd7045264b67133842e21747c44ae4bf", kill_on_drop: false }`
[INFO] [stderr]     Checking serde_bytes v0.11.14
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]     Checking bsonrs v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]  --> src/value.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json;
[INFO] [stdout]   |     ^^^^^^^^^^ the item `serde_json` is already defined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:213:62
[INFO] [stdout]     |
[INFO] [stdout] 213 |           $crate::value::Value::Document($crate::doc!{$($tt)+});
[INFO] [stdout]     |                                                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value.rs:409:17
[INFO] [stdout]     |
[INFO] [stdout] 409 | /                 doc!{
[INFO] [stdout] 410 | |                     "$date": {
[INFO] [stdout] 411 | |                         "$numberLong": v.timestamp() * 1000 + i64::from(v.nanosecond()) / 1_000_000
[INFO] [stdout] 412 | |                     }
[INFO] [stdout] 413 | |                 }
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `$crate::bson` which comes from the expansion of the macro `doc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Extend` is imported redundantly
[INFO] [stdout]  --> src/doc.rs:4:31
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::iter::{FromIterator, Extend};
[INFO] [stdout]   |                               ^^^^^^
[INFO] [stdout]  --> /rustc/80399064afa4a2cd153f30d02c25f7ea0383ed65/library/std/src/prelude/mod.rs:115:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Extend` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `From` is imported redundantly
[INFO] [stdout]  --> src/util/md5.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/80399064afa4a2cd153f30d02c25f7ea0383ed65/library/std/src/prelude/mod.rs:115:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `From` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `libc` is imported redundantly
[INFO] [stdout]  --> src/object_id.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use libc;
[INFO] [stdout]   |     ^^^^ the item `libc` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `rand` is imported redundantly
[INFO] [stdout]  --> src/object_id.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::{self, Rng};
[INFO] [stdout]   |            ^^^^ the item `rand` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]  --> src/value.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json;
[INFO] [stdout]   |     ^^^^^^^^^^ the item `serde_json` is already defined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:213:62
[INFO] [stdout]     |
[INFO] [stdout] 213 |           $crate::value::Value::Document($crate::doc!{$($tt)+});
[INFO] [stdout]     |                                                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value.rs:409:17
[INFO] [stdout]     |
[INFO] [stdout] 409 | /                 doc!{
[INFO] [stdout] 410 | |                     "$date": {
[INFO] [stdout] 411 | |                         "$numberLong": v.timestamp() * 1000 + i64::from(v.nanosecond()) / 1_000_000
[INFO] [stdout] 412 | |                     }
[INFO] [stdout] 413 | |                 }
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `$crate::bson` which comes from the expansion of the macro `doc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Extend` is imported redundantly
[INFO] [stdout]  --> src/doc.rs:4:31
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::iter::{FromIterator, Extend};
[INFO] [stdout]   |                               ^^^^^^
[INFO] [stdout]  --> /rustc/80399064afa4a2cd153f30d02c25f7ea0383ed65/library/std/src/prelude/mod.rs:115:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Extend` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `From` is imported redundantly
[INFO] [stdout]  --> src/util/md5.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/80399064afa4a2cd153f30d02c25f7ea0383ed65/library/std/src/prelude/mod.rs:115:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `From` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `libc` is imported redundantly
[INFO] [stdout]  --> src/object_id.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use libc;
[INFO] [stdout]   |     ^^^^ the item `libc` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `rand` is imported redundantly
[INFO] [stdout]  --> src/object_id.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::{self, Rng};
[INFO] [stdout]   |            ^^^^ the item `rand` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_bytes` is imported redundantly
[INFO] [stdout]   --> src/lib.rs:18:6
[INFO] [stdout]    |
[INFO] [stdout] 18 |     use serde_bytes;
[INFO] [stdout]    |         ^^^^^^^^^^^ the item `serde_bytes` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/value.rs:454:47
[INFO] [stdout]     |
[INFO] [stdout] 454 |                 return Value::UTCDatetime(Utc.timestamp(long / 1000, ((long % 1000) * 1_000_000) as u32));
[INFO] [stdout]     |                                               ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/value.rs:454:47
[INFO] [stdout]     |
[INFO] [stdout] 454 |                 return Value::UTCDatetime(Utc.timestamp(long / 1000, ((long % 1000) * 1_000_000) as u32));
[INFO] [stdout]     |                                               ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/encode.rs:43:54
[INFO] [stdout]    |
[INFO] [stdout] 43 |             EncodeError::IoError(ref inner) => inner.description(),
[INFO] [stdout]    |                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/encode.rs:43:54
[INFO] [stdout]    |
[INFO] [stdout] 43 |             EncodeError::IoError(ref inner) => inner.description(),
[INFO] [stdout]    |                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/decode.rs:83:54
[INFO] [stdout]    |
[INFO] [stdout] 83 |             DecodeError::IoError(ref inner) => inner.description(),
[INFO] [stdout]    |                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/decode.rs:84:60
[INFO] [stdout]    |
[INFO] [stdout] 84 |             DecodeError::FromUtf8Error(ref inner) => inner.description(),
[INFO] [stdout]    |                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/decode.rs:83:54
[INFO] [stdout]    |
[INFO] [stdout] 83 |             DecodeError::IoError(ref inner) => inner.description(),
[INFO] [stdout]    |                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/decode.rs:84:60
[INFO] [stdout]    |
[INFO] [stdout] 84 |             DecodeError::FromUtf8Error(ref inner) => inner.description(),
[INFO] [stdout]    |                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/object_id.rs:276:49
[INFO] [stdout]     |
[INFO] [stdout] 276 |             Error::FromHexError(ref err) => err.description(),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/object_id.rs:277:44
[INFO] [stdout]     |
[INFO] [stdout] 277 |             Error::IoError(ref err) => err.description(),
[INFO] [stdout]     |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/object_id.rs:278:46
[INFO] [stdout]     |
[INFO] [stdout] 278 |             Error::RandError(ref err) => err.description()
[INFO] [stdout]     |                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/object_id.rs:276:49
[INFO] [stdout]     |
[INFO] [stdout] 276 |             Error::FromHexError(ref err) => err.description(),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/object_id.rs:277:44
[INFO] [stdout]     |
[INFO] [stdout] 277 |             Error::IoError(ref err) => err.description(),
[INFO] [stdout]     |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/object_id.rs:278:46
[INFO] [stdout]     |
[INFO] [stdout] 278 |             Error::RandError(ref err) => err.description()
[INFO] [stdout]     |                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_hex` is never used
[INFO] [stdout]  --> src/util/hex.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait ToHex {
[INFO] [stdout]   |           ----- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 7 |     fn write_hex<W: fmt::Write>(&self, w: &mut W) -> fmt::Result {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]   --> src/util/md5.rs:80:29
[INFO] [stdout]    |
[INFO] [stdout] 80 |             input: unsafe { mem::MaybeUninit::uninit().assume_init() },
[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 `[u32; 16]` does not permit being left uninitialized
[INFO] [stdout]   --> src/util/md5.rs:86:45
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut input: [u32; 16] = unsafe { mem::MaybeUninit::uninit().assume_init() };
[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] [stdout] warning: the type `[u32; 16]` does not permit being left uninitialized
[INFO] [stdout]    --> src/util/md5.rs:121:45
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut input: [u32; 16] = unsafe { mem::MaybeUninit::uninit().assume_init() };
[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] [stdout] warning: the type `[u8; 16]` does not permit being left uninitialized
[INFO] [stdout]    --> src/util/md5.rs:139:45
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut digest: [u8; 16] = unsafe { mem::MaybeUninit::uninit().assume_init() };
[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] [stdout] warning: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_hex` is never used
[INFO] [stdout]  --> src/util/hex.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait ToHex {
[INFO] [stdout]   |           ----- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 7 |     fn write_hex<W: fmt::Write>(&self, w: &mut W) -> fmt::Result {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]   --> src/util/md5.rs:80:29
[INFO] [stdout]    |
[INFO] [stdout] 80 |             input: unsafe { mem::MaybeUninit::uninit().assume_init() },
[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 `[u32; 16]` does not permit being left uninitialized
[INFO] [stdout]   --> src/util/md5.rs:86:45
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut input: [u32; 16] = unsafe { mem::MaybeUninit::uninit().assume_init() };
[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] [stdout] warning: the type `[u32; 16]` does not permit being left uninitialized
[INFO] [stdout]    --> src/util/md5.rs:121:45
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut input: [u32; 16] = unsafe { mem::MaybeUninit::uninit().assume_init() };
[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] [stdout] warning: the type `[u8; 16]` does not permit being left uninitialized
[INFO] [stdout]    --> src/util/md5.rs:139:45
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut digest: [u8; 16] = unsafe { mem::MaybeUninit::uninit().assume_init() };
[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] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.41s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bsonrs v0.2.4 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "f5f6656db72a921a6d4cf5ec57b39c8fcd7045264b67133842e21747c44ae4bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f5f6656db72a921a6d4cf5ec57b39c8fcd7045264b67133842e21747c44ae4bf", kill_on_drop: false }`
[INFO] [stdout] f5f6656db72a921a6d4cf5ec57b39c8fcd7045264b67133842e21747c44ae4bf
[INFO] checking bsonrs-0.2.4 against master#09bc67b9158392361780e779d32997f14cc75c39 for opaque-soundness-fix
[INFO] extracting crate bsonrs 0.2.4 into /workspace/builds/worker-4-tc2/source
[INFO] validating manifest of crates.io crate bsonrs 0.2.4 on toolchain 09bc67b9158392361780e779d32997f14cc75c39
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09bc67b9158392361780e779d32997f14cc75c39" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate bsonrs 0.2.4
[INFO] finished tweaking crates.io crate bsonrs 0.2.4
[INFO] tweaked toml for crates.io crate bsonrs 0.2.4 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09bc67b9158392361780e779d32997f14cc75c39" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09bc67b9158392361780e779d32997f14cc75c39" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+09bc67b9158392361780e779d32997f14cc75c39" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 250afde8855fc432f54de6e92fc6be2a2fb0a3766f1069697973a70b5ead52d2
[INFO] running `Command { std: "docker" "start" "-a" "250afde8855fc432f54de6e92fc6be2a2fb0a3766f1069697973a70b5ead52d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "250afde8855fc432f54de6e92fc6be2a2fb0a3766f1069697973a70b5ead52d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "250afde8855fc432f54de6e92fc6be2a2fb0a3766f1069697973a70b5ead52d2", kill_on_drop: false }`
[INFO] [stdout] 250afde8855fc432f54de6e92fc6be2a2fb0a3766f1069697973a70b5ead52d2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+09bc67b9158392361780e779d32997f14cc75c39" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a5e7dc4285f8557469c0e872716e59074a3893ed45dd98257fd6c1901f1a771e
[INFO] running `Command { std: "docker" "start" "-a" "a5e7dc4285f8557469c0e872716e59074a3893ed45dd98257fd6c1901f1a771e", kill_on_drop: false }`
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]     Checking serde_bytes v0.11.14
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]     Checking bsonrs v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]  --> src/value.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json;
[INFO] [stdout]   |     ^^^^^^^^^^ the item `serde_json` is already defined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:213:62
[INFO] [stdout]     |
[INFO] [stdout] 213 |           $crate::value::Value::Document($crate::doc!{$($tt)+});
[INFO] [stdout]     |                                                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value.rs:409:17
[INFO] [stdout]     |
[INFO] [stdout] 409 | /                 doc!{
[INFO] [stdout] 410 | |                     "$date": {
[INFO] [stdout] 411 | |                         "$numberLong": v.timestamp() * 1000 + i64::from(v.nanosecond()) / 1_000_000
[INFO] [stdout] 412 | |                     }
[INFO] [stdout] 413 | |                 }
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `$crate::bson` which comes from the expansion of the macro `doc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Extend` is imported redundantly
[INFO] [stdout]  --> src/doc.rs:4:31
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::iter::{FromIterator, Extend};
[INFO] [stdout]   |                               ^^^^^^
[INFO] [stdout]  --> /rustc/09bc67b9158392361780e779d32997f14cc75c39/library/std/src/prelude/mod.rs:115:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Extend` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `From` is imported redundantly
[INFO] [stdout]  --> src/util/md5.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/09bc67b9158392361780e779d32997f14cc75c39/library/std/src/prelude/mod.rs:115:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `From` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `libc` is imported redundantly
[INFO] [stdout]  --> src/object_id.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use libc;
[INFO] [stdout]   |     ^^^^ the item `libc` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `rand` is imported redundantly
[INFO] [stdout]  --> src/object_id.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::{self, Rng};
[INFO] [stdout]   |            ^^^^ the item `rand` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]  --> src/value.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json;
[INFO] [stdout]   |     ^^^^^^^^^^ the item `serde_json` is already defined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:213:62
[INFO] [stdout]     |
[INFO] [stdout] 213 |           $crate::value::Value::Document($crate::doc!{$($tt)+});
[INFO] [stdout]     |                                                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value.rs:409:17
[INFO] [stdout]     |
[INFO] [stdout] 409 | /                 doc!{
[INFO] [stdout] 410 | |                     "$date": {
[INFO] [stdout] 411 | |                         "$numberLong": v.timestamp() * 1000 + i64::from(v.nanosecond()) / 1_000_000
[INFO] [stdout] 412 | |                     }
[INFO] [stdout] 413 | |                 }
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `$crate::bson` which comes from the expansion of the macro `doc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Extend` is imported redundantly
[INFO] [stdout]  --> src/doc.rs:4:31
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::iter::{FromIterator, Extend};
[INFO] [stdout]   |                               ^^^^^^
[INFO] [stdout]  --> /rustc/09bc67b9158392361780e779d32997f14cc75c39/library/std/src/prelude/mod.rs:115:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Extend` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `From` is imported redundantly
[INFO] [stdout]  --> src/util/md5.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/09bc67b9158392361780e779d32997f14cc75c39/library/std/src/prelude/mod.rs:115:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `From` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `libc` is imported redundantly
[INFO] [stdout]  --> src/object_id.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use libc;
[INFO] [stdout]   |     ^^^^ the item `libc` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `rand` is imported redundantly
[INFO] [stdout]  --> src/object_id.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::{self, Rng};
[INFO] [stdout]   |            ^^^^ the item `rand` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_bytes` is imported redundantly
[INFO] [stdout]   --> src/lib.rs:18:6
[INFO] [stdout]    |
[INFO] [stdout] 18 |     use serde_bytes;
[INFO] [stdout]    |         ^^^^^^^^^^^ the item `serde_bytes` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/value.rs:454:47
[INFO] [stdout]     |
[INFO] [stdout] 454 |                 return Value::UTCDatetime(Utc.timestamp(long / 1000, ((long % 1000) * 1_000_000) as u32));
[INFO] [stdout]     |                                               ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/encode.rs:43:54
[INFO] [stdout]    |
[INFO] [stdout] 43 |             EncodeError::IoError(ref inner) => inner.description(),
[INFO] [stdout]    |                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/decode.rs:83:54
[INFO] [stdout]    |
[INFO] [stdout] 83 |             DecodeError::IoError(ref inner) => inner.description(),
[INFO] [stdout]    |                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/decode.rs:84:60
[INFO] [stdout]    |
[INFO] [stdout] 84 |             DecodeError::FromUtf8Error(ref inner) => inner.description(),
[INFO] [stdout]    |                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/value.rs:454:47
[INFO] [stdout]     |
[INFO] [stdout] 454 |                 return Value::UTCDatetime(Utc.timestamp(long / 1000, ((long % 1000) * 1_000_000) as u32));
[INFO] [stdout]     |                                               ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/encode.rs:43:54
[INFO] [stdout]    |
[INFO] [stdout] 43 |             EncodeError::IoError(ref inner) => inner.description(),
[INFO] [stdout]    |                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/decode.rs:83:54
[INFO] [stdout]    |
[INFO] [stdout] 83 |             DecodeError::IoError(ref inner) => inner.description(),
[INFO] [stdout]    |                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/decode.rs:84:60
[INFO] [stdout]    |
[INFO] [stdout] 84 |             DecodeError::FromUtf8Error(ref inner) => inner.description(),
[INFO] [stdout]    |                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/object_id.rs:276:49
[INFO] [stdout]     |
[INFO] [stdout] 276 |             Error::FromHexError(ref err) => err.description(),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/object_id.rs:277:44
[INFO] [stdout]     |
[INFO] [stdout] 277 |             Error::IoError(ref err) => err.description(),
[INFO] [stdout]     |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/object_id.rs:278:46
[INFO] [stdout]     |
[INFO] [stdout] 278 |             Error::RandError(ref err) => err.description()
[INFO] [stdout]     |                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/object_id.rs:276:49
[INFO] [stdout]     |
[INFO] [stdout] 276 |             Error::FromHexError(ref err) => err.description(),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/object_id.rs:277:44
[INFO] [stdout]     |
[INFO] [stdout] 277 |             Error::IoError(ref err) => err.description(),
[INFO] [stdout]     |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/object_id.rs:278:46
[INFO] [stdout]     |
[INFO] [stdout] 278 |             Error::RandError(ref err) => err.description()
[INFO] [stdout]     |                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_hex` is never used
[INFO] [stdout]  --> src/util/hex.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait ToHex {
[INFO] [stdout]   |           ----- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 7 |     fn write_hex<W: fmt::Write>(&self, w: &mut W) -> fmt::Result {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]   --> src/util/md5.rs:80:29
[INFO] [stdout]    |
[INFO] [stdout] 80 |             input: unsafe { mem::MaybeUninit::uninit().assume_init() },
[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 `[u32; 16]` does not permit being left uninitialized
[INFO] [stdout]   --> src/util/md5.rs:86:45
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut input: [u32; 16] = unsafe { mem::MaybeUninit::uninit().assume_init() };
[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] [stdout] warning: the type `[u32; 16]` does not permit being left uninitialized
[INFO] [stdout]    --> src/util/md5.rs:121:45
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut input: [u32; 16] = unsafe { mem::MaybeUninit::uninit().assume_init() };
[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] [stdout] warning: the type `[u8; 16]` does not permit being left uninitialized
[INFO] [stdout]    --> src/util/md5.rs:139:45
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut digest: [u8; 16] = unsafe { mem::MaybeUninit::uninit().assume_init() };
[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] [stdout] warning: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_hex` is never used
[INFO] [stdout]  --> src/util/hex.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait ToHex {
[INFO] [stdout]   |           ----- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 7 |     fn write_hex<W: fmt::Write>(&self, w: &mut W) -> fmt::Result {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]   --> src/util/md5.rs:80:29
[INFO] [stdout]    |
[INFO] [stdout] 80 |             input: unsafe { mem::MaybeUninit::uninit().assume_init() },
[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 `[u32; 16]` does not permit being left uninitialized
[INFO] [stdout]   --> src/util/md5.rs:86:45
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut input: [u32; 16] = unsafe { mem::MaybeUninit::uninit().assume_init() };
[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] [stdout] warning: the type `[u32; 16]` does not permit being left uninitialized
[INFO] [stdout]    --> src/util/md5.rs:121:45
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut input: [u32; 16] = unsafe { mem::MaybeUninit::uninit().assume_init() };
[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] [stdout] warning: the type `[u8; 16]` does not permit being left uninitialized
[INFO] [stdout]    --> src/util/md5.rs:139:45
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut digest: [u8; 16] = unsafe { mem::MaybeUninit::uninit().assume_init() };
[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] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.83s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bsonrs v0.2.4 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "a5e7dc4285f8557469c0e872716e59074a3893ed45dd98257fd6c1901f1a771e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a5e7dc4285f8557469c0e872716e59074a3893ed45dd98257fd6c1901f1a771e", kill_on_drop: false }`
[INFO] [stdout] a5e7dc4285f8557469c0e872716e59074a3893ed45dd98257fd6c1901f1a771e
