[INFO] fetching crate silkrust 0.0.3...
[INFO] testing silkrust-0.0.3 against master#1ef7943ee607160a564655b6596f83670ef95df5 for pr-146098-6
[INFO] extracting crate silkrust 0.0.3 into /workspace/builds/worker-4-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-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate silkrust 0.0.3 on toolchain 1ef7943ee607160a564655b6596f83670ef95df5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "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" "+1ef7943ee607160a564655b6596f83670ef95df5" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 50 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" "+1ef7943ee607160a564655b6596f83670ef95df5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cipher v0.3.0
[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-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 55806ede0ffcb38b067cb4dec7368a3a7c1518eeeeb95189ba51b13c78116fe2
[INFO] running `Command { std: "docker" "start" "-a" "55806ede0ffcb38b067cb4dec7368a3a7c1518eeeeb95189ba51b13c78116fe2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "55806ede0ffcb38b067cb4dec7368a3a7c1518eeeeb95189ba51b13c78116fe2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "55806ede0ffcb38b067cb4dec7368a3a7c1518eeeeb95189ba51b13c78116fe2", kill_on_drop: false }`
[INFO] [stdout] 55806ede0ffcb38b067cb4dec7368a3a7c1518eeeeb95189ba51b13c78116fe2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 46c3c81cbaf8bdaeea5919c9de37b03dfbc96a44ca92811a0dfcefd1b595afce
[INFO] running `Command { std: "docker" "start" "-a" "46c3c81cbaf8bdaeea5919c9de37b03dfbc96a44ca92811a0dfcefd1b595afce", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling opaque-debug v0.3.1
[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 blowfish v0.8.0
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[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 17.70s
[INFO] running `Command { std: "docker" "inspect" "46c3c81cbaf8bdaeea5919c9de37b03dfbc96a44ca92811a0dfcefd1b595afce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "46c3c81cbaf8bdaeea5919c9de37b03dfbc96a44ca92811a0dfcefd1b595afce", kill_on_drop: false }`
[INFO] [stdout] 46c3c81cbaf8bdaeea5919c9de37b03dfbc96a44ca92811a0dfcefd1b595afce
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e15397e80b019b638e0d4d01dc7a5f9907698694627e02883cd614854e6e924a
[INFO] running `Command { std: "docker" "start" "-a" "e15397e80b019b638e0d4d01dc7a5f9907698694627e02883cd614854e6e924a", 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] [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] [stderr]    Compiling silkrust v0.0.3 (/opt/rustwide/workdir)
[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 1.54s
[INFO] running `Command { std: "docker" "inspect" "e15397e80b019b638e0d4d01dc7a5f9907698694627e02883cd614854e6e924a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e15397e80b019b638e0d4d01dc7a5f9907698694627e02883cd614854e6e924a", kill_on_drop: false }`
[INFO] [stdout] e15397e80b019b638e0d4d01dc7a5f9907698694627e02883cd614854e6e924a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9a6ae97b2e2a86b458f4267d37b9f48584a6dd8d231c74870188f82d043d60c5
[INFO] running `Command { std: "docker" "start" "-a" "9a6ae97b2e2a86b458f4267d37b9f48584a6dd8d231c74870188f82d043d60c5", 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.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/silkrust-ca2f6107d2d2b69e)
[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_generate_value_with_known_sequencer_impl ... ok
[INFO] [stdout] test security::exchange::tests::roundtrip ... ok
[INFO] [stdout] test security::sequencer::tests::compare_init_with_known_sequencer_impl ... ok
[INFO] [stdout] test security::checksum::tests::compare_new_with_known_impl ... ok
[INFO] [stdout] test security::sequencer::tests::compare_next_with_known_sequencer_impl ... ok
[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.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests silkrust
[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] 3 | 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] 2 + 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.10s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "9a6ae97b2e2a86b458f4267d37b9f48584a6dd8d231c74870188f82d043d60c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a6ae97b2e2a86b458f4267d37b9f48584a6dd8d231c74870188f82d043d60c5", kill_on_drop: false }`
[INFO] [stdout] 9a6ae97b2e2a86b458f4267d37b9f48584a6dd8d231c74870188f82d043d60c5
