[INFO] cloning repository https://github.com/kota-yata/oreno-quic [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kota-yata/oreno-quic" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkota-yata%2Foreno-quic", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkota-yata%2Foreno-quic'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 03d8f73e56c4b9a7c40ff2355d05a304e89011a2 [INFO] checking kota-yata/oreno-quic against master#4455c8937007f3cc3c078375a335d86dbab391ce for pr-140956 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkota-yata%2Foreno-quic" "/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/kota-yata/oreno-quic [INFO] finished tweaking git repo https://github.com/kota-yata/oreno-quic [INFO] tweaked toml for git repo https://github.com/kota-yata/oreno-quic written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/kota-yata/oreno-quic on toolchain 4455c8937007f3cc3c078375a335d86dbab391ce [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4455c8937007f3cc3c078375a335d86dbab391ce" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/kota-yata/oreno-quic 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" "+4455c8937007f3cc3c078375a335d86dbab391ce" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+4455c8937007f3cc3c078375a335d86dbab391ce" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0a9af39a35cca1e54c6aaf45cab2255fe53e91232b18ac832cde06b6420c924c [INFO] running `Command { std: "docker" "start" "-a" "0a9af39a35cca1e54c6aaf45cab2255fe53e91232b18ac832cde06b6420c924c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0a9af39a35cca1e54c6aaf45cab2255fe53e91232b18ac832cde06b6420c924c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0a9af39a35cca1e54c6aaf45cab2255fe53e91232b18ac832cde06b6420c924c", kill_on_drop: false }` [INFO] [stdout] 0a9af39a35cca1e54c6aaf45cab2255fe53e91232b18ac832cde06b6420c924c [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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+4455c8937007f3cc3c078375a335d86dbab391ce" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 50c5b88c8bf0dc7165ab73f09d9071d4d06b1a0b11f10d16140f702abeabfbb6 [INFO] running `Command { std: "docker" "start" "-a" "50c5b88c8bf0dc7165ab73f09d9071d4d06b1a0b11f10d16140f702abeabfbb6", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.173 [INFO] [stderr] Checking cfg-if v1.0.1 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling zerocopy v0.8.25 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling cc v1.2.27 [INFO] [stderr] Checking untrusted v0.9.0 [INFO] [stderr] Checking powerfmt v0.2.0 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Checking bytes v1.10.1 [INFO] [stderr] Checking num-conv v0.1.0 [INFO] [stderr] Checking deranged v0.4.0 [INFO] [stderr] Checking time-core v0.1.4 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Checking untrusted v0.7.1 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Checking time v0.3.41 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Checking spin v0.5.2 [INFO] [stderr] Checking pem v3.0.5 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Checking rustls-pemfile v1.0.4 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.103 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking signal-hook-registry v1.4.5 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking yasna v0.5.2 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Checking tokio v1.45.1 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Checking rcgen v0.11.3 [INFO] [stderr] Checking tokio-stream v0.1.17 [INFO] [stderr] Checking oreno-quic v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking tokio-test v0.4.4 [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/tls.rs:93:72 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn export_keying_material(&self, out: &mut [u8], label: &[u8], context: Option<&[u8]>) -> Result<(), rustls::Error> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/tls.rs:130:72 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn export_keying_material(&self, out: &mut [u8], label: &[u8], context: Option<&[u8]>) -> Result<(), rustls::Error> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `connection_id` [INFO] [stdout] --> src/crypto.rs:43:42 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn setup_initial_keys(&mut self, connection_id: &[u8], is_client: bool) -> Result<(), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connection_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_client` [INFO] [stdout] --> src/crypto.rs:43:64 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn setup_initial_keys(&mut self, connection_id: &[u8], is_client: bool) -> Result<(), CryptoError> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `local_pn_key` and `remote_pn_key` are never read [INFO] [stdout] --> src/crypto.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct CryptoKeys { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | local_pn_key: [u8; 16], [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 25 | remote_pn_key: [u8; 16], [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CryptoKeys` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `derive_initial_secrets` is never used [INFO] [stdout] --> src/crypto.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn derive_initial_secrets(initial_secret: &Prk) -> Result<(Vec, Vec), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `connection_id` [INFO] [stdout] --> src/crypto.rs:43:42 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn setup_initial_keys(&mut self, connection_id: &[u8], is_client: bool) -> Result<(), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connection_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_client` [INFO] [stdout] --> src/crypto.rs:43:64 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn setup_initial_keys(&mut self, connection_id: &[u8], is_client: bool) -> Result<(), CryptoError> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/tls.rs:93:72 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn export_keying_material(&self, out: &mut [u8], label: &[u8], context: Option<&[u8]>) -> Result<(), rustls::Error> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/tls.rs:130:72 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn export_keying_material(&self, out: &mut [u8], label: &[u8], context: Option<&[u8]>) -> Result<(), rustls::Error> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Short` is never constructed [INFO] [stdout] --> src/packet.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum PacketType { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 10 | Short = 0x04, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PacketType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_empty` is never used [INFO] [stdout] --> src/packet.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl ConnectionId { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Handshake`, `Established`, and `Closing` are never constructed [INFO] [stdout] --> src/connection.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum ConnectionState { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 12 | Initial, [INFO] [stdout] 13 | Handshake, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 14 | Established, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 15 | Closing, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConnectionState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `remote_addr`, `is_client`, `crypto`, `tls_config`, `client_tls`, and `server_tls` are never read [INFO] [stdout] --> src/connection.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Connection { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | pub remote_addr: SocketAddr, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub is_client: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 28 | pub crypto: QuicCrypto, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 29 | pub tls_config: Option>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 30 | pub client_tls: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 31 | pub server_tls: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Connection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/connection.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl Connection { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 35 | pub fn new_client(remote_addr: SocketAddr) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn create_handshake_packet(&mut self, frames: Vec) -> Result, ConnectionError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn is_closed(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn setup_tls(&mut self, tls_config: Arc) -> Result<(), ConnectionError> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn start_tls_handshake(&mut self) -> Result, ConnectionError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn process_crypto_frame(&mut self, crypto_frame: &Frame) -> Result>, ConnectionError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn is_tls_handshake_complete(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn close(&mut self, reason: String) -> Result, ConnectionError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `InvalidState`, `TlsSetupFailed`, `TlsHandshakeFailed`, and `TlsNotSetup` are never constructed [INFO] [stdout] --> src/connection.rs:297:5 [INFO] [stdout] | [INFO] [stdout] 294 | pub enum ConnectionError { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 297 | InvalidState, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 298 | TlsSetupFailed, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 299 | TlsHandshakeFailed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 300 | TlsNotSetup, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConnectionError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Padding` is never constructed [INFO] [stdout] --> src/frame.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum FrameType { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] 6 | Padding = 0x00, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FrameType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Handshake` and `Application` are never constructed [INFO] [stdout] --> src/crypto.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum EncryptionLevel { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 13 | Initial, [INFO] [stdout] 14 | Handshake, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 15 | Application, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EncryptionLevel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `local_key`, `remote_key`, `local_iv`, `remote_iv`, `local_pn_key`, and `remote_pn_key` are never read [INFO] [stdout] --> src/crypto.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct CryptoKeys { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 20 | local_key: LessSafeKey, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 21 | remote_key: LessSafeKey, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 22 | local_iv: [u8; 12], [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 23 | remote_iv: [u8; 12], [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 24 | local_pn_key: [u8; 16], [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 25 | remote_pn_key: [u8; 16], [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CryptoKeys` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/crypto.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl QuicCrypto { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn has_keys(&self, level: &EncryptionLevel) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn keys_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn setup_handshake_keys(&mut self, handshake_secret: &[u8], is_client: bool) -> Result<(), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn setup_application_keys(&mut self, application_secret: &[u8], is_client: bool) -> Result<(), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn encrypt_packet(&self, level: EncryptionLevel, packet_number: u64, header: &[u8], payload: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn decrypt_packet(&self, level: EncryptionLevel, packet_number: u64, header: &[u8], ciphertext: &mut [u8]) -> Result Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn decrypt_packet_number(&self, level: EncryptionLevel, encrypted_pn: u64, sample: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hkdf_extract` is never used [INFO] [stdout] --> src/crypto.rs:169:4 [INFO] [stdout] | [INFO] [stdout] 169 | fn hkdf_extract(salt: &[u8], ikm: &[u8]) -> Prk { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hkdf_expand` is never used [INFO] [stdout] --> src/crypto.rs:173:4 [INFO] [stdout] | [INFO] [stdout] 173 | fn hkdf_expand(prk: &Prk, info: &[u8], length: usize) -> Result, CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `derive_initial_secrets` is never used [INFO] [stdout] --> src/crypto.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn derive_initial_secrets(initial_secret: &Prk) -> Result<(Vec, Vec), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `derive_handshake_secrets` is never used [INFO] [stdout] --> src/crypto.rs:189:4 [INFO] [stdout] | [INFO] [stdout] 189 | fn derive_handshake_secrets(handshake_secret: &[u8]) -> Result<(Vec, Vec), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `derive_application_secrets` is never used [INFO] [stdout] --> src/crypto.rs:196:4 [INFO] [stdout] | [INFO] [stdout] 196 | fn derive_application_secrets(application_secret: &[u8]) -> Result<(Vec, Vec), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `derive_keys` is never used [INFO] [stdout] --> src/crypto.rs:203:4 [INFO] [stdout] | [INFO] [stdout] 203 | fn derive_keys(secret: &[u8], algorithm: &'static Algorithm) -> Result<(LessSafeKey, [u8; 12], [u8; 16]), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `construct_nonce` is never used [INFO] [stdout] --> src/crypto.rs:223:4 [INFO] [stdout] | [INFO] [stdout] 223 | fn construct_nonce(iv: &[u8; 12], packet_number: u64) -> [u8; 12] { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NoKeys`, `EncryptionFailed`, `DecryptionFailed`, and `HkdfError` are never constructed [INFO] [stdout] --> src/crypto.rs:237:5 [INFO] [stdout] | [INFO] [stdout] 236 | pub enum CryptoError { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 237 | NoKeys, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 238 | EncryptionFailed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 239 | DecryptionFailed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 240 | KeyDerivationFailed, [INFO] [stdout] 241 | HkdfError, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CryptoError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `client_config` and `server_config` are never read [INFO] [stdout] --> src/tls.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct TlsConfig { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 7 | pub client_config: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 8 | pub server_config: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TlsConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `create_client_config`, `create_server_config`, `generate_self_signed_cert`, and `generate_private_key` are never used [INFO] [stdout] --> src/tls.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl TlsConfig { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 12 | pub fn new() -> Result> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | fn create_client_config() -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | fn create_server_config() -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | fn generate_self_signed_cert() -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn generate_private_key() -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `connection` is never read [INFO] [stdout] --> src/tls.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct QuicClientTls { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 66 | connection: ClientConnection, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QuicClientTls` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_handshake_data`, `process_handshake_data`, `is_handshake_complete`, and `export_keying_material` are never used [INFO] [stdout] --> src/tls.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 69 | impl QuicClientTls { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 70 | pub fn new(config: Arc, server_name: &str) -> Result> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn get_handshake_data(&mut self) -> Result, io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn process_handshake_data(&mut self, data: &[u8]) -> Result<(), io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn is_handshake_complete(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn export_keying_material(&self, out: &mut [u8], label: &[u8], context: Option<&[u8]>) -> Result<(), rustls::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `connection` is never read [INFO] [stdout] --> src/tls.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 103 | pub struct QuicServerTls { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 104 | connection: ServerConnection, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QuicServerTls` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_handshake_data`, `process_handshake_data`, `is_handshake_complete`, and `export_keying_material` are never used [INFO] [stdout] --> src/tls.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl QuicServerTls { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 108 | pub fn new(config: Arc) -> Result> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn get_handshake_data(&mut self) -> Result, io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn process_handshake_data(&mut self, data: &[u8]) -> Result<(), io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn is_handshake_complete(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn export_keying_material(&self, out: &mut [u8], label: &[u8], context: Option<&[u8]>) -> Result<(), rustls::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `connection_id` [INFO] [stdout] --> src/crypto.rs:43:42 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn setup_initial_keys(&mut self, connection_id: &[u8], is_client: bool) -> Result<(), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connection_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_client` [INFO] [stdout] --> src/crypto.rs:43:64 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn setup_initial_keys(&mut self, connection_id: &[u8], is_client: bool) -> Result<(), CryptoError> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/tls.rs:93:72 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn export_keying_material(&self, out: &mut [u8], label: &[u8], context: Option<&[u8]>) -> Result<(), rustls::Error> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/tls.rs:130:72 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn export_keying_material(&self, out: &mut [u8], label: &[u8], context: Option<&[u8]>) -> Result<(), rustls::Error> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `is_client`, `crypto`, `tls_config`, `client_tls`, and `server_tls` are never read [INFO] [stdout] --> src/connection.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Connection { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 27 | pub is_client: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 28 | pub crypto: QuicCrypto, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 29 | pub tls_config: Option>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 30 | pub client_tls: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 31 | pub server_tls: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Connection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `setup_tls`, `start_tls_handshake`, `process_crypto_frame`, and `is_tls_handshake_complete` are never used [INFO] [stdout] --> src/connection.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl Connection { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn setup_tls(&mut self, tls_config: Arc) -> Result<(), ConnectionError> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn start_tls_handshake(&mut self) -> Result, ConnectionError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn process_crypto_frame(&mut self, crypto_frame: &Frame) -> Result>, ConnectionError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn is_tls_handshake_complete(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `TlsSetupFailed`, `TlsHandshakeFailed`, and `TlsNotSetup` are never constructed [INFO] [stdout] --> src/connection.rs:298:5 [INFO] [stdout] | [INFO] [stdout] 294 | pub enum ConnectionError { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 298 | TlsSetupFailed, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 299 | TlsHandshakeFailed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 300 | TlsNotSetup, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConnectionError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Handshake` and `Application` are never constructed [INFO] [stdout] --> src/crypto.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum EncryptionLevel { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 13 | Initial, [INFO] [stdout] 14 | Handshake, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 15 | Application, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EncryptionLevel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `local_key`, `remote_key`, `local_iv`, `remote_iv`, `local_pn_key`, and `remote_pn_key` are never read [INFO] [stdout] --> src/crypto.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct CryptoKeys { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 20 | local_key: LessSafeKey, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 21 | remote_key: LessSafeKey, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 22 | local_iv: [u8; 12], [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 23 | remote_iv: [u8; 12], [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 24 | local_pn_key: [u8; 16], [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 25 | remote_pn_key: [u8; 16], [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CryptoKeys` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/crypto.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl QuicCrypto { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn has_keys(&self, level: &EncryptionLevel) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn keys_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn setup_handshake_keys(&mut self, handshake_secret: &[u8], is_client: bool) -> Result<(), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn setup_application_keys(&mut self, application_secret: &[u8], is_client: bool) -> Result<(), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn encrypt_packet(&self, level: EncryptionLevel, packet_number: u64, header: &[u8], payload: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn decrypt_packet(&self, level: EncryptionLevel, packet_number: u64, header: &[u8], ciphertext: &mut [u8]) -> Result Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn decrypt_packet_number(&self, level: EncryptionLevel, encrypted_pn: u64, sample: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hkdf_extract` is never used [INFO] [stdout] --> src/crypto.rs:169:4 [INFO] [stdout] | [INFO] [stdout] 169 | fn hkdf_extract(salt: &[u8], ikm: &[u8]) -> Prk { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hkdf_expand` is never used [INFO] [stdout] --> src/crypto.rs:173:4 [INFO] [stdout] | [INFO] [stdout] 173 | fn hkdf_expand(prk: &Prk, info: &[u8], length: usize) -> Result, CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `derive_initial_secrets` is never used [INFO] [stdout] --> src/crypto.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn derive_initial_secrets(initial_secret: &Prk) -> Result<(Vec, Vec), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `derive_handshake_secrets` is never used [INFO] [stdout] --> src/crypto.rs:189:4 [INFO] [stdout] | [INFO] [stdout] 189 | fn derive_handshake_secrets(handshake_secret: &[u8]) -> Result<(Vec, Vec), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `derive_application_secrets` is never used [INFO] [stdout] --> src/crypto.rs:196:4 [INFO] [stdout] | [INFO] [stdout] 196 | fn derive_application_secrets(application_secret: &[u8]) -> Result<(Vec, Vec), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `derive_keys` is never used [INFO] [stdout] --> src/crypto.rs:203:4 [INFO] [stdout] | [INFO] [stdout] 203 | fn derive_keys(secret: &[u8], algorithm: &'static Algorithm) -> Result<(LessSafeKey, [u8; 12], [u8; 16]), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NoKeys`, `EncryptionFailed`, `DecryptionFailed`, and `HkdfError` are never constructed [INFO] [stdout] --> src/crypto.rs:237:5 [INFO] [stdout] | [INFO] [stdout] 236 | pub enum CryptoError { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 237 | NoKeys, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 238 | EncryptionFailed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 239 | DecryptionFailed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 240 | KeyDerivationFailed, [INFO] [stdout] 241 | HkdfError, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CryptoError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `connection` is never read [INFO] [stdout] --> src/tls.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct QuicClientTls { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 66 | connection: ClientConnection, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QuicClientTls` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_handshake_data`, `process_handshake_data`, `is_handshake_complete`, and `export_keying_material` are never used [INFO] [stdout] --> src/tls.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 69 | impl QuicClientTls { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn get_handshake_data(&mut self) -> Result, io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn process_handshake_data(&mut self, data: &[u8]) -> Result<(), io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn is_handshake_complete(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn export_keying_material(&self, out: &mut [u8], label: &[u8], context: Option<&[u8]>) -> Result<(), rustls::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `connection` is never read [INFO] [stdout] --> src/tls.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 103 | pub struct QuicServerTls { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 104 | connection: ServerConnection, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QuicServerTls` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_handshake_data`, `process_handshake_data`, `is_handshake_complete`, and `export_keying_material` are never used [INFO] [stdout] --> src/tls.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl QuicServerTls { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn get_handshake_data(&mut self) -> Result, io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn process_handshake_data(&mut self, data: &[u8]) -> Result<(), io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn is_handshake_complete(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn export_keying_material(&self, out: &mut [u8], label: &[u8], context: Option<&[u8]>) -> Result<(), rustls::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/tls.rs:93:72 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn export_keying_material(&self, out: &mut [u8], label: &[u8], context: Option<&[u8]>) -> Result<(), rustls::Error> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/tls.rs:130:72 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn export_keying_material(&self, out: &mut [u8], label: &[u8], context: Option<&[u8]>) -> Result<(), rustls::Error> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `connection_id` [INFO] [stdout] --> src/crypto.rs:43:42 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn setup_initial_keys(&mut self, connection_id: &[u8], is_client: bool) -> Result<(), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connection_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_client` [INFO] [stdout] --> src/crypto.rs:43:64 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn setup_initial_keys(&mut self, connection_id: &[u8], is_client: bool) -> Result<(), CryptoError> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `local_pn_key` and `remote_pn_key` are never read [INFO] [stdout] --> src/crypto.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct CryptoKeys { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | local_pn_key: [u8; 16], [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 25 | remote_pn_key: [u8; 16], [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CryptoKeys` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `derive_initial_secrets` is never used [INFO] [stdout] --> src/crypto.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn derive_initial_secrets(initial_secret: &Prk) -> Result<(Vec, Vec), CryptoError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.77s [INFO] running `Command { std: "docker" "inspect" "50c5b88c8bf0dc7165ab73f09d9071d4d06b1a0b11f10d16140f702abeabfbb6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "50c5b88c8bf0dc7165ab73f09d9071d4d06b1a0b11f10d16140f702abeabfbb6", kill_on_drop: false }` [INFO] [stdout] 50c5b88c8bf0dc7165ab73f09d9071d4d06b1a0b11f10d16140f702abeabfbb6