[INFO] fetching crate shaman 0.1.0...
[INFO] testing shaman-0.1.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-8
[INFO] extracting crate shaman 0.1.0 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate shaman 0.1.0
[INFO] finished tweaking crates.io crate shaman 0.1.0
[INFO] tweaked toml for crates.io crate shaman 0.1.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate shaman 0.1.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 17 packages to latest compatible versions
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "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-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1147823280b165bba027a94baf3ba56faf3a69996d82414562ea89dd451521af
[INFO] running `Command { std: "docker" "start" "-a" "1147823280b165bba027a94baf3ba56faf3a69996d82414562ea89dd451521af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1147823280b165bba027a94baf3ba56faf3a69996d82414562ea89dd451521af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1147823280b165bba027a94baf3ba56faf3a69996d82414562ea89dd451521af", kill_on_drop: false }`
[INFO] [stdout] 1147823280b165bba027a94baf3ba56faf3a69996d82414562ea89dd451521af
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 13e4b7b4539df368eca1c4035d71499131f29c8d829187a56165c2d374ad4ce9
[INFO] running `Command { std: "docker" "start" "-a" "13e4b7b4539df368eca1c4035d71499131f29c8d829187a56165c2d374ad4ce9", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rustc-serialize v0.3.25
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling shaman v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/cryptoutil.rs:47:18
[INFO] [stdout]    |
[INFO] [stdout] 47 |         for _ in (0..input.len()) {
[INFO] [stdout]    |                  ^              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 47 -         for _ in (0..input.len()) {
[INFO] [stdout] 47 +         for _ in 0..input.len() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/cryptoutil.rs:99:18
[INFO] [stdout]    |
[INFO] [stdout] 99 |         for _ in (0..dst.len()) {
[INFO] [stdout]    |                  ^            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 99 -         for _ in (0..dst.len()) {
[INFO] [stdout] 99 +         for _ in 0..dst.len() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/cryptoutil.rs:115:18
[INFO] [stdout]     |
[INFO] [stdout] 115 |         for _ in (0..dst.len()) {
[INFO] [stdout]     |                  ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 115 -         for _ in (0..dst.len()) {
[INFO] [stdout] 115 +         for _ in 0..dst.len() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/cryptoutil.rs:131:18
[INFO] [stdout]     |
[INFO] [stdout] 131 |         for _ in (0..dst.len()) {
[INFO] [stdout]     |                  ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 131 -         for _ in (0..dst.len()) {
[INFO] [stdout] 131 +         for _ in 0..dst.len() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/cryptoutil.rs:147:18
[INFO] [stdout]     |
[INFO] [stdout] 147 |         for _ in (0..dst.len()) {
[INFO] [stdout]     |                  ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 147 -         for _ in (0..dst.len()) {
[INFO] [stdout] 147 +         for _ in 0..dst.len() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/cryptoutil.rs:186:14
[INFO] [stdout]     |
[INFO] [stdout] 186 |     for i in (0isize..plaintext.len() as isize) {
[INFO] [stdout]     |              ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 186 -     for i in (0isize..plaintext.len() as isize) {
[INFO] [stdout] 186 +     for i in 0isize..plaintext.len() as isize {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `with-bench`
[INFO] [stdout]    --> src/sha1.rs:534:17
[INFO] [stdout]     |
[INFO] [stdout] 534 | #[cfg(all(test, feature = "with-bench"))]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `with-bench` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `with-bench`
[INFO] [stdout]     --> src/sha2.rs:1403:17
[INFO] [stdout]      |
[INFO] [stdout] 1403 | #[cfg(all(test, feature = "with-bench"))]
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `with-bench` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/cryptoutil.rs:100:37
[INFO] [stdout]     |
[INFO] [stdout] 100 |             let mut tmp: u64 = mem::uninitialized();
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/cryptoutil.rs:116:37
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let mut tmp: u64 = 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/cryptoutil.rs:132:37
[INFO] [stdout]     |
[INFO] [stdout] 132 |             let mut tmp: u32 = 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/cryptoutil.rs:148:37
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let mut tmp: u32 = 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/cryptoutil.rs:161:33
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let mut tmp: u32 = 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/cryptoutil.rs:171:33
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let mut tmp: u32 = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/symmetriccipher.rs:51:38
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl SynchronousStreamCipher for Box<SynchronousStreamCipher + 'static> {
[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] 51 | impl SynchronousStreamCipher for Box<dyn SynchronousStreamCipher + 'static> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/symmetriccipher.rs:58:24
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Encryptor for Box<SynchronousStreamCipher + 'static> {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Encryptor for Box<dyn SynchronousStreamCipher + 'static> {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/symmetriccipher.rs:65:24
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl Decryptor for Box<SynchronousStreamCipher + 'static> {
[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] 65 | impl Decryptor for Box<dyn SynchronousStreamCipher + 'static> {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SimdExt` is never used
[INFO] [stdout]  --> src/simd.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub trait SimdExt {
[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 `StepUp` is never constructed
[INFO] [stdout]   --> src/step_by.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct StepUp<T> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RangeExt` is never used
[INFO] [stdout]   --> src/step_by.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub trait RangeExt<T> {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BlockEncryptor` is never used
[INFO] [stdout]   --> src/symmetriccipher.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait BlockEncryptor {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BlockEncryptorX8` is never used
[INFO] [stdout]   --> src/symmetriccipher.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait BlockEncryptorX8 {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BlockDecryptor` is never used
[INFO] [stdout]   --> src/symmetriccipher.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait BlockDecryptor {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BlockDecryptorX8` is never used
[INFO] [stdout]   --> src/symmetriccipher.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub trait BlockDecryptorX8 {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Encryptor` is never used
[INFO] [stdout]   --> src/symmetriccipher.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub trait Encryptor {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Decryptor` is never used
[INFO] [stdout]   --> src/symmetriccipher.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub trait Decryptor {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/buffer.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn peek_read_buffer(&mut self) -> RefReadBuffer;
[INFO] [stdout]    |                         ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn peek_read_buffer(&mut self) -> RefReadBuffer<'_>;
[INFO] [stdout]    |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/buffer.rs:63:25
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn take_read_buffer(&mut self) -> RefReadBuffer;
[INFO] [stdout]    |                         ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn take_read_buffer(&mut self) -> RefReadBuffer<'_>;
[INFO] [stdout]    |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/buffer.rs:72:22
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(buff: &[u8]) -> RefReadBuffer {
[INFO] [stdout]    |                      ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(buff: &[u8]) -> RefReadBuffer<'_> {
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:126:32
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn borrow_write_buffer(&mut self) -> BorrowedWriteBuffer {
[INFO] [stdout]     |                                ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn borrow_write_buffer(&mut self) -> BorrowedWriteBuffer<'_> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:159:22
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn new(buff: &mut [u8]) -> RefWriteBuffer {
[INFO] [stdout]     |                      ^^^^^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn new(buff: &mut [u8]) -> RefWriteBuffer<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:178:25
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fn peek_read_buffer(&mut self) -> RefReadBuffer {
[INFO] [stdout]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fn peek_read_buffer(&mut self) -> RefReadBuffer<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:187:25
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn take_read_buffer(&mut self) -> RefReadBuffer {
[INFO] [stdout]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn take_read_buffer(&mut self) -> RefReadBuffer<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:201:20
[INFO] [stdout]     |
[INFO] [stdout] 201 |     fn new(parent: &mut OwnedReadBuffer) -> BorrowedWriteBuffer {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 201 |     fn new(parent: &mut OwnedReadBuffer) -> BorrowedWriteBuffer<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:226:25
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn peek_read_buffer(&mut self) -> RefReadBuffer {
[INFO] [stdout]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn peek_read_buffer(&mut self) -> RefReadBuffer<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:236:25
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn take_read_buffer(&mut self) -> RefReadBuffer {
[INFO] [stdout]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn take_read_buffer(&mut self) -> RefReadBuffer<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/cryptoutil.rs:100:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |             let mut tmp: u64 = 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 `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/cryptoutil.rs:116:32
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let mut tmp: u64 = 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] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/cryptoutil.rs:132:32
[INFO] [stdout]     |
[INFO] [stdout] 132 |             let mut tmp: u32 = 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] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/cryptoutil.rs:148:32
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let mut tmp: u32 = 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] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/cryptoutil.rs:161:28
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let mut tmp: u32 = 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] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/cryptoutil.rs:171:28
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let mut tmp: u32 = 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 6.05s
[INFO] running `Command { std: "docker" "inspect" "13e4b7b4539df368eca1c4035d71499131f29c8d829187a56165c2d374ad4ce9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "13e4b7b4539df368eca1c4035d71499131f29c8d829187a56165c2d374ad4ce9", kill_on_drop: false }`
[INFO] [stdout] 13e4b7b4539df368eca1c4035d71499131f29c8d829187a56165c2d374ad4ce9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7bae232f68f92cc1e960c2dcd830781d1b93eabdeae38cc4958954f792f0fdae
[INFO] running `Command { std: "docker" "start" "-a" "7bae232f68f92cc1e960c2dcd830781d1b93eabdeae38cc4958954f792f0fdae", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/cryptoutil.rs:47:18
[INFO] [stdout]    |
[INFO] [stdout] 47 |         for _ in (0..input.len()) {
[INFO] [stdout]    |                  ^              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 47 -         for _ in (0..input.len()) {
[INFO] [stdout] 47 +         for _ in 0..input.len() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/cryptoutil.rs:99:18
[INFO] [stdout]    |
[INFO] [stdout] 99 |         for _ in (0..dst.len()) {
[INFO] [stdout]    |                  ^            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 99 -         for _ in (0..dst.len()) {
[INFO] [stdout] 99 +         for _ in 0..dst.len() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/cryptoutil.rs:115:18
[INFO] [stdout]     |
[INFO] [stdout] 115 |         for _ in (0..dst.len()) {
[INFO] [stdout]     |                  ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 115 -         for _ in (0..dst.len()) {
[INFO] [stdout] 115 +         for _ in 0..dst.len() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/cryptoutil.rs:131:18
[INFO] [stdout]     |
[INFO] [stdout] 131 |         for _ in (0..dst.len()) {
[INFO] [stdout]     |                  ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 131 -         for _ in (0..dst.len()) {
[INFO] [stdout] 131 +         for _ in 0..dst.len() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/cryptoutil.rs:147:18
[INFO] [stdout]     |
[INFO] [stdout] 147 |         for _ in (0..dst.len()) {
[INFO] [stdout]     |                  ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 147 -         for _ in (0..dst.len()) {
[INFO] [stdout] 147 +         for _ in 0..dst.len() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/cryptoutil.rs:186:14
[INFO] [stdout]     |
[INFO] [stdout] 186 |     for i in (0isize..plaintext.len() as isize) {
[INFO] [stdout]     |              ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 186 -     for i in (0isize..plaintext.len() as isize) {
[INFO] [stdout] 186 +     for i in 0isize..plaintext.len() as isize {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `with-bench`
[INFO] [stdout]    --> src/sha1.rs:534:17
[INFO] [stdout]     |
[INFO] [stdout] 534 | #[cfg(all(test, feature = "with-bench"))]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `with-bench` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `with-bench`
[INFO] [stdout]     --> src/sha2.rs:1403:17
[INFO] [stdout]      |
[INFO] [stdout] 1403 | #[cfg(all(test, feature = "with-bench"))]
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `with-bench` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/cryptoutil.rs:100:37
[INFO] [stdout]     |
[INFO] [stdout] 100 |             let mut tmp: u64 = mem::uninitialized();
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/cryptoutil.rs:116:37
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let mut tmp: u64 = 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/cryptoutil.rs:132:37
[INFO] [stdout]     |
[INFO] [stdout] 132 |             let mut tmp: u32 = 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/cryptoutil.rs:148:37
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let mut tmp: u32 = 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/cryptoutil.rs:161:33
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let mut tmp: u32 = 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/cryptoutil.rs:171:33
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let mut tmp: u32 = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/symmetriccipher.rs:51:38
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl SynchronousStreamCipher for Box<SynchronousStreamCipher + 'static> {
[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] 51 | impl SynchronousStreamCipher for Box<dyn SynchronousStreamCipher + 'static> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/symmetriccipher.rs:58:24
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Encryptor for Box<SynchronousStreamCipher + 'static> {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Encryptor for Box<dyn SynchronousStreamCipher + 'static> {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/symmetriccipher.rs:65:24
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl Decryptor for Box<SynchronousStreamCipher + 'static> {
[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] 65 | impl Decryptor for Box<dyn SynchronousStreamCipher + 'static> {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SimdExt` is never used
[INFO] [stdout]  --> src/simd.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub trait SimdExt {
[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 `StepUp` is never constructed
[INFO] [stdout]   --> src/step_by.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct StepUp<T> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RangeExt` is never used
[INFO] [stdout]   --> src/step_by.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub trait RangeExt<T> {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BlockEncryptor` is never used
[INFO] [stdout]   --> src/symmetriccipher.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait BlockEncryptor {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BlockEncryptorX8` is never used
[INFO] [stdout]   --> src/symmetriccipher.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait BlockEncryptorX8 {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BlockDecryptor` is never used
[INFO] [stdout]   --> src/symmetriccipher.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait BlockDecryptor {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BlockDecryptorX8` is never used
[INFO] [stdout]   --> src/symmetriccipher.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub trait BlockDecryptorX8 {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Encryptor` is never used
[INFO] [stdout]   --> src/symmetriccipher.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub trait Encryptor {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Decryptor` is never used
[INFO] [stdout]   --> src/symmetriccipher.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub trait Decryptor {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/buffer.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn peek_read_buffer(&mut self) -> RefReadBuffer;
[INFO] [stdout]    |                         ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn peek_read_buffer(&mut self) -> RefReadBuffer<'_>;
[INFO] [stdout]    |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/buffer.rs:63:25
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn take_read_buffer(&mut self) -> RefReadBuffer;
[INFO] [stdout]    |                         ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn take_read_buffer(&mut self) -> RefReadBuffer<'_>;
[INFO] [stdout]    |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/buffer.rs:72:22
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(buff: &[u8]) -> RefReadBuffer {
[INFO] [stdout]    |                      ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn new(buff: &[u8]) -> RefReadBuffer<'_> {
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:126:32
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn borrow_write_buffer(&mut self) -> BorrowedWriteBuffer {
[INFO] [stdout]     |                                ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn borrow_write_buffer(&mut self) -> BorrowedWriteBuffer<'_> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:159:22
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn new(buff: &mut [u8]) -> RefWriteBuffer {
[INFO] [stdout]     |                      ^^^^^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn new(buff: &mut [u8]) -> RefWriteBuffer<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:178:25
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fn peek_read_buffer(&mut self) -> RefReadBuffer {
[INFO] [stdout]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fn peek_read_buffer(&mut self) -> RefReadBuffer<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:187:25
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn take_read_buffer(&mut self) -> RefReadBuffer {
[INFO] [stdout]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn take_read_buffer(&mut self) -> RefReadBuffer<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:201:20
[INFO] [stdout]     |
[INFO] [stdout] 201 |     fn new(parent: &mut OwnedReadBuffer) -> BorrowedWriteBuffer {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 201 |     fn new(parent: &mut OwnedReadBuffer) -> BorrowedWriteBuffer<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:226:25
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn peek_read_buffer(&mut self) -> RefReadBuffer {
[INFO] [stdout]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn peek_read_buffer(&mut self) -> RefReadBuffer<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:236:25
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn take_read_buffer(&mut self) -> RefReadBuffer {
[INFO] [stdout]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn take_read_buffer(&mut self) -> RefReadBuffer<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/cryptoutil.rs:100:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |             let mut tmp: u64 = 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 `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/cryptoutil.rs:116:32
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let mut tmp: u64 = 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] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/cryptoutil.rs:132:32
[INFO] [stdout]     |
[INFO] [stdout] 132 |             let mut tmp: u32 = 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] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/cryptoutil.rs:148:32
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let mut tmp: u32 = 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] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/cryptoutil.rs:161:28
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let mut tmp: u32 = 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] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/cryptoutil.rs:171:28
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let mut tmp: u32 = 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 shaman v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `rand::IsaacRng`
[INFO] [stdout]    --> src/cryptoutil.rs:513:9
[INFO] [stdout]     |
[INFO] [stdout] 513 |     use rand::IsaacRng;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ no `IsaacRng` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rand::distributions`
[INFO] [stdout]    --> src/cryptoutil.rs:514:15
[INFO] [stdout]     |
[INFO] [stdout] 514 |     use rand::distributions::{IndependentSample, Range};
[INFO] [stdout]     |               ^^^^^^^^^^^^^ could not find `distributions` in `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/cryptoutil.rs:47:18
[INFO] [stdout]    |
[INFO] [stdout] 47 |         for _ in (0..input.len()) {
[INFO] [stdout]    |                  ^              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 47 -         for _ in (0..input.len()) {
[INFO] [stdout] 47 +         for _ in 0..input.len() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/cryptoutil.rs:99:18
[INFO] [stdout]    |
[INFO] [stdout] 99 |         for _ in (0..dst.len()) {
[INFO] [stdout]    |                  ^            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 99 -         for _ in (0..dst.len()) {
[INFO] [stdout] 99 +         for _ in 0..dst.len() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/cryptoutil.rs:115:18
[INFO] [stdout]     |
[INFO] [stdout] 115 |         for _ in (0..dst.len()) {
[INFO] [stdout]     |                  ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 115 -         for _ in (0..dst.len()) {
[INFO] [stdout] 115 +         for _ in 0..dst.len() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/cryptoutil.rs:131:18
[INFO] [stdout]     |
[INFO] [stdout] 131 |         for _ in (0..dst.len()) {
[INFO] [stdout]     |                  ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 131 -         for _ in (0..dst.len()) {
[INFO] [stdout] 131 +         for _ in 0..dst.len() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/cryptoutil.rs:147:18
[INFO] [stdout]     |
[INFO] [stdout] 147 |         for _ in (0..dst.len()) {
[INFO] [stdout]     |                  ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 147 -         for _ in (0..dst.len()) {
[INFO] [stdout] 147 +         for _ in 0..dst.len() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/cryptoutil.rs:186:14
[INFO] [stdout]     |
[INFO] [stdout] 186 |     for i in (0isize..plaintext.len() as isize) {
[INFO] [stdout]     |              ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 186 -     for i in (0isize..plaintext.len() as isize) {
[INFO] [stdout] 186 +     for i in 0isize..plaintext.len() as isize {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `with-bench`
[INFO] [stdout]    --> src/sha1.rs:534:17
[INFO] [stdout]     |
[INFO] [stdout] 534 | #[cfg(all(test, feature = "with-bench"))]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `with-bench` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `with-bench`
[INFO] [stdout]     --> src/sha2.rs:1403:17
[INFO] [stdout]      |
[INFO] [stdout] 1403 | #[cfg(all(test, feature = "with-bench"))]
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `with-bench` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/cryptoutil.rs:100:37
[INFO] [stdout]     |
[INFO] [stdout] 100 |             let mut tmp: u64 = mem::uninitialized();
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/cryptoutil.rs:116:37
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let mut tmp: u64 = 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/cryptoutil.rs:132:37
[INFO] [stdout]     |
[INFO] [stdout] 132 |             let mut tmp: u32 = 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/cryptoutil.rs:148:37
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let mut tmp: u32 = 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/cryptoutil.rs:161:33
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let mut tmp: u32 = 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/cryptoutil.rs:171:33
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let mut tmp: u32 = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/symmetriccipher.rs:51:38
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl SynchronousStreamCipher for Box<SynchronousStreamCipher + 'static> {
[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] 51 | impl SynchronousStreamCipher for Box<dyn SynchronousStreamCipher + 'static> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/symmetriccipher.rs:58:24
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Encryptor for Box<SynchronousStreamCipher + 'static> {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Encryptor for Box<dyn SynchronousStreamCipher + 'static> {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/symmetriccipher.rs:65:24
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl Decryptor for Box<SynchronousStreamCipher + 'static> {
[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] 65 | impl Decryptor for Box<dyn SynchronousStreamCipher + 'static> {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `shaman` (lib test) due to 2 previous errors; 17 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "7bae232f68f92cc1e960c2dcd830781d1b93eabdeae38cc4958954f792f0fdae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7bae232f68f92cc1e960c2dcd830781d1b93eabdeae38cc4958954f792f0fdae", kill_on_drop: false }`
[INFO] [stdout] 7bae232f68f92cc1e960c2dcd830781d1b93eabdeae38cc4958954f792f0fdae
