[INFO] cloning repository https://github.com/johndaniels/rusttls [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/johndaniels/rusttls" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohndaniels%2Frusttls", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohndaniels%2Frusttls'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5dd0f3b1397b662a12970660c0401177d4f78132 [INFO] testing johndaniels/rusttls against 1.55.0 for beta-1.56-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohndaniels%2Frusttls" "/workspace/builds/worker-13/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/johndaniels/rusttls on toolchain 1.55.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.55.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/johndaniels/rusttls [INFO] finished tweaking git repo https://github.com/johndaniels/rusttls [INFO] tweaked toml for git repo https://github.com/johndaniels/rusttls written to /workspace/builds/worker-13/source/Cargo.toml [INFO] crate git repo https://github.com/johndaniels/rusttls already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.55.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9e8333c38746883aee342684c93676039b1fcbfe73ccaa29dd0b17a32e4ed3bf [INFO] running `Command { std: "docker" "start" "-a" "9e8333c38746883aee342684c93676039b1fcbfe73ccaa29dd0b17a32e4ed3bf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9e8333c38746883aee342684c93676039b1fcbfe73ccaa29dd0b17a32e4ed3bf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9e8333c38746883aee342684c93676039b1fcbfe73ccaa29dd0b17a32e4ed3bf", kill_on_drop: false }` [INFO] [stdout] 9e8333c38746883aee342684c93676039b1fcbfe73ccaa29dd0b17a32e4ed3bf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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=warn" "-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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 14696cac830e33e33201af9ab7ea95e6e77b58403e98224b1d4b2c1c840d5c0f [INFO] running `Command { std: "docker" "start" "-a" "14696cac830e33e33201af9ab7ea95e6e77b58403e98224b1d4b2c1c840d5c0f", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.62 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling proc-macro2 v1.0.5 [INFO] [stderr] Compiling smallvec v0.6.10 [INFO] [stderr] Compiling syn v1.0.5 [INFO] [stderr] Compiling arrayvec v0.4.11 [INFO] [stderr] Compiling futures-core-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling nodrop v0.1.13 [INFO] [stderr] Compiling futures-sink-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling autocfg v0.1.6 [INFO] [stderr] Compiling futures-io-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling getrandom v0.1.12 [INFO] [stderr] Compiling cc v1.0.45 [INFO] [stderr] Compiling failure_derive v0.1.5 [INFO] [stderr] Compiling ppv-lite86 v0.2.5 [INFO] [stderr] Compiling hex v0.4.0 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling lock_api v0.3.1 [INFO] [stderr] Compiling tokio-sync v0.1.6 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling memoffset v0.5.1 [INFO] [stderr] Compiling crossbeam-utils v0.6.6 [INFO] [stderr] Compiling tracing-core v0.1.6 [INFO] [stderr] Compiling c2-chacha v0.2.2 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling num-bigint v0.2.3 [INFO] [stderr] Compiling unicode-normalization v0.1.8 [INFO] [stderr] Compiling futures-channel-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling tokio-executor v0.1.8 [INFO] [stderr] Compiling crossbeam-queue v0.1.2 [INFO] [stderr] Compiling crossbeam-channel v0.3.9 [INFO] [stderr] Compiling futures-util-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling crossbeam-epoch v0.7.2 [INFO] [stderr] Compiling tokio-timer v0.2.11 [INFO] [stderr] Compiling tokio-current-thread v0.1.6 [INFO] [stderr] Compiling backtrace-sys v0.1.31 [INFO] [stderr] Compiling idna v0.2.0 [INFO] [stderr] Compiling crossbeam-deque v0.7.1 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling iovec v0.1.2 [INFO] [stderr] Compiling num_cpus v1.10.1 [INFO] [stderr] Compiling net2 v0.2.33 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling hostname v0.1.5 [INFO] [stderr] Compiling socket2 v0.3.11 [INFO] [stderr] Compiling synstructure v0.10.2 [INFO] [stderr] Compiling tokio-sync v0.2.0-alpha.6 [INFO] [stderr] Compiling url v2.1.0 [INFO] [stderr] Compiling resolv-conf v0.6.2 [INFO] [stderr] Compiling bytes v0.4.12 [INFO] [stderr] Compiling tokio-threadpool v0.1.16 [INFO] [stderr] Compiling futures-executor-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling backtrace v0.3.38 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling mio v0.6.19 [INFO] [stderr] Compiling enum-as-inner v0.2.1 [INFO] [stderr] Compiling futures-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling tokio-io v0.1.12 [INFO] [stderr] Compiling rand_chacha v0.2.1 [INFO] [stderr] Compiling rand v0.7.2 [INFO] [stderr] Compiling mio-uds v0.6.7 [INFO] [stderr] Compiling tokio-reactor v0.1.10 [INFO] [stderr] Compiling tokio-codec v0.1.1 [INFO] [stderr] Compiling tokio-fs v0.1.6 [INFO] [stderr] Compiling failure v0.1.5 [INFO] [stderr] Compiling tokio-tcp v0.1.3 [INFO] [stderr] Compiling tokio-udp v0.1.5 [INFO] [stderr] Compiling tokio-uds v0.2.5 [INFO] [stderr] Compiling trust-dns-proto v0.8.0 [INFO] [stderr] Compiling tokio v0.1.22 [INFO] [stderr] Compiling trust-dns-resolver v0.12.0 [INFO] [stderr] Compiling tracing-attributes v0.1.4 [INFO] [stderr] Compiling pin-project-internal v0.4.3 [INFO] [stderr] Compiling tokio-macros v0.2.0-alpha.6 [INFO] [stderr] Compiling tracing v0.1.9 [INFO] [stderr] Compiling tokio-executor v0.2.0-alpha.6 [INFO] [stderr] Compiling pin-project v0.4.3 [INFO] [stderr] Compiling tokio-io v0.2.0-alpha.6 [INFO] [stderr] Compiling tokio-codec v0.2.0-alpha.6 [INFO] [stderr] Compiling tokio-fs v0.2.0-alpha.6 [INFO] [stderr] Compiling tokio-timer v0.3.0-alpha.6 [INFO] [stderr] Compiling tokio-net v0.2.0-alpha.6 [INFO] [stderr] Compiling tokio v0.2.0-alpha.6 [INFO] [stderr] Compiling tlslib v0.1.0 (/opt/rustwide/workdir/lib) [INFO] [stdout] warning: unused imports: `BigInt`, `Sign` [INFO] [stdout] --> lib/src/client.rs:10:18 [INFO] [stdout] | [INFO] [stdout] 10 | use num_bigint::{Sign, BigInt}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:52:18 [INFO] [stdout] | [INFO] [stdout] 52 | let xplusz = (&point.x + &point.z); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:53:19 [INFO] [stdout] | [INFO] [stdout] 53 | let xminusz = (&point.x - &point.z); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> lib/src/hmac.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | if (key.len() > digest_algorithm.block_size()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ReadFromBuffer` [INFO] [stdout] --> lib/src/codec.rs:5:43 [INFO] [stdout] | [INFO] [stdout] 5 | use super::messages::{ParseError, Record, ReadFromBuffer, WriteToBuffer}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WriteToBuffer` [INFO] [stdout] --> lib/src/codec.rs:5:59 [INFO] [stdout] | [INFO] [stdout] 5 | use super::messages::{ParseError, Record, ReadFromBuffer, WriteToBuffer}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ecdhe_public_key` [INFO] [stdout] --> lib/src/client.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | let ecdhe_public_key = dh.generate_public(&self.dh_private.as_ref().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ecdhe_public_key` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sign` [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | let (sign, bytes) = value.to_bytes_be(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_sign` [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:130:14 [INFO] [stdout] | [INFO] [stdout] 130 | let (x_sign, mut x_bytes) = x.to_bytes_le(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 131 | for i in 0..(32-x_bytes.len()) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sign` [INFO] [stdout] --> lib/src/eliptic_curve/secp256r1.rs:80:14 [INFO] [stdout] | [INFO] [stdout] 80 | let (sign, bytes) = value.to_bytes_be(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_sign` [INFO] [stdout] --> lib/src/eliptic_curve/secp256r1.rs:111:14 [INFO] [stdout] | [INFO] [stdout] 111 | let (x_sign, x_bytes) = p.x.to_bytes_be(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> lib/src/eliptic_curve/secp256r1.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | for i in 0..(self.bytes - x_bytes.len()) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_sign` [INFO] [stdout] --> lib/src/eliptic_curve/secp256r1.rs:116:14 [INFO] [stdout] | [INFO] [stdout] 116 | let (y_sign, y_bytes) = p.y.to_bytes_be(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> lib/src/eliptic_curve/secp256r1.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | for i in 0..(self.bytes - y_bytes.len()) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> lib/src/aes.rs:279:9 [INFO] [stdout] | [INFO] [stdout] 279 | let state: [u8;16] = data.try_into().unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_schedule` [INFO] [stdout] --> lib/src/aes.rs:276:44 [INFO] [stdout] | [INFO] [stdout] 276 | fn encrypt(data: &[u8], output: &mut [u8], key_schedule: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_schedule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> lib/src/gcm.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let result = vec![0u8;128]; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> lib/src/messages.rs:662:25 [INFO] [stdout] | [INFO] [stdout] 662 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer` [INFO] [stdout] --> lib/src/messages.rs:662:47 [INFO] [stdout] | [INFO] [stdout] 662 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> lib/src/messages.rs:682:25 [INFO] [stdout] | [INFO] [stdout] 682 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [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] --> lib/src/messages.rs:922:25 [INFO] [stdout] | [INFO] [stdout] 922 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [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] --> lib/src/messages.rs:936:25 [INFO] [stdout] | [INFO] [stdout] 936 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message_type` [INFO] [stdout] --> lib/src/codec.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let message_type = cursor.get_u8(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> lib/src/hmac.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | let mut final_key: Vec; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `*src` as mutable because it is also borrowed as immutable [INFO] [stdout] --> lib/src/codec.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 34 | let mut record_parse_cursor = BytesCursor::from_bytes_mut(src).slice(0, end_position.try_into().unwrap()); [INFO] [stdout] | --- immutable borrow occurs here [INFO] [stdout] 35 | let parsed = Record::read_from_buffer(&mut record_parse_cursor)?; [INFO] [stdout] 36 | src.advance(record_parse_cursor.pos); [INFO] [stdout] | ^^^ ----------------------- immutable borrow later used here [INFO] [stdout] | | [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `cookie` [INFO] [stdout] --> lib/src/client.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | cookie: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `TlsState` [INFO] [stdout] --> lib/src/client.rs:128:6 [INFO] [stdout] | [INFO] [stdout] 128 | enum TlsState { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> lib/src/client.rs:153:8 [INFO] [stdout] | [INFO] [stdout] 153 | fn new() -> TlsSecrets { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `zero` [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 122 | fn zero() -> Point { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `SBOX` [INFO] [stdout] --> lib/src/aes.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | / static SBOX: [u8;256] = [ [INFO] [stdout] 4 | | 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, [INFO] [stdout] 5 | | 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, [INFO] [stdout] 6 | | 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, [INFO] [stdout] ... | [INFO] [stdout] 19 | | 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16, [INFO] [stdout] 20 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `INV_SBOX` [INFO] [stdout] --> lib/src/aes.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / static INV_SBOX: [u8;256] = [ [INFO] [stdout] 23 | | 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, [INFO] [stdout] 24 | | 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, [INFO] [stdout] 25 | | 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, [INFO] [stdout] ... | [INFO] [stdout] 38 | | 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d, [INFO] [stdout] 39 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `RCON` [INFO] [stdout] --> lib/src/aes.rs:41:1 [INFO] [stdout] | [INFO] [stdout] 41 | / static RCON: [u8;11] = [ [INFO] [stdout] 42 | | 0x00, //unused [INFO] [stdout] 43 | | 0x01, [INFO] [stdout] 44 | | 0x02, [INFO] [stdout] ... | [INFO] [stdout] 52 | | 0x36, [INFO] [stdout] 53 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `aes128` [INFO] [stdout] --> lib/src/aes.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn aes128(key: &[u8]) -> Aes { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `aes196` [INFO] [stdout] --> lib/src/aes.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn aes196(key: &[u8]) -> Aes { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `aes256` [INFO] [stdout] --> lib/src/aes.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn aes256(key: &[u8]) -> Aes { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_round_key` [INFO] [stdout] --> lib/src/aes.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | fn add_round_key(&self, state: &mut [u8;16], offset: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `cipher` [INFO] [stdout] --> lib/src/aes.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn cipher(&self, input: &[u8], output: &mut [u8]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `inv_cipher` [INFO] [stdout] --> lib/src/aes.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn inv_cipher(&self, input: &[u8], output: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `inv_sub_bytes` [INFO] [stdout] --> lib/src/aes.rs:136:4 [INFO] [stdout] | [INFO] [stdout] 136 | fn inv_sub_bytes(state: &mut [u8;16]) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sub_bytes` [INFO] [stdout] --> lib/src/aes.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn sub_bytes(state: &mut [u8;16]) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `inv_shift_rows` [INFO] [stdout] --> lib/src/aes.rs:148:4 [INFO] [stdout] | [INFO] [stdout] 148 | fn inv_shift_rows(state: &mut [u8;16]) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `shift_rows` [INFO] [stdout] --> lib/src/aes.rs:167:4 [INFO] [stdout] | [INFO] [stdout] 167 | fn shift_rows(state: &mut [u8;16]) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `inv_mix_column` [INFO] [stdout] --> lib/src/aes.rs:186:4 [INFO] [stdout] | [INFO] [stdout] 186 | fn inv_mix_column(state: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `inv_mix_columns` [INFO] [stdout] --> lib/src/aes.rs:195:4 [INFO] [stdout] | [INFO] [stdout] 195 | fn inv_mix_columns(state: &mut [u8;16]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `mix_column` [INFO] [stdout] --> lib/src/aes.rs:202:4 [INFO] [stdout] | [INFO] [stdout] 202 | fn mix_column(state: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `mix_columns` [INFO] [stdout] --> lib/src/aes.rs:211:4 [INFO] [stdout] | [INFO] [stdout] 211 | fn mix_columns(state: &mut [u8;16]) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `mul` [INFO] [stdout] --> lib/src/aes.rs:218:4 [INFO] [stdout] | [INFO] [stdout] 218 | fn mul(num: u8, mut multiplier: u8) -> u8{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `xtime` [INFO] [stdout] --> lib/src/aes.rs:231:4 [INFO] [stdout] | [INFO] [stdout] 231 | fn xtime(num: u8) -> u8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sub_word` [INFO] [stdout] --> lib/src/aes.rs:240:4 [INFO] [stdout] | [INFO] [stdout] 240 | fn sub_word(word: &mut [u8;4]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rot_word` [INFO] [stdout] --> lib/src/aes.rs:248:4 [INFO] [stdout] | [INFO] [stdout] 248 | fn rot_word(word: &mut [u8;4]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `expand_key` [INFO] [stdout] --> lib/src/aes.rs:256:4 [INFO] [stdout] | [INFO] [stdout] 256 | fn expand_key(key: &[u8], expanded_size: usize, key_words: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `encrypt` [INFO] [stdout] --> lib/src/aes.rs:276:4 [INFO] [stdout] | [INFO] [stdout] 276 | fn encrypt(data: &[u8], output: &mut [u8], key_schedule: &[u8]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `R` [INFO] [stdout] --> lib/src/gcm.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | const R: [u8; 16] = [0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `shift_right` [INFO] [stdout] --> lib/src/gcm.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn shift_right(num: [u8;16]) -> [u8;16] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `bit_set` [INFO] [stdout] --> lib/src/gcm.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn bit_set(num: [u8;16], bit: usize) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `xor` [INFO] [stdout] --> lib/src/gcm.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn xor(a: [u8;16], b: [u8;16]) -> [u8;16] { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `multiply` [INFO] [stdout] --> lib/src/gcm.rs:33:4 [INFO] [stdout] | [INFO] [stdout] 33 | fn multiply(x: [u8;16], y: [u8;16]) -> [u8;16] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `incr` [INFO] [stdout] --> lib/src/gcm.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn incr(number: [u8;16]) -> [u8;16] { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `GHash` [INFO] [stdout] --> lib/src/gcm.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | struct GHash { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> lib/src/gcm.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | fn new(key: [u8;16]) -> GHash { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `perform_round` [INFO] [stdout] --> lib/src/gcm.rs:87:8 [INFO] [stdout] | [INFO] [stdout] 87 | fn perform_round(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `update` [INFO] [stdout] --> lib/src/gcm.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | fn update(&mut self, update_buf: &[u8]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `finalize` [INFO] [stdout] --> lib/src/gcm.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | fn finalize(&self) -> [u8;16] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Gctr` [INFO] [stdout] --> lib/src/gcm.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | struct Gctr { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> lib/src/gcm.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | fn new(initial_counter: [u8;16], aes: Aes) -> Gctr { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `perform_round` [INFO] [stdout] --> lib/src/gcm.rs:139:8 [INFO] [stdout] | [INFO] [stdout] 139 | fn perform_round(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `update` [INFO] [stdout] --> lib/src/gcm.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | fn update(&mut self, update_buf: &[u8]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `finalize` [INFO] [stdout] --> lib/src/gcm.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 165 | fn finalize(mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `gctr` [INFO] [stdout] --> lib/src/gcm.rs:176:4 [INFO] [stdout] | [INFO] [stdout] 176 | fn gctr(initial_counter: [u8;16], aes: Aes, data: &[u8]) -> Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ghash` [INFO] [stdout] --> lib/src/gcm.rs:182:4 [INFO] [stdout] | [INFO] [stdout] 182 | fn ghash(key: [u8;16], data: &[u8]) -> [u8;16] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `gcm_decrypt` [INFO] [stdout] --> lib/src/gcm.rs:188:4 [INFO] [stdout] | [INFO] [stdout] 188 | fn gcm_decrypt(iv: &[u8], aes: Aes, authenticated_data: &[u8], ciphertext: &[u8], tag: &[u8]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `gcm` [INFO] [stdout] --> lib/src/gcm.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn gcm(iv: &[u8], aes: Aes, authenticated_data: &[u8], plaintext: &[u8]) -> AeadResult { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Aes128` [INFO] [stdout] --> lib/src/gcm.rs:253:5 [INFO] [stdout] | [INFO] [stdout] 253 | Aes128, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Aes256` [INFO] [stdout] --> lib/src/gcm.rs:254:5 [INFO] [stdout] | [INFO] [stdout] 254 | Aes256, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `key_length` [INFO] [stdout] --> lib/src/gcm.rs:258:8 [INFO] [stdout] | [INFO] [stdout] 258 | fn key_length(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `iv_length` [INFO] [stdout] --> lib/src/gcm.rs:265:8 [INFO] [stdout] | [INFO] [stdout] 265 | fn iv_length(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `aead` [INFO] [stdout] --> lib/src/gcm.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 269 | pub fn aead(&self, iv: &[u8], key: &[u8], authenticated_data: &[u8], plaintext: &[u8]) -> AeadResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `aead` [INFO] [stdout] --> lib/src/cipher_suite.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn aead(&self, iv: &[u8], key: &[u8], authenticated_data: &[u8], plaintext: &[u8]) -> AeadResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Invalid` [INFO] [stdout] --> lib/src/messages.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | Invalid, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ChangeCipherSpec` [INFO] [stdout] --> lib/src/messages.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | ChangeCipherSpec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Alert` [INFO] [stdout] --> lib/src/messages.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | Alert, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ApplicationData` [INFO] [stdout] --> lib/src/messages.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | ApplicationData, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `to_bytes` [INFO] [stdout] --> lib/src/messages.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn to_bytes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `NewSessionTicket` [INFO] [stdout] --> lib/src/messages.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | NewSessionTicket(NewSessionTicket), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `EndOfEarlyData` [INFO] [stdout] --> lib/src/messages.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | EndOfEarlyData(EndOfEarlyData), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `CertificateRequest` [INFO] [stdout] --> lib/src/messages.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | CertificateRequest(CertificateRequest), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `KeyUpdate` [INFO] [stdout] --> lib/src/messages.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | KeyUpdate(KeyUpdate), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `MessageHash` [INFO] [stdout] --> lib/src/messages.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | MessageHash(MessageHash), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ClientHello` [INFO] [stdout] --> lib/src/messages.rs:517:5 [INFO] [stdout] | [INFO] [stdout] 517 | ClientHello, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Cookie` [INFO] [stdout] --> lib/src/messages.rs:529:5 [INFO] [stdout] | [INFO] [stdout] 529 | Cookie(Cookie), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `PskKe` [INFO] [stdout] --> lib/src/messages.rs:875:5 [INFO] [stdout] | [INFO] [stdout] 875 | PskKe, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `PskDheKe` [INFO] [stdout] --> lib/src/messages.rs:876:5 [INFO] [stdout] | [INFO] [stdout] 876 | PskDheKe, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `try_from_u8` [INFO] [stdout] --> lib/src/messages.rs:887:8 [INFO] [stdout] | [INFO] [stdout] 887 | fn try_from_u8(num: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RsaPkcs1Sha1` [INFO] [stdout] --> lib/src/signature.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | RsaPkcs1Sha1, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `EcdsaSha1` [INFO] [stdout] --> lib/src/signature.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | EcdsaSha1, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 96 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling testexe v0.1.0 (/opt/rustwide/workdir/testexe) [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 41s [INFO] running `Command { std: "docker" "inspect" "14696cac830e33e33201af9ab7ea95e6e77b58403e98224b1d4b2c1c840d5c0f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "14696cac830e33e33201af9ab7ea95e6e77b58403e98224b1d4b2c1c840d5c0f", kill_on_drop: false }` [INFO] [stdout] 14696cac830e33e33201af9ab7ea95e6e77b58403e98224b1d4b2c1c840d5c0f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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=warn" "-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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ceeae196f1fc99d0fc9530166f4ea17d83ce577e13866529df2a71d5b142ee9d [INFO] running `Command { std: "docker" "start" "-a" "ceeae196f1fc99d0fc9530166f4ea17d83ce577e13866529df2a71d5b142ee9d", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stdout] warning: unused imports: `BigInt`, `Sign` [INFO] [stdout] --> lib/src/client.rs:10:18 [INFO] [stdout] | [INFO] [stdout] 10 | use num_bigint::{Sign, BigInt}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:52:18 [INFO] [stdout] | [INFO] [stdout] 52 | let xplusz = (&point.x + &point.z); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:53:19 [INFO] [stdout] | [INFO] [stdout] 53 | let xminusz = (&point.x - &point.z); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> lib/src/hmac.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | if (key.len() > digest_algorithm.block_size()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ReadFromBuffer` [INFO] [stdout] --> lib/src/codec.rs:5:43 [INFO] [stdout] | [INFO] [stdout] 5 | use super::messages::{ParseError, Record, ReadFromBuffer, WriteToBuffer}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WriteToBuffer` [INFO] [stdout] --> lib/src/codec.rs:5:59 [INFO] [stdout] | [INFO] [stdout] 5 | use super::messages::{ParseError, Record, ReadFromBuffer, WriteToBuffer}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ecdhe_public_key` [INFO] [stdout] --> lib/src/client.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | let ecdhe_public_key = dh.generate_public(&self.dh_private.as_ref().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ecdhe_public_key` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sign` [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | let (sign, bytes) = value.to_bytes_be(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_sign` [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:130:14 [INFO] [stdout] | [INFO] [stdout] 130 | let (x_sign, mut x_bytes) = x.to_bytes_le(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 131 | for i in 0..(32-x_bytes.len()) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sign` [INFO] [stdout] --> lib/src/eliptic_curve/secp256r1.rs:80:14 [INFO] [stdout] | [INFO] [stdout] 80 | let (sign, bytes) = value.to_bytes_be(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_sign` [INFO] [stdout] --> lib/src/eliptic_curve/secp256r1.rs:111:14 [INFO] [stdout] | [INFO] [stdout] 111 | let (x_sign, x_bytes) = p.x.to_bytes_be(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> lib/src/eliptic_curve/secp256r1.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | for i in 0..(self.bytes - x_bytes.len()) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_sign` [INFO] [stdout] --> lib/src/eliptic_curve/secp256r1.rs:116:14 [INFO] [stdout] | [INFO] [stdout] 116 | let (y_sign, y_bytes) = p.y.to_bytes_be(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> lib/src/eliptic_curve/secp256r1.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | for i in 0..(self.bytes - y_bytes.len()) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> lib/src/aes.rs:279:9 [INFO] [stdout] | [INFO] [stdout] 279 | let state: [u8;16] = data.try_into().unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_schedule` [INFO] [stdout] --> lib/src/aes.rs:276:44 [INFO] [stdout] | [INFO] [stdout] 276 | fn encrypt(data: &[u8], output: &mut [u8], key_schedule: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_schedule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> lib/src/gcm.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let result = vec![0u8;128]; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> lib/src/messages.rs:662:25 [INFO] [stdout] | [INFO] [stdout] 662 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer` [INFO] [stdout] --> lib/src/messages.rs:662:47 [INFO] [stdout] | [INFO] [stdout] 662 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> lib/src/messages.rs:682:25 [INFO] [stdout] | [INFO] [stdout] 682 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [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] --> lib/src/messages.rs:922:25 [INFO] [stdout] | [INFO] [stdout] 922 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [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] --> lib/src/messages.rs:936:25 [INFO] [stdout] | [INFO] [stdout] 936 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message_type` [INFO] [stdout] --> lib/src/codec.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let message_type = cursor.get_u8(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> lib/src/hmac.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | let mut final_key: Vec; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `*src` as mutable because it is also borrowed as immutable [INFO] [stdout] --> lib/src/codec.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 34 | let mut record_parse_cursor = BytesCursor::from_bytes_mut(src).slice(0, end_position.try_into().unwrap()); [INFO] [stdout] | --- immutable borrow occurs here [INFO] [stdout] 35 | let parsed = Record::read_from_buffer(&mut record_parse_cursor)?; [INFO] [stdout] 36 | src.advance(record_parse_cursor.pos); [INFO] [stdout] | ^^^ ----------------------- immutable borrow later used here [INFO] [stdout] | | [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `cookie` [INFO] [stdout] --> lib/src/client.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | cookie: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `TlsState` [INFO] [stdout] --> lib/src/client.rs:128:6 [INFO] [stdout] | [INFO] [stdout] 128 | enum TlsState { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> lib/src/client.rs:153:8 [INFO] [stdout] | [INFO] [stdout] 153 | fn new() -> TlsSecrets { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `zero` [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 122 | fn zero() -> Point { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `SBOX` [INFO] [stdout] --> lib/src/aes.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | / static SBOX: [u8;256] = [ [INFO] [stdout] 4 | | 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, [INFO] [stdout] 5 | | 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, [INFO] [stdout] 6 | | 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, [INFO] [stdout] ... | [INFO] [stdout] 19 | | 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16, [INFO] [stdout] 20 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `INV_SBOX` [INFO] [stdout] --> lib/src/aes.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / static INV_SBOX: [u8;256] = [ [INFO] [stdout] 23 | | 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, [INFO] [stdout] 24 | | 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, [INFO] [stdout] 25 | | 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, [INFO] [stdout] ... | [INFO] [stdout] 38 | | 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d, [INFO] [stdout] 39 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `RCON` [INFO] [stdout] --> lib/src/aes.rs:41:1 [INFO] [stdout] | [INFO] [stdout] 41 | / static RCON: [u8;11] = [ [INFO] [stdout] 42 | | 0x00, //unused [INFO] [stdout] 43 | | 0x01, [INFO] [stdout] 44 | | 0x02, [INFO] [stdout] ... | [INFO] [stdout] 52 | | 0x36, [INFO] [stdout] 53 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `aes128` [INFO] [stdout] --> lib/src/aes.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn aes128(key: &[u8]) -> Aes { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `aes196` [INFO] [stdout] --> lib/src/aes.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn aes196(key: &[u8]) -> Aes { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `aes256` [INFO] [stdout] --> lib/src/aes.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn aes256(key: &[u8]) -> Aes { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_round_key` [INFO] [stdout] --> lib/src/aes.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | fn add_round_key(&self, state: &mut [u8;16], offset: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `cipher` [INFO] [stdout] --> lib/src/aes.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn cipher(&self, input: &[u8], output: &mut [u8]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `inv_cipher` [INFO] [stdout] --> lib/src/aes.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn inv_cipher(&self, input: &[u8], output: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `inv_sub_bytes` [INFO] [stdout] --> lib/src/aes.rs:136:4 [INFO] [stdout] | [INFO] [stdout] 136 | fn inv_sub_bytes(state: &mut [u8;16]) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sub_bytes` [INFO] [stdout] --> lib/src/aes.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn sub_bytes(state: &mut [u8;16]) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `inv_shift_rows` [INFO] [stdout] --> lib/src/aes.rs:148:4 [INFO] [stdout] | [INFO] [stdout] 148 | fn inv_shift_rows(state: &mut [u8;16]) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `shift_rows` [INFO] [stdout] --> lib/src/aes.rs:167:4 [INFO] [stdout] | [INFO] [stdout] 167 | fn shift_rows(state: &mut [u8;16]) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `inv_mix_column` [INFO] [stdout] --> lib/src/aes.rs:186:4 [INFO] [stdout] | [INFO] [stdout] 186 | fn inv_mix_column(state: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `inv_mix_columns` [INFO] [stdout] --> lib/src/aes.rs:195:4 [INFO] [stdout] | [INFO] [stdout] 195 | fn inv_mix_columns(state: &mut [u8;16]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `mix_column` [INFO] [stdout] --> lib/src/aes.rs:202:4 [INFO] [stdout] | [INFO] [stdout] 202 | fn mix_column(state: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `mix_columns` [INFO] [stdout] --> lib/src/aes.rs:211:4 [INFO] [stdout] | [INFO] [stdout] 211 | fn mix_columns(state: &mut [u8;16]) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `mul` [INFO] [stdout] --> lib/src/aes.rs:218:4 [INFO] [stdout] | [INFO] [stdout] 218 | fn mul(num: u8, mut multiplier: u8) -> u8{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `xtime` [INFO] [stdout] --> lib/src/aes.rs:231:4 [INFO] [stdout] | [INFO] [stdout] 231 | fn xtime(num: u8) -> u8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sub_word` [INFO] [stdout] --> lib/src/aes.rs:240:4 [INFO] [stdout] | [INFO] [stdout] 240 | fn sub_word(word: &mut [u8;4]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rot_word` [INFO] [stdout] --> lib/src/aes.rs:248:4 [INFO] [stdout] | [INFO] [stdout] 248 | fn rot_word(word: &mut [u8;4]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `expand_key` [INFO] [stdout] --> lib/src/aes.rs:256:4 [INFO] [stdout] | [INFO] [stdout] 256 | fn expand_key(key: &[u8], expanded_size: usize, key_words: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `encrypt` [INFO] [stdout] --> lib/src/aes.rs:276:4 [INFO] [stdout] | [INFO] [stdout] 276 | fn encrypt(data: &[u8], output: &mut [u8], key_schedule: &[u8]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `R` [INFO] [stdout] --> lib/src/gcm.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | const R: [u8; 16] = [0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `shift_right` [INFO] [stdout] --> lib/src/gcm.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn shift_right(num: [u8;16]) -> [u8;16] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `bit_set` [INFO] [stdout] --> lib/src/gcm.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn bit_set(num: [u8;16], bit: usize) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `xor` [INFO] [stdout] --> lib/src/gcm.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn xor(a: [u8;16], b: [u8;16]) -> [u8;16] { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `multiply` [INFO] [stdout] --> lib/src/gcm.rs:33:4 [INFO] [stdout] | [INFO] [stdout] 33 | fn multiply(x: [u8;16], y: [u8;16]) -> [u8;16] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `incr` [INFO] [stdout] --> lib/src/gcm.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn incr(number: [u8;16]) -> [u8;16] { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `GHash` [INFO] [stdout] --> lib/src/gcm.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | struct GHash { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> lib/src/gcm.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | fn new(key: [u8;16]) -> GHash { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `perform_round` [INFO] [stdout] --> lib/src/gcm.rs:87:8 [INFO] [stdout] | [INFO] [stdout] 87 | fn perform_round(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `update` [INFO] [stdout] --> lib/src/gcm.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | fn update(&mut self, update_buf: &[u8]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `finalize` [INFO] [stdout] --> lib/src/gcm.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | fn finalize(&self) -> [u8;16] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Gctr` [INFO] [stdout] --> lib/src/gcm.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | struct Gctr { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> lib/src/gcm.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | fn new(initial_counter: [u8;16], aes: Aes) -> Gctr { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `perform_round` [INFO] [stdout] --> lib/src/gcm.rs:139:8 [INFO] [stdout] | [INFO] [stdout] 139 | fn perform_round(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `update` [INFO] [stdout] --> lib/src/gcm.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | fn update(&mut self, update_buf: &[u8]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `finalize` [INFO] [stdout] --> lib/src/gcm.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 165 | fn finalize(mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `gctr` [INFO] [stdout] --> lib/src/gcm.rs:176:4 [INFO] [stdout] | [INFO] [stdout] 176 | fn gctr(initial_counter: [u8;16], aes: Aes, data: &[u8]) -> Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ghash` [INFO] [stdout] --> lib/src/gcm.rs:182:4 [INFO] [stdout] | [INFO] [stdout] 182 | fn ghash(key: [u8;16], data: &[u8]) -> [u8;16] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `gcm_decrypt` [INFO] [stdout] --> lib/src/gcm.rs:188:4 [INFO] [stdout] | [INFO] [stdout] 188 | fn gcm_decrypt(iv: &[u8], aes: Aes, authenticated_data: &[u8], ciphertext: &[u8], tag: &[u8]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `gcm` [INFO] [stdout] --> lib/src/gcm.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn gcm(iv: &[u8], aes: Aes, authenticated_data: &[u8], plaintext: &[u8]) -> AeadResult { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Aes128` [INFO] [stdout] --> lib/src/gcm.rs:253:5 [INFO] [stdout] | [INFO] [stdout] 253 | Aes128, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Aes256` [INFO] [stdout] --> lib/src/gcm.rs:254:5 [INFO] [stdout] | [INFO] [stdout] 254 | Aes256, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `key_length` [INFO] [stdout] --> lib/src/gcm.rs:258:8 [INFO] [stdout] | [INFO] [stdout] 258 | fn key_length(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `iv_length` [INFO] [stdout] --> lib/src/gcm.rs:265:8 [INFO] [stdout] | [INFO] [stdout] 265 | fn iv_length(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `aead` [INFO] [stdout] --> lib/src/gcm.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 269 | pub fn aead(&self, iv: &[u8], key: &[u8], authenticated_data: &[u8], plaintext: &[u8]) -> AeadResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `aead` [INFO] [stdout] --> lib/src/cipher_suite.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn aead(&self, iv: &[u8], key: &[u8], authenticated_data: &[u8], plaintext: &[u8]) -> AeadResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Invalid` [INFO] [stdout] --> lib/src/messages.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | Invalid, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ChangeCipherSpec` [INFO] [stdout] --> lib/src/messages.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | ChangeCipherSpec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Alert` [INFO] [stdout] --> lib/src/messages.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | Alert, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ApplicationData` [INFO] [stdout] --> lib/src/messages.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | ApplicationData, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `to_bytes` [INFO] [stdout] --> lib/src/messages.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn to_bytes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `NewSessionTicket` [INFO] [stdout] --> lib/src/messages.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | NewSessionTicket(NewSessionTicket), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `EndOfEarlyData` [INFO] [stdout] --> lib/src/messages.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | EndOfEarlyData(EndOfEarlyData), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `CertificateRequest` [INFO] [stdout] --> lib/src/messages.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | CertificateRequest(CertificateRequest), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `KeyUpdate` [INFO] [stdout] --> lib/src/messages.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | KeyUpdate(KeyUpdate), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `MessageHash` [INFO] [stdout] --> lib/src/messages.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | MessageHash(MessageHash), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ClientHello` [INFO] [stdout] --> lib/src/messages.rs:517:5 [INFO] [stdout] | [INFO] [stdout] 517 | ClientHello, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Cookie` [INFO] [stdout] --> lib/src/messages.rs:529:5 [INFO] [stdout] | [INFO] [stdout] 529 | Cookie(Cookie), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `PskKe` [INFO] [stdout] --> lib/src/messages.rs:875:5 [INFO] [stdout] | [INFO] [stdout] 875 | PskKe, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `PskDheKe` [INFO] [stdout] --> lib/src/messages.rs:876:5 [INFO] [stdout] | [INFO] [stdout] 876 | PskDheKe, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `try_from_u8` [INFO] [stdout] --> lib/src/messages.rs:887:8 [INFO] [stdout] | [INFO] [stdout] 887 | fn try_from_u8(num: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RsaPkcs1Sha1` [INFO] [stdout] --> lib/src/signature.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | RsaPkcs1Sha1, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `EcdsaSha1` [INFO] [stdout] --> lib/src/signature.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | EcdsaSha1, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 96 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling tlslib v0.1.0 (/opt/rustwide/workdir/lib) [INFO] [stderr] Compiling testexe v0.1.0 (/opt/rustwide/workdir/testexe) [INFO] [stdout] warning: unused imports: `BigInt`, `Sign` [INFO] [stdout] --> lib/src/client.rs:10:18 [INFO] [stdout] | [INFO] [stdout] 10 | use num_bigint::{Sign, BigInt}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Buf` [INFO] [stdout] --> lib/src/client.rs:444:17 [INFO] [stdout] | [INFO] [stdout] 444 | use bytes::{Buf, BufMut}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:52:18 [INFO] [stdout] | [INFO] [stdout] 52 | let xplusz = (&point.x + &point.z); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:53:19 [INFO] [stdout] | [INFO] [stdout] 53 | let xminusz = (&point.x - &point.z); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BigInt` [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:193:22 [INFO] [stdout] | [INFO] [stdout] 193 | use num_bigint::{BigInt}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Point`, `multiplicative_inverse` [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:194:17 [INFO] [stdout] | [INFO] [stdout] 194 | use super::{multiplicative_inverse, Point, curve25519}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> lib/src/hmac.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | if (key.len() > digest_algorithm.block_size()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ReadFromBuffer` [INFO] [stdout] --> lib/src/codec.rs:5:43 [INFO] [stdout] | [INFO] [stdout] 5 | use super::messages::{ParseError, Record, ReadFromBuffer, WriteToBuffer}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WriteToBuffer` [INFO] [stdout] --> lib/src/codec.rs:5:59 [INFO] [stdout] | [INFO] [stdout] 5 | use super::messages::{ParseError, Record, ReadFromBuffer, WriteToBuffer}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ecdhe_public_key` [INFO] [stdout] --> lib/src/client.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | let ecdhe_public_key = dh.generate_public(&self.dh_private.as_ref().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ecdhe_public_key` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `random_gen` [INFO] [stdout] --> lib/src/client.rs:537:13 [INFO] [stdout] | [INFO] [stdout] 537 | let random_gen = Box::new(MockTlsGenerator {}); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_random_gen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `test` [INFO] [stdout] --> lib/src/client.rs:669:13 [INFO] [stdout] | [INFO] [stdout] 669 | let test = client.as_ptr(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_test` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cx` [INFO] [stdout] --> lib/src/client.rs:469:45 [INFO] [stdout] | [INFO] [stdout] 469 | fn poll_ready(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cx` [INFO] [stdout] --> lib/src/client.rs:477:45 [INFO] [stdout] | [INFO] [stdout] 477 | fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cx` [INFO] [stdout] --> lib/src/client.rs:481:45 [INFO] [stdout] | [INFO] [stdout] 481 | fn poll_close(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sign` [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | let (sign, bytes) = value.to_bytes_be(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_sign` [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:130:14 [INFO] [stdout] | [INFO] [stdout] 130 | let (x_sign, mut x_bytes) = x.to_bytes_le(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 131 | for i in 0..(32-x_bytes.len()) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sign` [INFO] [stdout] --> lib/src/eliptic_curve/secp256r1.rs:80:14 [INFO] [stdout] | [INFO] [stdout] 80 | let (sign, bytes) = value.to_bytes_be(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_sign` [INFO] [stdout] --> lib/src/eliptic_curve/secp256r1.rs:111:14 [INFO] [stdout] | [INFO] [stdout] 111 | let (x_sign, x_bytes) = p.x.to_bytes_be(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> lib/src/eliptic_curve/secp256r1.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | for i in 0..(self.bytes - x_bytes.len()) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_sign` [INFO] [stdout] --> lib/src/eliptic_curve/secp256r1.rs:116:14 [INFO] [stdout] | [INFO] [stdout] 116 | let (y_sign, y_bytes) = p.y.to_bytes_be(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> lib/src/eliptic_curve/secp256r1.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | for i in 0..(self.bytes - y_bytes.len()) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inverse` [INFO] [stdout] --> lib/src/eliptic_curve/secp256r1.rs:214:13 [INFO] [stdout] | [INFO] [stdout] 214 | let inverse = super::multiplicative_inverse(&BigInt::from(3u32), &BigInt::from(19u32)); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_point` [INFO] [stdout] --> lib/src/eliptic_curve/secp256r1.rs:241:13 [INFO] [stdout] | [INFO] [stdout] 241 | let new_point = curve.add(&a, &b); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_point` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> lib/src/aes.rs:279:9 [INFO] [stdout] | [INFO] [stdout] 279 | let state: [u8;16] = data.try_into().unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_schedule` [INFO] [stdout] --> lib/src/aes.rs:276:44 [INFO] [stdout] | [INFO] [stdout] 276 | fn encrypt(data: &[u8], output: &mut [u8], key_schedule: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_schedule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> lib/src/gcm.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let result = vec![0u8;128]; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> lib/src/messages.rs:662:25 [INFO] [stdout] | [INFO] [stdout] 662 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer` [INFO] [stdout] --> lib/src/messages.rs:662:47 [INFO] [stdout] | [INFO] [stdout] 662 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> lib/src/messages.rs:682:25 [INFO] [stdout] | [INFO] [stdout] 682 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [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] --> lib/src/messages.rs:922:25 [INFO] [stdout] | [INFO] [stdout] 922 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [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] --> lib/src/messages.rs:936:25 [INFO] [stdout] | [INFO] [stdout] 936 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message_type` [INFO] [stdout] --> lib/src/codec.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let message_type = cursor.get_u8(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> lib/src/hmac.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | let mut final_key: Vec; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `*src` as mutable because it is also borrowed as immutable [INFO] [stdout] --> lib/src/codec.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 34 | let mut record_parse_cursor = BytesCursor::from_bytes_mut(src).slice(0, end_position.try_into().unwrap()); [INFO] [stdout] | --- immutable borrow occurs here [INFO] [stdout] 35 | let parsed = Record::read_from_buffer(&mut record_parse_cursor)?; [INFO] [stdout] 36 | src.advance(record_parse_cursor.pos); [INFO] [stdout] | ^^^ ----------------------- immutable borrow later used here [INFO] [stdout] | | [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> lib/src/client.rs:670:9 [INFO] [stdout] | [INFO] [stdout] 670 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `cookie` [INFO] [stdout] --> lib/src/client.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | cookie: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `TlsState` [INFO] [stdout] --> lib/src/client.rs:128:6 [INFO] [stdout] | [INFO] [stdout] 128 | enum TlsState { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> lib/src/client.rs:153:8 [INFO] [stdout] | [INFO] [stdout] 153 | fn new() -> TlsSecrets { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `zero` [INFO] [stdout] --> lib/src/eliptic_curve/curve25519.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 122 | fn zero() -> Point { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `encrypt` [INFO] [stdout] --> lib/src/aes.rs:276:4 [INFO] [stdout] | [INFO] [stdout] 276 | fn encrypt(data: &[u8], output: &mut [u8], key_schedule: &[u8]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `icb` [INFO] [stdout] --> lib/src/gcm.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | icb: [u8;16], [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `key_length` [INFO] [stdout] --> lib/src/gcm.rs:258:8 [INFO] [stdout] | [INFO] [stdout] 258 | fn key_length(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `iv_length` [INFO] [stdout] --> lib/src/gcm.rs:265:8 [INFO] [stdout] | [INFO] [stdout] 265 | fn iv_length(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Invalid` [INFO] [stdout] --> lib/src/messages.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | Invalid, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ChangeCipherSpec` [INFO] [stdout] --> lib/src/messages.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | ChangeCipherSpec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Alert` [INFO] [stdout] --> lib/src/messages.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | Alert, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ApplicationData` [INFO] [stdout] --> lib/src/messages.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | ApplicationData, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `NewSessionTicket` [INFO] [stdout] --> lib/src/messages.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | NewSessionTicket(NewSessionTicket), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `EndOfEarlyData` [INFO] [stdout] --> lib/src/messages.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | EndOfEarlyData(EndOfEarlyData), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `CertificateRequest` [INFO] [stdout] --> lib/src/messages.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | CertificateRequest(CertificateRequest), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `KeyUpdate` [INFO] [stdout] --> lib/src/messages.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | KeyUpdate(KeyUpdate), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `MessageHash` [INFO] [stdout] --> lib/src/messages.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | MessageHash(MessageHash), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ClientHello` [INFO] [stdout] --> lib/src/messages.rs:517:5 [INFO] [stdout] | [INFO] [stdout] 517 | ClientHello, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Cookie` [INFO] [stdout] --> lib/src/messages.rs:529:5 [INFO] [stdout] | [INFO] [stdout] 529 | Cookie(Cookie), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `PskKe` [INFO] [stdout] --> lib/src/messages.rs:875:5 [INFO] [stdout] | [INFO] [stdout] 875 | PskKe, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `try_from_u8` [INFO] [stdout] --> lib/src/messages.rs:887:8 [INFO] [stdout] | [INFO] [stdout] 887 | fn try_from_u8(num: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 58 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 19.81s [INFO] running `Command { std: "docker" "inspect" "ceeae196f1fc99d0fc9530166f4ea17d83ce577e13866529df2a71d5b142ee9d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ceeae196f1fc99d0fc9530166f4ea17d83ce577e13866529df2a71d5b142ee9d", kill_on_drop: false }` [INFO] [stdout] ceeae196f1fc99d0fc9530166f4ea17d83ce577e13866529df2a71d5b142ee9d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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=warn" "-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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f2a3fe13af85141c346cba73dc35b61fa19ba8ff58c46264d5f7883642fbe204 [INFO] running `Command { std: "docker" "start" "-a" "f2a3fe13af85141c346cba73dc35b61fa19ba8ff58c46264d5f7883642fbe204", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unused imports: `BigInt`, `Sign` [INFO] [stderr] --> lib/src/client.rs:10:18 [INFO] [stderr] | [INFO] [stderr] 10 | use num_bigint::{Sign, BigInt}; [INFO] [stderr] | ^^^^ ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> lib/src/eliptic_curve/curve25519.rs:52:18 [INFO] [stderr] | [INFO] [stderr] 52 | let xplusz = (&point.x + &point.z); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> lib/src/eliptic_curve/curve25519.rs:53:19 [INFO] [stderr] | [INFO] [stderr] 53 | let xminusz = (&point.x - &point.z); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> lib/src/hmac.rs:31:12 [INFO] [stderr] | [INFO] [stderr] 31 | if (key.len() > digest_algorithm.block_size()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `ReadFromBuffer` [INFO] [stderr] --> lib/src/codec.rs:5:43 [INFO] [stderr] | [INFO] [stderr] 5 | use super::messages::{ParseError, Record, ReadFromBuffer, WriteToBuffer}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `WriteToBuffer` [INFO] [stderr] --> lib/src/codec.rs:5:59 [INFO] [stderr] | [INFO] [stderr] 5 | use super::messages::{ParseError, Record, ReadFromBuffer, WriteToBuffer}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ecdhe_public_key` [INFO] [stderr] --> lib/src/client.rs:260:13 [INFO] [stderr] | [INFO] [stderr] 260 | let ecdhe_public_key = dh.generate_public(&self.dh_private.as_ref().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ecdhe_public_key` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sign` [INFO] [stderr] --> lib/src/eliptic_curve/curve25519.rs:66:10 [INFO] [stderr] | [INFO] [stderr] 66 | let (sign, bytes) = value.to_bytes_be(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_sign` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x_sign` [INFO] [stderr] --> lib/src/eliptic_curve/curve25519.rs:130:14 [INFO] [stderr] | [INFO] [stderr] 130 | let (x_sign, mut x_bytes) = x.to_bytes_le(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_sign` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> lib/src/eliptic_curve/curve25519.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | for i in 0..(32-x_bytes.len()) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sign` [INFO] [stderr] --> lib/src/eliptic_curve/secp256r1.rs:80:14 [INFO] [stderr] | [INFO] [stderr] 80 | let (sign, bytes) = value.to_bytes_be(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_sign` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x_sign` [INFO] [stderr] --> lib/src/eliptic_curve/secp256r1.rs:111:14 [INFO] [stderr] | [INFO] [stderr] 111 | let (x_sign, x_bytes) = p.x.to_bytes_be(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_sign` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> lib/src/eliptic_curve/secp256r1.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | for i in 0..(self.bytes - x_bytes.len()) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y_sign` [INFO] [stderr] --> lib/src/eliptic_curve/secp256r1.rs:116:14 [INFO] [stderr] | [INFO] [stderr] 116 | let (y_sign, y_bytes) = p.y.to_bytes_be(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_sign` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> lib/src/eliptic_curve/secp256r1.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | for i in 0..(self.bytes - y_bytes.len()) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> lib/src/aes.rs:279:9 [INFO] [stderr] | [INFO] [stderr] 279 | let state: [u8;16] = data.try_into().unwrap(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key_schedule` [INFO] [stderr] --> lib/src/aes.rs:276:44 [INFO] [stderr] | [INFO] [stderr] 276 | fn encrypt(data: &[u8], output: &mut [u8], key_schedule: &[u8]) { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_schedule` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> lib/src/gcm.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | let result = vec![0u8;128]; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> lib/src/messages.rs:662:25 [INFO] [stderr] | [INFO] [stderr] 662 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `buffer` [INFO] [stderr] --> lib/src/messages.rs:662:47 [INFO] [stderr] | [INFO] [stderr] 662 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> lib/src/messages.rs:682:25 [INFO] [stderr] | [INFO] [stderr] 682 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> lib/src/messages.rs:922:25 [INFO] [stderr] | [INFO] [stderr] 922 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> lib/src/messages.rs:936:25 [INFO] [stderr] | [INFO] [stderr] 936 | fn read_from_buffer(context: ReadContext, buffer: &mut BytesCursor) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `message_type` [INFO] [stderr] --> lib/src/codec.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | let message_type = cursor.get_u8(); [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_type` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> lib/src/hmac.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | let mut final_key: Vec; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `*src` as mutable because it is also borrowed as immutable [INFO] [stderr] --> lib/src/codec.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 34 | let mut record_parse_cursor = BytesCursor::from_bytes_mut(src).slice(0, end_position.try_into().unwrap()); [INFO] [stderr] | --- immutable borrow occurs here [INFO] [stderr] 35 | let parsed = Record::read_from_buffer(&mut record_parse_cursor)?; [INFO] [stderr] 36 | src.advance(record_parse_cursor.pos); [INFO] [stderr] | ^^^ ----------------------- immutable borrow later used here [INFO] [stderr] | | [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: field is never read: `cookie` [INFO] [stderr] --> lib/src/client.rs:119:5 [INFO] [stderr] | [INFO] [stderr] 119 | cookie: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `TlsState` [INFO] [stderr] --> lib/src/client.rs:128:6 [INFO] [stderr] | [INFO] [stderr] 128 | enum TlsState { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> lib/src/client.rs:153:8 [INFO] [stderr] | [INFO] [stderr] 153 | fn new() -> TlsSecrets { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `zero` [INFO] [stderr] --> lib/src/eliptic_curve/curve25519.rs:122:8 [INFO] [stderr] | [INFO] [stderr] 122 | fn zero() -> Point { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: static is never used: `SBOX` [INFO] [stderr] --> lib/src/aes.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | / static SBOX: [u8;256] = [ [INFO] [stderr] 4 | | 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, [INFO] [stderr] 5 | | 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, [INFO] [stderr] 6 | | 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, [INFO] [stderr] ... | [INFO] [stderr] 19 | | 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16, [INFO] [stderr] 20 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: static is never used: `INV_SBOX` [INFO] [stderr] --> lib/src/aes.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | / static INV_SBOX: [u8;256] = [ [INFO] [stderr] 23 | | 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, [INFO] [stderr] 24 | | 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, [INFO] [stderr] 25 | | 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, [INFO] [stderr] ... | [INFO] [stderr] 38 | | 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d, [INFO] [stderr] 39 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: static is never used: `RCON` [INFO] [stderr] --> lib/src/aes.rs:41:1 [INFO] [stderr] | [INFO] [stderr] 41 | / static RCON: [u8;11] = [ [INFO] [stderr] 42 | | 0x00, //unused [INFO] [stderr] 43 | | 0x01, [INFO] [stderr] 44 | | 0x02, [INFO] [stderr] ... | [INFO] [stderr] 52 | | 0x36, [INFO] [stderr] 53 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `aes128` [INFO] [stderr] --> lib/src/aes.rs:63:12 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn aes128(key: &[u8]) -> Aes { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `aes196` [INFO] [stderr] --> lib/src/aes.rs:72:12 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn aes196(key: &[u8]) -> Aes { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `aes256` [INFO] [stderr] --> lib/src/aes.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn aes256(key: &[u8]) -> Aes { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `add_round_key` [INFO] [stderr] --> lib/src/aes.rs:90:8 [INFO] [stderr] | [INFO] [stderr] 90 | fn add_round_key(&self, state: &mut [u8;16], offset: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `cipher` [INFO] [stderr] --> lib/src/aes.rs:96:12 [INFO] [stderr] | [INFO] [stderr] 96 | pub fn cipher(&self, input: &[u8], output: &mut [u8]) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `inv_cipher` [INFO] [stderr] --> lib/src/aes.rs:115:12 [INFO] [stderr] | [INFO] [stderr] 115 | pub fn inv_cipher(&self, input: &[u8], output: &mut [u8]) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `inv_sub_bytes` [INFO] [stderr] --> lib/src/aes.rs:136:4 [INFO] [stderr] | [INFO] [stderr] 136 | fn inv_sub_bytes(state: &mut [u8;16]) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `sub_bytes` [INFO] [stderr] --> lib/src/aes.rs:142:4 [INFO] [stderr] | [INFO] [stderr] 142 | fn sub_bytes(state: &mut [u8;16]) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `inv_shift_rows` [INFO] [stderr] --> lib/src/aes.rs:148:4 [INFO] [stderr] | [INFO] [stderr] 148 | fn inv_shift_rows(state: &mut [u8;16]) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `shift_rows` [INFO] [stderr] --> lib/src/aes.rs:167:4 [INFO] [stderr] | [INFO] [stderr] 167 | fn shift_rows(state: &mut [u8;16]) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `inv_mix_column` [INFO] [stderr] --> lib/src/aes.rs:186:4 [INFO] [stderr] | [INFO] [stderr] 186 | fn inv_mix_column(state: &mut [u8]) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `inv_mix_columns` [INFO] [stderr] --> lib/src/aes.rs:195:4 [INFO] [stderr] | [INFO] [stderr] 195 | fn inv_mix_columns(state: &mut [u8;16]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `mix_column` [INFO] [stderr] --> lib/src/aes.rs:202:4 [INFO] [stderr] | [INFO] [stderr] 202 | fn mix_column(state: &mut [u8]) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `mix_columns` [INFO] [stderr] --> lib/src/aes.rs:211:4 [INFO] [stderr] | [INFO] [stderr] 211 | fn mix_columns(state: &mut [u8;16]) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `mul` [INFO] [stderr] --> lib/src/aes.rs:218:4 [INFO] [stderr] | [INFO] [stderr] 218 | fn mul(num: u8, mut multiplier: u8) -> u8{ [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `xtime` [INFO] [stderr] --> lib/src/aes.rs:231:4 [INFO] [stderr] | [INFO] [stderr] 231 | fn xtime(num: u8) -> u8 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `sub_word` [INFO] [stderr] --> lib/src/aes.rs:240:4 [INFO] [stderr] | [INFO] [stderr] 240 | fn sub_word(word: &mut [u8;4]) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rot_word` [INFO] [stderr] --> lib/src/aes.rs:248:4 [INFO] [stderr] | [INFO] [stderr] 248 | fn rot_word(word: &mut [u8;4]) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `expand_key` [INFO] [stderr] --> lib/src/aes.rs:256:4 [INFO] [stderr] | [INFO] [stderr] 256 | fn expand_key(key: &[u8], expanded_size: usize, key_words: usize) -> Vec { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `encrypt` [INFO] [stderr] --> lib/src/aes.rs:276:4 [INFO] [stderr] | [INFO] [stderr] 276 | fn encrypt(data: &[u8], output: &mut [u8], key_schedule: &[u8]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `R` [INFO] [stderr] --> lib/src/gcm.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | const R: [u8; 16] = [0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `shift_right` [INFO] [stderr] --> lib/src/gcm.rs:8:4 [INFO] [stderr] | [INFO] [stderr] 8 | fn shift_right(num: [u8;16]) -> [u8;16] { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `bit_set` [INFO] [stderr] --> lib/src/gcm.rs:18:4 [INFO] [stderr] | [INFO] [stderr] 18 | fn bit_set(num: [u8;16], bit: usize) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `xor` [INFO] [stderr] --> lib/src/gcm.rs:25:4 [INFO] [stderr] | [INFO] [stderr] 25 | fn xor(a: [u8;16], b: [u8;16]) -> [u8;16] { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `multiply` [INFO] [stderr] --> lib/src/gcm.rs:33:4 [INFO] [stderr] | [INFO] [stderr] 33 | fn multiply(x: [u8;16], y: [u8;16]) -> [u8;16] { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `incr` [INFO] [stderr] --> lib/src/gcm.rs:56:4 [INFO] [stderr] | [INFO] [stderr] 56 | fn incr(number: [u8;16]) -> [u8;16] { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `GHash` [INFO] [stderr] --> lib/src/gcm.rs:69:8 [INFO] [stderr] | [INFO] [stderr] 69 | struct GHash { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> lib/src/gcm.rs:78:8 [INFO] [stderr] | [INFO] [stderr] 78 | fn new(key: [u8;16]) -> GHash { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `perform_round` [INFO] [stderr] --> lib/src/gcm.rs:87:8 [INFO] [stderr] | [INFO] [stderr] 87 | fn perform_round(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `update` [INFO] [stderr] --> lib/src/gcm.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | fn update(&mut self, update_buf: &[u8]) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `finalize` [INFO] [stderr] --> lib/src/gcm.rs:110:8 [INFO] [stderr] | [INFO] [stderr] 110 | fn finalize(&self) -> [u8;16] { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Gctr` [INFO] [stderr] --> lib/src/gcm.rs:117:8 [INFO] [stderr] | [INFO] [stderr] 117 | struct Gctr { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> lib/src/gcm.rs:128:8 [INFO] [stderr] | [INFO] [stderr] 128 | fn new(initial_counter: [u8;16], aes: Aes) -> Gctr { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `perform_round` [INFO] [stderr] --> lib/src/gcm.rs:139:8 [INFO] [stderr] | [INFO] [stderr] 139 | fn perform_round(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `update` [INFO] [stderr] --> lib/src/gcm.rs:150:8 [INFO] [stderr] | [INFO] [stderr] 150 | fn update(&mut self, update_buf: &[u8]) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `finalize` [INFO] [stderr] --> lib/src/gcm.rs:165:8 [INFO] [stderr] | [INFO] [stderr] 165 | fn finalize(mut self) -> Vec { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gctr` [INFO] [stderr] --> lib/src/gcm.rs:176:4 [INFO] [stderr] | [INFO] [stderr] 176 | fn gctr(initial_counter: [u8;16], aes: Aes, data: &[u8]) -> Vec { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ghash` [INFO] [stderr] --> lib/src/gcm.rs:182:4 [INFO] [stderr] | [INFO] [stderr] 182 | fn ghash(key: [u8;16], data: &[u8]) -> [u8;16] { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gcm_decrypt` [INFO] [stderr] --> lib/src/gcm.rs:188:4 [INFO] [stderr] | [INFO] [stderr] 188 | fn gcm_decrypt(iv: &[u8], aes: Aes, authenticated_data: &[u8], ciphertext: &[u8], tag: &[u8]) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gcm` [INFO] [stderr] --> lib/src/gcm.rs:220:4 [INFO] [stderr] | [INFO] [stderr] 220 | fn gcm(iv: &[u8], aes: Aes, authenticated_data: &[u8], plaintext: &[u8]) -> AeadResult { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Aes128` [INFO] [stderr] --> lib/src/gcm.rs:253:5 [INFO] [stderr] | [INFO] [stderr] 253 | Aes128, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Aes256` [INFO] [stderr] --> lib/src/gcm.rs:254:5 [INFO] [stderr] | [INFO] [stderr] 254 | Aes256, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `key_length` [INFO] [stderr] --> lib/src/gcm.rs:258:8 [INFO] [stderr] | [INFO] [stderr] 258 | fn key_length(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `iv_length` [INFO] [stderr] --> lib/src/gcm.rs:265:8 [INFO] [stderr] | [INFO] [stderr] 265 | fn iv_length(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `aead` [INFO] [stderr] --> lib/src/gcm.rs:269:12 [INFO] [stderr] | [INFO] [stderr] 269 | pub fn aead(&self, iv: &[u8], key: &[u8], authenticated_data: &[u8], plaintext: &[u8]) -> AeadResult { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `aead` [INFO] [stderr] --> lib/src/cipher_suite.rs:72:12 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn aead(&self, iv: &[u8], key: &[u8], authenticated_data: &[u8], plaintext: &[u8]) -> AeadResult { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Invalid` [INFO] [stderr] --> lib/src/messages.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | Invalid, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ChangeCipherSpec` [INFO] [stderr] --> lib/src/messages.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | ChangeCipherSpec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Alert` [INFO] [stderr] --> lib/src/messages.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | Alert, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ApplicationData` [INFO] [stderr] --> lib/src/messages.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | ApplicationData, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `to_bytes` [INFO] [stderr] --> lib/src/messages.rs:39:12 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn to_bytes(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NewSessionTicket` [INFO] [stderr] --> lib/src/messages.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | NewSessionTicket(NewSessionTicket), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `EndOfEarlyData` [INFO] [stderr] --> lib/src/messages.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | EndOfEarlyData(EndOfEarlyData), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `CertificateRequest` [INFO] [stderr] --> lib/src/messages.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | CertificateRequest(CertificateRequest), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `KeyUpdate` [INFO] [stderr] --> lib/src/messages.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | KeyUpdate(KeyUpdate), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `MessageHash` [INFO] [stderr] --> lib/src/messages.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | MessageHash(MessageHash), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ClientHello` [INFO] [stderr] --> lib/src/messages.rs:517:5 [INFO] [stderr] | [INFO] [stderr] 517 | ClientHello, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Cookie` [INFO] [stderr] --> lib/src/messages.rs:529:5 [INFO] [stderr] | [INFO] [stderr] 529 | Cookie(Cookie), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `PskKe` [INFO] [stderr] --> lib/src/messages.rs:875:5 [INFO] [stderr] | [INFO] [stderr] 875 | PskKe, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `PskDheKe` [INFO] [stderr] --> lib/src/messages.rs:876:5 [INFO] [stderr] | [INFO] [stderr] 876 | PskDheKe, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `try_from_u8` [INFO] [stderr] --> lib/src/messages.rs:887:8 [INFO] [stderr] | [INFO] [stderr] 887 | fn try_from_u8(num: u8) -> Result { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RsaPkcs1Sha1` [INFO] [stderr] --> lib/src/signature.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | RsaPkcs1Sha1, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `EcdsaSha1` [INFO] [stderr] --> lib/src/signature.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | EcdsaSha1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Buf` [INFO] [stderr] --> lib/src/client.rs:444:17 [INFO] [stderr] | [INFO] [stderr] 444 | use bytes::{Buf, BufMut}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BigInt` [INFO] [stderr] --> lib/src/eliptic_curve/curve25519.rs:193:22 [INFO] [stderr] | [INFO] [stderr] 193 | use num_bigint::{BigInt}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Point`, `multiplicative_inverse` [INFO] [stderr] --> lib/src/eliptic_curve/curve25519.rs:194:17 [INFO] [stderr] | [INFO] [stderr] 194 | use super::{multiplicative_inverse, Point, curve25519}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `random_gen` [INFO] [stderr] --> lib/src/client.rs:537:13 [INFO] [stderr] | [INFO] [stderr] 537 | let random_gen = Box::new(MockTlsGenerator {}); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_random_gen` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `test` [INFO] [stderr] --> lib/src/client.rs:669:13 [INFO] [stderr] | [INFO] [stderr] 669 | let test = client.as_ptr(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_test` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cx` [INFO] [stderr] --> lib/src/client.rs:469:45 [INFO] [stderr] | [INFO] [stderr] 469 | fn poll_ready(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cx` [INFO] [stderr] --> lib/src/client.rs:477:45 [INFO] [stderr] | [INFO] [stderr] 477 | fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cx` [INFO] [stderr] --> lib/src/client.rs:481:45 [INFO] [stderr] | [INFO] [stderr] 481 | fn poll_close(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `inverse` [INFO] [stderr] --> lib/src/eliptic_curve/secp256r1.rs:214:13 [INFO] [stderr] | [INFO] [stderr] 214 | let inverse = super::multiplicative_inverse(&BigInt::from(3u32), &BigInt::from(19u32)); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverse` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_point` [INFO] [stderr] --> lib/src/eliptic_curve/secp256r1.rs:241:13 [INFO] [stderr] | [INFO] [stderr] 241 | let new_point = curve.add(&a, &b); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_point` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> lib/src/client.rs:670:9 [INFO] [stderr] | [INFO] [stderr] 670 | unsafe { [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `icb` [INFO] [stderr] --> lib/src/gcm.rs:119:5 [INFO] [stderr] | [INFO] [stderr] 119 | icb: [u8;16], [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `tlslib` (lib) generated 96 warnings [INFO] [stderr] warning: `tlslib` (lib test) generated 58 warnings (46 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.41s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/testexe-59eb722d8c5010cf) [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/tlslib-4fdb361624e62183) [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 41 tests [INFO] [stdout] test aes::tests::cipher_test_128 ... ok [INFO] [stdout] test aes::tests::test_mul ... ok [INFO] [stdout] test aes::tests::cipher_test_256 ... ok [INFO] [stdout] test aes::tests::test_xtime ... ok [INFO] [stdout] test aes::tests::cipher_test_196 ... ok [INFO] [stdout] test aes::tests::test_expand_keys ... ok [INFO] [stdout] test digest::sha256::tests::test_digest ... ok [INFO] [stdout] test digest::sha256::tests::test_long_digest ... ok [INFO] [stdout] test digest::sha384::tests::test_digest ... ok [INFO] [stdout] test digest::sha384::tests::test_long_digest ... ok [INFO] [stdout] test eliptic_curve::curve25519::tests::test_one_thousand ... ignored [INFO] [stdout] test eliptic_curve::secp256r1::tests::test_add ... ok [INFO] [stdout] test eliptic_curve::secp256r1::tests::test_inverse ... ok [INFO] [stdout] test eliptic_curve::secp256r1::tests::test_vector1 ... ok [INFO] [stdout] test eliptic_curve::secp256r1::tests::test_mul_small ... ok [INFO] [stdout] test eliptic_curve::secp256r1::tests::test_mul ... ok [INFO] [stdout] test gcm::tests::test_gcm_multiply2 ... ok [INFO] [stdout] test gcm::tests::test_gcm_empty ... ok [INFO] [stdout] test gcm::tests::test_gcm_multiply ... ok [INFO] [stdout] test gcm::tests::test_gcm_complex ... ok [INFO] [stdout] test gcm::tests::test_gcm_multiply3 ... ok [INFO] [stdout] test hmac::tests::test_hkdf3 ... ok [INFO] [stdout] test hmac::tests::test_hkdf2 ... ok [INFO] [stdout] test hmac::tests::test_hmac ... ok [INFO] [stdout] test gcm::tests::test_gcm_simple ... ok [INFO] [stdout] test messages::tests::test_certificate_verify_serdes ... ok [INFO] [stdout] test messages::tests::test_certificate_serdes ... ok [INFO] [stdout] test messages::tests::test_encrypted_extensions_serdes ... ok [INFO] [stdout] test messages::tests::test_finished_serdes ... ok [INFO] [stdout] test messages::tests::test_handshake_deserialization ... ok [INFO] [stdout] test tests::test_connect ... ok [INFO] [stdout] test hmac::tests::test_hkdf ... FAILED [INFO] [stdout] test messages::tests::test_client_hello_serdes ... FAILED [INFO] [stdout] test digest::sha384::tests::test_longest_digest ... ok [INFO] [stdout] test eliptic_curve::curve25519::tests::test_iteration ... ok [INFO] [stdout] test eliptic_curve::curve25519::tests::test_vec2 ... ok [INFO] [stdout] test eliptic_curve::curve25519::tests::test_vec1 ... ok [INFO] [stdout] test digest::sha256::tests::test_longest_digest ... ok [INFO] [stdout] test client::tests::test_initial_connection ... ok [INFO] [stdout] test messages::tests::test_handshake_serialization ... ok [INFO] [stdout] test eliptic_curve::secp256r1::tests::test_vectors ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- hmac::tests::test_hkdf stdout ---- [INFO] [stdout] thread 'hmac::tests::test_hkdf' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `"a45b7c1699130145de9d48784b1c2ccad600588e88d6632bdda7b43b347cf3904dae54b668dcf094faf0"`, [INFO] [stdout] right: `"8da4e775a563c18f715f802a063c5a31b8a11f5c5ee1879ec3454e5f3c738d2d9d201395faa4b61a96c8"`', lib/src/hmac.rs:118:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x557ff3c8d9a0 - std::backtrace_rs::backtrace::libunwind::trace::ha0ad43e8a952bfe7 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5 [INFO] [stdout] 1: 0x557ff3c8d9a0 - std::backtrace_rs::backtrace::trace_unsynchronized::h6830419c0c4130dc [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x557ff3c8d9a0 - std::sys_common::backtrace::_print_fmt::h8f3516631ffa1ef5 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x557ff3c8d9a0 - ::fmt::he1640d5f0d93f618 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x557ff3cb018c - core::fmt::write::h88012e1f01caeebf [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/fmt/mod.rs:1115:17 [INFO] [stdout] 5: 0x557ff3c8aa55 - std::io::Write::write_fmt::h7728c39ea5632753 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/io/mod.rs:1665:15 [INFO] [stdout] 6: 0x557ff3c8fb0b - std::sys_common::backtrace::_print::ha1f00492f406a015 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x557ff3c8fb0b - std::sys_common::backtrace::print::hd54561b13feb6af3 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x557ff3c8fb0b - std::panicking::default_hook::{{closure}}::h84fe124cd0864662 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:208:50 [INFO] [stdout] 9: 0x557ff3c8f61c - std::panicking::default_hook::h5a8e74a76ce290a7 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:222:9 [INFO] [stdout] 10: 0x557ff3c901d4 - std::panicking::rust_panic_with_hook::h67c812a4fe9d4c91 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:622:17 [INFO] [stdout] 11: 0x557ff3c8fcb7 - std::panicking::begin_panic_handler::{{closure}}::h33f9c1b96af300d7 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:519:13 [INFO] [stdout] 12: 0x557ff3c8de9c - std::sys_common::backtrace::__rust_end_short_backtrace::h51bae64be5921f0e [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:141:18 [INFO] [stdout] 13: 0x557ff3c8fc19 - rust_begin_unwind [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:515:5 [INFO] [stdout] 14: 0x557ff3b5c7d1 - core::panicking::panic_fmt::h12a3a3c256485fca [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/panicking.rs:92:14 [INFO] [stdout] 15: 0x557ff3caeaa8 - core::panicking::assert_failed_inner::hd10540743cd0e11a [INFO] [stdout] 16: 0x557ff3bafa6e - core::panicking::assert_failed::h54473a5b9866d9ee [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/panicking.rs:117:5 [INFO] [stdout] 17: 0x557ff3bb3d4b - tlslib::hmac::tests::test_hkdf::h6068b00c7695cb6a [INFO] [stdout] at /opt/rustwide/workdir/lib/src/hmac.rs:118:9 [INFO] [stdout] 18: 0x557ff3bb38fa - tlslib::hmac::tests::test_hkdf::{{closure}}::h599c3acc7913892f [INFO] [stdout] at /opt/rustwide/workdir/lib/src/hmac.rs:110:5 [INFO] [stdout] 19: 0x557ff3b8507e - core::ops::function::FnOnce::call_once::h58cd70c87b60f7de [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 20: 0x557ff3bf2893 - core::ops::function::FnOnce::call_once::h5aba9a5d361d6c79 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 21: 0x557ff3bf2893 - test::__rust_begin_short_backtrace::h705bb53b2b1d45e6 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/test/src/lib.rs:578:5 [INFO] [stdout] 22: 0x557ff3bf1348 - as core::ops::function::FnOnce>::call_once::ha20f614d7c0b2b6d [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/alloc/src/boxed.rs:1572:9 [INFO] [stdout] 23: 0x557ff3bf1348 - as core::ops::function::FnOnce<()>>::call_once::hf02f19eeb64ceabd [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panic.rs:347:9 [INFO] [stdout] 24: 0x557ff3bf1348 - std::panicking::try::do_call::h4bfab65eb3b4b036 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:401:40 [INFO] [stdout] 25: 0x557ff3bf1348 - std::panicking::try::h6613a46a6d2b6f88 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:365:19 [INFO] [stdout] 26: 0x557ff3bf1348 - std::panic::catch_unwind::h9f07b17b60991273 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panic.rs:434:14 [INFO] [stdout] 27: 0x557ff3bf1348 - test::run_test_in_process::hc38797eecf07854f [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/test/src/lib.rs:601:18 [INFO] [stdout] 28: 0x557ff3bf1348 - test::run_test::run_test_inner::{{closure}}::hac209db8bce0fd77 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/test/src/lib.rs:493:39 [INFO] [stdout] 29: 0x557ff3bbfadd - test::run_test::run_test_inner::{{closure}}::h4aefdd4b4a423e20 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/test/src/lib.rs:520:37 [INFO] [stdout] 30: 0x557ff3bbfadd - std::sys_common::backtrace::__rust_begin_short_backtrace::h652c9e2663704700 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:125:18 [INFO] [stdout] 31: 0x557ff3bc42b8 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hd84fd5e0b5b1f45f [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/thread/mod.rs:476:17 [INFO] [stdout] 32: 0x557ff3bc42b8 - as core::ops::function::FnOnce<()>>::call_once::he23556962a2ae14b [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panic.rs:347:9 [INFO] [stdout] 33: 0x557ff3bc42b8 - std::panicking::try::do_call::h67d4f93e1fbaa5f9 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:401:40 [INFO] [stdout] 34: 0x557ff3bc42b8 - std::panicking::try::h396886e678db815e [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:365:19 [INFO] [stdout] 35: 0x557ff3bc42b8 - std::panic::catch_unwind::hc1d64dcecf0a00e0 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panic.rs:434:14 [INFO] [stdout] 36: 0x557ff3bc42b8 - std::thread::Builder::spawn_unchecked::{{closure}}::hc2644cf33cb61d8e [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/thread/mod.rs:475:30 [INFO] [stdout] 37: 0x557ff3bc42b8 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4473c2c77b66963f [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 38: 0x557ff3c94d67 - as core::ops::function::FnOnce>::call_once::h6bff7798948b1075 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/alloc/src/boxed.rs:1572:9 [INFO] [stdout] 39: 0x557ff3c94d67 - as core::ops::function::FnOnce>::call_once::hc2d25ac38f6b2342 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/alloc/src/boxed.rs:1572:9 [INFO] [stdout] 40: 0x557ff3c94d67 - std::sys::unix::thread::Thread::new::thread_start::hbba5bc368baac205 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys/unix/thread.rs:74:17 [INFO] [stdout] 41: 0x7f5d42e1d609 - start_thread [INFO] [stdout] 42: 0x7f5d42bef293 - clone [INFO] [stdout] 43: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- messages::tests::test_client_hello_serdes stdout ---- [INFO] [stdout] thread 'messages::tests::test_client_hello_serdes' panicked at 'called `Result::unwrap()` on an `Err` value: Error("Parse Error on line 85")', lib/src/messages.rs:1031:41 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x557ff3c8d9a0 - std::backtrace_rs::backtrace::libunwind::trace::ha0ad43e8a952bfe7 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5 [INFO] [stdout] 1: 0x557ff3c8d9a0 - std::backtrace_rs::backtrace::trace_unsynchronized::h6830419c0c4130dc [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x557ff3c8d9a0 - std::sys_common::backtrace::_print_fmt::h8f3516631ffa1ef5 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x557ff3c8d9a0 - ::fmt::he1640d5f0d93f618 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x557ff3cb018c - core::fmt::write::h88012e1f01caeebf [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/fmt/mod.rs:1115:17 [INFO] [stdout] 5: 0x557ff3c8aa55 - std::io::Write::write_fmt::h7728c39ea5632753 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/io/mod.rs:1665:15 [INFO] [stdout] 6: 0x557ff3c8fb0b - std::sys_common::backtrace::_print::ha1f00492f406a015 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x557ff3c8fb0b - std::sys_common::backtrace::print::hd54561b13feb6af3 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x557ff3c8fb0b - std::panicking::default_hook::{{closure}}::h84fe124cd0864662 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:208:50 [INFO] [stdout] 9: 0x557ff3c8f61c - std::panicking::default_hook::h5a8e74a76ce290a7 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:222:9 [INFO] [stdout] 10: 0x557ff3c901d4 - std::panicking::rust_panic_with_hook::h67c812a4fe9d4c91 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:622:17 [INFO] [stdout] 11: 0x557ff3c8fcb7 - std::panicking::begin_panic_handler::{{closure}}::h33f9c1b96af300d7 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:519:13 [INFO] [stdout] 12: 0x557ff3c8de9c - std::sys_common::backtrace::__rust_end_short_backtrace::h51bae64be5921f0e [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:141:18 [INFO] [stdout] 13: 0x557ff3c8fc19 - rust_begin_unwind [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:515:5 [INFO] [stdout] 14: 0x557ff3b5c7d1 - core::panicking::panic_fmt::h12a3a3c256485fca [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/panicking.rs:92:14 [INFO] [stdout] 15: 0x557ff3b5c8c3 - core::result::unwrap_failed::h2d8d0952e3250de9 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/result.rs:1599:5 [INFO] [stdout] 16: 0x557ff3ba9534 - core::result::Result::unwrap::h5b3cb7e5913a29c1 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/result.rs:1281:23 [INFO] [stdout] 17: 0x557ff3b92324 - tlslib::messages::tests::test_client_hello_serdes::h12a596a884c63289 [INFO] [stdout] at /opt/rustwide/workdir/lib/src/messages.rs:1031:27 [INFO] [stdout] 18: 0x557ff3b9205a - tlslib::messages::tests::test_client_hello_serdes::{{closure}}::hf4fdb0714271487a [INFO] [stdout] at /opt/rustwide/workdir/lib/src/messages.rs:1024:5 [INFO] [stdout] 19: 0x557ff3b852be - core::ops::function::FnOnce::call_once::h995368cfa89d1447 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 20: 0x557ff3bf2893 - core::ops::function::FnOnce::call_once::h5aba9a5d361d6c79 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 21: 0x557ff3bf2893 - test::__rust_begin_short_backtrace::h705bb53b2b1d45e6 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/test/src/lib.rs:578:5 [INFO] [stdout] 22: 0x557ff3bf1348 - as core::ops::function::FnOnce>::call_once::ha20f614d7c0b2b6d [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/alloc/src/boxed.rs:1572:9 [INFO] [stdout] 23: 0x557ff3bf1348 - as core::ops::function::FnOnce<()>>::call_once::hf02f19eeb64ceabd [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panic.rs:347:9 [INFO] [stdout] 24: 0x557ff3bf1348 - std::panicking::try::do_call::h4bfab65eb3b4b036 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:401:40 [INFO] [stdout] 25: 0x557ff3bf1348 - std::panicking::try::h6613a46a6d2b6f88 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:365:19 [INFO] [stdout] 26: 0x557ff3bf1348 - std::panic::catch_unwind::h9f07b17b60991273 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panic.rs:434:14 [INFO] [stdout] 27: 0x557ff3bf1348 - test::run_test_in_process::hc38797eecf07854f [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/test/src/lib.rs:601:18 [INFO] [stdout] 28: 0x557ff3bf1348 - test::run_test::run_test_inner::{{closure}}::hac209db8bce0fd77 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/test/src/lib.rs:493:39 [INFO] [stdout] 29: 0x557ff3bbfadd - test::run_test::run_test_inner::{{closure}}::h4aefdd4b4a423e20 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/test/src/lib.rs:520:37 [INFO] [stdout] 30: 0x557ff3bbfadd - std::sys_common::backtrace::__rust_begin_short_backtrace::h652c9e2663704700 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys_common/backtrace.rs:125:18 [INFO] [stdout] 31: 0x557ff3bc42b8 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hd84fd5e0b5b1f45f [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/thread/mod.rs:476:17 [INFO] [stdout] 32: 0x557ff3bc42b8 - as core::ops::function::FnOnce<()>>::call_once::he23556962a2ae14b [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panic.rs:347:9 [INFO] [stdout] 33: 0x557ff3bc42b8 - std::panicking::try::do_call::h67d4f93e1fbaa5f9 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:401:40 [INFO] [stdout] 34: 0x557ff3bc42b8 - std::panicking::try::h396886e678db815e [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:365:19 [INFO] [stdout] 35: 0x557ff3bc42b8 - std::panic::catch_unwind::hc1d64dcecf0a00e0 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panic.rs:434:14 [INFO] [stdout] 36: 0x557ff3bc42b8 - std::thread::Builder::spawn_unchecked::{{closure}}::hc2644cf33cb61d8e [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/thread/mod.rs:475:30 [INFO] [stdout] 37: 0x557ff3bc42b8 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4473c2c77b66963f [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 38: 0x557ff3c94d67 - as core::ops::function::FnOnce>::call_once::h6bff7798948b1075 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/alloc/src/boxed.rs:1572:9 [INFO] [stdout] 39: 0x557ff3c94d67 - as core::ops::function::FnOnce>::call_once::hc2d25ac38f6b2342 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/alloc/src/boxed.rs:1572:9 [INFO] [stdout] 40: 0x557ff3c94d67 - std::sys::unix::thread::Thread::new::thread_start::hbba5bc368baac205 [INFO] [stdout] at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/sys/unix/thread.rs:74:17 [INFO] [stdout] 41: 0x7f5d42e1d609 - start_thread [INFO] [stdout] 42: 0x7f5d42bef293 - clone [INFO] [stdout] 43: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] hmac::tests::test_hkdf [INFO] [stdout] messages::tests::test_client_hello_serdes [INFO] [stdout] [INFO] [stdout] test result: FAILED. 38 passed; 2 failed; 1 ignored; 0 measured; 0 filtered out; finished in 3.50s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '-p tlslib --lib' [INFO] running `Command { std: "docker" "inspect" "f2a3fe13af85141c346cba73dc35b61fa19ba8ff58c46264d5f7883642fbe204", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f2a3fe13af85141c346cba73dc35b61fa19ba8ff58c46264d5f7883642fbe204", kill_on_drop: false }` [INFO] [stdout] f2a3fe13af85141c346cba73dc35b61fa19ba8ff58c46264d5f7883642fbe204