[INFO] fetching crate garence 0.0.0... [INFO] testing garence-0.0.0 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate garence 0.0.0 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate garence 0.0.0 [INFO] finished tweaking crates.io crate garence 0.0.0 [INFO] tweaked toml for crates.io crate garence 0.0.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate garence 0.0.0 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate garence 0.0.0 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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 96f60b73b81a2f6929e871e11352885b580a56c49863cd8fb8baacf74f50cb5d [INFO] running `Command { std: "docker" "start" "-a" "96f60b73b81a2f6929e871e11352885b580a56c49863cd8fb8baacf74f50cb5d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "96f60b73b81a2f6929e871e11352885b580a56c49863cd8fb8baacf74f50cb5d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "96f60b73b81a2f6929e871e11352885b580a56c49863cd8fb8baacf74f50cb5d", kill_on_drop: false }` [INFO] [stdout] 96f60b73b81a2f6929e871e11352885b580a56c49863cd8fb8baacf74f50cb5d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 067249263dfbd767222b9bdccaa3f18cc10ed325424d9d48293b777eb77563af [INFO] running `Command { std: "docker" "start" "-a" "067249263dfbd767222b9bdccaa3f18cc10ed325424d9d48293b777eb77563af", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling libc v0.2.171 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling time-core v0.1.4 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling hashbrown v0.15.2 [INFO] [stderr] Compiling time-macros v0.2.22 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling deranged v0.4.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling indexmap v2.9.0 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling toml_datetime v0.6.8 [INFO] [stderr] Compiling winnow v0.7.6 [INFO] [stderr] Compiling siphasher v1.0.1 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling smallvec v1.15.0 [INFO] [stderr] Compiling oid-registry v0.8.1 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling rustversion v1.0.20 [INFO] [stderr] Compiling time v0.3.41 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling rusticata-macros v4.1.0 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling zeroize v1.8.1 [INFO] [stderr] Compiling rustls-pki-types v1.12.0 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling socket2 v0.5.9 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling data-encoding v2.9.0 [INFO] [stderr] Compiling toml_edit v0.22.24 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling bytes v1.10.1 [INFO] [stderr] Compiling openssl-probe v0.1.6 [INFO] [stderr] Compiling rustls-native-certs v0.8.1 [INFO] [stderr] Compiling strum v0.27.1 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling proc-macro-crate v3.3.0 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling asn1-rs-derive v0.6.0 [INFO] [stderr] Compiling asn1-rs-impl v0.2.0 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Compiling num_enum_derive v0.7.3 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling strum_macros v0.27.1 [INFO] [stderr] Compiling tokio v1.44.2 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling num_enum v0.7.3 [INFO] [stderr] Compiling asn1-rs v0.7.1 [INFO] [stderr] Compiling der-parser v10.0.0 [INFO] [stderr] Compiling x509-parser v0.17.0 [INFO] [stderr] Compiling garence v0.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `ParseBuffer` and `ParseError` [INFO] [stdout] --> src/transport/handshake/server_hello.rs:2:32 [INFO] [stdout] | [INFO] [stdout] 2 | parse_tools::{BuildBuffer, ParseBuffer, ParseError}, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HandshakeTypeExtended`, `parse_and_use_single_cipher_suite`, and `parse_extension_field` [INFO] [stdout] --> src/transport/handshake/server_hello.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | HandshakeTypeExtended, LEGACY_VERSION_SUPPORTED, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | cipher_suite::{CipherSuite, parse_and_use_single_cipher_suite}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | extension::{Extension, parse_extension_field}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:295:5 [INFO] [stdout] | [INFO] [stdout] 293 | todo!("check psk is the last extension"); [INFO] [stdout] | ---------------------------------------- any code following this expression is unreachable [INFO] [stdout] 294 | [INFO] [stdout] 295 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/transport/handshake/mod.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 87 | / match msg_type { [INFO] [stdout] 88 | | HandshakeType::ClientHello => todo!(), [INFO] [stdout] 89 | | HandshakeType::ServerHello => todo!(), [INFO] [stdout] 90 | | HandshakeType::NewSessionTicket => todo!(), [INFO] [stdout] ... | [INFO] [stdout] 98 | | HandshakeType::MessageHash => todo!(), [INFO] [stdout] 99 | | } [INFO] [stdout] | |_____- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 100 | [INFO] [stdout] 101 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `random` [INFO] [stdout] --> src/transport/handshake/client_hello.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | let random = buffer.get_static_slice_ref::<32>()?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_random` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `legacy_session_id_opt` [INFO] [stdout] --> src/transport/handshake/client_hello.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let legacy_session_id_opt = if legacy_session_id_length == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_legacy_session_id_opt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `selected_cipher_suite` [INFO] [stdout] --> src/transport/handshake/client_hello.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | let selected_cipher_suite = parse_and_choose_cipher_suite(connection, buffer)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selected_cipher_suite` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handshake_message_type` [INFO] [stdout] --> src/transport/handshake/extension/key_share.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | handshake_message_type: HandshakeTypeExtended, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handshake_message_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `found_psk_extension` [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:278:13 [INFO] [stdout] | [INFO] [stdout] 278 | let mut found_psk_extension = false; //in ClientHello the "pre_shared_key" extension must be the last of all extension(start of page ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_found_psk_extension` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:278:9 [INFO] [stdout] | [INFO] [stdout] 278 | let mut found_psk_extension = false; //in ClientHello the "pre_shared_key" extension must be the last of all extension(start of page ... [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: unused variable: `msg_payload` [INFO] [stdout] --> src/transport/handshake/mod.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | let mut msg_payload = parse_buffer.sub_parse_buffer(msg_length as usize)?; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msg_payload` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/transport/handshake/mod.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | let mut msg_payload = parse_buffer.sub_parse_buffer(msg_length as usize)?; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fragment` [INFO] [stdout] --> src/transport/record/mod.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | let fragment = buffer.sub_parse_buffer(length as usize)?; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fragment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `BuildParameterCipherSuiteField` is more private than the item `build_cipher_suite_field` [INFO] [stdout] --> src/transport/handshake/cipher_suite.rs:123:1 [INFO] [stdout] | [INFO] [stdout] 123 | / pub fn build_cipher_suite_field( [INFO] [stdout] 124 | | param: BuildParameterCipherSuiteField, [INFO] [stdout] 125 | | buffer: &mut BuildBuffer, [INFO] [stdout] 126 | | ) -> Result<(), BuildError> { [INFO] [stdout] | |___________________________^ function `build_cipher_suite_field` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `BuildParameterCipherSuiteField` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/transport/handshake/cipher_suite.rs:98:1 [INFO] [stdout] | [INFO] [stdout] 98 | enum BuildParameterCipherSuiteField { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `u16_from_bytes` is never used [INFO] [stdout] --> src/bitwise.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn u16_from_bytes(bytes: &[u8]) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `u24_from_bytes` is never used [INFO] [stdout] --> src/bitwise.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn u24_from_bytes(bytes: &[u8]) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `all_tls_version_supported` is never read [INFO] [stdout] --> src/connection/client/config.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct ClientConfig { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 7 | pub common_config: CommonConfig, [INFO] [stdout] 8 | all_tls_version_supported: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AlertLevel` is never used [INFO] [stdout] --> src/transport/alert/mod.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum AlertLevel { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlertLevel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AlertDescription` is never used [INFO] [stdout] --> src/transport/alert/mod.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum AlertDescription { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlertDescription` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Alert` is never constructed [INFO] [stdout] --> src/transport/alert/mod.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct Alert { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Alert` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEGACY_VERSION_SUPPORTED` is never used [INFO] [stdout] --> src/transport/handshake/mod.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const LEGACY_VERSION_SUPPORTED: u16 = 0x0303; //Version for TLS-1.2 and TLS-1.3 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `named_group` and `key` are never read [INFO] [stdout] --> src/transport/handshake/mod.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct HandshakeKey { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 37 | named_group: NamedGroup, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 38 | key: Box<[u8]>, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handshake_message` is never used [INFO] [stdout] --> src/transport/handshake/mod.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn handshake_message<'a>(parse_buffer: &'a mut ParseBuffer<'a>) -> Result<(), ParseError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Client` and `Server` are never constructed [INFO] [stdout] --> src/transport/handshake/cipher_suite.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 98 | enum BuildParameterCipherSuiteField { [INFO] [stdout] | ------------------------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 101 | Client, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | Server(CipherSuite), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `client_hello` is never used [INFO] [stdout] --> src/transport/handshake/client_hello.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn client_hello<'a, UserDataType>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Extension` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:83:10 [INFO] [stdout] | [INFO] [stdout] 83 | pub enum Extension { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ExtensionInfoValue` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:87:6 [INFO] [stdout] | [INFO] [stdout] 87 | type ExtensionInfoValue<'a> = (u8, &'a [HandshakeTypeExtendedDiscriminants]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `EXTENSION_INFO` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | static EXTENSION_INFO: phf::Map = phf_map! { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `DuplicateControlType` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:113:6 [INFO] [stdout] | [INFO] [stdout] 113 | type DuplicateControlType = [u8; 3]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_is_allowed_extension` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:116:4 [INFO] [stdout] | [INFO] [stdout] 116 | fn check_is_allowed_extension( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extension_is_already_read` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:136:4 [INFO] [stdout] | [INFO] [stdout] 136 | fn extension_is_already_read( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `after_extension_check` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:152:4 [INFO] [stdout] | [INFO] [stdout] 152 | fn after_extension_check( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_buffer_to_one_extensions` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:197:4 [INFO] [stdout] | [INFO] [stdout] 197 | fn parse_buffer_to_one_extensions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_buffer_to_vec_of_extensions` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:272:4 [INFO] [stdout] | [INFO] [stdout] 272 | fn parse_buffer_to_vec_of_extensions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_extension_field` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:308:8 [INFO] [stdout] | [INFO] [stdout] 308 | pub fn parse_extension_field( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_allowed_extension_field_length_range` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:333:4 [INFO] [stdout] | [INFO] [stdout] 333 | fn get_allowed_extension_field_length_range( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_and_select_certificate_authorities` is never used [INFO] [stdout] --> src/transport/handshake/extension/certificate_authorities.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn parse_and_select_certificate_authorities( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_key_share_extension` is never used [INFO] [stdout] --> src/transport/handshake/extension/key_share.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn parse_key_share_extension( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_max_fragment_length_extension` is never used [INFO] [stdout] --> src/transport/handshake/extension/max_fragment_length.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn parse_max_fragment_length_extension( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerNameExtension` is never constructed [INFO] [stdout] --> src/transport/handshake/extension/server_name.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ServerNameExtension<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ServerNameExtension` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ServerName` is never used [INFO] [stdout] --> src/transport/handshake/extension/server_name.rs:13:6 [INFO] [stdout] | [INFO] [stdout] 13 | enum ServerName<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ServerName` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_host_name` is never used [INFO] [stdout] --> src/transport/handshake/extension/server_name.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn parse_host_name<'a>(parse_buffer: &mut ParseBuffer<'a>) -> Result, ParseError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_server_name_extension` is never used [INFO] [stdout] --> src/transport/handshake/extension/server_name.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn parse_server_name_extension<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_and_select_signature_algorithm_extension` is never used [INFO] [stdout] --> src/transport/handshake/extension/signature_algorithm.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn parse_and_select_signature_algorithm_extension( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_and_select_supported_groups_extension` is never used [INFO] [stdout] --> src/transport/handshake/extension/supported_groups.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_and_select_supported_groups_extension( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_and_negociated_supported_version_extension` is never used [INFO] [stdout] --> src/transport/handshake/extension/supported_versions.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn parse_and_negociated_supported_version_extension( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BuildParameterSupportedVersionExtension` is never used [INFO] [stdout] --> src/transport/handshake/extension/supported_versions.rs:61:10 [INFO] [stdout] | [INFO] [stdout] 61 | pub enum BuildParameterSupportedVersionExtension { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_supported_version_extension` is never used [INFO] [stdout] --> src/transport/handshake/extension/supported_versions.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn build_supported_version_extension( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HELLO_RETRY_REQUEST_MAGIC_RANDOM` is never used [INFO] [stdout] --> src/transport/handshake/server_hello.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const HELLO_RETRY_REQUEST_MAGIC_RANDOM: &[u8; 32] = &[ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BuildParameterServerHello` is never constructed [INFO] [stdout] --> src/transport/handshake/server_hello.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct BuildParameterServerHello<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_server_hello` is never used [INFO] [stdout] --> src/transport/handshake/server_hello.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn build_server_hello(param: BuildParameterServerHello, buffer: &mut BuildBuffer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `record_message` is never used [INFO] [stdout] --> src/transport/record/mod.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn record_message( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:328:5 [INFO] [stdout] | [INFO] [stdout] 328 | after_extension_check(connection, handshake_message_type); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 328 | let _ = after_extension_check(connection, handshake_message_type); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/transport/handshake/server_hello.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | buffer.write_u16(LEGACY_VERSION_SUPPORTED); //set TLS_1.2 for TLS1.2 or TLS1.3 or heigher [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 80 | let _ = buffer.write_u16(LEGACY_VERSION_SUPPORTED); //set TLS_1.2 for TLS1.2 or TLS1.3 or heigher [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/transport/handshake/server_hello.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | buffer.write_slice(&random); //set random [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 83 | let _ = buffer.write_slice(&random); //set random [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/transport/handshake/server_hello.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | buffer.write_slice(param.session_id_echo); //set session_id_echo [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 85 | let _ = buffer.write_slice(param.session_id_echo); //set session_id_echo [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/transport/handshake/server_hello.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | buffer.write_u16(param.selected_cipher_suite as u16); //set cipher_suite [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 87 | let _ = buffer.write_u16(param.selected_cipher_suite as u16); //set cipher_suite [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/transport/handshake/server_hello.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | buffer.write_u8(0); //set legacy_compression_method [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 89 | let _ = buffer.write_u8(0); //set legacy_compression_method [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 58.67s [INFO] running `Command { std: "docker" "inspect" "067249263dfbd767222b9bdccaa3f18cc10ed325424d9d48293b777eb77563af", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "067249263dfbd767222b9bdccaa3f18cc10ed325424d9d48293b777eb77563af", kill_on_drop: false }` [INFO] [stdout] 067249263dfbd767222b9bdccaa3f18cc10ed325424d9d48293b777eb77563af [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] e91c926a7f04d1dc26be67e7a6389ff5ac271726a655cb8c26e90dc5ef233d74 [INFO] running `Command { std: "docker" "start" "-a" "e91c926a7f04d1dc26be67e7a6389ff5ac271726a655cb8c26e90dc5ef233d74", kill_on_drop: false }` [INFO] [stderr] Compiling garence v0.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `ParseBuffer` and `ParseError` [INFO] [stdout] --> src/transport/handshake/server_hello.rs:2:32 [INFO] [stdout] | [INFO] [stdout] 2 | parse_tools::{BuildBuffer, ParseBuffer, ParseError}, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HandshakeTypeExtended`, `parse_and_use_single_cipher_suite`, and `parse_extension_field` [INFO] [stdout] --> src/transport/handshake/server_hello.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | HandshakeTypeExtended, LEGACY_VERSION_SUPPORTED, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | cipher_suite::{CipherSuite, parse_and_use_single_cipher_suite}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | extension::{Extension, parse_extension_field}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:295:5 [INFO] [stdout] | [INFO] [stdout] 293 | todo!("check psk is the last extension"); [INFO] [stdout] | ---------------------------------------- any code following this expression is unreachable [INFO] [stdout] 294 | [INFO] [stdout] 295 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/transport/handshake/mod.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 87 | / match msg_type { [INFO] [stdout] 88 | | HandshakeType::ClientHello => todo!(), [INFO] [stdout] 89 | | HandshakeType::ServerHello => todo!(), [INFO] [stdout] 90 | | HandshakeType::NewSessionTicket => todo!(), [INFO] [stdout] ... | [INFO] [stdout] 98 | | HandshakeType::MessageHash => todo!(), [INFO] [stdout] 99 | | } [INFO] [stdout] | |_____- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 100 | [INFO] [stdout] 101 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `random` [INFO] [stdout] --> src/transport/handshake/client_hello.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | let random = buffer.get_static_slice_ref::<32>()?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_random` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `legacy_session_id_opt` [INFO] [stdout] --> src/transport/handshake/client_hello.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let legacy_session_id_opt = if legacy_session_id_length == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_legacy_session_id_opt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `selected_cipher_suite` [INFO] [stdout] --> src/transport/handshake/client_hello.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | let selected_cipher_suite = parse_and_choose_cipher_suite(connection, buffer)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selected_cipher_suite` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handshake_message_type` [INFO] [stdout] --> src/transport/handshake/extension/key_share.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | handshake_message_type: HandshakeTypeExtended, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handshake_message_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `found_psk_extension` [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:278:13 [INFO] [stdout] | [INFO] [stdout] 278 | let mut found_psk_extension = false; //in ClientHello the "pre_shared_key" extension must be the last of all extension(start of page ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_found_psk_extension` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:278:9 [INFO] [stdout] | [INFO] [stdout] 278 | let mut found_psk_extension = false; //in ClientHello the "pre_shared_key" extension must be the last of all extension(start of page ... [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: unused variable: `msg_payload` [INFO] [stdout] --> src/transport/handshake/mod.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | let mut msg_payload = parse_buffer.sub_parse_buffer(msg_length as usize)?; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msg_payload` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/transport/handshake/mod.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | let mut msg_payload = parse_buffer.sub_parse_buffer(msg_length as usize)?; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fragment` [INFO] [stdout] --> src/transport/record/mod.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | let fragment = buffer.sub_parse_buffer(length as usize)?; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fragment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `BuildParameterCipherSuiteField` is more private than the item `build_cipher_suite_field` [INFO] [stdout] --> src/transport/handshake/cipher_suite.rs:123:1 [INFO] [stdout] | [INFO] [stdout] 123 | / pub fn build_cipher_suite_field( [INFO] [stdout] 124 | | param: BuildParameterCipherSuiteField, [INFO] [stdout] 125 | | buffer: &mut BuildBuffer, [INFO] [stdout] 126 | | ) -> Result<(), BuildError> { [INFO] [stdout] | |___________________________^ function `build_cipher_suite_field` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `BuildParameterCipherSuiteField` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/transport/handshake/cipher_suite.rs:98:1 [INFO] [stdout] | [INFO] [stdout] 98 | enum BuildParameterCipherSuiteField { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `u16_from_bytes` is never used [INFO] [stdout] --> src/bitwise.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn u16_from_bytes(bytes: &[u8]) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `u24_from_bytes` is never used [INFO] [stdout] --> src/bitwise.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn u24_from_bytes(bytes: &[u8]) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `all_tls_version_supported` is never read [INFO] [stdout] --> src/connection/client/config.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct ClientConfig { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 7 | pub common_config: CommonConfig, [INFO] [stdout] 8 | all_tls_version_supported: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AlertLevel` is never used [INFO] [stdout] --> src/transport/alert/mod.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum AlertLevel { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlertLevel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AlertDescription` is never used [INFO] [stdout] --> src/transport/alert/mod.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum AlertDescription { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlertDescription` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Alert` is never constructed [INFO] [stdout] --> src/transport/alert/mod.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct Alert { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Alert` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEGACY_VERSION_SUPPORTED` is never used [INFO] [stdout] --> src/transport/handshake/mod.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const LEGACY_VERSION_SUPPORTED: u16 = 0x0303; //Version for TLS-1.2 and TLS-1.3 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `named_group` and `key` are never read [INFO] [stdout] --> src/transport/handshake/mod.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct HandshakeKey { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 37 | named_group: NamedGroup, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 38 | key: Box<[u8]>, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handshake_message` is never used [INFO] [stdout] --> src/transport/handshake/mod.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn handshake_message<'a>(parse_buffer: &'a mut ParseBuffer<'a>) -> Result<(), ParseError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Client` and `Server` are never constructed [INFO] [stdout] --> src/transport/handshake/cipher_suite.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 98 | enum BuildParameterCipherSuiteField { [INFO] [stdout] | ------------------------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 101 | Client, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | Server(CipherSuite), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `client_hello` is never used [INFO] [stdout] --> src/transport/handshake/client_hello.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn client_hello<'a, UserDataType>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Extension` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:83:10 [INFO] [stdout] | [INFO] [stdout] 83 | pub enum Extension { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ExtensionInfoValue` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:87:6 [INFO] [stdout] | [INFO] [stdout] 87 | type ExtensionInfoValue<'a> = (u8, &'a [HandshakeTypeExtendedDiscriminants]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `EXTENSION_INFO` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | static EXTENSION_INFO: phf::Map = phf_map! { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `DuplicateControlType` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:113:6 [INFO] [stdout] | [INFO] [stdout] 113 | type DuplicateControlType = [u8; 3]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_is_allowed_extension` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:116:4 [INFO] [stdout] | [INFO] [stdout] 116 | fn check_is_allowed_extension( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extension_is_already_read` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:136:4 [INFO] [stdout] | [INFO] [stdout] 136 | fn extension_is_already_read( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `after_extension_check` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:152:4 [INFO] [stdout] | [INFO] [stdout] 152 | fn after_extension_check( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_buffer_to_one_extensions` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:197:4 [INFO] [stdout] | [INFO] [stdout] 197 | fn parse_buffer_to_one_extensions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_buffer_to_vec_of_extensions` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:272:4 [INFO] [stdout] | [INFO] [stdout] 272 | fn parse_buffer_to_vec_of_extensions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_extension_field` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:308:8 [INFO] [stdout] | [INFO] [stdout] 308 | pub fn parse_extension_field( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_allowed_extension_field_length_range` is never used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:333:4 [INFO] [stdout] | [INFO] [stdout] 333 | fn get_allowed_extension_field_length_range( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_and_select_certificate_authorities` is never used [INFO] [stdout] --> src/transport/handshake/extension/certificate_authorities.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn parse_and_select_certificate_authorities( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_key_share_extension` is never used [INFO] [stdout] --> src/transport/handshake/extension/key_share.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn parse_key_share_extension( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_max_fragment_length_extension` is never used [INFO] [stdout] --> src/transport/handshake/extension/max_fragment_length.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn parse_max_fragment_length_extension( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_and_select_signature_algorithm_extension` is never used [INFO] [stdout] --> src/transport/handshake/extension/signature_algorithm.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn parse_and_select_signature_algorithm_extension( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_and_select_supported_groups_extension` is never used [INFO] [stdout] --> src/transport/handshake/extension/supported_groups.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_and_select_supported_groups_extension( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_and_negociated_supported_version_extension` is never used [INFO] [stdout] --> src/transport/handshake/extension/supported_versions.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn parse_and_negociated_supported_version_extension( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BuildParameterSupportedVersionExtension` is never used [INFO] [stdout] --> src/transport/handshake/extension/supported_versions.rs:61:10 [INFO] [stdout] | [INFO] [stdout] 61 | pub enum BuildParameterSupportedVersionExtension { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_supported_version_extension` is never used [INFO] [stdout] --> src/transport/handshake/extension/supported_versions.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn build_supported_version_extension( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HELLO_RETRY_REQUEST_MAGIC_RANDOM` is never used [INFO] [stdout] --> src/transport/handshake/server_hello.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const HELLO_RETRY_REQUEST_MAGIC_RANDOM: &[u8; 32] = &[ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BuildParameterServerHello` is never constructed [INFO] [stdout] --> src/transport/handshake/server_hello.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct BuildParameterServerHello<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_server_hello` is never used [INFO] [stdout] --> src/transport/handshake/server_hello.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn build_server_hello(param: BuildParameterServerHello, buffer: &mut BuildBuffer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `record_message` is never used [INFO] [stdout] --> src/transport/record/mod.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn record_message( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/transport/handshake/extension/mod.rs:328:5 [INFO] [stdout] | [INFO] [stdout] 328 | after_extension_check(connection, handshake_message_type); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 328 | let _ = after_extension_check(connection, handshake_message_type); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/transport/handshake/server_hello.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | buffer.write_u16(LEGACY_VERSION_SUPPORTED); //set TLS_1.2 for TLS1.2 or TLS1.3 or heigher [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 80 | let _ = buffer.write_u16(LEGACY_VERSION_SUPPORTED); //set TLS_1.2 for TLS1.2 or TLS1.3 or heigher [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/transport/handshake/server_hello.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | buffer.write_slice(&random); //set random [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 83 | let _ = buffer.write_slice(&random); //set random [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/transport/handshake/server_hello.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | buffer.write_slice(param.session_id_echo); //set session_id_echo [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 85 | let _ = buffer.write_slice(param.session_id_echo); //set session_id_echo [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/transport/handshake/server_hello.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | buffer.write_u16(param.selected_cipher_suite as u16); //set cipher_suite [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 87 | let _ = buffer.write_u16(param.selected_cipher_suite as u16); //set cipher_suite [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/transport/handshake/server_hello.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | buffer.write_u8(0); //set legacy_compression_method [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 89 | let _ = buffer.write_u8(0); //set legacy_compression_method [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.33s [INFO] running `Command { std: "docker" "inspect" "e91c926a7f04d1dc26be67e7a6389ff5ac271726a655cb8c26e90dc5ef233d74", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e91c926a7f04d1dc26be67e7a6389ff5ac271726a655cb8c26e90dc5ef233d74", kill_on_drop: false }` [INFO] [stdout] e91c926a7f04d1dc26be67e7a6389ff5ac271726a655cb8c26e90dc5ef233d74 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] b7c545deba3b4e0c6c1283d8ac04893c8ad4579ff743772094eb06b3619e7510 [INFO] running `Command { std: "docker" "start" "-a" "b7c545deba3b4e0c6c1283d8ac04893c8ad4579ff743772094eb06b3619e7510", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `ParseBuffer` and `ParseError` [INFO] [stderr] --> src/transport/handshake/server_hello.rs:2:32 [INFO] [stderr] | [INFO] [stderr] 2 | parse_tools::{BuildBuffer, ParseBuffer, ParseError}, [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HandshakeTypeExtended`, `parse_and_use_single_cipher_suite`, and `parse_extension_field` [INFO] [stderr] --> src/transport/handshake/server_hello.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | HandshakeTypeExtended, LEGACY_VERSION_SUPPORTED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 8 | cipher_suite::{CipherSuite, parse_and_use_single_cipher_suite}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 9 | extension::{Extension, parse_extension_field}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/transport/handshake/extension/mod.rs:295:5 [INFO] [stderr] | [INFO] [stderr] 293 | todo!("check psk is the last extension"); [INFO] [stderr] | ---------------------------------------- any code following this expression is unreachable [INFO] [stderr] 294 | [INFO] [stderr] 295 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/transport/handshake/mod.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 87 | / match msg_type { [INFO] [stderr] 88 | | HandshakeType::ClientHello => todo!(), [INFO] [stderr] 89 | | HandshakeType::ServerHello => todo!(), [INFO] [stderr] 90 | | HandshakeType::NewSessionTicket => todo!(), [INFO] [stderr] ... | [INFO] [stderr] 98 | | HandshakeType::MessageHash => todo!(), [INFO] [stderr] 99 | | } [INFO] [stderr] | |_____- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stderr] 100 | [INFO] [stderr] 101 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] [INFO] [stderr] warning: unused variable: `random` [INFO] [stderr] --> src/transport/handshake/client_hello.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | let random = buffer.get_static_slice_ref::<32>()?; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_random` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `legacy_session_id_opt` [INFO] [stderr] --> src/transport/handshake/client_hello.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | let legacy_session_id_opt = if legacy_session_id_length == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_legacy_session_id_opt` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `selected_cipher_suite` [INFO] [stderr] --> src/transport/handshake/client_hello.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | let selected_cipher_suite = parse_and_choose_cipher_suite(connection, buffer)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selected_cipher_suite` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `handshake_message_type` [INFO] [stderr] --> src/transport/handshake/extension/key_share.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | handshake_message_type: HandshakeTypeExtended, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handshake_message_type` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `found_psk_extension` [INFO] [stderr] --> src/transport/handshake/extension/mod.rs:278:13 [INFO] [stderr] | [INFO] [stderr] 278 | let mut found_psk_extension = false; //in ClientHello the "pre_shared_key" extension must be the last of all extension(start of page ... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_found_psk_extension` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/transport/handshake/extension/mod.rs:278:9 [INFO] [stderr] | [INFO] [stderr] 278 | let mut found_psk_extension = false; //in ClientHello the "pre_shared_key" extension must be the last of all extension(start of page ... [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: unused variable: `msg_payload` [INFO] [stderr] --> src/transport/handshake/mod.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | let mut msg_payload = parse_buffer.sub_parse_buffer(msg_length as usize)?; [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msg_payload` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/transport/handshake/mod.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | let mut msg_payload = parse_buffer.sub_parse_buffer(msg_length as usize)?; [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `fragment` [INFO] [stderr] --> src/transport/record/mod.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | let fragment = buffer.sub_parse_buffer(length as usize)?; [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fragment` [INFO] [stderr] [INFO] [stderr] warning: type `BuildParameterCipherSuiteField` is more private than the item `build_cipher_suite_field` [INFO] [stderr] --> src/transport/handshake/cipher_suite.rs:123:1 [INFO] [stderr] | [INFO] [stderr] 123 | / pub fn build_cipher_suite_field( [INFO] [stderr] 124 | | param: BuildParameterCipherSuiteField, [INFO] [stderr] 125 | | buffer: &mut BuildBuffer, [INFO] [stderr] 126 | | ) -> Result<(), BuildError> { [INFO] [stderr] | |___________________________^ function `build_cipher_suite_field` is reachable at visibility `pub` [INFO] [stderr] | [INFO] [stderr] note: but type `BuildParameterCipherSuiteField` is only usable at visibility `pub(self)` [INFO] [stderr] --> src/transport/handshake/cipher_suite.rs:98:1 [INFO] [stderr] | [INFO] [stderr] 98 | enum BuildParameterCipherSuiteField { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(private_interfaces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `u16_from_bytes` is never used [INFO] [stderr] --> src/bitwise.rs:10:8 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn u16_from_bytes(bytes: &[u8]) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `u24_from_bytes` is never used [INFO] [stderr] --> src/bitwise.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn u24_from_bytes(bytes: &[u8]) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `all_tls_version_supported` is never read [INFO] [stderr] --> src/connection/client/config.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct ClientConfig { [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] 7 | pub common_config: CommonConfig, [INFO] [stderr] 8 | all_tls_version_supported: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `AlertLevel` is never used [INFO] [stderr] --> src/transport/alert/mod.rs:5:10 [INFO] [stderr] | [INFO] [stderr] 5 | pub enum AlertLevel { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `AlertLevel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: enum `AlertDescription` is never used [INFO] [stderr] --> src/transport/alert/mod.rs:12:10 [INFO] [stderr] | [INFO] [stderr] 12 | pub enum AlertDescription { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `AlertDescription` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: struct `Alert` is never constructed [INFO] [stderr] --> src/transport/alert/mod.rs:44:12 [INFO] [stderr] | [INFO] [stderr] 44 | pub struct Alert { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Alert` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: constant `LEGACY_VERSION_SUPPORTED` is never used [INFO] [stderr] --> src/transport/handshake/mod.rs:18:7 [INFO] [stderr] | [INFO] [stderr] 18 | const LEGACY_VERSION_SUPPORTED: u16 = 0x0303; //Version for TLS-1.2 and TLS-1.3 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `named_group` and `key` are never read [INFO] [stderr] --> src/transport/handshake/mod.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct HandshakeKey { [INFO] [stderr] | ------------ fields in this struct [INFO] [stderr] 37 | named_group: NamedGroup, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 38 | key: Box<[u8]>, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function `handshake_message` is never used [INFO] [stderr] --> src/transport/handshake/mod.rs:76:4 [INFO] [stderr] | [INFO] [stderr] 76 | fn handshake_message<'a>(parse_buffer: &'a mut ParseBuffer<'a>) -> Result<(), ParseError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Client` and `Server` are never constructed [INFO] [stderr] --> src/transport/handshake/cipher_suite.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 98 | enum BuildParameterCipherSuiteField { [INFO] [stderr] | ------------------------------ variants in this enum [INFO] [stderr] ... [INFO] [stderr] 101 | Client, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 108 | Server(CipherSuite), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `client_hello` is never used [INFO] [stderr] --> src/transport/handshake/client_hello.rs:11:8 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn client_hello<'a, UserDataType>( [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `Extension` is never used [INFO] [stderr] --> src/transport/handshake/extension/mod.rs:83:10 [INFO] [stderr] | [INFO] [stderr] 83 | pub enum Extension { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias `ExtensionInfoValue` is never used [INFO] [stderr] --> src/transport/handshake/extension/mod.rs:87:6 [INFO] [stderr] | [INFO] [stderr] 87 | type ExtensionInfoValue<'a> = (u8, &'a [HandshakeTypeExtendedDiscriminants]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `EXTENSION_INFO` is never used [INFO] [stderr] --> src/transport/handshake/extension/mod.rs:89:8 [INFO] [stderr] | [INFO] [stderr] 89 | static EXTENSION_INFO: phf::Map = phf_map! { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias `DuplicateControlType` is never used [INFO] [stderr] --> src/transport/handshake/extension/mod.rs:113:6 [INFO] [stderr] | [INFO] [stderr] 113 | type DuplicateControlType = [u8; 3]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `check_is_allowed_extension` is never used [INFO] [stderr] --> src/transport/handshake/extension/mod.rs:116:4 [INFO] [stderr] | [INFO] [stderr] 116 | fn check_is_allowed_extension( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `extension_is_already_read` is never used [INFO] [stderr] --> src/transport/handshake/extension/mod.rs:136:4 [INFO] [stderr] | [INFO] [stderr] 136 | fn extension_is_already_read( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `after_extension_check` is never used [INFO] [stderr] --> src/transport/handshake/extension/mod.rs:152:4 [INFO] [stderr] | [INFO] [stderr] 152 | fn after_extension_check( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_buffer_to_one_extensions` is never used [INFO] [stderr] --> src/transport/handshake/extension/mod.rs:197:4 [INFO] [stderr] | [INFO] [stderr] 197 | fn parse_buffer_to_one_extensions( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_buffer_to_vec_of_extensions` is never used [INFO] [stderr] --> src/transport/handshake/extension/mod.rs:272:4 [INFO] [stderr] | [INFO] [stderr] 272 | fn parse_buffer_to_vec_of_extensions( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_extension_field` is never used [INFO] [stderr] --> src/transport/handshake/extension/mod.rs:308:8 [INFO] [stderr] | [INFO] [stderr] 308 | pub fn parse_extension_field( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_allowed_extension_field_length_range` is never used [INFO] [stderr] --> src/transport/handshake/extension/mod.rs:333:4 [INFO] [stderr] | [INFO] [stderr] 333 | fn get_allowed_extension_field_length_range( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_and_select_certificate_authorities` is never used [INFO] [stderr] --> src/transport/handshake/extension/certificate_authorities.rs:8:8 [INFO] [stderr] | [INFO] [stderr] 8 | pub fn parse_and_select_certificate_authorities( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_key_share_extension` is never used [INFO] [stderr] --> src/transport/handshake/extension/key_share.rs:13:8 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn parse_key_share_extension( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_max_fragment_length_extension` is never used [INFO] [stderr] --> src/transport/handshake/extension/max_fragment_length.rs:8:8 [INFO] [stderr] | [INFO] [stderr] 8 | pub fn parse_max_fragment_length_extension( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_and_select_signature_algorithm_extension` is never used [INFO] [stderr] --> src/transport/handshake/extension/signature_algorithm.rs:40:8 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn parse_and_select_signature_algorithm_extension( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_and_select_supported_groups_extension` is never used [INFO] [stderr] --> src/transport/handshake/extension/supported_groups.rs:10:8 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn parse_and_select_supported_groups_extension( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_and_negociated_supported_version_extension` is never used [INFO] [stderr] --> src/transport/handshake/extension/supported_versions.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn parse_and_negociated_supported_version_extension( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `BuildParameterSupportedVersionExtension` is never used [INFO] [stderr] --> src/transport/handshake/extension/supported_versions.rs:61:10 [INFO] [stderr] | [INFO] [stderr] 61 | pub enum BuildParameterSupportedVersionExtension { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `build_supported_version_extension` is never used [INFO] [stderr] --> src/transport/handshake/extension/supported_versions.rs:80:8 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn build_supported_version_extension( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `HELLO_RETRY_REQUEST_MAGIC_RANDOM` is never used [INFO] [stderr] --> src/transport/handshake/server_hello.rs:12:7 [INFO] [stderr] | [INFO] [stderr] 12 | const HELLO_RETRY_REQUEST_MAGIC_RANDOM: &[u8; 32] = &[ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `BuildParameterServerHello` is never constructed [INFO] [stderr] --> src/transport/handshake/server_hello.rs:72:12 [INFO] [stderr] | [INFO] [stderr] 72 | pub struct BuildParameterServerHello<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `build_server_hello` is never used [INFO] [stderr] --> src/transport/handshake/server_hello.rs:79:8 [INFO] [stderr] | [INFO] [stderr] 79 | pub fn build_server_hello(param: BuildParameterServerHello, buffer: &mut BuildBuffer) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `record_message` is never used [INFO] [stderr] --> src/transport/record/mod.rs:17:8 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn record_message( [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/transport/handshake/extension/mod.rs:328:5 [INFO] [stderr] | [INFO] [stderr] 328 | after_extension_check(connection, handshake_message_type); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 328 | let _ = after_extension_check(connection, handshake_message_type); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/transport/handshake/server_hello.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | buffer.write_u16(LEGACY_VERSION_SUPPORTED); //set TLS_1.2 for TLS1.2 or TLS1.3 or heigher [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 80 | let _ = buffer.write_u16(LEGACY_VERSION_SUPPORTED); //set TLS_1.2 for TLS1.2 or TLS1.3 or heigher [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/transport/handshake/server_hello.rs:83:5 [INFO] [stderr] | [INFO] [stderr] 83 | buffer.write_slice(&random); //set random [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 83 | let _ = buffer.write_slice(&random); //set random [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/transport/handshake/server_hello.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | buffer.write_slice(param.session_id_echo); //set session_id_echo [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 85 | let _ = buffer.write_slice(param.session_id_echo); //set session_id_echo [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/transport/handshake/server_hello.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | buffer.write_u16(param.selected_cipher_suite as u16); //set cipher_suite [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 87 | let _ = buffer.write_u16(param.selected_cipher_suite as u16); //set cipher_suite [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/transport/handshake/server_hello.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | buffer.write_u8(0); //set legacy_compression_method [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 89 | let _ = buffer.write_u8(0); //set legacy_compression_method [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `garence` (bin "garence" test) generated 54 warnings (run `cargo fix --bin "garence" --tests` to apply 4 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/garence-8d6be1c880fc424f) [INFO] [stdout] running 7 tests [INFO] [stdout] test transport::handshake::extension::server_name::tests::bad_name_length_2 ... ok [INFO] [stdout] test transport::handshake::extension::server_name::tests::bad_extension_length ... ok [INFO] [stdout] test transport::handshake::extension::server_name::tests::bad_extension_length_2 ... ok [INFO] [stdout] test transport::handshake::extension::server_name::tests::bad_name_length ... ok [INFO] [stdout] test transport::handshake::extension::server_name::tests::good_formed ... ok [INFO] [stdout] test transport::handshake::extension::server_name::tests::good_formed_2 ... ok [INFO] [stdout] test transport::handshake::extension::server_name::tests::bad_name_type ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b7c545deba3b4e0c6c1283d8ac04893c8ad4579ff743772094eb06b3619e7510", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b7c545deba3b4e0c6c1283d8ac04893c8ad4579ff743772094eb06b3619e7510", kill_on_drop: false }` [INFO] [stdout] b7c545deba3b4e0c6c1283d8ac04893c8ad4579ff743772094eb06b3619e7510