[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 beta-2021-08-01 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohndaniels%2Frusttls" "/workspace/builds/worker-14/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-14/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/johndaniels/rusttls on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "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-14/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" "+beta-2021-08-01" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded futures-sink-preview v0.3.0-alpha.19
[INFO] [stderr]   Downloaded tokio-io v0.2.0-alpha.6
[INFO] [stderr]   Downloaded tokio-fs v0.2.0-alpha.6
[INFO] [stderr]   Downloaded tokio-codec v0.2.0-alpha.6
[INFO] [stderr]   Downloaded futures-preview v0.3.0-alpha.19
[INFO] [stderr]   Downloaded futures-executor-preview v0.3.0-alpha.19
[INFO] [stderr]   Downloaded pin-project v0.4.3
[INFO] [stderr]   Downloaded tokio-macros v0.2.0-alpha.6
[INFO] [stderr]   Downloaded tracing v0.1.9
[INFO] [stderr]   Downloaded tracing-attributes v0.1.4
[INFO] [stderr]   Downloaded tokio-timer v0.3.0-alpha.6
[INFO] [stderr]   Downloaded trust-dns-proto v0.8.0
[INFO] [stderr]   Downloaded tracing-core v0.1.6
[INFO] [stderr]   Downloaded futures-io-preview v0.3.0-alpha.19
[INFO] [stderr]   Downloaded tokio v0.2.0-alpha.6
[INFO] [stderr]   Downloaded trust-dns-resolver v0.12.0
[INFO] [stderr]   Downloaded hex v0.4.0
[INFO] [stderr]   Downloaded pin-project-internal v0.4.3
[INFO] [stderr]   Downloaded tokio-net v0.2.0-alpha.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d5dde3c8352f057bf240d22cdc602fc743cbc8c38f83cdcfe556ea4428e55416
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "d5dde3c8352f057bf240d22cdc602fc743cbc8c38f83cdcfe556ea4428e55416", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d5dde3c8352f057bf240d22cdc602fc743cbc8c38f83cdcfe556ea4428e55416", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5dde3c8352f057bf240d22cdc602fc743cbc8c38f83cdcfe556ea4428e55416", kill_on_drop: false }`
[INFO] [stdout] d5dde3c8352f057bf240d22cdc602fc743cbc8c38f83cdcfe556ea4428e55416
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8eb418cf15e5783f3f2de7a1fd2c55112530fd4aa4aac74b93ae405416fc601c
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "8eb418cf15e5783f3f2de7a1fd2c55112530fd4aa4aac74b93ae405416fc601c", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.5
[INFO] [stderr]    Compiling futures v0.1.29
[INFO] [stderr]    Compiling syn v1.0.5
[INFO] [stderr]    Compiling smallvec v0.6.10
[INFO] [stderr]    Compiling memchr v2.2.1
[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 proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling futures-io-preview v0.3.0-alpha.19
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling cc v1.0.45
[INFO] [stderr]    Compiling getrandom v0.1.12
[INFO] [stderr]    Compiling failure_derive v0.1.5
[INFO] [stderr]    Compiling ppv-lite86 v0.2.5
[INFO] [stderr]    Compiling quick-error v1.2.2
[INFO] [stderr]    Compiling hex v0.4.0
[INFO] [stderr]    Compiling lock_api v0.3.1
[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 lazy_static v1.4.0
[INFO] [stderr]    Compiling futures-channel-preview v0.3.0-alpha.19
[INFO] [stderr]    Compiling unicode-normalization v0.1.8
[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 socket2 v0.3.11
[INFO] [stderr]    Compiling hostname v0.1.5
[INFO] [stderr]    Compiling memoffset v0.5.1
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]    Compiling parking_lot v0.9.0
[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 resolv-conf v0.6.2
[INFO] [stderr]    Compiling bytes v0.4.12
[INFO] [stderr]    Compiling mio v0.6.19
[INFO] [stderr]    Compiling rand_core v0.5.1
[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 quote v0.6.13
[INFO] [stderr]    Compiling tokio-executor v0.1.8
[INFO] [stderr]    Compiling tokio-sync v0.1.6
[INFO] [stderr]    Compiling tokio-io v0.1.12
[INFO] [stderr]    Compiling rand_chacha v0.2.1
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling idna v0.2.0
[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 crossbeam-epoch v0.7.2
[INFO] [stderr]    Compiling mio-uds v0.6.7
[INFO] [stderr]    Compiling rand v0.7.2
[INFO] [stderr]    Compiling crossbeam-deque v0.7.1
[INFO] [stderr]    Compiling tokio-reactor v0.1.10
[INFO] [stderr]    Compiling tokio-codec v0.1.1
[INFO] [stderr]    Compiling url v2.1.0
[INFO] [stderr]    Compiling tokio-threadpool v0.1.16
[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 tokio-sync v0.2.0-alpha.6
[INFO] [stderr]    Compiling futures-executor-preview v0.3.0-alpha.19
[INFO] [stderr]    Compiling backtrace v0.3.38
[INFO] [stderr]    Compiling tokio-fs v0.1.6
[INFO] [stderr]    Compiling futures-preview v0.3.0-alpha.19
[INFO] [stderr]    Compiling tokio v0.1.22
[INFO] [stderr]    Compiling synstructure v0.10.2
[INFO] [stderr]    Compiling enum-as-inner v0.2.1
[INFO] [stderr]    Compiling failure v0.1.5
[INFO] [stderr]    Compiling trust-dns-proto v0.8.0
[INFO] [stderr]    Compiling pin-project-internal v0.4.3
[INFO] [stderr]    Compiling tracing-attributes v0.1.4
[INFO] [stderr]    Compiling tokio-macros v0.2.0-alpha.6
[INFO] [stderr]    Compiling trust-dns-resolver v0.12.0
[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<ServerName, ParseError> {
[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<ServerName, ParseError> {
[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<DiffieHellmanGroup, ParseError> {
[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<RecordSizeLimit, ParseError> {
[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<KeyShareEntry, ParseError> {
[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<u8>;
[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 <https://github.com/rust-lang/rust/issues/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<Vec<u8>>,
[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<u8> {
[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<u8> {
[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<u8> {
[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<Vec<u8>> {
[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<u8> {
[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<PskKeyExchangeMode, ParseError> {
[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 49.89s
[INFO] running `Command { std: "docker" "inspect" "8eb418cf15e5783f3f2de7a1fd2c55112530fd4aa4aac74b93ae405416fc601c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8eb418cf15e5783f3f2de7a1fd2c55112530fd4aa4aac74b93ae405416fc601c", kill_on_drop: false }`
[INFO] [stdout] 8eb418cf15e5783f3f2de7a1fd2c55112530fd4aa4aac74b93ae405416fc601c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ddaf01615423365a4012723196bd3f572953a042ca4a7980fcf1f99e25b34744
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "ddaf01615423365a4012723196bd3f572953a042ca4a7980fcf1f99e25b34744", 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<ServerName, ParseError> {
[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<ServerName, ParseError> {
[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<DiffieHellmanGroup, ParseError> {
[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<RecordSizeLimit, ParseError> {
[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<KeyShareEntry, ParseError> {
[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<u8>;
[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 <https://github.com/rust-lang/rust/issues/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<Vec<u8>>,
[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<u8> {
[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<u8> {
[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<u8> {
[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<Vec<u8>> {
[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] [stderr]    Compiling tlslib v0.1.0 (/opt/rustwide/workdir/lib)
[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] [stderr]    Compiling testexe v0.1.0 (/opt/rustwide/workdir/testexe)
[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<u8> {
[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<PskKeyExchangeMode, ParseError> {
[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] [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<Result<(), Self::Error>> {
[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<Result<(), Self::Error>> {
[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<Result<(), Self::Error>> {
[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<ServerName, ParseError> {
[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<ServerName, ParseError> {
[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<DiffieHellmanGroup, ParseError> {
[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<RecordSizeLimit, ParseError> {
[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<KeyShareEntry, ParseError> {
[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<u8>;
[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 <https://github.com/rust-lang/rust/issues/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<Vec<u8>>,
[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<PskKeyExchangeMode, ParseError> {
[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 37.90s
[INFO] running `Command { std: "docker" "inspect" "ddaf01615423365a4012723196bd3f572953a042ca4a7980fcf1f99e25b34744", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ddaf01615423365a4012723196bd3f572953a042ca4a7980fcf1f99e25b34744", kill_on_drop: false }`
[INFO] [stdout] ddaf01615423365a4012723196bd3f572953a042ca4a7980fcf1f99e25b34744
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 497f3f61b96409c1035ac8c45ab4c118ae851c99657add5e932bdb6c7ded3a28
[INFO] running `Command { std: "docker" "start" "-a" "497f3f61b96409c1035ac8c45ab4c118ae851c99657add5e932bdb6c7ded3a28", kill_on_drop: false }`
[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<ServerName, ParseError> {
[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<ServerName, ParseError> {
[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<DiffieHellmanGroup, ParseError> {
[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<RecordSizeLimit, ParseError> {
[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<KeyShareEntry, ParseError> {
[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<u8>;
[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 <https://github.com/rust-lang/rust/issues/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<Vec<u8>>,
[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<u8> {
[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<u8> {
[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<u8> {
[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<Vec<u8>> {
[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<u8> {
[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<PskKeyExchangeMode, ParseError> {
[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<Result<(), Self::Error>> {
[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<Result<(), Self::Error>> {
[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<Result<(), Self::Error>> {
[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.23s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/testexe-ec1eb705f0d389df)
[INFO] [stdout] 
[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] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/tlslib-b878b0b593da0342)
[INFO] [stdout] 
[INFO] [stdout] running 41 tests
[INFO] [stdout] test aes::tests::cipher_test_128 ... ok
[INFO] [stdout] test eliptic_curve::curve25519::tests::test_one_thousand ... ignored
[INFO] [stdout] test aes::tests::cipher_test_196 ... ok
[INFO] [stdout] test digest::sha384::tests::test_long_digest ... ok
[INFO] [stdout] test digest::sha384::tests::test_digest ... ok
[INFO] [stdout] test eliptic_curve::secp256r1::tests::test_inverse ... ok
[INFO] [stdout] test aes::tests::test_expand_keys ... ok
[INFO] [stdout] test aes::tests::test_xtime ... ok
[INFO] [stdout] test aes::tests::test_mul ... ok
[INFO] [stdout] test digest::sha256::tests::test_digest ... ok
[INFO] [stdout] test eliptic_curve::secp256r1::tests::test_add ... ok
[INFO] [stdout] test aes::tests::cipher_test_256 ... ok
[INFO] [stdout] test gcm::tests::test_gcm_multiply ... ok
[INFO] [stdout] test eliptic_curve::secp256r1::tests::test_mul_small ... ok
[INFO] [stdout] test eliptic_curve::secp256r1::tests::test_vector1 ... ok
[INFO] [stdout] test gcm::tests::test_gcm_empty ... ok
[INFO] [stdout] test gcm::tests::test_gcm_complex ... ok
[INFO] [stdout] test digest::sha256::tests::test_long_digest ... ok
[INFO] [stdout] test gcm::tests::test_gcm_multiply3 ... ok
[INFO] [stdout] test gcm::tests::test_gcm_simple ... ok
[INFO] [stdout] test messages::tests::test_certificate_serdes ... ok
[INFO] [stdout] test gcm::tests::test_gcm_multiply2 ... ok
[INFO] [stdout] test messages::tests::test_certificate_verify_serdes ... ok
[INFO] [stdout] test hmac::tests::test_hmac ... ok
[INFO] [stdout] test messages::tests::test_finished_serdes ... ok
[INFO] [stdout] test messages::tests::test_handshake_deserialization ... ok
[INFO] [stdout] test messages::tests::test_encrypted_extensions_serdes ... ok
[INFO] [stdout] test hmac::tests::test_hkdf2 ... ok
[INFO] [stdout] test tests::test_connect ... ok
[INFO] [stdout] test hmac::tests::test_hkdf3 ... ok
[INFO] [stdout] test eliptic_curve::secp256r1::tests::test_mul ... ok
[INFO] [stdout] test hmac::tests::test_hkdf ... FAILED
[INFO] [stdout] test messages::tests::test_client_hello_serdes ... FAILED
[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::sha384::tests::test_longest_digest ... 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] [stderr] error: test failed, to rerun pass '-p tlslib --lib'
[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:     0x55b9ddb1ebe0 - std::backtrace_rs::backtrace::libunwind::trace::hff4d1766e93f64f1
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
[INFO] [stdout]    1:     0x55b9ddb1ebe0 - std::backtrace_rs::backtrace::trace_unsynchronized::h56bbc8eb78770bcb
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55b9ddb1ebe0 - std::sys_common::backtrace::_print_fmt::h5c8e75464faca780
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55b9ddb1ebe0 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h48b88277def8b362
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:46:22
[INFO] [stdout]    4:     0x55b9ddb413dc - core::fmt::write::h3381b3176fe2b3d3
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/fmt/mod.rs:1115:17
[INFO] [stdout]    5:     0x55b9ddb1bb45 - std::io::Write::write_fmt::h5f34a676f60246b5
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/io/mod.rs:1665:15
[INFO] [stdout]    6:     0x55b9ddb20d5b - std::sys_common::backtrace::_print::ha537687d6c17dd0d
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:49:5
[INFO] [stdout]    7:     0x55b9ddb20d5b - std::sys_common::backtrace::print::h61376ae57d131d72
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:36:9
[INFO] [stdout]    8:     0x55b9ddb20d5b - std::panicking::default_hook::{{closure}}::h0f7208c0b9644a54
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:208:50
[INFO] [stdout]    9:     0x55b9ddb2086c - std::panicking::default_hook::hdac7fc06578c14ce
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:222:9
[INFO] [stdout]   10:     0x55b9ddb21424 - std::panicking::rust_panic_with_hook::h72b21c283da3d1ef
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:622:17
[INFO] [stdout]   11:     0x55b9ddb20f07 - std::panicking::begin_panic_handler::{{closure}}::he5778f1729cff84a
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:519:13
[INFO] [stdout]   12:     0x55b9ddb1f0bc - std::sys_common::backtrace::__rust_end_short_backtrace::h2d11ca8b453b4b1d
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:141:18
[INFO] [stdout]   13:     0x55b9ddb20e69 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:515:5
[INFO] [stdout]   14:     0x55b9dd9ef7d1 - core::panicking::panic_fmt::hf9de31d4acbce4db
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/panicking.rs:92:14
[INFO] [stdout]   15:     0x55b9ddb3fcf8 - core::panicking::assert_failed_inner::h62e8cb2847a6e7ec
[INFO] [stdout]   16:     0x55b9dda42a7e - core::panicking::assert_failed::h7ffddd881511946e
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/panicking.rs:117:5
[INFO] [stdout]   17:     0x55b9dda46d8b - tlslib::hmac::tests::test_hkdf::hf892b5b0988f6e6b
[INFO] [stdout]                                at /opt/rustwide/workdir/lib/src/hmac.rs:118:9
[INFO] [stdout]   18:     0x55b9dda4693a - tlslib::hmac::tests::test_hkdf::{{closure}}::h81292fc9d6265fd2
[INFO] [stdout]                                at /opt/rustwide/workdir/lib/src/hmac.rs:110:5
[INFO] [stdout]   19:     0x55b9dda1833e - core::ops::function::FnOnce::call_once::h8abbe853fdc8bc4b
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   20:     0x55b9dda85893 - core::ops::function::FnOnce::call_once::hbb52c4519d3137b0
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   21:     0x55b9dda85893 - test::__rust_begin_short_backtrace::h86fe3a2a5a5121af
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/test/src/lib.rs:578:5
[INFO] [stdout]   22:     0x55b9dda84348 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hfd956bc3d57399be
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/alloc/src/boxed.rs:1572:9
[INFO] [stdout]   23:     0x55b9dda84348 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h40dc93e0ddb5938a
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panic.rs:347:9
[INFO] [stdout]   24:     0x55b9dda84348 - std::panicking::try::do_call::h90d07750cb47c562
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:401:40
[INFO] [stdout]   25:     0x55b9dda84348 - std::panicking::try::h063c84733ad2a629
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:365:19
[INFO] [stdout]   26:     0x55b9dda84348 - std::panic::catch_unwind::h0c464836a84e7c08
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panic.rs:434:14
[INFO] [stdout]   27:     0x55b9dda84348 - test::run_test_in_process::h5cb06ef620b157fc
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/test/src/lib.rs:601:18
[INFO] [stdout]   28:     0x55b9dda84348 - test::run_test::run_test_inner::{{closure}}::h76f677f4b93f9828
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/test/src/lib.rs:493:39
[INFO] [stdout]   29:     0x55b9dda52add - test::run_test::run_test_inner::{{closure}}::h366d01fe04f4d67a
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/test/src/lib.rs:520:37
[INFO] [stdout]   30:     0x55b9dda52add - std::sys_common::backtrace::__rust_begin_short_backtrace::h7dfa0de4eb395af2
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:125:18
[INFO] [stdout]   31:     0x55b9dda572a8 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hf0a74bb58798037f
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/thread/mod.rs:476:17
[INFO] [stdout]   32:     0x55b9dda572a8 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb024e854818586ac
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panic.rs:347:9
[INFO] [stdout]   33:     0x55b9dda572a8 - std::panicking::try::do_call::hb2dd9f1d0d48e41d
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:401:40
[INFO] [stdout]   34:     0x55b9dda572a8 - std::panicking::try::h4717ae7bac8b2bf3
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:365:19
[INFO] [stdout]   35:     0x55b9dda572a8 - std::panic::catch_unwind::h0dc8a061326ce8d8
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panic.rs:434:14
[INFO] [stdout]   36:     0x55b9dda572a8 - std::thread::Builder::spawn_unchecked::{{closure}}::haa369e2d6fd00aa1
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/thread/mod.rs:475:30
[INFO] [stdout]   37:     0x55b9dda572a8 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h36dcf3de8b056f17
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   38:     0x55b9ddb25fb7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h65c29e4642be2358
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/alloc/src/boxed.rs:1572:9
[INFO] [stdout]   39:     0x55b9ddb25fb7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hd0f8f7fbbd9fffbf
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/alloc/src/boxed.rs:1572:9
[INFO] [stdout]   40:     0x55b9ddb25fb7 - std::sys::unix::thread::Thread::new::thread_start::h2fd22fee3ca77b65
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys/unix/thread.rs:74:17
[INFO] [stdout]   41:     0x7f479500d609 - start_thread
[INFO] [stdout]   42:     0x7f4794ddf293 - clone
[INFO] [stdout]   43:                0x0 - <unknown>
[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:     0x55b9ddb1ebe0 - std::backtrace_rs::backtrace::libunwind::trace::hff4d1766e93f64f1
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
[INFO] [stdout]    1:     0x55b9ddb1ebe0 - std::backtrace_rs::backtrace::trace_unsynchronized::h56bbc8eb78770bcb
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55b9ddb1ebe0 - std::sys_common::backtrace::_print_fmt::h5c8e75464faca780
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55b9ddb1ebe0 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h48b88277def8b362
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:46:22
[INFO] [stdout]    4:     0x55b9ddb413dc - core::fmt::write::h3381b3176fe2b3d3
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/fmt/mod.rs:1115:17
[INFO] [stdout]    5:     0x55b9ddb1bb45 - std::io::Write::write_fmt::h5f34a676f60246b5
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/io/mod.rs:1665:15
[INFO] [stdout]    6:     0x55b9ddb20d5b - std::sys_common::backtrace::_print::ha537687d6c17dd0d
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:49:5
[INFO] [stdout]    7:     0x55b9ddb20d5b - std::sys_common::backtrace::print::h61376ae57d131d72
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:36:9
[INFO] [stdout]    8:     0x55b9ddb20d5b - std::panicking::default_hook::{{closure}}::h0f7208c0b9644a54
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:208:50
[INFO] [stdout]    9:     0x55b9ddb2086c - std::panicking::default_hook::hdac7fc06578c14ce
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:222:9
[INFO] [stdout]   10:     0x55b9ddb21424 - std::panicking::rust_panic_with_hook::h72b21c283da3d1ef
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:622:17
[INFO] [stdout]   11:     0x55b9ddb20f07 - std::panicking::begin_panic_handler::{{closure}}::he5778f1729cff84a
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:519:13
[INFO] [stdout]   12:     0x55b9ddb1f0bc - std::sys_common::backtrace::__rust_end_short_backtrace::h2d11ca8b453b4b1d
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:141:18
[INFO] [stdout]   13:     0x55b9ddb20e69 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:515:5
[INFO] [stdout]   14:     0x55b9dd9ef7d1 - core::panicking::panic_fmt::hf9de31d4acbce4db
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/panicking.rs:92:14
[INFO] [stdout]   15:     0x55b9dd9ef8c3 - core::result::unwrap_failed::ha0c84e81219e5878
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/result.rs:1599:5
[INFO] [stdout]   16:     0x55b9dda3c154 - core::result::Result<T,E>::unwrap::h10b5f97c6ef0d9d9
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/result.rs:1281:23
[INFO] [stdout]   17:     0x55b9dda25344 - tlslib::messages::tests::test_client_hello_serdes::h02be4fecb2967d09
[INFO] [stdout]                                at /opt/rustwide/workdir/lib/src/messages.rs:1031:27
[INFO] [stdout]   18:     0x55b9dda2507a - tlslib::messages::tests::test_client_hello_serdes::{{closure}}::hd95e33c931b5612b
[INFO] [stdout]                                at /opt/rustwide/workdir/lib/src/messages.rs:1024:5
[INFO] [stdout]   19:     0x55b9dda186fe - core::ops::function::FnOnce::call_once::hfeefc88aecbfa16b
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   20:     0x55b9dda85893 - core::ops::function::FnOnce::call_once::hbb52c4519d3137b0
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   21:     0x55b9dda85893 - test::__rust_begin_short_backtrace::h86fe3a2a5a5121af
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/test/src/lib.rs:578:5
[INFO] [stdout]   22:     0x55b9dda84348 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hfd956bc3d57399be
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/alloc/src/boxed.rs:1572:9
[INFO] [stdout]   23:     0x55b9dda84348 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h40dc93e0ddb5938a
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panic.rs:347:9
[INFO] [stdout]   24:     0x55b9dda84348 - std::panicking::try::do_call::h90d07750cb47c562
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:401:40
[INFO] [stdout]   25:     0x55b9dda84348 - std::panicking::try::h063c84733ad2a629
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:365:19
[INFO] [stdout]   26:     0x55b9dda84348 - std::panic::catch_unwind::h0c464836a84e7c08
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panic.rs:434:14
[INFO] [stdout]   27:     0x55b9dda84348 - test::run_test_in_process::h5cb06ef620b157fc
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/test/src/lib.rs:601:18
[INFO] [stdout]   28:     0x55b9dda84348 - test::run_test::run_test_inner::{{closure}}::h76f677f4b93f9828
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/test/src/lib.rs:493:39
[INFO] [stdout]   29:     0x55b9dda52add - test::run_test::run_test_inner::{{closure}}::h366d01fe04f4d67a
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/test/src/lib.rs:520:37
[INFO] [stdout]   30:     0x55b9dda52add - std::sys_common::backtrace::__rust_begin_short_backtrace::h7dfa0de4eb395af2
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:125:18
[INFO] [stdout]   31:     0x55b9dda572a8 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hf0a74bb58798037f
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/thread/mod.rs:476:17
[INFO] [stdout]   32:     0x55b9dda572a8 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb024e854818586ac
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panic.rs:347:9
[INFO] [stdout]   33:     0x55b9dda572a8 - std::panicking::try::do_call::hb2dd9f1d0d48e41d
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:401:40
[INFO] [stdout]   34:     0x55b9dda572a8 - std::panicking::try::h4717ae7bac8b2bf3
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:365:19
[INFO] [stdout]   35:     0x55b9dda572a8 - std::panic::catch_unwind::h0dc8a061326ce8d8
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panic.rs:434:14
[INFO] [stdout]   36:     0x55b9dda572a8 - std::thread::Builder::spawn_unchecked::{{closure}}::haa369e2d6fd00aa1
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/thread/mod.rs:475:30
[INFO] [stdout]   37:     0x55b9dda572a8 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h36dcf3de8b056f17
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   38:     0x55b9ddb25fb7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h65c29e4642be2358
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/alloc/src/boxed.rs:1572:9
[INFO] [stdout]   39:     0x55b9ddb25fb7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hd0f8f7fbbd9fffbf
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/alloc/src/boxed.rs:1572:9
[INFO] [stdout]   40:     0x55b9ddb25fb7 - std::sys::unix::thread::Thread::new::thread_start::h2fd22fee3ca77b65
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys/unix/thread.rs:74:17
[INFO] [stdout]   41:     0x7f479500d609 - start_thread
[INFO] [stdout]   42:     0x7f4794ddf293 - clone
[INFO] [stdout]   43:                0x0 - <unknown>
[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 6.29s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "497f3f61b96409c1035ac8c45ab4c118ae851c99657add5e932bdb6c7ded3a28", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "497f3f61b96409c1035ac8c45ab4c118ae851c99657add5e932bdb6c7ded3a28", kill_on_drop: false }`
[INFO] [stdout] 497f3f61b96409c1035ac8c45ab4c118ae851c99657add5e932bdb6c7ded3a28
