[INFO] cloning repository https://github.com/my4ng/hermit
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/my4ng/hermit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmy4ng%2Fhermit", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmy4ng%2Fhermit'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8c64fca4f522cf710006d14c577013851174e17e
[INFO] building my4ng/hermit against try#d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 for pr-146237-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmy4ng%2Fhermit" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/my4ng/hermit
[INFO] finished tweaking git repo https://github.com/my4ng/hermit
[INFO] tweaked toml for git repo https://github.com/my4ng/hermit written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/my4ng/hermit on toolchain d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/my4ng/hermit already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 86d450c3a215b7593372a29de0eed44a5fd61ac369e73d4fa207056269abf7d4
[INFO] running `Command { std: "docker" "start" "-a" "86d450c3a215b7593372a29de0eed44a5fd61ac369e73d4fa207056269abf7d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "86d450c3a215b7593372a29de0eed44a5fd61ac369e73d4fa207056269abf7d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86d450c3a215b7593372a29de0eed44a5fd61ac369e73d4fa207056269abf7d4", kill_on_drop: false }`
[INFO] [stdout] 86d450c3a215b7593372a29de0eed44a5fd61ac369e73d4fa207056269abf7d4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ebb2957913e9b619551c1684aebbbe83f2528af06ec697bfb37a014d2072e88b
[INFO] running `Command { std: "docker" "start" "-a" "ebb2957913e9b619551c1684aebbbe83f2528af06ec697bfb37a014d2072e88b", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]    Compiling unicode-ident v1.0.11
[INFO] [stderr]    Compiling pin-project-lite v0.2.10
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling value-bag v1.4.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling futures-io v0.3.28
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]    Compiling parking v2.1.0
[INFO] [stderr]    Compiling waker-fn v1.1.0
[INFO] [stderr]    Compiling slab v0.4.8
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling polling v2.8.0
[INFO] [stderr]    Compiling rustix v0.37.23
[INFO] [stderr]    Compiling async-io v1.13.0
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]    Compiling async-lock v2.7.0
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling linux-raw-sys v0.3.8
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]    Compiling async-task v4.4.0
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling log v0.4.19
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling hashbrown v0.14.0
[INFO] [stderr]    Compiling serde v1.0.181
[INFO] [stderr]    Compiling atomic-waker v1.1.1
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling futures-sink v0.3.28
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]    Compiling tracing-core v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.181
[INFO] [stderr]    Compiling base64 v0.21.2
[INFO] [stderr]    Compiling winnow v0.5.3
[INFO] [stderr]    Compiling thiserror v1.0.44
[INFO] [stderr]    Compiling rustls v0.21.6
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling kv-log-macro v1.0.7
[INFO] [stderr]    Compiling tokio v1.29.1
[INFO] [stderr]    Compiling bytes v1.4.0
[INFO] [stderr]    Compiling ciborium-io v0.2.1
[INFO] [stderr]    Compiling anyhow v1.0.72
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling concurrent-queue v2.2.0
[INFO] [stderr]    Compiling rustls-pemfile v1.0.3
[INFO] [stderr]    Compiling half v1.8.2
[INFO] [stderr]    Compiling iana-time-zone v0.1.57
[INFO] [stderr]    Compiling async-trait v0.1.72
[INFO] [stderr]    Compiling quote v1.0.32
[INFO] [stderr]    Compiling indexmap v2.0.0
[INFO] [stderr]    Compiling async-channel v1.9.0
[INFO] [stderr]    Compiling rustls-native-certs v0.6.3
[INFO] [stderr]    Compiling syn v2.0.28
[INFO] [stderr]    Compiling blocking v1.3.1
[INFO] [stderr]    Compiling async-executor v1.5.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.1
[INFO] [stderr]    Compiling cc v1.0.81
[INFO] [stderr]    Compiling getrandom v0.2.10
[INFO] [stderr]    Compiling socket2 v0.4.9
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling socket2 v0.5.3
[INFO] [stderr]    Compiling toml_edit v0.19.14
[INFO] [stderr]    Compiling mio v0.8.8
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling chrono v0.4.26
[INFO] [stderr]    Compiling niceware v1.0.0
[INFO] [stderr]    Compiling ciborium v0.2.1
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling darling_core v0.20.3
[INFO] [stderr]    Compiling async-global-executor v2.3.1
[INFO] [stderr]    Compiling async-attributes v1.1.2
[INFO] [stderr]    Compiling async-std v1.12.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.26
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling thiserror-impl v1.0.44
[INFO] [stderr]    Compiling num_enum_derive v0.6.1
[INFO] [stderr]    Compiling darling_macro v0.20.3
[INFO] [stderr]    Compiling darling v0.20.3
[INFO] [stderr]    Compiling serde_with_macros v3.1.0
[INFO] [stderr]    Compiling num_enum v0.6.1
[INFO] [stderr]    Compiling sct v0.7.0
[INFO] [stderr]    Compiling rustls-webpki v0.101.2
[INFO] [stderr]    Compiling tracing v0.1.37
[INFO] [stderr]    Compiling serde_with v3.1.0
[INFO] [stderr]    Compiling quinn-udp v0.4.0
[INFO] [stderr]    Compiling futures-executor v0.3.28
[INFO] [stderr]    Compiling futures v0.3.28
[INFO] [stderr]    Compiling hermit v0.1.0 (/opt/rustwide/workdir/hermit)
[INFO] [stderr]    Compiling quinn-proto v0.10.2
[INFO] [stderr]    Compiling quinn v0.10.2
[INFO] [stderr]    Compiling hermit-lib v0.1.0 (/opt/rustwide/workdir/hermit-lib)
[INFO] [stdout] warning: unused import: `MessageHeader`
[INFO] [stdout]  --> hermit-lib/src/proto/message/mod.rs:4:46
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub(crate) use crate::proto::plain::header::{MessageHeader, PlainMessageType};
[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: `SecureMessageType`
[INFO] [stdout]  --> hermit-lib/src/proto/message/mod.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) use crate::proto::secure::message::{SecureMessageType, TAG_LEN};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::proto::secure::transfer`
[INFO] [stdout]   --> hermit-lib/src/proto/message/mod.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) use crate::proto::secure::transfer;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> hermit-lib/src/client/mod.rs:129:39
[INFO] [stdout]     |
[INFO] [stdout] 129 |     async fn receive_resource_request(mut self) -> Result<Client<ReceiveResourceRequested>, Error> {
[INFO] [stdout]     |                                       ----^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> hermit-lib/src/client/mod.rs:125:36
[INFO] [stdout]     |
[INFO] [stdout] 125 |     async fn send_resource_request(mut self) -> Result<Client<SendResourceRequested>, Error> {
[INFO] [stdout]     |                                    ----^^^^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `state` and `conf` are never read
[INFO] [stdout]   --> hermit-lib/src/client/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Client<T: State> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 16 |     state: T,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |     conf: Config,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `connect` are never used
[INFO] [stdout]   --> hermit-lib/src/client/mod.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Client<NoConnection> {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 21 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn connect(self, stream: BaseStream) -> Client<InsecureConnection> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `client_hello` is never used
[INFO] [stdout]   --> hermit-lib/src/client/mod.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Client<InsecureConnection> {
[INFO] [stdout]    | ------------------------------- method in this implementation
[INFO] [stdout] 37 |     async fn client_hello(mut self) -> Result<Client<HandshakingConnection>, (Self, Error)> {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `server_hello` is never used
[INFO] [stdout]   --> hermit-lib/src/client/mod.rs:76:14
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl Client<HandshakingConnection> {
[INFO] [stdout]    | ---------------------------------- method in this implementation
[INFO] [stdout] 76 |     async fn server_hello(
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_resource_request` and `receive_resource_request` are never used
[INFO] [stdout]    --> hermit-lib/src/client/mod.rs:125:14
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl Client<UpgradedConnection> {
[INFO] [stdout]     | ------------------------------- methods in this implementation
[INFO] [stdout] 125 |     async fn send_resource_request(mut self) -> Result<Client<SendResourceRequested>, Error> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     async fn receive_resource_request(mut self) -> Result<Client<ReceiveResourceRequested>, Error> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `downgrade` is never used
[INFO] [stdout]    --> hermit-lib/src/client/mod.rs:135:14
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl<S: PlainState, T: SecureState<DowngradeState = S>> Client<T> {
[INFO] [stdout]     | ----------------------------------------------------------------- method in this implementation
[INFO] [stdout] 135 |     async fn downgrade(mut self) -> Result<Client<S>, Error> {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `disconnect`, `request_len_limit`, `request_len_limit_responded`, and `respond_len_limit` are never used
[INFO] [stdout]    --> hermit-lib/src/client/mod.rs:149:14
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl<T: PlainState> Client<T> {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] 149 |     async fn disconnect(mut self) -> Result<Client<NoConnection>, Error> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     async fn request_len_limit(&mut self, len_limit: usize) -> Result<(), Error> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     async fn request_len_limit_responded(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     async fn respond_len_limit(&mut self, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `plain_msg_type` and `version` are never used
[INFO] [stdout]   --> hermit-lib/src/proto/plain/header.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl MessageHeader {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub(super) fn plain_msg_type(&self) -> PlainMessageType {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub(super) fn version(&self) -> ProtocolVersion {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `try_new` and `len_limit` are never used
[INFO] [stdout]   --> hermit-lib/src/proto/plain/len_limit.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl AdjustLenLimitRequest {
[INFO] [stdout]    | -------------------------- associated items in this implementation
[INFO] [stdout] 13 |     pub(crate) fn try_new(len_limit: usize) -> Option<Self> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub(crate) fn len_limit(self) -> usize {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `has_accepted` are never used
[INFO] [stdout]   --> hermit-lib/src/proto/plain/len_limit.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl AdjustLenLimitResponse {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] 37 |     pub fn new(has_accepted: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn has_accepted(self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_len_limit` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/plain/stream.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait Plain {
[INFO] [stdout]    |           ----- method in this trait
[INFO] [stdout] 11 |     fn set_len_limit(&mut self, len_limit: usize);
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_check` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/plain/stream.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl PlainStream {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn send_check(&self, msg: &Message) -> Result<(), error::InvalidMessageError> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Tcp` and `Quic` are never constructed
[INFO] [stdout]   --> hermit-lib/src/proto/stream/mod.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum BaseStream {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 49 |     Tcp(TcpStream),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 50 |     Quic(QuicStream),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/secrets.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl NonceSequence {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 13 |     pub(crate) fn new(base: &[u8; aead::NONCE_LEN]) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pseudorandom_key` is never read
[INFO] [stdout]   --> hermit-lib/src/crypto/secrets.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct SessionSecrets {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 39 |     // NOTE: kept for potential key generations
[INFO] [stdout] 40 |     pseudorandom_key: hkdf::Prk,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `pseudorandom_key` are never used
[INFO] [stdout]   --> hermit-lib/src/crypto/secrets.rs:46:19
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl SessionSecrets {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 46 |     pub(super) fn new(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub(crate) fn pseudorandom_key(&self) -> &hkdf::Prk {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Side` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/mod.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) enum Side {
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_LEN_LIMIT` is never used
[INFO] [stdout]  --> hermit-lib/src/proto/message/mod.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub(crate) const MAX_LEN_LIMIT: usize = (1 << 15) - 1;
[INFO] [stdout]   |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ServerSigPubKey` is never constructed
[INFO] [stdout]  --> hermit-lib/src/client/server.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct ServerSigPubKey(signature::UnparsedPublicKey<Box<[u8]>>);
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> hermit-lib/src/client/server.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl ServerSigPubKey {
[INFO] [stdout]   | -------------------- associated function in this implementation
[INFO] [stdout] 6 |     pub fn new<T: Into<Box<[u8]>>>(sig_pub_key: T) -> ServerSigPubKey {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nonce` and `private_key` are never read
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:31:16
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub(super) struct HandshakeContext {
[INFO] [stdout]    |                   ---------------- fields in this struct
[INFO] [stdout] 31 |     pub(super) nonce: [u8; NONCE_LEN],
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 32 |     pub(super) private_key: ring::agreement::EphemeralPrivateKey,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(super) struct HandshakingConnection(
[INFO] [stdout]    |                   --------------------- field in this struct
[INFO] [stdout] 36 |     PlainStream,
[INFO] [stdout] 37 |     Option<HandshakeContext>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `context`, and `failed` are never used
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl HandshakingConnection {
[INFO] [stdout]    | -------------------------- associated items in this implementation
[INFO] [stdout] 41 |     pub(super) fn new(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub(super) fn context(
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub(super) fn failed(self) -> InsecureConnection {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:61:19
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl UpgradedConnection {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 61 |     pub(super) fn new(state: HandshakingConnection, session_secrets: SessionSecrets) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SendResourceRequested` is never constructed
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:66:19
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub(super) struct SendResourceRequested(SecureStream);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReceiveResourceRequested` is never constructed
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub(super) struct ReceiveResourceRequested(SecureStream);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIGNED_CONTENT_LEN` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) const SIGNED_CONTENT_LEN: usize = 2 * NONCE_LEN + X25519_PUBLIC_KEY_LEN;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AEAD_KEY_LEN` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) const AEAD_KEY_LEN: usize = 16;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `SYSTEM_RANDOM` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | static SYSTEM_RANDOM: OnceLock<rand::SystemRandom> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SecureMessageHeader` is never constructed
[INFO] [stdout]  --> hermit-lib/src/proto/secure/header.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) struct SecureMessageHeader {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `upgrade` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/secure/stream.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait Secure: Plain {
[INFO] [stdout]    |           ------ associated function in this trait
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn upgrade(stream: Self::PlainType, secrets: Self::SessionSecrets) -> Self;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/secure/stream.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl SecureStream {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 29 |     pub(crate) fn new(stream: PlainStream, session_secrets: secrets::SessionSecrets) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> hermit-lib/src/proto/secure/buffer.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl ReadBuffer {
[INFO] [stdout]   | --------------- associated function in this implementation
[INFO] [stdout] 9 |     pub(super) fn new() -> Self {
[INFO] [stdout]   |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/secure/buffer.rs:58:19
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl WriteBuffer {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 58 |     pub(super) fn new() -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_nonce` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) async fn generate_nonce() -> Result<[u8; NONCE_LEN], error::CryptoError> {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_ephemeral_key_pair` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(crate) fn generate_ephemeral_key_pair(
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_signature_key_pair` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub(crate) fn generate_signature_key_pair() -> Result<signature::Ed25519KeyPair, error::CryptoError>
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_server_hello` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:48:15
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(crate) fn verify_server_hello(
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_pseudorandom_key` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn generate_pseudorandom_key(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_master_key` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn generate_master_key(prk: &hkdf::Prk, sender: &'static [u8]) -> aead::UnboundKey {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_nonce_base` is never used
[INFO] [stdout]    --> hermit-lib/src/crypto/mod.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn generate_nonce_base(nonces: &[u8; 2 * NONCE_LEN]) -> [u8; aead::NONCE_LEN] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_session_secrets` is never used
[INFO] [stdout]    --> hermit-lib/src/crypto/mod.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub(crate) async fn generate_session_secrets(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ReceiverControl` is never used
[INFO] [stdout]  --> hermit-lib/src/proto/secure/transfer.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(crate) enum ReceiverControl {
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SendResourceRequest` is never constructed
[INFO] [stdout]   --> hermit-lib/src/proto/secure/transfer.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct SendResourceRequest {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResourceId` is never constructed
[INFO] [stdout]   --> hermit-lib/src/proto/secure/transfer.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct ResourceId(Vec<u8>);
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SendResourceResponse` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/secure/transfer.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub(crate) enum SendResourceResponse {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReceiveResourceRequest` is never constructed
[INFO] [stdout]   --> hermit-lib/src/proto/secure/transfer.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(crate) struct ReceiveResourceRequest {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ReceiveResourceResponse` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/secure/transfer.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub(crate) enum ReceiveResourceResponse {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Header` is never constructed
[INFO] [stdout]   --> hermit-lib/src/proto/secure/message.rs:26:29
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub(in crate::proto) struct Header {
[INFO] [stdout]    |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Secure` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/secure/message.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(in crate::proto) trait Secure:
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requested_len_limit` is never read
[INFO] [stdout]  --> hermit-lib/src/client/config.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub(super) struct Config {
[INFO] [stdout]   |                   ------ field in this struct
[INFO] [stdout] 3 |     pub(super) requested_len_limit: Option<usize>,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Config` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 47.37s
[INFO] running `Command { std: "docker" "inspect" "ebb2957913e9b619551c1684aebbbe83f2528af06ec697bfb37a014d2072e88b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebb2957913e9b619551c1684aebbbe83f2528af06ec697bfb37a014d2072e88b", kill_on_drop: false }`
[INFO] [stdout] ebb2957913e9b619551c1684aebbbe83f2528af06ec697bfb37a014d2072e88b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 965feec7d724745431439220d17ae1090b67a14cac16b29f958af549e8e127ac
[INFO] running `Command { std: "docker" "start" "-a" "965feec7d724745431439220d17ae1090b67a14cac16b29f958af549e8e127ac", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.15
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling rustix v0.38.6
[INFO] [stderr]    Compiling rayon-core v1.11.0
[INFO] [stderr]    Compiling serde_json v1.0.104
[INFO] [stderr]    Compiling crossbeam-channel v0.5.8
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling regex-syntax v0.7.4
[INFO] [stderr]    Compiling bitflags v2.3.3
[INFO] [stderr]    Compiling clap_lex v0.5.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.5
[INFO] [stderr]    Compiling anstyle v1.0.1
[INFO] [stderr]    Compiling ryu v1.0.15
[INFO] [stderr]    Compiling plotters-backend v0.3.5
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling plotters-svg v0.3.5
[INFO] [stderr]    Compiling walkdir v2.3.3
[INFO] [stderr]    Compiling clap_builder v4.3.19
[INFO] [stderr]    Compiling oorandom v11.1.3
[INFO] [stderr]    Compiling plotters v0.3.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stdout] warning: unused import: `MessageHeader`
[INFO] [stdout]  --> hermit-lib/src/proto/message/mod.rs:4:46
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub(crate) use crate::proto::plain::header::{MessageHeader, PlainMessageType};
[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: `SecureMessageType`
[INFO] [stdout]  --> hermit-lib/src/proto/message/mod.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) use crate::proto::secure::message::{SecureMessageType, TAG_LEN};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::proto::secure::transfer`
[INFO] [stdout]   --> hermit-lib/src/proto/message/mod.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) use crate::proto::secure::transfer;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> hermit-lib/src/client/mod.rs:129:39
[INFO] [stdout]     |
[INFO] [stdout] 129 |     async fn receive_resource_request(mut self) -> Result<Client<ReceiveResourceRequested>, Error> {
[INFO] [stdout]     |                                       ----^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> hermit-lib/src/client/mod.rs:125:36
[INFO] [stdout]     |
[INFO] [stdout] 125 |     async fn send_resource_request(mut self) -> Result<Client<SendResourceRequested>, Error> {
[INFO] [stdout]     |                                    ----^^^^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `state` and `conf` are never read
[INFO] [stdout]   --> hermit-lib/src/client/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Client<T: State> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 16 |     state: T,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |     conf: Config,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `connect` are never used
[INFO] [stdout]   --> hermit-lib/src/client/mod.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Client<NoConnection> {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 21 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn connect(self, stream: BaseStream) -> Client<InsecureConnection> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `client_hello` is never used
[INFO] [stdout]   --> hermit-lib/src/client/mod.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Client<InsecureConnection> {
[INFO] [stdout]    | ------------------------------- method in this implementation
[INFO] [stdout] 37 |     async fn client_hello(mut self) -> Result<Client<HandshakingConnection>, (Self, Error)> {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `server_hello` is never used
[INFO] [stdout]   --> hermit-lib/src/client/mod.rs:76:14
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl Client<HandshakingConnection> {
[INFO] [stdout]    | ---------------------------------- method in this implementation
[INFO] [stdout] 76 |     async fn server_hello(
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_resource_request` and `receive_resource_request` are never used
[INFO] [stdout]    --> hermit-lib/src/client/mod.rs:125:14
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl Client<UpgradedConnection> {
[INFO] [stdout]     | ------------------------------- methods in this implementation
[INFO] [stdout] 125 |     async fn send_resource_request(mut self) -> Result<Client<SendResourceRequested>, Error> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     async fn receive_resource_request(mut self) -> Result<Client<ReceiveResourceRequested>, Error> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `downgrade` is never used
[INFO] [stdout]    --> hermit-lib/src/client/mod.rs:135:14
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl<S: PlainState, T: SecureState<DowngradeState = S>> Client<T> {
[INFO] [stdout]     | ----------------------------------------------------------------- method in this implementation
[INFO] [stdout] 135 |     async fn downgrade(mut self) -> Result<Client<S>, Error> {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `disconnect`, `request_len_limit`, `request_len_limit_responded`, and `respond_len_limit` are never used
[INFO] [stdout]    --> hermit-lib/src/client/mod.rs:149:14
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl<T: PlainState> Client<T> {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] 149 |     async fn disconnect(mut self) -> Result<Client<NoConnection>, Error> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     async fn request_len_limit(&mut self, len_limit: usize) -> Result<(), Error> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     async fn request_len_limit_responded(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     async fn respond_len_limit(&mut self, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `plain_msg_type` and `version` are never used
[INFO] [stdout]   --> hermit-lib/src/proto/plain/header.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl MessageHeader {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub(super) fn plain_msg_type(&self) -> PlainMessageType {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub(super) fn version(&self) -> ProtocolVersion {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `try_new` and `len_limit` are never used
[INFO] [stdout]   --> hermit-lib/src/proto/plain/len_limit.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl AdjustLenLimitRequest {
[INFO] [stdout]    | -------------------------- associated items in this implementation
[INFO] [stdout] 13 |     pub(crate) fn try_new(len_limit: usize) -> Option<Self> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub(crate) fn len_limit(self) -> usize {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `has_accepted` are never used
[INFO] [stdout]   --> hermit-lib/src/proto/plain/len_limit.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl AdjustLenLimitResponse {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] 37 |     pub fn new(has_accepted: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn has_accepted(self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_len_limit` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/plain/stream.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait Plain {
[INFO] [stdout]    |           ----- method in this trait
[INFO] [stdout] 11 |     fn set_len_limit(&mut self, len_limit: usize);
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_check` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/plain/stream.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl PlainStream {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn send_check(&self, msg: &Message) -> Result<(), error::InvalidMessageError> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Tcp` and `Quic` are never constructed
[INFO] [stdout]   --> hermit-lib/src/proto/stream/mod.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum BaseStream {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 49 |     Tcp(TcpStream),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 50 |     Quic(QuicStream),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/secrets.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl NonceSequence {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 13 |     pub(crate) fn new(base: &[u8; aead::NONCE_LEN]) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pseudorandom_key` is never read
[INFO] [stdout]   --> hermit-lib/src/crypto/secrets.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct SessionSecrets {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 39 |     // NOTE: kept for potential key generations
[INFO] [stdout] 40 |     pseudorandom_key: hkdf::Prk,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `pseudorandom_key` are never used
[INFO] [stdout]   --> hermit-lib/src/crypto/secrets.rs:46:19
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl SessionSecrets {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 46 |     pub(super) fn new(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub(crate) fn pseudorandom_key(&self) -> &hkdf::Prk {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Side` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/mod.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) enum Side {
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_LEN_LIMIT` is never used
[INFO] [stdout]  --> hermit-lib/src/proto/message/mod.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub(crate) const MAX_LEN_LIMIT: usize = (1 << 15) - 1;
[INFO] [stdout]   |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ServerSigPubKey` is never constructed
[INFO] [stdout]  --> hermit-lib/src/client/server.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct ServerSigPubKey(signature::UnparsedPublicKey<Box<[u8]>>);
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> hermit-lib/src/client/server.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl ServerSigPubKey {
[INFO] [stdout]   | -------------------- associated function in this implementation
[INFO] [stdout] 6 |     pub fn new<T: Into<Box<[u8]>>>(sig_pub_key: T) -> ServerSigPubKey {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nonce` and `private_key` are never read
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:31:16
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub(super) struct HandshakeContext {
[INFO] [stdout]    |                   ---------------- fields in this struct
[INFO] [stdout] 31 |     pub(super) nonce: [u8; NONCE_LEN],
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 32 |     pub(super) private_key: ring::agreement::EphemeralPrivateKey,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(super) struct HandshakingConnection(
[INFO] [stdout]    |                   --------------------- field in this struct
[INFO] [stdout] 36 |     PlainStream,
[INFO] [stdout] 37 |     Option<HandshakeContext>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `context`, and `failed` are never used
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl HandshakingConnection {
[INFO] [stdout]    | -------------------------- associated items in this implementation
[INFO] [stdout] 41 |     pub(super) fn new(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub(super) fn context(
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub(super) fn failed(self) -> InsecureConnection {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:61:19
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl UpgradedConnection {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 61 |     pub(super) fn new(state: HandshakingConnection, session_secrets: SessionSecrets) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SendResourceRequested` is never constructed
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:66:19
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub(super) struct SendResourceRequested(SecureStream);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReceiveResourceRequested` is never constructed
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub(super) struct ReceiveResourceRequested(SecureStream);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIGNED_CONTENT_LEN` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) const SIGNED_CONTENT_LEN: usize = 2 * NONCE_LEN + X25519_PUBLIC_KEY_LEN;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AEAD_KEY_LEN` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) const AEAD_KEY_LEN: usize = 16;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `SYSTEM_RANDOM` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | static SYSTEM_RANDOM: OnceLock<rand::SystemRandom> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SecureMessageHeader` is never constructed
[INFO] [stdout]  --> hermit-lib/src/proto/secure/header.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) struct SecureMessageHeader {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `upgrade` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/secure/stream.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait Secure: Plain {
[INFO] [stdout]    |           ------ associated function in this trait
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn upgrade(stream: Self::PlainType, secrets: Self::SessionSecrets) -> Self;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/secure/stream.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl SecureStream {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 29 |     pub(crate) fn new(stream: PlainStream, session_secrets: secrets::SessionSecrets) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> hermit-lib/src/proto/secure/buffer.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl ReadBuffer {
[INFO] [stdout]   | --------------- associated function in this implementation
[INFO] [stdout] 9 |     pub(super) fn new() -> Self {
[INFO] [stdout]   |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/secure/buffer.rs:58:19
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl WriteBuffer {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 58 |     pub(super) fn new() -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling hermit v0.1.0 (/opt/rustwide/workdir/hermit)
[INFO] [stdout] warning: function `generate_nonce` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) async fn generate_nonce() -> Result<[u8; NONCE_LEN], error::CryptoError> {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_ephemeral_key_pair` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(crate) fn generate_ephemeral_key_pair(
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_signature_key_pair` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub(crate) fn generate_signature_key_pair() -> Result<signature::Ed25519KeyPair, error::CryptoError>
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_server_hello` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:48:15
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(crate) fn verify_server_hello(
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_pseudorandom_key` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn generate_pseudorandom_key(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_master_key` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/mod.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn generate_master_key(prk: &hkdf::Prk, sender: &'static [u8]) -> aead::UnboundKey {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_nonce_base` is never used
[INFO] [stdout]    --> hermit-lib/src/crypto/mod.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn generate_nonce_base(nonces: &[u8; 2 * NONCE_LEN]) -> [u8; aead::NONCE_LEN] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_session_secrets` is never used
[INFO] [stdout]    --> hermit-lib/src/crypto/mod.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub(crate) async fn generate_session_secrets(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ReceiverControl` is never used
[INFO] [stdout]  --> hermit-lib/src/proto/secure/transfer.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(crate) enum ReceiverControl {
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SendResourceRequest` is never constructed
[INFO] [stdout]   --> hermit-lib/src/proto/secure/transfer.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct SendResourceRequest {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResourceId` is never constructed
[INFO] [stdout]   --> hermit-lib/src/proto/secure/transfer.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct ResourceId(Vec<u8>);
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SendResourceResponse` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/secure/transfer.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub(crate) enum SendResourceResponse {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReceiveResourceRequest` is never constructed
[INFO] [stdout]   --> hermit-lib/src/proto/secure/transfer.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(crate) struct ReceiveResourceRequest {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ReceiveResourceResponse` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/secure/transfer.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub(crate) enum ReceiveResourceResponse {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Header` is never constructed
[INFO] [stdout]   --> hermit-lib/src/proto/secure/message.rs:26:29
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub(in crate::proto) struct Header {
[INFO] [stdout]    |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Secure` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/secure/message.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(in crate::proto) trait Secure:
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requested_len_limit` is never read
[INFO] [stdout]  --> hermit-lib/src/client/config.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub(super) struct Config {
[INFO] [stdout]   |                   ------ field in this struct
[INFO] [stdout] 3 |     pub(super) requested_len_limit: Option<usize>,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Config` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling crossbeam-deque v0.8.3
[INFO] [stderr]    Compiling regex-automata v0.3.4
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling is-terminal v0.4.9
[INFO] [stderr]    Compiling rayon v1.7.0
[INFO] [stderr]    Compiling regex v1.9.1
[INFO] [stderr]    Compiling clap v4.3.19
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling hermit-lib v0.1.0 (/opt/rustwide/workdir/hermit-lib)
[INFO] [stdout] warning: unused import: `MessageHeader`
[INFO] [stdout]  --> hermit-lib/src/proto/message/mod.rs:4:46
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub(crate) use crate::proto::plain::header::{MessageHeader, PlainMessageType};
[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: `SecureMessageType`
[INFO] [stdout]  --> hermit-lib/src/proto/message/mod.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) use crate::proto::secure::message::{SecureMessageType, TAG_LEN};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::proto::secure::transfer`
[INFO] [stdout]   --> hermit-lib/src/proto/message/mod.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) use crate::proto::secure::transfer;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> hermit-lib/src/client/mod.rs:129:39
[INFO] [stdout]     |
[INFO] [stdout] 129 |     async fn receive_resource_request(mut self) -> Result<Client<ReceiveResourceRequested>, Error> {
[INFO] [stdout]     |                                       ----^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> hermit-lib/src/client/mod.rs:125:36
[INFO] [stdout]     |
[INFO] [stdout] 125 |     async fn send_resource_request(mut self) -> Result<Client<SendResourceRequested>, Error> {
[INFO] [stdout]     |                                    ----^^^^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]    --> hermit-lib/src/client/mod.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |         let client = Client::new().connect(BaseStream::Tcp(tcp_stream));
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]   --> hermit-lib/src/client/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Client<T: State> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 16 |     state: T,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `client_hello` is never used
[INFO] [stdout]   --> hermit-lib/src/client/mod.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Client<InsecureConnection> {
[INFO] [stdout]    | ------------------------------- method in this implementation
[INFO] [stdout] 37 |     async fn client_hello(mut self) -> Result<Client<HandshakingConnection>, (Self, Error)> {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `server_hello` is never used
[INFO] [stdout]   --> hermit-lib/src/client/mod.rs:76:14
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl Client<HandshakingConnection> {
[INFO] [stdout]    | ---------------------------------- method in this implementation
[INFO] [stdout] 76 |     async fn server_hello(
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_resource_request` and `receive_resource_request` are never used
[INFO] [stdout]    --> hermit-lib/src/client/mod.rs:125:14
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl Client<UpgradedConnection> {
[INFO] [stdout]     | ------------------------------- methods in this implementation
[INFO] [stdout] 125 |     async fn send_resource_request(mut self) -> Result<Client<SendResourceRequested>, Error> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     async fn receive_resource_request(mut self) -> Result<Client<ReceiveResourceRequested>, Error> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `downgrade` is never used
[INFO] [stdout]    --> hermit-lib/src/client/mod.rs:135:14
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl<S: PlainState, T: SecureState<DowngradeState = S>> Client<T> {
[INFO] [stdout]     | ----------------------------------------------------------------- method in this implementation
[INFO] [stdout] 135 |     async fn downgrade(mut self) -> Result<Client<S>, Error> {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `disconnect`, `request_len_limit`, `request_len_limit_responded`, and `respond_len_limit` are never used
[INFO] [stdout]    --> hermit-lib/src/client/mod.rs:149:14
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl<T: PlainState> Client<T> {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] 149 |     async fn disconnect(mut self) -> Result<Client<NoConnection>, Error> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     async fn request_len_limit(&mut self, len_limit: usize) -> Result<(), Error> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     async fn request_len_limit_responded(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     async fn respond_len_limit(&mut self, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requested_len_limit` is never read
[INFO] [stdout]  --> hermit-lib/src/client/config.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub(super) struct Config {
[INFO] [stdout]   |                   ------ field in this struct
[INFO] [stdout] 3 |     pub(super) requested_len_limit: Option<usize>,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Config` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ServerSigPubKey` is never constructed
[INFO] [stdout]  --> hermit-lib/src/client/server.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct ServerSigPubKey(signature::UnparsedPublicKey<Box<[u8]>>);
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> hermit-lib/src/client/server.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl ServerSigPubKey {
[INFO] [stdout]   | -------------------- associated function in this implementation
[INFO] [stdout] 6 |     pub fn new<T: Into<Box<[u8]>>>(sig_pub_key: T) -> ServerSigPubKey {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nonce` and `private_key` are never read
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:31:16
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub(super) struct HandshakeContext {
[INFO] [stdout]    |                   ---------------- fields in this struct
[INFO] [stdout] 31 |     pub(super) nonce: [u8; NONCE_LEN],
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 32 |     pub(super) private_key: ring::agreement::EphemeralPrivateKey,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(super) struct HandshakingConnection(
[INFO] [stdout]    |                   --------------------- field in this struct
[INFO] [stdout] 36 |     PlainStream,
[INFO] [stdout] 37 |     Option<HandshakeContext>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `context`, and `failed` are never used
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl HandshakingConnection {
[INFO] [stdout]    | -------------------------- associated items in this implementation
[INFO] [stdout] 41 |     pub(super) fn new(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub(super) fn context(
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub(super) fn failed(self) -> InsecureConnection {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:61:19
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl UpgradedConnection {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 61 |     pub(super) fn new(state: HandshakingConnection, session_secrets: SessionSecrets) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SendResourceRequested` is never constructed
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:66:19
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub(super) struct SendResourceRequested(SecureStream);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReceiveResourceRequested` is never constructed
[INFO] [stdout]   --> hermit-lib/src/client/state.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub(super) struct ReceiveResourceRequested(SecureStream);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pseudorandom_key` is never read
[INFO] [stdout]   --> hermit-lib/src/crypto/secrets.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct SessionSecrets {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 39 |     // NOTE: kept for potential key generations
[INFO] [stdout] 40 |     pseudorandom_key: hkdf::Prk,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `pseudorandom_key` is never used
[INFO] [stdout]   --> hermit-lib/src/crypto/secrets.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl SessionSecrets {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub(crate) fn pseudorandom_key(&self) -> &hkdf::Prk {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `plain_msg_type` and `version` are never used
[INFO] [stdout]   --> hermit-lib/src/proto/plain/header.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl MessageHeader {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub(super) fn plain_msg_type(&self) -> PlainMessageType {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub(super) fn version(&self) -> ProtocolVersion {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `try_new` and `len_limit` are never used
[INFO] [stdout]   --> hermit-lib/src/proto/plain/len_limit.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl AdjustLenLimitRequest {
[INFO] [stdout]    | -------------------------- associated items in this implementation
[INFO] [stdout] 13 |     pub(crate) fn try_new(len_limit: usize) -> Option<Self> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub(crate) fn len_limit(self) -> usize {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `has_accepted` are never used
[INFO] [stdout]   --> hermit-lib/src/proto/plain/len_limit.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl AdjustLenLimitResponse {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] 37 |     pub fn new(has_accepted: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn has_accepted(self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_len_limit` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/plain/stream.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait Plain {
[INFO] [stdout]    |           ----- method in this trait
[INFO] [stdout] 11 |     fn set_len_limit(&mut self, len_limit: usize);
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_check` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/plain/stream.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl PlainStream {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn send_check(&self, msg: &Message) -> Result<(), error::InvalidMessageError> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SecureMessageHeader` is never constructed
[INFO] [stdout]  --> hermit-lib/src/proto/secure/header.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) struct SecureMessageHeader {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Header` is never constructed
[INFO] [stdout]   --> hermit-lib/src/proto/secure/message.rs:26:29
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub(in crate::proto) struct Header {
[INFO] [stdout]    |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `upgrade` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/secure/stream.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait Secure: Plain {
[INFO] [stdout]    |           ------ associated function in this trait
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn upgrade(stream: Self::PlainType, secrets: Self::SessionSecrets) -> Self;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResourceId` is never constructed
[INFO] [stdout]   --> hermit-lib/src/proto/secure/transfer.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct ResourceId(Vec<u8>);
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SendResourceResponse` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/secure/transfer.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub(crate) enum SendResourceResponse {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReceiveResourceRequest` is never constructed
[INFO] [stdout]   --> hermit-lib/src/proto/secure/transfer.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(crate) struct ReceiveResourceRequest {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ReceiveResourceResponse` is never used
[INFO] [stdout]   --> hermit-lib/src/proto/secure/transfer.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub(crate) enum ReceiveResourceResponse {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Quic` is never constructed
[INFO] [stdout]   --> hermit-lib/src/proto/stream/mod.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum BaseStream {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 49 |     Tcp(TcpStream),
[INFO] [stdout] 50 |     Quic(QuicStream),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_LEN_LIMIT` is never used
[INFO] [stdout]  --> hermit-lib/src/proto/message/mod.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub(crate) const MAX_LEN_LIMIT: usize = (1 << 15) - 1;
[INFO] [stdout]   |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 24.89s
[INFO] running `Command { std: "docker" "inspect" "965feec7d724745431439220d17ae1090b67a14cac16b29f958af549e8e127ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "965feec7d724745431439220d17ae1090b67a14cac16b29f958af549e8e127ac", kill_on_drop: false }`
[INFO] [stdout] 965feec7d724745431439220d17ae1090b67a14cac16b29f958af549e8e127ac
