[INFO] cloning repository https://github.com/Djepse20/LuskProtocol
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Djepse20/LuskProtocol" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDjepse20%2FLuskProtocol", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDjepse20%2FLuskProtocol'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1385b06ee4a7a507f324688ed8b33519597e5fbf
[INFO] checking Djepse20/LuskProtocol against master#507271bc119683008ec719ecee48814e8ac86c65 for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDjepse20%2FLuskProtocol" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Djepse20/LuskProtocol
[INFO] finished tweaking git repo https://github.com/Djepse20/LuskProtocol
[INFO] tweaked toml for git repo https://github.com/Djepse20/LuskProtocol written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Djepse20/LuskProtocol on toolchain 507271bc119683008ec719ecee48814e8ac86c65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Djepse20/LuskProtocol already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tokio-tls v0.2.1
[INFO] [stderr]   Downloaded websocket-base v0.26.5
[INFO] [stderr]   Downloaded websocket v0.27.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4c62647bae750d61388a709137211b0b255ead0a836757fecfa5fed84c68fcd9
[INFO] running `Command { std: "docker" "start" "-a" "4c62647bae750d61388a709137211b0b255ead0a836757fecfa5fed84c68fcd9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4c62647bae750d61388a709137211b0b255ead0a836757fecfa5fed84c68fcd9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4c62647bae750d61388a709137211b0b255ead0a836757fecfa5fed84c68fcd9", kill_on_drop: false }`
[INFO] [stdout] 4c62647bae750d61388a709137211b0b255ead0a836757fecfa5fed84c68fcd9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 41354302362b59b38b76c65d936224bf9f89960594b4df0f1b942febd957dd03
[INFO] running `Command { std: "docker" "start" "-a" "41354302362b59b38b76c65d936224bf9f89960594b4df0f1b942febd957dd03", kill_on_drop: false }`
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking futures v0.1.31
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling cc v1.2.27
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]     Checking generic-array v0.12.4
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking byte-tools v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking block-padding v0.1.5
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]     Checking opaque-debug v0.2.3
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking fake-simd v0.1.2
[INFO] [stderr]     Checking base64 v0.10.1
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking digest v0.8.1
[INFO] [stderr]     Checking block-buffer v0.7.3
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking mime v0.2.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking sha-1 v0.8.2
[INFO] [stderr]    Compiling parking_lot_core v0.6.3
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking tokio-io v0.1.13
[INFO] [stderr]     Checking tokio-sync v0.1.8
[INFO] [stderr]     Checking tokio-executor v0.1.10
[INFO] [stderr]     Checking hyper v0.10.16
[INFO] [stderr]     Checking tokio-reactor v0.1.12
[INFO] [stderr]     Checking tokio-codec v0.1.2
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]     Checking tokio-tcp v0.1.4
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking tokio-tls v0.2.1
[INFO] [stderr]     Checking websocket-base v0.26.5
[INFO] [stderr]     Checking websocket v0.27.1
[INFO] [stderr]     Checking MESSENGER v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `BigInt`
[INFO] [stdout]  --> src/diffie_hellman.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num_bigint::{BigInt, BigUint};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `header` and `message`
[INFO] [stdout]  --> src/message.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use websocket::{header, message};
[INFO] [stdout]   |                 ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BigInt`
[INFO] [stdout]  --> src/diffie_hellman.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num_bigint::{BigInt, BigUint};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `header` and `message`
[INFO] [stdout]  --> src/message.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use websocket::{header, message};
[INFO] [stdout]   |                 ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/diffie_hellman.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | /         DiffieHellMan {
[INFO] [stdout] 59 | |             base,
[INFO] [stdout] 60 | |             modolus,
[INFO] [stdout] 61 | |             secret: todo!(),
[INFO] [stdout]    | |                     ------- any code following this expression is unreachable
[INFO] [stdout] 62 | |         }
[INFO] [stdout]    | |_________^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/diffie_hellman.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | /         DiffieHellMan {
[INFO] [stdout] 67 | |             base,
[INFO] [stdout] 68 | |             modolus,
[INFO] [stdout] 69 | |             secret: todo!(),
[INFO] [stdout]    | |                     ------- any code following this expression is unreachable
[INFO] [stdout] 70 | |         }
[INFO] [stdout]    | |_________^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/diffie_hellman.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | /         DiffieHellMan {
[INFO] [stdout] 59 | |             base,
[INFO] [stdout] 60 | |             modolus,
[INFO] [stdout] 61 | |             secret: todo!(),
[INFO] [stdout]    | |                     ------- any code following this expression is unreachable
[INFO] [stdout] 62 | |         }
[INFO] [stdout]    | |_________^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/diffie_hellman.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | /         DiffieHellMan {
[INFO] [stdout] 67 | |             base,
[INFO] [stdout] 68 | |             modolus,
[INFO] [stdout] 69 | |             secret: todo!(),
[INFO] [stdout]    | |                     ------- any code following this expression is unreachable
[INFO] [stdout] 70 | |         }
[INFO] [stdout]    | |_________^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/diffie_hellman.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         mut self,
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `continuation`
[INFO] [stdout]   --> src/message.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 continuation,
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: try ignoring the field: `continuation: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> src/message.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 message,
[INFO] [stdout]    |                 ^^^^^^^ help: try ignoring the field: `message: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_byte`
[INFO] [stdout]   --> src/message.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 let header_byte: u8 = self.header_byte();
[INFO] [stdout]    |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `continuation`
[INFO] [stdout]   --> src/message.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |                 continuation,
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: try ignoring the field: `continuation: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> src/message.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 message,
[INFO] [stdout]    |                 ^^^^^^^ help: try ignoring the field: `message: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_byte`
[INFO] [stdout]   --> src/message.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 let header_byte = self.header_byte();
[INFO] [stdout]    |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/message.rs:78:39
[INFO] [stdout]    |
[INFO] [stdout] 78 |             Message::HandShakeAgree { req } => {
[INFO] [stdout]    |                                       ^^^ help: try ignoring the field: `req: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_byte`
[INFO] [stdout]   --> src/message.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 let header_byte = self.header_byte();
[INFO] [stdout]    |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/message.rs:81:41
[INFO] [stdout]    |
[INFO] [stdout] 81 |             Message::HandShakeRequest { req } => {
[INFO] [stdout]    |                                         ^^^ help: try ignoring the field: `req: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_byte`
[INFO] [stdout]   --> src/message.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let header_byte = self.header_byte();
[INFO] [stdout]    |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binary`
[INFO] [stdout]    --> src/message.rs:133:20
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn from_binary(binary: Vec<u8>) -> Self {
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tok`
[INFO] [stdout]   --> src/main.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn eat(tok: Token) {
[INFO] [stdout]    |        ^^^ help: if this is intentional, prefix it with an underscore: `_tok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/main.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum Token {
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eat` is never used
[INFO] [stdout]   --> src/main.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn eat(tok: Token) {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ValidState` is never used
[INFO] [stdout]   --> src/aes.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | trait ValidState {}
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PaddingMethod` is never used
[INFO] [stdout]   --> src/aes.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | trait PaddingMethod<T, U> {
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `aes_version`, `key`, `padding_method`, and `stream_cipher` are never read
[INFO] [stdout]   --> src/aes.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct CipherBuilder<Stream, StreamHandler, A, K, P, S, PS, ST, ES> {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 65 |     aes_version: A,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 66 |     key: K,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 67 |     padding_method: P,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     stream_cipher: ST,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoState` is never constructed
[INFO] [stdout]   --> src/aes.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | struct NoState;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoPaddingState` is never constructed
[INFO] [stdout]   --> src/aes.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | struct NoPaddingState;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoEndState` is never constructed
[INFO] [stdout]   --> src/aes.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | struct NoEndState;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CipherHandler` is never constructed
[INFO] [stdout]   --> src/aes.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct CipherHandler<
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cipher` and `inv_cihper` are never used
[INFO] [stdout]    --> src/aes.rs:101:8
[INFO] [stdout]     |
[INFO] [stdout]  95 | / impl<A, K, P, S, PS, ES> CipherHandler<A, K, P, S, PS, ES>
[INFO] [stdout]  96 | | where
[INFO] [stdout]  97 | |     A: ValidCipher<K, PS, ES>,
[INFO] [stdout]  98 | |     P: PaddingMethod<S, PS>,
[INFO] [stdout]  99 | |     K: Copy,
[INFO] [stdout]     | |____________- methods in this implementation
[INFO] [stdout] 100 |   {
[INFO] [stdout] 101 |       fn cipher(&self, start_state: S) -> ES {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |       fn inv_cihper(&self, start_state: S) -> ES {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GetDataStream` is never used
[INFO] [stdout]    --> src/aes.rs:111:7
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait GetDataStream<'a, T>
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CipherStreamTrait` is never used
[INFO] [stdout]    --> src/aes.rs:137:7
[INFO] [stdout]     |
[INFO] [stdout] 137 | trait CipherStreamTrait<'a, Stream, StreamHandler, A, K, P, S, PS, ST, ES>
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CipherStreamHandler` is never constructed
[INFO] [stdout]    --> src/aes.rs:189:8
[INFO] [stdout]     |
[INFO] [stdout] 189 | struct CipherStreamHandler<Stream, StreamHandler, A, K, P, S, PS, ST, ES> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cipher_stream` and `inv_cipher` are never used
[INFO] [stdout]    --> src/aes.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 196 | / impl<'a, Stream, StreamHandler, A, K, P, S, PS, ST, ES>
[INFO] [stdout] 197 | |     CipherStreamHandler<Stream, StreamHandler, A, K, P, S, PS, ST, ES>
[INFO] [stdout] 198 | | where
[INFO] [stdout] 199 | |     A: ValidCipher<K, PS, ES>,
[INFO] [stdout] ...   |
[INFO] [stdout] 205 | |     Stream: Iterator<Item = &'a S> + 'a,
[INFO] [stdout] 206 | |     ES: IntoIterator<Item = u8>,
[INFO] [stdout]     | |________________________________- methods in this implementation
[INFO] [stdout] 207 |   {
[INFO] [stdout] 208 |       fn cipher_stream(&self, stream: StreamHandler) -> Vec<u8> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |       fn inv_cipher(&self, stream: StreamHandler) -> Vec<u8> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `build` is never used
[INFO] [stdout]    --> src/aes.rs:222:8
[INFO] [stdout]     |
[INFO] [stdout] 217 | / impl<Stream, StreamHandler, A, K, P, S, PS, ST, ES>
[INFO] [stdout] 218 | |     CipherBuilder<Stream, StreamHandler, A, K, P, S, PS, ST, ES>
[INFO] [stdout] 219 | | where
[INFO] [stdout] 220 | |     A: ValidCipher<K, PS, ES>,
[INFO] [stdout]     | |______________________________- method in this implementation
[INFO] [stdout] 221 |   {
[INFO] [stdout] 222 |       fn build(
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cipher_version`, `key`, `padding`, and `stream_cipher` are never used
[INFO] [stdout]    --> src/aes.rs:273:8
[INFO] [stdout]     |
[INFO] [stdout] 270 | / impl<Stream, StreamHandler, A, K, P, S, PS, ST, ES>
[INFO] [stdout] 271 | |     CipherBuilder<Stream, StreamHandler, A, K, P, S, PS, ST, ES>
[INFO] [stdout]     | |________________________________________________________________- methods in this implementation
[INFO] [stdout] 272 |   {
[INFO] [stdout] 273 |       fn cipher_version<T, U>(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |       fn key<U, T>(
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |       fn padding<U>(
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |       fn stream_cipher<'a, U>(
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Amongus` is never used
[INFO] [stdout]    --> src/aes.rs:615:7
[INFO] [stdout]     |
[INFO] [stdout] 615 | trait Amongus<T> {
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NotSet` is never constructed
[INFO] [stdout]  --> src/diffie_hellman.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct NotSet;
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffieHellMan` is never constructed
[INFO] [stdout]  --> src/diffie_hellman.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct DiffieHellMan<P, B, S> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_p` is never used
[INFO] [stdout]   --> src/diffie_hellman.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<B, S> DiffieHellMan<NotSet, B, S> {
[INFO] [stdout]    | -------------------------------------- method in this implementation
[INFO] [stdout] 21 |     fn set_p(
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_b` is never used
[INFO] [stdout]   --> src/diffie_hellman.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<P, S> DiffieHellMan<P, NotSet, S> {
[INFO] [stdout]    | -------------------------------------- method in this implementation
[INFO] [stdout] 34 |     fn set_b(self, base: impl Into<BigUint>) -> DiffieHellMan<P, BigUint, S> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_val` is never used
[INFO] [stdout]   --> src/diffie_hellman.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl<P, B> DiffieHellMan<P, B, NotSet> {
[INFO] [stdout]    | -------------------------------------- method in this implementation
[INFO] [stdout] 44 |     fn set_val(
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `try_accept_base_and_modolus` and `try_request_modulus_base` are never used
[INFO] [stdout]   --> src/diffie_hellman.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl DiffieHellMan<BigUint, BigUint, BigUint> {
[INFO] [stdout]    | --------------------------------------------- associated functions in this implementation
[INFO] [stdout] 57 |     fn try_accept_base_and_modolus(base: BigUint, modolus: BigUint) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn try_request_modulus_base(base: BigUint, modolus: BigUint) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `compute_secret_based_val_hellman` and `compute_shared_secret` are never used
[INFO] [stdout]   --> src/diffie_hellman.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl DiffieHellMan<BigUint, BigUint, BigUint> {
[INFO] [stdout]    | --------------------------------------------- methods in this implementation
[INFO] [stdout] 75 |     fn compute_secret_based_val_hellman(&self, secret: &BigUint) -> BigUint {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     fn compute_shared_secret(&self, other_secret: BigUint) -> BigUint {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_BLOCK_SIZE` is never used
[INFO] [stdout]  --> src/message.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const MAX_BLOCK_SIZE: usize = 8192;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `message_blocks` is never read
[INFO] [stdout]  --> src/message.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Data {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 8 |     message_blocks: Vec<Block>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dh_base`, `dh_modolus`, and `min_aes_version` are never read
[INFO] [stdout]   --> src/message.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Req {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] 12 |     dh_base: BigUint,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 13 |     dh_modolus: BigUint,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 14 |     min_aes_version: AESVersionReq,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base` and `modolus` are never read
[INFO] [stdout]   --> src/message.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct A {
[INFO] [stdout]    |            - fields in this struct
[INFO] [stdout] 18 |     base: BigUint,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 19 |     modolus: BigUint,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `type_to_byte` and `header_byte` are never used
[INFO] [stdout]   --> src/message.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl Message {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 35 |     fn type_to_byte(&self) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn header_byte(&self) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LuskProtocol` is never used
[INFO] [stdout]    --> src/message.rs:105:7
[INFO] [stdout]     |
[INFO] [stdout] 105 | trait LuskProtocol {
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `len` and `message` are never read
[INFO] [stdout]    --> src/message.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct Block {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 138 |     len: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 139 |
[INFO] [stdout] 140 |     message: Message,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/diffie_hellman.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         mut self,
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `inverse_s_box` should have an upper case name
[INFO] [stdout]    --> src/aes.rs:638:15
[INFO] [stdout]     |
[INFO] [stdout] 638 |         const inverse_s_box: [u8; 256] = [
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 638 -         const inverse_s_box: [u8; 256] = [
[INFO] [stdout] 638 +         const INVERSE_S_BOX: [u8; 256] = [
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `continuation`
[INFO] [stdout]   --> src/message.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 continuation,
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: try ignoring the field: `continuation: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> src/message.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 message,
[INFO] [stdout]    |                 ^^^^^^^ help: try ignoring the field: `message: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_byte`
[INFO] [stdout]   --> src/message.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 let header_byte: u8 = self.header_byte();
[INFO] [stdout]    |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `continuation`
[INFO] [stdout]   --> src/message.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |                 continuation,
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: try ignoring the field: `continuation: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> src/message.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 message,
[INFO] [stdout]    |                 ^^^^^^^ help: try ignoring the field: `message: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_byte`
[INFO] [stdout]   --> src/message.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 let header_byte = self.header_byte();
[INFO] [stdout]    |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/message.rs:78:39
[INFO] [stdout]    |
[INFO] [stdout] 78 |             Message::HandShakeAgree { req } => {
[INFO] [stdout]    |                                       ^^^ help: try ignoring the field: `req: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_byte`
[INFO] [stdout]   --> src/message.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 let header_byte = self.header_byte();
[INFO] [stdout]    |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/message.rs:81:41
[INFO] [stdout]    |
[INFO] [stdout] 81 |             Message::HandShakeRequest { req } => {
[INFO] [stdout]    |                                         ^^^ help: try ignoring the field: `req: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_byte`
[INFO] [stdout]   --> src/message.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let header_byte = self.header_byte();
[INFO] [stdout]    |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binary`
[INFO] [stdout]    --> src/message.rs:133:20
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn from_binary(binary: Vec<u8>) -> Self {
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tok`
[INFO] [stdout]   --> src/main.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn eat(tok: Token) {
[INFO] [stdout]    |        ^^^ help: if this is intentional, prefix it with an underscore: `_tok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/main.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum Token {
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eat` is never used
[INFO] [stdout]   --> src/main.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn eat(tok: Token) {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ValidState` is never used
[INFO] [stdout]   --> src/aes.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | trait ValidState {}
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PaddingMethod` is never used
[INFO] [stdout]   --> src/aes.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | trait PaddingMethod<T, U> {
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `aes_version`, `key`, `padding_method`, and `stream_cipher` are never read
[INFO] [stdout]   --> src/aes.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct CipherBuilder<Stream, StreamHandler, A, K, P, S, PS, ST, ES> {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 65 |     aes_version: A,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 66 |     key: K,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 67 |     padding_method: P,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     stream_cipher: ST,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoState` is never constructed
[INFO] [stdout]   --> src/aes.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | struct NoState;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoPaddingState` is never constructed
[INFO] [stdout]   --> src/aes.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | struct NoPaddingState;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoEndState` is never constructed
[INFO] [stdout]   --> src/aes.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | struct NoEndState;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CipherHandler` is never constructed
[INFO] [stdout]   --> src/aes.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct CipherHandler<
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cipher` and `inv_cihper` are never used
[INFO] [stdout]    --> src/aes.rs:101:8
[INFO] [stdout]     |
[INFO] [stdout]  95 | / impl<A, K, P, S, PS, ES> CipherHandler<A, K, P, S, PS, ES>
[INFO] [stdout]  96 | | where
[INFO] [stdout]  97 | |     A: ValidCipher<K, PS, ES>,
[INFO] [stdout]  98 | |     P: PaddingMethod<S, PS>,
[INFO] [stdout]  99 | |     K: Copy,
[INFO] [stdout]     | |____________- methods in this implementation
[INFO] [stdout] 100 |   {
[INFO] [stdout] 101 |       fn cipher(&self, start_state: S) -> ES {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |       fn inv_cihper(&self, start_state: S) -> ES {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GetDataStream` is never used
[INFO] [stdout]    --> src/aes.rs:111:7
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait GetDataStream<'a, T>
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CipherStreamTrait` is never used
[INFO] [stdout]    --> src/aes.rs:137:7
[INFO] [stdout]     |
[INFO] [stdout] 137 | trait CipherStreamTrait<'a, Stream, StreamHandler, A, K, P, S, PS, ST, ES>
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CipherStreamHandler` is never constructed
[INFO] [stdout]    --> src/aes.rs:189:8
[INFO] [stdout]     |
[INFO] [stdout] 189 | struct CipherStreamHandler<Stream, StreamHandler, A, K, P, S, PS, ST, ES> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cipher_stream` and `inv_cipher` are never used
[INFO] [stdout]    --> src/aes.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 196 | / impl<'a, Stream, StreamHandler, A, K, P, S, PS, ST, ES>
[INFO] [stdout] 197 | |     CipherStreamHandler<Stream, StreamHandler, A, K, P, S, PS, ST, ES>
[INFO] [stdout] 198 | | where
[INFO] [stdout] 199 | |     A: ValidCipher<K, PS, ES>,
[INFO] [stdout] ...   |
[INFO] [stdout] 205 | |     Stream: Iterator<Item = &'a S> + 'a,
[INFO] [stdout] 206 | |     ES: IntoIterator<Item = u8>,
[INFO] [stdout]     | |________________________________- methods in this implementation
[INFO] [stdout] 207 |   {
[INFO] [stdout] 208 |       fn cipher_stream(&self, stream: StreamHandler) -> Vec<u8> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |       fn inv_cipher(&self, stream: StreamHandler) -> Vec<u8> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `build` is never used
[INFO] [stdout]    --> src/aes.rs:222:8
[INFO] [stdout]     |
[INFO] [stdout] 217 | / impl<Stream, StreamHandler, A, K, P, S, PS, ST, ES>
[INFO] [stdout] 218 | |     CipherBuilder<Stream, StreamHandler, A, K, P, S, PS, ST, ES>
[INFO] [stdout] 219 | | where
[INFO] [stdout] 220 | |     A: ValidCipher<K, PS, ES>,
[INFO] [stdout]     | |______________________________- method in this implementation
[INFO] [stdout] 221 |   {
[INFO] [stdout] 222 |       fn build(
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cipher_version`, `key`, `padding`, and `stream_cipher` are never used
[INFO] [stdout]    --> src/aes.rs:273:8
[INFO] [stdout]     |
[INFO] [stdout] 270 | / impl<Stream, StreamHandler, A, K, P, S, PS, ST, ES>
[INFO] [stdout] 271 | |     CipherBuilder<Stream, StreamHandler, A, K, P, S, PS, ST, ES>
[INFO] [stdout]     | |________________________________________________________________- methods in this implementation
[INFO] [stdout] 272 |   {
[INFO] [stdout] 273 |       fn cipher_version<T, U>(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |       fn key<U, T>(
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |       fn padding<U>(
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |       fn stream_cipher<'a, U>(
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Amongus` is never used
[INFO] [stdout]    --> src/aes.rs:615:7
[INFO] [stdout]     |
[INFO] [stdout] 615 | trait Amongus<T> {
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NotSet` is never constructed
[INFO] [stdout]  --> src/diffie_hellman.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct NotSet;
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffieHellMan` is never constructed
[INFO] [stdout]  --> src/diffie_hellman.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct DiffieHellMan<P, B, S> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_p` is never used
[INFO] [stdout]   --> src/diffie_hellman.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<B, S> DiffieHellMan<NotSet, B, S> {
[INFO] [stdout]    | -------------------------------------- method in this implementation
[INFO] [stdout] 21 |     fn set_p(
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_b` is never used
[INFO] [stdout]   --> src/diffie_hellman.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<P, S> DiffieHellMan<P, NotSet, S> {
[INFO] [stdout]    | -------------------------------------- method in this implementation
[INFO] [stdout] 34 |     fn set_b(self, base: impl Into<BigUint>) -> DiffieHellMan<P, BigUint, S> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_val` is never used
[INFO] [stdout]   --> src/diffie_hellman.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl<P, B> DiffieHellMan<P, B, NotSet> {
[INFO] [stdout]    | -------------------------------------- method in this implementation
[INFO] [stdout] 44 |     fn set_val(
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `try_accept_base_and_modolus` and `try_request_modulus_base` are never used
[INFO] [stdout]   --> src/diffie_hellman.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl DiffieHellMan<BigUint, BigUint, BigUint> {
[INFO] [stdout]    | --------------------------------------------- associated functions in this implementation
[INFO] [stdout] 57 |     fn try_accept_base_and_modolus(base: BigUint, modolus: BigUint) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn try_request_modulus_base(base: BigUint, modolus: BigUint) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `compute_secret_based_val_hellman` and `compute_shared_secret` are never used
[INFO] [stdout]   --> src/diffie_hellman.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl DiffieHellMan<BigUint, BigUint, BigUint> {
[INFO] [stdout]    | --------------------------------------------- methods in this implementation
[INFO] [stdout] 75 |     fn compute_secret_based_val_hellman(&self, secret: &BigUint) -> BigUint {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     fn compute_shared_secret(&self, other_secret: BigUint) -> BigUint {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_BLOCK_SIZE` is never used
[INFO] [stdout]  --> src/message.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const MAX_BLOCK_SIZE: usize = 8192;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `message_blocks` is never read
[INFO] [stdout]  --> src/message.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Data {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 8 |     message_blocks: Vec<Block>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dh_base`, `dh_modolus`, and `min_aes_version` are never read
[INFO] [stdout]   --> src/message.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Req {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] 12 |     dh_base: BigUint,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 13 |     dh_modolus: BigUint,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 14 |     min_aes_version: AESVersionReq,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base` and `modolus` are never read
[INFO] [stdout]   --> src/message.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct A {
[INFO] [stdout]    |            - fields in this struct
[INFO] [stdout] 18 |     base: BigUint,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 19 |     modolus: BigUint,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `type_to_byte` and `header_byte` are never used
[INFO] [stdout]   --> src/message.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl Message {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 35 |     fn type_to_byte(&self) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn header_byte(&self) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LuskProtocol` is never used
[INFO] [stdout]    --> src/message.rs:105:7
[INFO] [stdout]     |
[INFO] [stdout] 105 | trait LuskProtocol {
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `len` and `message` are never read
[INFO] [stdout]    --> src/message.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct Block {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 138 |     len: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 139 |
[INFO] [stdout] 140 |     message: Message,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `inverse_s_box` should have an upper case name
[INFO] [stdout]    --> src/aes.rs:638:15
[INFO] [stdout]     |
[INFO] [stdout] 638 |         const inverse_s_box: [u8; 256] = [
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 638 -         const inverse_s_box: [u8; 256] = [
[INFO] [stdout] 638 +         const INVERSE_S_BOX: [u8; 256] = [
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.38s
[INFO] running `Command { std: "docker" "inspect" "41354302362b59b38b76c65d936224bf9f89960594b4df0f1b942febd957dd03", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "41354302362b59b38b76c65d936224bf9f89960594b4df0f1b942febd957dd03", kill_on_drop: false }`
[INFO] [stdout] 41354302362b59b38b76c65d936224bf9f89960594b4df0f1b942febd957dd03
