[INFO] fetching crate silkrust 0.0.3...
[INFO] testing silkrust-0.0.3 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate silkrust 0.0.3 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate silkrust 0.0.3
[INFO] finished tweaking crates.io crate silkrust 0.0.3
[INFO] tweaked toml for crates.io crate silkrust 0.0.3 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate silkrust 0.0.3 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 51 packages to latest compatible versions
[INFO] [stderr]       Adding bitfield-struct v0.5.6 (available: v0.12.1)
[INFO] [stderr]       Adding blowfish v0.8.0 (available: v0.9.1)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.9.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded queues v1.1.0
[INFO] [stderr]   Downloaded bitfield-struct v0.5.6
[INFO] [stderr]   Downloaded blowfish v0.8.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3b932f682baaa702279c74465bdd4c03a4fb88c64de35ba14dc7855ded69ef7d
[INFO] running `Command { std: "docker" "start" "-a" "3b932f682baaa702279c74465bdd4c03a4fb88c64de35ba14dc7855ded69ef7d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3b932f682baaa702279c74465bdd4c03a4fb88c64de35ba14dc7855ded69ef7d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3b932f682baaa702279c74465bdd4c03a4fb88c64de35ba14dc7855ded69ef7d", kill_on_drop: false }`
[INFO] [stdout] 3b932f682baaa702279c74465bdd4c03a4fb88c64de35ba14dc7855ded69ef7d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fd1f92bc92dbfabed9b4a8d8a5e50bec44efa44df1187115c8f7be2bd581e7f3
[INFO] running `Command { std: "docker" "start" "-a" "fd1f92bc92dbfabed9b4a8d8a5e50bec44efa44df1187115c8f7be2bd581e7f3", kill_on_drop: false }`
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling bitfield-struct v0.5.6
[INFO] [stderr]    Compiling queues v1.1.0
[INFO] [stderr]    Compiling cipher v0.3.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling blowfish v0.8.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling silkrust v0.0.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition name: `tests`
[INFO] [stdout]   --> src/net/message_buffer.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[cfg(tests)]
[INFO] [stdout]    |       ^^^^^ help: there is a config with a similar name: `test`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tests)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tests)");` to the top of the `build.rs`
[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: unused import: `crate::net::message::MessageDirection::Req`
[INFO] [stdout]  --> src/net/net_client.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::net::message::MessageDirection::Req;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::net::message::MessageKind::Framework`
[INFO] [stdout]  --> src/net/net_client.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::net::message::MessageKind::Framework;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/net/net_client.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{error, trace};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bswap`
[INFO] [stdout]   --> src/security/blowfish_compat.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[cfg(feature = "bswap")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `bswap` 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: unexpected `cfg` condition value: `bswap`
[INFO] [stdout]   --> src/security/blowfish_compat.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 |         #[cfg(feature = "bswap")]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `bswap` 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: unexpected `cfg` condition value: `bswap`
[INFO] [stdout]   --> src/security/blowfish_compat.rs:52:19
[INFO] [stdout]    |
[INFO] [stdout] 52 |         #[cfg(not(feature = "bswap"))]
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `bswap` 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 struct `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/security/blowfish_compat.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 |     generic_array::GenericArray,
[INFO] [stdout]    |                    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/security/blowfish_compat.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub type Block = GenericArray<u8, U8>;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/security/blowfish_compat.rs:72:18
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn new(key: &GenericArray<u8, U56>) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray::<T, N>::from_mut_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/security/security.rs:82:43
[INFO] [stdout]    |
[INFO] [stdout] 82 |             blowfish.encrypt_block(Block::from_mut_slice(data));
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray::<T, N>::from_mut_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/security/security.rs:95:47
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 blowfish.decrypt_block(Block::from_mut_slice(data));
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray::<T, N>::from_mut_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]    --> src/security/exchange.rs:106:39
[INFO] [stdout]     |
[INFO] [stdout] 106 |         blowfish.encrypt_block(Block::from_mut_slice(&mut signature));
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray::<T, N>::from_mut_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]    --> src/security/exchange.rs:118:39
[INFO] [stdout]     |
[INFO] [stdout] 118 |         blowfish.encrypt_block(Block::from_mut_slice(&mut signature));
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Buf`
[INFO] [stdout]  --> src/net/net_client.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use bytes::{Buf};
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `massive_buffer` is never read
[INFO] [stdout]   --> src/net/net_client.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct NetClient {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     massive_buffer: MassiveBuffer,
[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 `MassiveProcessor` is never constructed
[INFO] [stdout]  --> src/net/massive.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct MassiveProcessor {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header`, `count`, and `data` are never read
[INFO] [stdout]   --> src/net/massive.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) struct MassiveBuffer {
[INFO] [stdout]    |                   ------------- fields in this struct
[INFO] [stdout] 29 |     header: Option<MassiveHeader>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 30 |     count: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 31 |     data: BytesMut,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MassiveError` is never used
[INFO] [stdout]   --> src/net/massive.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) enum MassiveError {
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MassiveMessage` is never used
[INFO] [stdout]   --> src/net/massive.rs:47:6
[INFO] [stdout]    |
[INFO] [stdout] 47 | enum MassiveMessage {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `total_count` and `id` are never read
[INFO] [stdout]   --> src/net/massive.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct MassiveHeader {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 54 |     total_count: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 55 |     id: MessageId,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MassiveHeader` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MassiveBody` is never constructed
[INFO] [stdout]   --> src/net/massive.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct MassiveBody {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add`, `collect`, `reset`, `add_header`, and `add_body` are never used
[INFO] [stdout]    --> src/net/massive.rs:75:12
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl MassiveBuffer {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout]  75 |     pub fn add(&mut self, message: Message) -> Result<(), MassiveError> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn collect(&mut self) -> Option<Message> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn reset(&mut self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     fn add_header(&mut self, header: MassiveHeader) -> Result<(), MassiveError> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn add_body(&mut self, body: MassiveBody) -> Result<(), MassiveError> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inbound` is never read
[INFO] [stdout]   --> src/security/security.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct EncodingRequirements {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] 10 |     outbound: bool,
[INFO] [stdout] 11 |     inbound: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/net/net_connection.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn take(&mut self) -> Result<Option<Message>, PoisonError<MutexGuard<MessageQueue>>> {
[INFO] [stdout]    |                 ^^^^^^^^^ the lifetime is elided here             ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 78 |     pub fn take(&mut self) -> Result<Option<Message>, PoisonError<MutexGuard<'_, MessageQueue>>> {
[INFO] [stdout]    |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/net/net_connection.rs:82:16
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn put(&mut self, message: Message) -> Result<(), PoisonError<MutexGuard<MessageQueue>>> {
[INFO] [stdout]    |                ^^^^^^^^^ the lifetime is elided here                  ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 82 |     pub fn put(&mut self, message: Message) -> Result<(), PoisonError<MutexGuard<'_, MessageQueue>>> {
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.21s
[INFO] running `Command { std: "docker" "inspect" "fd1f92bc92dbfabed9b4a8d8a5e50bec44efa44df1187115c8f7be2bd581e7f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd1f92bc92dbfabed9b4a8d8a5e50bec44efa44df1187115c8f7be2bd581e7f3", kill_on_drop: false }`
[INFO] [stdout] fd1f92bc92dbfabed9b4a8d8a5e50bec44efa44df1187115c8f7be2bd581e7f3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cfe7ba16be0864692c3ed19508e02c464ff935fece00475205bc41bb9672c6c2
[INFO] running `Command { std: "docker" "start" "-a" "cfe7ba16be0864692c3ed19508e02c464ff935fece00475205bc41bb9672c6c2", kill_on_drop: false }`
[INFO] [stdout] warning: unexpected `cfg` condition name: `tests`
[INFO] [stdout]   --> src/net/message_buffer.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[cfg(tests)]
[INFO] [stdout]    |       ^^^^^ help: there is a config with a similar name: `test`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tests)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tests)");` to the top of the `build.rs`
[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: unused import: `crate::net::message::MessageDirection::Req`
[INFO] [stdout]  --> src/net/net_client.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::net::message::MessageDirection::Req;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::net::message::MessageKind::Framework`
[INFO] [stdout]  --> src/net/net_client.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::net::message::MessageKind::Framework;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/net/net_client.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{error, trace};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bswap`
[INFO] [stdout]   --> src/security/blowfish_compat.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[cfg(feature = "bswap")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `bswap` 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: unexpected `cfg` condition value: `bswap`
[INFO] [stdout]   --> src/security/blowfish_compat.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 |         #[cfg(feature = "bswap")]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `bswap` 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: unexpected `cfg` condition value: `bswap`
[INFO] [stdout]   --> src/security/blowfish_compat.rs:52:19
[INFO] [stdout]    |
[INFO] [stdout] 52 |         #[cfg(not(feature = "bswap"))]
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `bswap` 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 struct `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/security/blowfish_compat.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 |     generic_array::GenericArray,
[INFO] [stdout]    |                    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/security/blowfish_compat.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub type Block = GenericArray<u8, U8>;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/security/blowfish_compat.rs:72:18
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn new(key: &GenericArray<u8, U56>) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray::<T, N>::from_mut_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/security/security.rs:82:43
[INFO] [stdout]    |
[INFO] [stdout] 82 |             blowfish.encrypt_block(Block::from_mut_slice(data));
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray::<T, N>::from_mut_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/security/security.rs:95:47
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 blowfish.decrypt_block(Block::from_mut_slice(data));
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray::<T, N>::from_mut_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]    --> src/security/exchange.rs:106:39
[INFO] [stdout]     |
[INFO] [stdout] 106 |         blowfish.encrypt_block(Block::from_mut_slice(&mut signature));
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray::<T, N>::from_mut_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]    --> src/security/exchange.rs:118:39
[INFO] [stdout]     |
[INFO] [stdout] 118 |         blowfish.encrypt_block(Block::from_mut_slice(&mut signature));
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Buf`
[INFO] [stdout]  --> src/net/net_client.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use bytes::{Buf};
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `massive_buffer` is never read
[INFO] [stdout]   --> src/net/net_client.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct NetClient {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     massive_buffer: MassiveBuffer,
[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 `MassiveProcessor` is never constructed
[INFO] [stdout]  --> src/net/massive.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct MassiveProcessor {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header`, `count`, and `data` are never read
[INFO] [stdout]   --> src/net/massive.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) struct MassiveBuffer {
[INFO] [stdout]    |                   ------------- fields in this struct
[INFO] [stdout] 29 |     header: Option<MassiveHeader>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 30 |     count: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 31 |     data: BytesMut,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling silkrust v0.0.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: enum `MassiveError` is never used
[INFO] [stdout]   --> src/net/massive.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) enum MassiveError {
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MassiveMessage` is never used
[INFO] [stdout]   --> src/net/massive.rs:47:6
[INFO] [stdout]    |
[INFO] [stdout] 47 | enum MassiveMessage {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `total_count` and `id` are never read
[INFO] [stdout]   --> src/net/massive.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct MassiveHeader {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 54 |     total_count: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 55 |     id: MessageId,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MassiveHeader` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MassiveBody` is never constructed
[INFO] [stdout]   --> src/net/massive.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct MassiveBody {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add`, `collect`, `reset`, `add_header`, and `add_body` are never used
[INFO] [stdout]    --> src/net/massive.rs:75:12
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl MassiveBuffer {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout]  75 |     pub fn add(&mut self, message: Message) -> Result<(), MassiveError> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn collect(&mut self) -> Option<Message> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn reset(&mut self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     fn add_header(&mut self, header: MassiveHeader) -> Result<(), MassiveError> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn add_body(&mut self, body: MassiveBody) -> Result<(), MassiveError> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inbound` is never read
[INFO] [stdout]   --> src/security/security.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct EncodingRequirements {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] 10 |     outbound: bool,
[INFO] [stdout] 11 |     inbound: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/net/net_connection.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn take(&mut self) -> Result<Option<Message>, PoisonError<MutexGuard<MessageQueue>>> {
[INFO] [stdout]    |                 ^^^^^^^^^ the lifetime is elided here             ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 78 |     pub fn take(&mut self) -> Result<Option<Message>, PoisonError<MutexGuard<'_, MessageQueue>>> {
[INFO] [stdout]    |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/net/net_connection.rs:82:16
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn put(&mut self, message: Message) -> Result<(), PoisonError<MutexGuard<MessageQueue>>> {
[INFO] [stdout]    |                ^^^^^^^^^ the lifetime is elided here                  ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 82 |     pub fn put(&mut self, message: Message) -> Result<(), PoisonError<MutexGuard<'_, MessageQueue>>> {
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tests`
[INFO] [stdout]   --> src/net/message_buffer.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[cfg(tests)]
[INFO] [stdout]    |       ^^^^^ help: there is a config with a similar name: `test`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tests)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tests)");` to the top of the `build.rs`
[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: unused import: `crate::net::message::MessageDirection::Req`
[INFO] [stdout]  --> src/net/net_client.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::net::message::MessageDirection::Req;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::net::message::MessageKind::Framework`
[INFO] [stdout]  --> src/net/net_client.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::net::message::MessageKind::Framework;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/net/net_client.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{error, trace};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bswap`
[INFO] [stdout]   --> src/security/blowfish_compat.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[cfg(feature = "bswap")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `bswap` 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: unexpected `cfg` condition value: `bswap`
[INFO] [stdout]   --> src/security/blowfish_compat.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 |         #[cfg(feature = "bswap")]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `bswap` 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: unexpected `cfg` condition value: `bswap`
[INFO] [stdout]   --> src/security/blowfish_compat.rs:52:19
[INFO] [stdout]    |
[INFO] [stdout] 52 |         #[cfg(not(feature = "bswap"))]
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `bswap` 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 struct `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/security/blowfish_compat.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 |     generic_array::GenericArray,
[INFO] [stdout]    |                    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/security/blowfish_compat.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub type Block = GenericArray<u8, U8>;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/security/blowfish_compat.rs:72:18
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn new(key: &GenericArray<u8, U56>) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray::<T, N>::from_mut_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/security/security.rs:82:43
[INFO] [stdout]    |
[INFO] [stdout] 82 |             blowfish.encrypt_block(Block::from_mut_slice(data));
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray::<T, N>::from_mut_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/security/security.rs:95:47
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 blowfish.decrypt_block(Block::from_mut_slice(data));
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray::<T, N>::from_mut_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]    --> src/security/exchange.rs:106:39
[INFO] [stdout]     |
[INFO] [stdout] 106 |         blowfish.encrypt_block(Block::from_mut_slice(&mut signature));
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray::<T, N>::from_mut_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]    --> src/security/exchange.rs:118:39
[INFO] [stdout]     |
[INFO] [stdout] 118 |         blowfish.encrypt_block(Block::from_mut_slice(&mut signature));
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Buf`
[INFO] [stdout]  --> src/net/net_client.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use bytes::{Buf};
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `responder_private`
[INFO] [stdout]    --> src/security/exchange.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let responder_private: u32 = rand::random();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_responder_private`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `massive_buffer` is never read
[INFO] [stdout]   --> src/net/net_client.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct NetClient {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     massive_buffer: MassiveBuffer,
[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 `MassiveProcessor` is never constructed
[INFO] [stdout]  --> src/net/massive.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct MassiveProcessor {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header`, `count`, and `data` are never read
[INFO] [stdout]   --> src/net/massive.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) struct MassiveBuffer {
[INFO] [stdout]    |                   ------------- fields in this struct
[INFO] [stdout] 29 |     header: Option<MassiveHeader>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 30 |     count: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 31 |     data: BytesMut,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MassiveError` is never used
[INFO] [stdout]   --> src/net/massive.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) enum MassiveError {
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MassiveMessage` is never used
[INFO] [stdout]   --> src/net/massive.rs:47:6
[INFO] [stdout]    |
[INFO] [stdout] 47 | enum MassiveMessage {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `total_count` and `id` are never read
[INFO] [stdout]   --> src/net/massive.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct MassiveHeader {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 54 |     total_count: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 55 |     id: MessageId,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MassiveHeader` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MassiveBody` is never constructed
[INFO] [stdout]   --> src/net/massive.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct MassiveBody {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add`, `collect`, `reset`, `add_header`, and `add_body` are never used
[INFO] [stdout]    --> src/net/massive.rs:75:12
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl MassiveBuffer {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout]  75 |     pub fn add(&mut self, message: Message) -> Result<(), MassiveError> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn collect(&mut self) -> Option<Message> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn reset(&mut self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     fn add_header(&mut self, header: MassiveHeader) -> Result<(), MassiveError> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn add_body(&mut self, body: MassiveBody) -> Result<(), MassiveError> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inbound` is never read
[INFO] [stdout]   --> src/security/security.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct EncodingRequirements {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] 10 |     outbound: bool,
[INFO] [stdout] 11 |     inbound: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/net/net_connection.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn take(&mut self) -> Result<Option<Message>, PoisonError<MutexGuard<MessageQueue>>> {
[INFO] [stdout]    |                 ^^^^^^^^^ the lifetime is elided here             ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 78 |     pub fn take(&mut self) -> Result<Option<Message>, PoisonError<MutexGuard<'_, MessageQueue>>> {
[INFO] [stdout]    |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/net/net_connection.rs:82:16
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn put(&mut self, message: Message) -> Result<(), PoisonError<MutexGuard<MessageQueue>>> {
[INFO] [stdout]    |                ^^^^^^^^^ the lifetime is elided here                  ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 82 |     pub fn put(&mut self, message: Message) -> Result<(), PoisonError<MutexGuard<'_, MessageQueue>>> {
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.92s
[INFO] running `Command { std: "docker" "inspect" "cfe7ba16be0864692c3ed19508e02c464ff935fece00475205bc41bb9672c6c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cfe7ba16be0864692c3ed19508e02c464ff935fece00475205bc41bb9672c6c2", kill_on_drop: false }`
[INFO] [stdout] cfe7ba16be0864692c3ed19508e02c464ff935fece00475205bc41bb9672c6c2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 05e0cecd0d4aa6fb73764e4a986f54b66b596e91a24dd3386c581ef1edc6c136
[INFO] running `Command { std: "docker" "start" "-a" "05e0cecd0d4aa6fb73764e4a986f54b66b596e91a24dd3386c581ef1edc6c136", kill_on_drop: false }`
[INFO] [stderr] warning: unexpected `cfg` condition name: `tests`
[INFO] [stderr]   --> src/net/message_buffer.rs:87:7
[INFO] [stderr]    |
[INFO] [stderr] 87 | #[cfg(tests)]
[INFO] [stderr]    |       ^^^^^ help: there is a config with a similar name: `test`
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tests)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tests)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::net::message::MessageDirection::Req`
[INFO] [stderr]  --> src/net/net_client.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::net::message::MessageDirection::Req;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::net::message::MessageKind::Framework`
[INFO] [stderr]  --> src/net/net_client.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::net::message::MessageKind::Framework;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error`
[INFO] [stderr]  --> src/net/net_client.rs:8:11
[INFO] [stderr]   |
[INFO] [stderr] 8 | use log::{error, trace};
[INFO] [stderr]   |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `bswap`
[INFO] [stderr]   --> src/security/blowfish_compat.rs:23:7
[INFO] [stderr]    |
[INFO] [stderr] 23 | #[cfg(feature = "bswap")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = help: consider adding `bswap` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `bswap`
[INFO] [stderr]   --> src/security/blowfish_compat.rs:45:15
[INFO] [stderr]    |
[INFO] [stderr] 45 |         #[cfg(feature = "bswap")]
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = help: consider adding `bswap` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `bswap`
[INFO] [stderr]   --> src/security/blowfish_compat.rs:52:19
[INFO] [stderr]    |
[INFO] [stderr] 52 |         #[cfg(not(feature = "bswap"))]
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = help: consider adding `bswap` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated struct `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray`: please upgrade to generic-array 1.x
[INFO] [stderr]   --> src/security/blowfish_compat.rs:17:20
[INFO] [stderr]    |
[INFO] [stderr] 17 |     generic_array::GenericArray,
[INFO] [stderr]    |                    ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated struct `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray`: please upgrade to generic-array 1.x
[INFO] [stderr]   --> src/security/blowfish_compat.rs:60:18
[INFO] [stderr]    |
[INFO] [stderr] 60 | pub type Block = GenericArray<u8, U8>;
[INFO] [stderr]    |                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated struct `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray`: please upgrade to generic-array 1.x
[INFO] [stderr]   --> src/security/blowfish_compat.rs:72:18
[INFO] [stderr]    |
[INFO] [stderr] 72 |     fn new(key: &GenericArray<u8, U56>) -> Self {
[INFO] [stderr]    |                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray::<T, N>::from_mut_slice`: please upgrade to generic-array 1.x
[INFO] [stderr]   --> src/security/security.rs:82:43
[INFO] [stderr]    |
[INFO] [stderr] 82 |             blowfish.encrypt_block(Block::from_mut_slice(data));
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray::<T, N>::from_mut_slice`: please upgrade to generic-array 1.x
[INFO] [stderr]   --> src/security/security.rs:95:47
[INFO] [stderr]    |
[INFO] [stderr] 95 |                 blowfish.decrypt_block(Block::from_mut_slice(data));
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray::<T, N>::from_mut_slice`: please upgrade to generic-array 1.x
[INFO] [stderr]    --> src/security/exchange.rs:106:39
[INFO] [stderr]     |
[INFO] [stderr] 106 |         blowfish.encrypt_block(Block::from_mut_slice(&mut signature));
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `security::blowfish_compat::blowfish::cipher::generic_array::GenericArray::<T, N>::from_mut_slice`: please upgrade to generic-array 1.x
[INFO] [stderr]    --> src/security/exchange.rs:118:39
[INFO] [stderr]     |
[INFO] [stderr] 118 |         blowfish.encrypt_block(Block::from_mut_slice(&mut signature));
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Buf`
[INFO] [stderr]  --> src/net/net_client.rs:7:13
[INFO] [stderr]   |
[INFO] [stderr] 7 | use bytes::{Buf};
[INFO] [stderr]   |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `massive_buffer` is never read
[INFO] [stderr]   --> src/net/net_client.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub struct NetClient {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 59 |     massive_buffer: MassiveBuffer,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MassiveProcessor` is never constructed
[INFO] [stderr]  --> src/net/massive.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct MassiveProcessor {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `header`, `count`, and `data` are never read
[INFO] [stderr]   --> src/net/massive.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub(crate) struct MassiveBuffer {
[INFO] [stderr]    |                   ------------- fields in this struct
[INFO] [stderr] 29 |     header: Option<MassiveHeader>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 30 |     count: usize,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 31 |     data: BytesMut,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `MassiveError` is never used
[INFO] [stderr]   --> src/net/massive.rs:36:17
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub(crate) enum MassiveError {
[INFO] [stderr]    |                 ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `MassiveMessage` is never used
[INFO] [stderr]   --> src/net/massive.rs:47:6
[INFO] [stderr]    |
[INFO] [stderr] 47 | enum MassiveMessage {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `total_count` and `id` are never read
[INFO] [stderr]   --> src/net/massive.rs:54:5
[INFO] [stderr]    |
[INFO] [stderr] 53 | struct MassiveHeader {
[INFO] [stderr]    |        ------------- fields in this struct
[INFO] [stderr] 54 |     total_count: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 55 |     id: MessageId,
[INFO] [stderr]    |     ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `MassiveHeader` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MassiveBody` is never constructed
[INFO] [stderr]   --> src/net/massive.rs:57:8
[INFO] [stderr]    |
[INFO] [stderr] 57 | struct MassiveBody {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `add`, `collect`, `reset`, `add_header`, and `add_body` are never used
[INFO] [stderr]    --> src/net/massive.rs:75:12
[INFO] [stderr]     |
[INFO] [stderr]  74 | impl MassiveBuffer {
[INFO] [stderr]     | ------------------ methods in this implementation
[INFO] [stderr]  75 |     pub fn add(&mut self, message: Message) -> Result<(), MassiveError> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  85 |     pub fn collect(&mut self) -> Option<Message> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 103 |     fn reset(&mut self) {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 109 |     fn add_header(&mut self, header: MassiveHeader) -> Result<(), MassiveError> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 119 |     fn add_body(&mut self, body: MassiveBody) -> Result<(), MassiveError> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `inbound` is never read
[INFO] [stderr]   --> src/security/security.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub struct EncodingRequirements {
[INFO] [stderr]    |            -------------------- field in this struct
[INFO] [stderr] 10 |     outbound: bool,
[INFO] [stderr] 11 |     inbound: bool,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/net/net_connection.rs:78:17
[INFO] [stderr]    |
[INFO] [stderr] 78 |     pub fn take(&mut self) -> Result<Option<Message>, PoisonError<MutexGuard<MessageQueue>>> {
[INFO] [stderr]    |                 ^^^^^^^^^ the lifetime is elided here             ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 78 |     pub fn take(&mut self) -> Result<Option<Message>, PoisonError<MutexGuard<'_, MessageQueue>>> {
[INFO] [stderr]    |                                                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/net/net_connection.rs:82:16
[INFO] [stderr]    |
[INFO] [stderr] 82 |     pub fn put(&mut self, message: Message) -> Result<(), PoisonError<MutexGuard<MessageQueue>>> {
[INFO] [stderr]    |                ^^^^^^^^^ the lifetime is elided here                  ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 82 |     pub fn put(&mut self, message: Message) -> Result<(), PoisonError<MutexGuard<'_, MessageQueue>>> {
[INFO] [stderr]    |                                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `responder_private`
[INFO] [stderr]    --> src/security/exchange.rs:207:13
[INFO] [stderr]     |
[INFO] [stderr] 207 |         let responder_private: u32 = rand::random();
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_responder_private`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `silkrust` (lib) generated 26 warnings (run `cargo fix --lib -p silkrust` to apply 5 suggestions)
[INFO] [stderr] warning: `silkrust` (lib test) generated 27 warnings (26 duplicates) (run `cargo fix --lib -p silkrust --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/silkrust-f206450e67d98ddc)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test net::message::id::tests::back_and_forth_works ... ok
[INFO] [stdout] test security::sequencer::tests::compare_init_with_known_sequencer_impl ... ok
[INFO] [stdout] test security::sequencer::tests::compare_next_with_known_sequencer_impl ... ok
[INFO] [stdout] test security::exchange::tests::roundtrip ... ok
[INFO] [stdout] test security::sequencer::tests::compare_generate_value_with_known_sequencer_impl ... ok
[INFO] [stdout] test security::checksum::tests::compare_new_with_known_impl ... ok
[INFO] [stderr]    Doc-tests silkrust
[INFO] [stdout] test security::checksum::tests::compare_compute_with_known_impl ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/security/blowfish_compat.rs - security::blowfish_compat::reverse_words (line 33) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/security/blowfish_compat.rs - security::blowfish_compat::reverse_words (line 33) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `blowfish_compat`
[INFO] [stdout]   --> src/security/blowfish_compat.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use blowfish_compat::reverse_words;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `blowfish_compat`
[INFO] [stdout]    |
[INFO] [stdout] help: to make use of source file src/security/blowfish_compat.rs, use `mod blowfish_compat` in this file to declare the module
[INFO] [stdout]    |
[INFO] [stdout] 33 + mod blowfish_compat;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/security/blowfish_compat.rs - security::blowfish_compat::reverse_words (line 33)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "05e0cecd0d4aa6fb73764e4a986f54b66b596e91a24dd3386c581ef1edc6c136", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "05e0cecd0d4aa6fb73764e4a986f54b66b596e91a24dd3386c581ef1edc6c136", kill_on_drop: false }`
[INFO] [stdout] 05e0cecd0d4aa6fb73764e4a986f54b66b596e91a24dd3386c581ef1edc6c136
