[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 master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmy4ng%2Fhermit" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/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-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/my4ng/hermit on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "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] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded darling v0.20.3 [INFO] [stderr] Downloaded darling_macro v0.20.3 [INFO] [stderr] Downloaded serde_with_macros v3.1.0 [INFO] [stderr] Downloaded socket2 v0.5.3 [INFO] [stderr] Downloaded quinn-udp v0.4.0 [INFO] [stderr] Downloaded darling_core v0.20.3 [INFO] [stderr] Downloaded ciborium-ll v0.2.1 [INFO] [stderr] Downloaded async-executor v1.5.1 [INFO] [stderr] Downloaded anyhow v1.0.72 [INFO] [stderr] Downloaded ciborium-io v0.2.1 [INFO] [stderr] Downloaded clap_builder v4.3.19 [INFO] [stderr] Downloaded rayon-core v1.11.0 [INFO] [stderr] Downloaded winnow v0.5.3 [INFO] [stderr] Downloaded rustix v0.38.6 [INFO] [stderr] Downloaded clap v4.3.19 [INFO] [stderr] Downloaded plotters v0.3.5 [INFO] [stderr] Downloaded regex-automata v0.3.4 [INFO] [stderr] Downloaded rayon v1.7.0 [INFO] [stderr] Downloaded toml_edit v0.19.14 [INFO] [stderr] Downloaded async-task v4.4.0 [INFO] [stderr] Downloaded niceware v1.0.0 [INFO] [stderr] Downloaded async-std v1.12.0 [INFO] [stderr] Downloaded crossbeam-deque v0.8.3 [INFO] [stderr] Downloaded errno v0.3.2 [INFO] [stderr] Downloaded plotters-backend v0.3.5 [INFO] [stderr] Downloaded async-global-executor v2.3.1 [INFO] [stderr] Downloaded crossbeam-epoch v0.9.15 [INFO] [stderr] Downloaded indexmap v2.0.0 [INFO] [stderr] Downloaded quinn-proto v0.10.2 [INFO] [stderr] Downloaded ciborium v0.2.1 [INFO] [stderr] Downloaded bitflags v2.3.3 [INFO] [stderr] Downloaded toml_datetime v0.6.3 [INFO] [stderr] Downloaded async-attributes v1.1.2 [INFO] [stderr] Downloaded async-lock v2.7.0 [INFO] [stderr] Downloaded anstyle v1.0.1 [INFO] [stderr] Downloaded clap_lex v0.5.0 [INFO] [stderr] Downloaded oorandom v11.1.3 [INFO] [stderr] Downloaded plotters-svg v0.3.5 [INFO] [stderr] Downloaded memoffset v0.9.0 [INFO] [stderr] Downloaded blocking v1.3.1 [INFO] [stderr] Downloaded atomic-waker v1.1.1 [INFO] [stderr] Downloaded parking v2.1.0 [INFO] [stderr] Downloaded waker-fn v1.1.0 [INFO] [stderr] Downloaded serde_with v3.1.0 [INFO] [stderr] Downloaded walkdir v2.3.3 [INFO] [stderr] Downloaded concurrent-queue v2.2.0 [INFO] [stderr] Downloaded value-bag v1.4.1 [INFO] [stderr] Downloaded linux-raw-sys v0.4.5 [INFO] [stderr] Downloaded rustix v0.37.23 [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f6504518f591757a9ae4730cefcec309fba93d38d26661900a8430c956cd5361 [INFO] running `Command { std: "docker" "start" "-a" "f6504518f591757a9ae4730cefcec309fba93d38d26661900a8430c956cd5361", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f6504518f591757a9ae4730cefcec309fba93d38d26661900a8430c956cd5361", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f6504518f591757a9ae4730cefcec309fba93d38d26661900a8430c956cd5361", kill_on_drop: false }` [INFO] [stdout] f6504518f591757a9ae4730cefcec309fba93d38d26661900a8430c956cd5361 [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 33d17baefc76863c85a0fecc9a85a079d5abe706bb254ff191c6f86d0ba5219d [INFO] running `Command { std: "docker" "start" "-a" "33d17baefc76863c85a0fecc9a85a079d5abe706bb254ff191c6f86d0ba5219d", 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 once_cell v1.18.0 [INFO] [stderr] Compiling pin-project-lite v0.2.10 [INFO] [stderr] Compiling futures-core v0.3.28 [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 waker-fn v1.1.0 [INFO] [stderr] Compiling slab v0.4.8 [INFO] [stderr] Compiling parking v2.1.0 [INFO] [stderr] Compiling async-lock v2.7.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 untrusted v0.7.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling async-task v4.4.0 [INFO] [stderr] Compiling futures-channel v0.3.28 [INFO] [stderr] Compiling futures-task v0.3.28 [INFO] [stderr] Compiling futures-sink v0.3.28 [INFO] [stderr] Compiling futures-lite v1.13.0 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling serde v1.0.181 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Compiling log v0.4.19 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling atomic-waker v1.1.1 [INFO] [stderr] Compiling hashbrown v0.14.0 [INFO] [stderr] Compiling tracing-core v0.1.31 [INFO] [stderr] Compiling num-traits v0.2.16 [INFO] [stderr] Compiling base64 v0.21.2 [INFO] [stderr] Compiling rustls v0.21.6 [INFO] [stderr] Compiling thiserror v1.0.44 [INFO] [stderr] Compiling winnow v0.5.3 [INFO] [stderr] Compiling toml_datetime v0.6.3 [INFO] [stderr] Compiling serde_derive v1.0.181 [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 tinyvec v1.6.0 [INFO] [stderr] Compiling iana-time-zone v0.1.57 [INFO] [stderr] Compiling rustls-pemfile v1.0.3 [INFO] [stderr] Compiling concurrent-queue v2.2.0 [INFO] [stderr] Compiling half v1.8.2 [INFO] [stderr] Compiling async-channel v1.9.0 [INFO] [stderr] Compiling async-executor v1.5.1 [INFO] [stderr] Compiling rustls-native-certs v0.6.3 [INFO] [stderr] Compiling anyhow v1.0.72 [INFO] [stderr] Compiling ciborium-io v0.2.1 [INFO] [stderr] Compiling quote v1.0.32 [INFO] [stderr] Compiling blocking v1.3.1 [INFO] [stderr] Compiling async-trait v0.1.72 [INFO] [stderr] Compiling indexmap v2.0.0 [INFO] [stderr] Compiling ciborium-ll v0.2.1 [INFO] [stderr] Compiling syn v2.0.28 [INFO] [stderr] Compiling cc v1.0.81 [INFO] [stderr] Compiling getrandom v0.2.10 [INFO] [stderr] Compiling socket2 v0.4.9 [INFO] [stderr] Compiling io-lifetimes v1.0.11 [INFO] [stderr] Compiling time v0.1.45 [INFO] [stderr] Compiling mio v0.8.8 [INFO] [stderr] Compiling socket2 v0.5.3 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling toml_edit v0.19.14 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Compiling niceware v1.0.0 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Compiling chrono v0.4.26 [INFO] [stderr] Compiling ciborium v0.2.1 [INFO] [stderr] Compiling async-attributes v1.1.2 [INFO] [stderr] Compiling async-global-executor v2.3.1 [INFO] [stderr] Compiling darling_core v0.20.3 [INFO] [stderr] Compiling async-std v1.12.0 [INFO] [stderr] Compiling futures-macro v0.3.28 [INFO] [stderr] Compiling tracing-attributes v0.1.26 [INFO] [stderr] Compiling thiserror-impl v1.0.44 [INFO] [stderr] Compiling num_enum_derive v0.6.1 [INFO] [stderr] Compiling rustls-webpki v0.101.2 [INFO] [stderr] Compiling sct v0.7.0 [INFO] [stderr] Compiling num_enum v0.6.1 [INFO] [stderr] Compiling tracing v0.1.37 [INFO] [stderr] Compiling quinn-udp v0.4.0 [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 serde_with v3.1.0 [INFO] [stderr] Compiling quinn-proto v0.10.2 [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 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:125:36 [INFO] [stdout] | [INFO] [stdout] 125 | async fn send_resource_request(mut self) -> Result, 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:129:39 [INFO] [stdout] | [INFO] [stdout] 129 | async fn receive_resource_request(mut self) -> Result, 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 { [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 { [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 { [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 { [INFO] [stdout] | ------------------------------- method in this implementation [INFO] [stdout] 37 | async fn client_hello(mut self) -> Result, (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 { [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 { [INFO] [stdout] | ------------------------------- methods in this implementation [INFO] [stdout] 125 | async fn send_resource_request(mut self) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | async fn receive_resource_request(mut self) -> Result, 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> Client { [INFO] [stdout] | ----------------------------------------------------------------- method in this implementation [INFO] [stdout] 135 | async fn downgrade(mut self) -> Result, 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 Client { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] 149 | async fn disconnect(mut self) -> Result, 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, [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>); [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>>(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, [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 = OnceLock::new(); [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 [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: 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: 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 { [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: 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: 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: 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: 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: 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); [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: 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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.84s [INFO] running `Command { std: "docker" "inspect" "33d17baefc76863c85a0fecc9a85a079d5abe706bb254ff191c6f86d0ba5219d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "33d17baefc76863c85a0fecc9a85a079d5abe706bb254ff191c6f86d0ba5219d", kill_on_drop: false }` [INFO] [stdout] 33d17baefc76863c85a0fecc9a85a079d5abe706bb254ff191c6f86d0ba5219d [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d003e5852888005724ce834b8a048b011068d7a8dfe7ad75aa4569cabfd2e169 [INFO] running `Command { std: "docker" "start" "-a" "d003e5852888005724ce834b8a048b011068d7a8dfe7ad75aa4569cabfd2e169", 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 rayon-core v1.11.0 [INFO] [stderr] Compiling rustix v0.38.6 [INFO] [stderr] Compiling serde_json v1.0.104 [INFO] [stderr] Compiling either v1.9.0 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.8 [INFO] [stderr] Compiling plotters-backend v0.3.5 [INFO] [stderr] Compiling anstyle v1.0.1 [INFO] [stderr] Compiling regex-syntax v0.7.4 [INFO] [stderr] Compiling ryu v1.0.15 [INFO] [stderr] Compiling bitflags v2.3.3 [INFO] [stderr] Compiling itoa v1.0.9 [INFO] [stderr] Compiling linux-raw-sys v0.4.5 [INFO] [stderr] Compiling clap_lex v0.5.0 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling walkdir v2.3.3 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling clap_builder v4.3.19 [INFO] [stderr] Compiling oorandom v11.1.3 [INFO] [stderr] Compiling plotters-svg v0.3.5 [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:125:36 [INFO] [stdout] | [INFO] [stdout] 125 | async fn send_resource_request(mut self) -> Result, 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:129:39 [INFO] [stdout] | [INFO] [stdout] 129 | async fn receive_resource_request(mut self) -> Result, 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 { [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 { [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 { [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 { [INFO] [stdout] | ------------------------------- method in this implementation [INFO] [stdout] 37 | async fn client_hello(mut self) -> Result, (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 { [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 { [INFO] [stdout] | ------------------------------- methods in this implementation [INFO] [stdout] 125 | async fn send_resource_request(mut self) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | async fn receive_resource_request(mut self) -> Result, 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> Client { [INFO] [stdout] | ----------------------------------------------------------------- method in this implementation [INFO] [stdout] 135 | async fn downgrade(mut self) -> Result, 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 Client { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] 149 | async fn disconnect(mut self) -> Result, 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, [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>); [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>>(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, [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 = OnceLock::new(); [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 [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: 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] [stderr] Compiling hermit v0.1.0 (/opt/rustwide/workdir/hermit) [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 { [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: 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: 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: 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: 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: 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); [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: 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] [stderr] Compiling plotters v0.3.5 [INFO] [stderr] Compiling crossbeam-deque v0.8.3 [INFO] [stderr] Compiling rayon v1.7.0 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling is-terminal v0.4.9 [INFO] [stderr] Compiling regex-automata v0.3.4 [INFO] [stderr] Compiling clap v4.3.19 [INFO] [stderr] Compiling regex v1.9.1 [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:125:36 [INFO] [stdout] | [INFO] [stdout] 125 | async fn send_resource_request(mut self) -> Result, 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:129:39 [INFO] [stdout] | [INFO] [stdout] 129 | async fn receive_resource_request(mut self) -> Result, 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 { [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 { [INFO] [stdout] | ------------------------------- method in this implementation [INFO] [stdout] 37 | async fn client_hello(mut self) -> Result, (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 { [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 { [INFO] [stdout] | ------------------------------- methods in this implementation [INFO] [stdout] 125 | async fn send_resource_request(mut self) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | async fn receive_resource_request(mut self) -> Result, 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> Client { [INFO] [stdout] | ----------------------------------------------------------------- method in this implementation [INFO] [stdout] 135 | async fn downgrade(mut self) -> Result, 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 Client { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] 149 | async fn disconnect(mut self) -> Result, 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, [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>); [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>>(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, [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: 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: 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 { [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); [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] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 24.76s [INFO] running `Command { std: "docker" "inspect" "d003e5852888005724ce834b8a048b011068d7a8dfe7ad75aa4569cabfd2e169", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d003e5852888005724ce834b8a048b011068d7a8dfe7ad75aa4569cabfd2e169", kill_on_drop: false }` [INFO] [stdout] d003e5852888005724ce834b8a048b011068d7a8dfe7ad75aa4569cabfd2e169