[INFO] fetching crate rustls-fork-shadow-tls 0.20.9-mod.2...
[INFO] testing rustls-fork-shadow-tls-0.20.9-mod.2 against beta-2025-10-28 for beta-1.92-2
[INFO] extracting crate rustls-fork-shadow-tls 0.20.9-mod.2 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate rustls-fork-shadow-tls 0.20.9-mod.2
[INFO] removed 3 missing examples
[INFO] finished tweaking crates.io crate rustls-fork-shadow-tls 0.20.9-mod.2
[INFO] tweaked toml for crates.io crate rustls-fork-shadow-tls 0.20.9-mod.2 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rustls-fork-shadow-tls 0.20.9-mod.2 on toolchain beta-2025-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rustls-fork-shadow-tls 0.20.9-mod.2 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" "+beta-2025-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e6be01adfc7b0c8c04736b9466b376b6e7b3c5257500cde7134fdc3213fdbbeb
[INFO] running `Command { std: "docker" "start" "-a" "e6be01adfc7b0c8c04736b9466b376b6e7b3c5257500cde7134fdc3213fdbbeb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e6be01adfc7b0c8c04736b9466b376b6e7b3c5257500cde7134fdc3213fdbbeb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e6be01adfc7b0c8c04736b9466b376b6e7b3c5257500cde7134fdc3213fdbbeb", kill_on_drop: false }`
[INFO] [stdout] e6be01adfc7b0c8c04736b9466b376b6e7b3c5257500cde7134fdc3213fdbbeb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9583f324aadf6f901328133866bb2e4151d52601a3dd17b8e972b138ff61f374
[INFO] running `Command { std: "docker" "start" "-a" "9583f324aadf6f901328133866bb2e4151d52601a3dd17b8e972b138ff61f374", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling libc v0.2.135
[INFO] [stderr]    Compiling once_cell v1.15.0
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling rustls-fork-shadow-tls v0.20.9-mod.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling webpki v0.22.0
[INFO] [stderr]    Compiling sct v0.7.0
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/lib.rs:263:17
[INFO] [stdout]     |
[INFO] [stdout] 263 | #![cfg_attr(not(read_buf), forbid(unstable_features))]
[INFO] [stdout]     |                 ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/lib.rs:302:13
[INFO] [stdout]     |
[INFO] [stdout] 302 | #![cfg_attr(read_buf, feature(read_buf))]
[INFO] [stdout]     |             ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/cipher.rs:33:38
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub(crate) struct Iv(pub(crate) [u8; ring::aead::NONCE_LEN]);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:273:5
[INFO] [stdout]     |
[INFO] [stdout] 273 |     unused_qualifications
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout]  33 - pub(crate) struct Iv(pub(crate) [u8; ring::aead::NONCE_LEN]);
[INFO] [stdout]  33 + pub(crate) struct Iv(pub(crate) [u8; aead::NONCE_LEN]);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/cipher.rs:37:24
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn new(value: [u8; ring::aead::NONCE_LEN]) -> Self {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 37 -     fn new(value: [u8; ring::aead::NONCE_LEN]) -> Self {
[INFO] [stdout] 37 +     fn new(value: [u8; aead::NONCE_LEN]) -> Self {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/cipher.rs:43:39
[INFO] [stdout]    |
[INFO] [stdout] 43 |         debug_assert_eq!(value.len(), ring::aead::NONCE_LEN);
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 43 -         debug_assert_eq!(value.len(), ring::aead::NONCE_LEN);
[INFO] [stdout] 43 +         debug_assert_eq!(value.len(), aead::NONCE_LEN);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/cipher.rs:71:48
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub(crate) fn make_nonce(iv: &Iv, seq: u64) -> ring::aead::Nonce {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 71 - pub(crate) fn make_nonce(iv: &Iv, seq: u64) -> ring::aead::Nonce {
[INFO] [stdout] 71 + pub(crate) fn make_nonce(iv: &Iv, seq: u64) -> aead::Nonce {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/cipher.rs:72:27
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut nonce = [0u8; ring::aead::NONCE_LEN];
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 72 -     let mut nonce = [0u8; ring::aead::NONCE_LEN];
[INFO] [stdout] 72 +     let mut nonce = [0u8; aead::NONCE_LEN];
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/conn.rs:281:11
[INFO] [stdout]     |
[INFO] [stdout] 281 |     #[cfg(read_buf)]
[INFO] [stdout]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/conn.rs:434:13
[INFO] [stdout]     |
[INFO] [stdout] 434 | /             /// Are we done? i.e., have we processed all received messages, and received a
[INFO] [stdout] 435 | |             /// close_notify to indicate that no new messages will arrive?
[INFO] [stdout]     | |__________________________________________________________________________^
[INFO] [stdout] 436 | /             peer_cleanly_closed: self
[INFO] [stdout] 437 | |                 .common_state
[INFO] [stdout] 438 | |                 .has_received_close_notify
[INFO] [stdout] 439 | |                 && !self.message_deframer.has_pending(),
[INFO] [stdout]     | |_______________________________________________________- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]   --> src/stream.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 |     #[cfg(read_buf)]
[INFO] [stdout]    |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/stream.rs:212:11
[INFO] [stdout]     |
[INFO] [stdout] 212 |     #[cfg(read_buf)]
[INFO] [stdout]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/cipher.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | ) -> ring::aead::Aad<[u8; TLS12_AAD_SIZE]> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 19 - ) -> ring::aead::Aad<[u8; TLS12_AAD_SIZE]> {
[INFO] [stdout] 19 + ) -> aead::Aad<[u8; TLS12_AAD_SIZE]> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/cipher.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     ring::aead::Aad::from(out)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 25 -     ring::aead::Aad::from(out)
[INFO] [stdout] 25 +     aead::Aad::from(out)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/mod.rs:29:30
[INFO] [stdout]    |
[INFO] [stdout] 29 |             aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 29 -             aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout] 29 +             aead_algorithm: &aead::CHACHA20_POLY1305,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/mod.rs:45:30
[INFO] [stdout]    |
[INFO] [stdout] 45 |             aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 45 -             aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout] 45 +             aead_algorithm: &aead::CHACHA20_POLY1305,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/mod.rs:61:30
[INFO] [stdout]    |
[INFO] [stdout] 61 |             aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 61 -             aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout] 61 +             aead_algorithm: &aead::AES_128_GCM,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/mod.rs:77:30
[INFO] [stdout]    |
[INFO] [stdout] 77 |             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 77 -             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout] 77 +             aead_algorithm: &aead::AES_256_GCM,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/mod.rs:93:30
[INFO] [stdout]    |
[INFO] [stdout] 93 |             aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 93 -             aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout] 93 +             aead_algorithm: &aead::AES_128_GCM,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tls12/mod.rs:109:30
[INFO] [stdout]     |
[INFO] [stdout] 109 |             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 109 -             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout] 109 +             aead_algorithm: &aead::AES_256_GCM,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/key_schedule.rs:70:16
[INFO] [stdout]    |
[INFO] [stdout] 70 |     algorithm: ring::hkdf::Algorithm,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 70 -     algorithm: ring::hkdf::Algorithm,
[INFO] [stdout] 70 +     algorithm: hkdf::Algorithm,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |         aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 26 -         aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout] 26 +         aead_algorithm: &aead::CHACHA20_POLY1305,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |     hkdf_algorithm: ring::hkdf::HKDF_SHA256,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 28 -     hkdf_algorithm: ring::hkdf::HKDF_SHA256,
[INFO] [stdout] 28 +     hkdf_algorithm: hkdf::HKDF_SHA256,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 41 -             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout] 41 +             aead_algorithm: &aead::AES_256_GCM,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:43:25
[INFO] [stdout]    |
[INFO] [stdout] 43 |         hkdf_algorithm: ring::hkdf::HKDF_SHA384,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 43 -         hkdf_algorithm: ring::hkdf::HKDF_SHA384,
[INFO] [stdout] 43 +         hkdf_algorithm: hkdf::HKDF_SHA384,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:58:26
[INFO] [stdout]    |
[INFO] [stdout] 58 |         aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 58 -         aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout] 58 +         aead_algorithm: &aead::AES_128_GCM,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |     hkdf_algorithm: ring::hkdf::HKDF_SHA256,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 60 -     hkdf_algorithm: ring::hkdf::HKDF_SHA256,
[INFO] [stdout] 60 +     hkdf_algorithm: hkdf::HKDF_SHA256,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:71:32
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub(crate) hkdf_algorithm: ring::hkdf::Algorithm,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 71 -     pub(crate) hkdf_algorithm: ring::hkdf::Algorithm,
[INFO] [stdout] 71 +     pub(crate) hkdf_algorithm: hkdf::Algorithm,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tls13/mod.rs:155:34
[INFO] [stdout]     |
[INFO] [stdout] 155 | fn make_tls13_aad(len: usize) -> ring::aead::Aad<[u8; TLS13_AAD_SIZE]> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 155 - fn make_tls13_aad(len: usize) -> ring::aead::Aad<[u8; TLS13_AAD_SIZE]> {
[INFO] [stdout] 155 + fn make_tls13_aad(len: usize) -> aead::Aad<[u8; TLS13_AAD_SIZE]> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tls13/mod.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     ring::aead::Aad::from([
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 156 -     ring::aead::Aad::from([
[INFO] [stdout] 156 +     aead::Aad::from([
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/vecbuf.rs:108:11
[INFO] [stdout]     |
[INFO] [stdout] 108 |     #[cfg(read_buf)]
[INFO] [stdout]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/ticketer.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let nonce = ring::aead::Nonce::assume_unique_for_key(nonce_buf);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 71 -         let nonce = ring::aead::Nonce::assume_unique_for_key(nonce_buf);
[INFO] [stdout] 71 +         let nonce = aead::Nonce::assume_unique_for_key(nonce_buf);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/ticketer.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let aad = ring::aead::Aad::empty();
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 72 -         let aad = ring::aead::Aad::empty();
[INFO] [stdout] 72 +         let aad = aead::Aad::empty();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/ticketer.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let nonce = ring::aead::Nonce::try_assume_unique_for_key(nonce).ok()?;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 94 -         let nonce = ring::aead::Nonce::try_assume_unique_for_key(nonce).ok()?;
[INFO] [stdout] 94 +         let nonce = aead::Nonce::try_assume_unique_for_key(nonce).ok()?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/server/server_conn.rs:746:7
[INFO] [stdout]     |
[INFO] [stdout] 746 | #[cfg(read_buf)]
[INFO] [stdout]     |       ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/server/server_conn.rs:345:11
[INFO] [stdout]     |
[INFO] [stdout] 345 |     #[cfg(read_buf)]
[INFO] [stdout]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/server/server_conn.rs:340:10
[INFO] [stdout]     |
[INFO] [stdout] 340 | impl<'a> std::io::Read for ReadEarlyData<'a> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 340 - impl<'a> std::io::Read for ReadEarlyData<'a> {
[INFO] [stdout] 340 + impl<'a> io::Read for ReadEarlyData<'a> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/server/server_conn.rs:717:11
[INFO] [stdout]     |
[INFO] [stdout] 717 |     #[cfg(read_buf)]
[INFO] [stdout]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/msgs/codec.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn init(bytes: &[u8]) -> Reader {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn init(bytes: &[u8]) -> Reader<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/msgs/codec.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn sub(&mut self, length: usize) -> Option<Reader> {
[INFO] [stdout]    |                ^^^^^^^^^                           ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn sub(&mut self, length: usize) -> Option<Reader<'_>> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/msgs/handshake.rs:324:28
[INFO] [stdout]     |
[INFO] [stdout] 324 |     fn get_single_hostname(&self) -> Option<webpki::DnsNameRef>;
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 324 |     fn get_single_hostname(&self) -> Option<webpki::DnsNameRef<'_>>;
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/msgs/handshake.rs:341:28
[INFO] [stdout]     |
[INFO] [stdout] 341 |     fn get_single_hostname(&self) -> Option<webpki::DnsNameRef> {
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 341 |     fn get_single_hostname(&self) -> Option<webpki::DnsNameRef<'_>> {
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/msgs/handshake.rs:342:37
[INFO] [stdout]     |
[INFO] [stdout] 342 |         fn only_dns_hostnames(name: &ServerName) -> Option<webpki::DnsNameRef> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 342 |         fn only_dns_hostnames(name: &ServerName) -> Option<webpki::DnsNameRef<'_>> {
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/anchors.rs:17:35
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub(crate) fn to_trust_anchor(&self) -> webpki::TrustAnchor {
[INFO] [stdout]    |                                   ^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub(crate) fn to_trust_anchor(&self) -> webpki::TrustAnchor<'_> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conn.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn reader(&mut self) -> Reader {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn reader(&mut self) -> Reader<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conn.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn writer(&mut self) -> Writer {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn writer(&mut self) -> Writer<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conn.rs:431:19
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn reader(&mut self) -> Reader {
[INFO] [stdout]     |                   ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn reader(&mut self) -> Reader<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conn.rs:445:19
[INFO] [stdout]     |
[INFO] [stdout] 445 |     pub fn writer(&mut self) -> Writer {
[INFO] [stdout]     |                   ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 445 |     pub fn writer(&mut self) -> Writer<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ticketer.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn maybe_roll(&self, now: TimeBase) -> Option<MutexGuard<TicketSwitcherState>> {
[INFO] [stdout]     |                   ^^^^^                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn maybe_roll(&self, now: TimeBase) -> Option<MutexGuard<'_, TicketSwitcherState>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/client_conn.rs:245:27
[INFO] [stdout]     |
[INFO] [stdout] 245 |     pub(crate) fn for_sni(&self) -> Option<webpki::DnsNameRef> {
[INFO] [stdout]     |                           ^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 245 |     pub(crate) fn for_sni(&self) -> Option<webpki::DnsNameRef<'_>> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/client_conn.rs:542:23
[INFO] [stdout]     |
[INFO] [stdout] 542 |     pub fn early_data(&mut self) -> Option<WriteEarlyData> {
[INFO] [stdout]     |                       ^^^^^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 542 |     pub fn early_data(&mut self) -> Option<WriteEarlyData<'_>> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/server/common.rs:12:43
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub(super) fn from_certified_key(key: &sign::CertifiedKey) -> ActiveCertifiedKey {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub(super) fn from_certified_key(key: &sign::CertifiedKey) -> ActiveCertifiedKey<'_> {
[INFO] [stdout]    |                                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/server/server_conn.rs:454:23
[INFO] [stdout]     |
[INFO] [stdout] 454 |     pub fn early_data(&mut self) -> Option<ReadEarlyData> {
[INFO] [stdout]     |                       ^^^^^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 454 |     pub fn early_data(&mut self) -> Option<ReadEarlyData<'_>> {
[INFO] [stdout]     |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.62s
[INFO] running `Command { std: "docker" "inspect" "9583f324aadf6f901328133866bb2e4151d52601a3dd17b8e972b138ff61f374", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9583f324aadf6f901328133866bb2e4151d52601a3dd17b8e972b138ff61f374", kill_on_drop: false }`
[INFO] [stdout] 9583f324aadf6f901328133866bb2e4151d52601a3dd17b8e972b138ff61f374
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 228fad972ad39bafa21c2bc748bc4fdf5c0ffadf38e089e46a3ae6dba503a192
[INFO] running `Command { std: "docker" "start" "-a" "228fad972ad39bafa21c2bc748bc4fdf5c0ffadf38e089e46a3ae6dba503a192", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.135
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.14
[INFO] [stderr]    Compiling serde v1.0.145
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.13
[INFO] [stderr]    Compiling proc-macro2 v1.0.47
[INFO] [stderr]    Compiling unicode-ident v1.0.5
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling syn v1.0.102
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling rayon-core v1.10.2
[INFO] [stderr]    Compiling serde_json v1.0.93
[INFO] [stderr]    Compiling ryu v1.0.12
[INFO] [stderr]    Compiling either v1.8.1
[INFO] [stderr]    Compiling itoa v1.0.5
[INFO] [stderr]    Compiling regex-syntax v0.6.27
[INFO] [stderr]    Compiling plotters-backend v0.3.4
[INFO] [stderr]    Compiling unicode-width v0.1.10
[INFO] [stderr]    Compiling serde_derive v1.0.145
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling itoa v0.4.8
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling half v1.8.2
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling walkdir v2.3.2
[INFO] [stderr]    Compiling termcolor v1.1.3
[INFO] [stderr]    Compiling oorandom v11.1.3
[INFO] [stderr]    Compiling aho-corasick v0.7.19
[INFO] [stderr]    Compiling plotters-svg v0.3.3
[INFO] [stderr]    Compiling csv-core v0.1.10
[INFO] [stderr]    Compiling crossbeam-channel v0.5.6
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling base64 v0.13.0
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling num_cpus v1.15.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling crossbeam-deque v0.8.2
[INFO] [stderr]    Compiling rustls-pemfile v1.0.1
[INFO] [stderr]    Compiling regex v1.6.0
[INFO] [stderr]    Compiling plotters v0.3.4
[INFO] [stderr]    Compiling rayon v1.6.1
[INFO] [stderr]    Compiling criterion-plot v0.4.5
[INFO] [stderr]    Compiling webpki v0.22.0
[INFO] [stderr]    Compiling sct v0.7.0
[INFO] [stderr]    Compiling webpki-roots v0.22.5
[INFO] [stderr]    Compiling rustls-fork-shadow-tls v0.20.9-mod.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling env_logger v0.9.1
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/lib.rs:263:17
[INFO] [stdout]     |
[INFO] [stdout] 263 | #![cfg_attr(not(read_buf), forbid(unstable_features))]
[INFO] [stdout]     |                 ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/lib.rs:302:13
[INFO] [stdout]     |
[INFO] [stdout] 302 | #![cfg_attr(read_buf, feature(read_buf))]
[INFO] [stdout]     |             ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/cipher.rs:33:38
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub(crate) struct Iv(pub(crate) [u8; ring::aead::NONCE_LEN]);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:273:5
[INFO] [stdout]     |
[INFO] [stdout] 273 |     unused_qualifications
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout]  33 - pub(crate) struct Iv(pub(crate) [u8; ring::aead::NONCE_LEN]);
[INFO] [stdout]  33 + pub(crate) struct Iv(pub(crate) [u8; aead::NONCE_LEN]);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/cipher.rs:37:24
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn new(value: [u8; ring::aead::NONCE_LEN]) -> Self {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 37 -     fn new(value: [u8; ring::aead::NONCE_LEN]) -> Self {
[INFO] [stdout] 37 +     fn new(value: [u8; aead::NONCE_LEN]) -> Self {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/cipher.rs:43:39
[INFO] [stdout]    |
[INFO] [stdout] 43 |         debug_assert_eq!(value.len(), ring::aead::NONCE_LEN);
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 43 -         debug_assert_eq!(value.len(), ring::aead::NONCE_LEN);
[INFO] [stdout] 43 +         debug_assert_eq!(value.len(), aead::NONCE_LEN);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/cipher.rs:71:48
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub(crate) fn make_nonce(iv: &Iv, seq: u64) -> ring::aead::Nonce {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 71 - pub(crate) fn make_nonce(iv: &Iv, seq: u64) -> ring::aead::Nonce {
[INFO] [stdout] 71 + pub(crate) fn make_nonce(iv: &Iv, seq: u64) -> aead::Nonce {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/cipher.rs:72:27
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut nonce = [0u8; ring::aead::NONCE_LEN];
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 72 -     let mut nonce = [0u8; ring::aead::NONCE_LEN];
[INFO] [stdout] 72 +     let mut nonce = [0u8; aead::NONCE_LEN];
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/conn.rs:281:11
[INFO] [stdout]     |
[INFO] [stdout] 281 |     #[cfg(read_buf)]
[INFO] [stdout]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/conn.rs:434:13
[INFO] [stdout]     |
[INFO] [stdout] 434 | /             /// Are we done? i.e., have we processed all received messages, and received a
[INFO] [stdout] 435 | |             /// close_notify to indicate that no new messages will arrive?
[INFO] [stdout]     | |__________________________________________________________________________^
[INFO] [stdout] 436 | /             peer_cleanly_closed: self
[INFO] [stdout] 437 | |                 .common_state
[INFO] [stdout] 438 | |                 .has_received_close_notify
[INFO] [stdout] 439 | |                 && !self.message_deframer.has_pending(),
[INFO] [stdout]     | |_______________________________________________________- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]   --> src/stream.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 |     #[cfg(read_buf)]
[INFO] [stdout]    |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/stream.rs:212:11
[INFO] [stdout]     |
[INFO] [stdout] 212 |     #[cfg(read_buf)]
[INFO] [stdout]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/cipher.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | ) -> ring::aead::Aad<[u8; TLS12_AAD_SIZE]> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 19 - ) -> ring::aead::Aad<[u8; TLS12_AAD_SIZE]> {
[INFO] [stdout] 19 + ) -> aead::Aad<[u8; TLS12_AAD_SIZE]> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/cipher.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     ring::aead::Aad::from(out)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 25 -     ring::aead::Aad::from(out)
[INFO] [stdout] 25 +     aead::Aad::from(out)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/mod.rs:29:30
[INFO] [stdout]    |
[INFO] [stdout] 29 |             aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 29 -             aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout] 29 +             aead_algorithm: &aead::CHACHA20_POLY1305,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/mod.rs:45:30
[INFO] [stdout]    |
[INFO] [stdout] 45 |             aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 45 -             aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout] 45 +             aead_algorithm: &aead::CHACHA20_POLY1305,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/mod.rs:61:30
[INFO] [stdout]    |
[INFO] [stdout] 61 |             aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 61 -             aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout] 61 +             aead_algorithm: &aead::AES_128_GCM,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/mod.rs:77:30
[INFO] [stdout]    |
[INFO] [stdout] 77 |             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 77 -             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout] 77 +             aead_algorithm: &aead::AES_256_GCM,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/mod.rs:93:30
[INFO] [stdout]    |
[INFO] [stdout] 93 |             aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 93 -             aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout] 93 +             aead_algorithm: &aead::AES_128_GCM,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tls12/mod.rs:109:30
[INFO] [stdout]     |
[INFO] [stdout] 109 |             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 109 -             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout] 109 +             aead_algorithm: &aead::AES_256_GCM,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/key_schedule.rs:70:16
[INFO] [stdout]    |
[INFO] [stdout] 70 |     algorithm: ring::hkdf::Algorithm,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 70 -     algorithm: ring::hkdf::Algorithm,
[INFO] [stdout] 70 +     algorithm: hkdf::Algorithm,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |         aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 26 -         aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout] 26 +         aead_algorithm: &aead::CHACHA20_POLY1305,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |     hkdf_algorithm: ring::hkdf::HKDF_SHA256,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 28 -     hkdf_algorithm: ring::hkdf::HKDF_SHA256,
[INFO] [stdout] 28 +     hkdf_algorithm: hkdf::HKDF_SHA256,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 41 -             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout] 41 +             aead_algorithm: &aead::AES_256_GCM,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:43:25
[INFO] [stdout]    |
[INFO] [stdout] 43 |         hkdf_algorithm: ring::hkdf::HKDF_SHA384,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 43 -         hkdf_algorithm: ring::hkdf::HKDF_SHA384,
[INFO] [stdout] 43 +         hkdf_algorithm: hkdf::HKDF_SHA384,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:58:26
[INFO] [stdout]    |
[INFO] [stdout] 58 |         aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 58 -         aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout] 58 +         aead_algorithm: &aead::AES_128_GCM,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |     hkdf_algorithm: ring::hkdf::HKDF_SHA256,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 60 -     hkdf_algorithm: ring::hkdf::HKDF_SHA256,
[INFO] [stdout] 60 +     hkdf_algorithm: hkdf::HKDF_SHA256,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:71:32
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub(crate) hkdf_algorithm: ring::hkdf::Algorithm,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 71 -     pub(crate) hkdf_algorithm: ring::hkdf::Algorithm,
[INFO] [stdout] 71 +     pub(crate) hkdf_algorithm: hkdf::Algorithm,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tls13/mod.rs:155:34
[INFO] [stdout]     |
[INFO] [stdout] 155 | fn make_tls13_aad(len: usize) -> ring::aead::Aad<[u8; TLS13_AAD_SIZE]> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 155 - fn make_tls13_aad(len: usize) -> ring::aead::Aad<[u8; TLS13_AAD_SIZE]> {
[INFO] [stdout] 155 + fn make_tls13_aad(len: usize) -> aead::Aad<[u8; TLS13_AAD_SIZE]> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tls13/mod.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     ring::aead::Aad::from([
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 156 -     ring::aead::Aad::from([
[INFO] [stdout] 156 +     aead::Aad::from([
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/vecbuf.rs:108:11
[INFO] [stdout]     |
[INFO] [stdout] 108 |     #[cfg(read_buf)]
[INFO] [stdout]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/ticketer.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let nonce = ring::aead::Nonce::assume_unique_for_key(nonce_buf);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 71 -         let nonce = ring::aead::Nonce::assume_unique_for_key(nonce_buf);
[INFO] [stdout] 71 +         let nonce = aead::Nonce::assume_unique_for_key(nonce_buf);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/ticketer.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let aad = ring::aead::Aad::empty();
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 72 -         let aad = ring::aead::Aad::empty();
[INFO] [stdout] 72 +         let aad = aead::Aad::empty();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/ticketer.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let nonce = ring::aead::Nonce::try_assume_unique_for_key(nonce).ok()?;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 94 -         let nonce = ring::aead::Nonce::try_assume_unique_for_key(nonce).ok()?;
[INFO] [stdout] 94 +         let nonce = aead::Nonce::try_assume_unique_for_key(nonce).ok()?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/server/server_conn.rs:746:7
[INFO] [stdout]     |
[INFO] [stdout] 746 | #[cfg(read_buf)]
[INFO] [stdout]     |       ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/server/server_conn.rs:345:11
[INFO] [stdout]     |
[INFO] [stdout] 345 |     #[cfg(read_buf)]
[INFO] [stdout]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/server/server_conn.rs:340:10
[INFO] [stdout]     |
[INFO] [stdout] 340 | impl<'a> std::io::Read for ReadEarlyData<'a> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 340 - impl<'a> std::io::Read for ReadEarlyData<'a> {
[INFO] [stdout] 340 + impl<'a> io::Read for ReadEarlyData<'a> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/server/server_conn.rs:717:11
[INFO] [stdout]     |
[INFO] [stdout] 717 |     #[cfg(read_buf)]
[INFO] [stdout]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling bstr v0.2.17
[INFO] [stderr]    Compiling serde_cbor v0.11.2
[INFO] [stderr]    Compiling csv v1.1.6
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/msgs/codec.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn init(bytes: &[u8]) -> Reader {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn init(bytes: &[u8]) -> Reader<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/msgs/codec.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn sub(&mut self, length: usize) -> Option<Reader> {
[INFO] [stdout]    |                ^^^^^^^^^                           ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn sub(&mut self, length: usize) -> Option<Reader<'_>> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/msgs/handshake.rs:324:28
[INFO] [stdout]     |
[INFO] [stdout] 324 |     fn get_single_hostname(&self) -> Option<webpki::DnsNameRef>;
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 324 |     fn get_single_hostname(&self) -> Option<webpki::DnsNameRef<'_>>;
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/msgs/handshake.rs:341:28
[INFO] [stdout]     |
[INFO] [stdout] 341 |     fn get_single_hostname(&self) -> Option<webpki::DnsNameRef> {
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 341 |     fn get_single_hostname(&self) -> Option<webpki::DnsNameRef<'_>> {
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/msgs/handshake.rs:342:37
[INFO] [stdout]     |
[INFO] [stdout] 342 |         fn only_dns_hostnames(name: &ServerName) -> Option<webpki::DnsNameRef> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 342 |         fn only_dns_hostnames(name: &ServerName) -> Option<webpki::DnsNameRef<'_>> {
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/anchors.rs:17:35
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub(crate) fn to_trust_anchor(&self) -> webpki::TrustAnchor {
[INFO] [stdout]    |                                   ^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub(crate) fn to_trust_anchor(&self) -> webpki::TrustAnchor<'_> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conn.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn reader(&mut self) -> Reader {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn reader(&mut self) -> Reader<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conn.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn writer(&mut self) -> Writer {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn writer(&mut self) -> Writer<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conn.rs:431:19
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn reader(&mut self) -> Reader {
[INFO] [stdout]     |                   ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn reader(&mut self) -> Reader<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conn.rs:445:19
[INFO] [stdout]     |
[INFO] [stdout] 445 |     pub fn writer(&mut self) -> Writer {
[INFO] [stdout]     |                   ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 445 |     pub fn writer(&mut self) -> Writer<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ticketer.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn maybe_roll(&self, now: TimeBase) -> Option<MutexGuard<TicketSwitcherState>> {
[INFO] [stdout]     |                   ^^^^^                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn maybe_roll(&self, now: TimeBase) -> Option<MutexGuard<'_, TicketSwitcherState>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/client_conn.rs:245:27
[INFO] [stdout]     |
[INFO] [stdout] 245 |     pub(crate) fn for_sni(&self) -> Option<webpki::DnsNameRef> {
[INFO] [stdout]     |                           ^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 245 |     pub(crate) fn for_sni(&self) -> Option<webpki::DnsNameRef<'_>> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/client_conn.rs:542:23
[INFO] [stdout]     |
[INFO] [stdout] 542 |     pub fn early_data(&mut self) -> Option<WriteEarlyData> {
[INFO] [stdout]     |                       ^^^^^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 542 |     pub fn early_data(&mut self) -> Option<WriteEarlyData<'_>> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/server/common.rs:12:43
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub(super) fn from_certified_key(key: &sign::CertifiedKey) -> ActiveCertifiedKey {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub(super) fn from_certified_key(key: &sign::CertifiedKey) -> ActiveCertifiedKey<'_> {
[INFO] [stdout]    |                                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/server/server_conn.rs:454:23
[INFO] [stdout]     |
[INFO] [stdout] 454 |     pub fn early_data(&mut self) -> Option<ReadEarlyData> {
[INFO] [stdout]     |                       ^^^^^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 454 |     pub fn early_data(&mut self) -> Option<ReadEarlyData<'_>> {
[INFO] [stdout]     |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling criterion v0.3.6
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/lib.rs:263:17
[INFO] [stdout]     |
[INFO] [stdout] 263 | #![cfg_attr(not(read_buf), forbid(unstable_features))]
[INFO] [stdout]     |                 ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/lib.rs:302:13
[INFO] [stdout]     |
[INFO] [stdout] 302 | #![cfg_attr(read_buf, feature(read_buf))]
[INFO] [stdout]     |             ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/cipher.rs:33:38
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub(crate) struct Iv(pub(crate) [u8; ring::aead::NONCE_LEN]);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:273:5
[INFO] [stdout]     |
[INFO] [stdout] 273 |     unused_qualifications
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout]  33 - pub(crate) struct Iv(pub(crate) [u8; ring::aead::NONCE_LEN]);
[INFO] [stdout]  33 + pub(crate) struct Iv(pub(crate) [u8; aead::NONCE_LEN]);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/cipher.rs:37:24
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn new(value: [u8; ring::aead::NONCE_LEN]) -> Self {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 37 -     fn new(value: [u8; ring::aead::NONCE_LEN]) -> Self {
[INFO] [stdout] 37 +     fn new(value: [u8; aead::NONCE_LEN]) -> Self {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/cipher.rs:43:39
[INFO] [stdout]    |
[INFO] [stdout] 43 |         debug_assert_eq!(value.len(), ring::aead::NONCE_LEN);
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 43 -         debug_assert_eq!(value.len(), ring::aead::NONCE_LEN);
[INFO] [stdout] 43 +         debug_assert_eq!(value.len(), aead::NONCE_LEN);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/cipher.rs:71:48
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub(crate) fn make_nonce(iv: &Iv, seq: u64) -> ring::aead::Nonce {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 71 - pub(crate) fn make_nonce(iv: &Iv, seq: u64) -> ring::aead::Nonce {
[INFO] [stdout] 71 + pub(crate) fn make_nonce(iv: &Iv, seq: u64) -> aead::Nonce {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/cipher.rs:72:27
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut nonce = [0u8; ring::aead::NONCE_LEN];
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 72 -     let mut nonce = [0u8; ring::aead::NONCE_LEN];
[INFO] [stdout] 72 +     let mut nonce = [0u8; aead::NONCE_LEN];
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/conn.rs:281:11
[INFO] [stdout]     |
[INFO] [stdout] 281 |     #[cfg(read_buf)]
[INFO] [stdout]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/conn.rs:434:13
[INFO] [stdout]     |
[INFO] [stdout] 434 | /             /// Are we done? i.e., have we processed all received messages, and received a
[INFO] [stdout] 435 | |             /// close_notify to indicate that no new messages will arrive?
[INFO] [stdout]     | |__________________________________________________________________________^
[INFO] [stdout] 436 | /             peer_cleanly_closed: self
[INFO] [stdout] 437 | |                 .common_state
[INFO] [stdout] 438 | |                 .has_received_close_notify
[INFO] [stdout] 439 | |                 && !self.message_deframer.has_pending(),
[INFO] [stdout]     | |_______________________________________________________- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]   --> src/stream.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 |     #[cfg(read_buf)]
[INFO] [stdout]    |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/stream.rs:212:11
[INFO] [stdout]     |
[INFO] [stdout] 212 |     #[cfg(read_buf)]
[INFO] [stdout]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/cipher.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | ) -> ring::aead::Aad<[u8; TLS12_AAD_SIZE]> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 19 - ) -> ring::aead::Aad<[u8; TLS12_AAD_SIZE]> {
[INFO] [stdout] 19 + ) -> aead::Aad<[u8; TLS12_AAD_SIZE]> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/cipher.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     ring::aead::Aad::from(out)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 25 -     ring::aead::Aad::from(out)
[INFO] [stdout] 25 +     aead::Aad::from(out)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/mod.rs:29:30
[INFO] [stdout]    |
[INFO] [stdout] 29 |             aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 29 -             aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout] 29 +             aead_algorithm: &aead::CHACHA20_POLY1305,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/mod.rs:45:30
[INFO] [stdout]    |
[INFO] [stdout] 45 |             aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 45 -             aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout] 45 +             aead_algorithm: &aead::CHACHA20_POLY1305,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/mod.rs:61:30
[INFO] [stdout]    |
[INFO] [stdout] 61 |             aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 61 -             aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout] 61 +             aead_algorithm: &aead::AES_128_GCM,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/mod.rs:77:30
[INFO] [stdout]    |
[INFO] [stdout] 77 |             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 77 -             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout] 77 +             aead_algorithm: &aead::AES_256_GCM,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls12/mod.rs:93:30
[INFO] [stdout]    |
[INFO] [stdout] 93 |             aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 93 -             aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout] 93 +             aead_algorithm: &aead::AES_128_GCM,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tls12/mod.rs:109:30
[INFO] [stdout]     |
[INFO] [stdout] 109 |             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 109 -             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout] 109 +             aead_algorithm: &aead::AES_256_GCM,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/key_schedule.rs:70:16
[INFO] [stdout]    |
[INFO] [stdout] 70 |     algorithm: ring::hkdf::Algorithm,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 70 -     algorithm: ring::hkdf::Algorithm,
[INFO] [stdout] 70 +     algorithm: hkdf::Algorithm,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |         aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 26 -         aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stdout] 26 +         aead_algorithm: &aead::CHACHA20_POLY1305,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |     hkdf_algorithm: ring::hkdf::HKDF_SHA256,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 28 -     hkdf_algorithm: ring::hkdf::HKDF_SHA256,
[INFO] [stdout] 28 +     hkdf_algorithm: hkdf::HKDF_SHA256,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 41 -             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stdout] 41 +             aead_algorithm: &aead::AES_256_GCM,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:43:25
[INFO] [stdout]    |
[INFO] [stdout] 43 |         hkdf_algorithm: ring::hkdf::HKDF_SHA384,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 43 -         hkdf_algorithm: ring::hkdf::HKDF_SHA384,
[INFO] [stdout] 43 +         hkdf_algorithm: hkdf::HKDF_SHA384,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:58:26
[INFO] [stdout]    |
[INFO] [stdout] 58 |         aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 58 -         aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stdout] 58 +         aead_algorithm: &aead::AES_128_GCM,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |     hkdf_algorithm: ring::hkdf::HKDF_SHA256,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 60 -     hkdf_algorithm: ring::hkdf::HKDF_SHA256,
[INFO] [stdout] 60 +     hkdf_algorithm: hkdf::HKDF_SHA256,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/tls13/mod.rs:71:32
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub(crate) hkdf_algorithm: ring::hkdf::Algorithm,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 71 -     pub(crate) hkdf_algorithm: ring::hkdf::Algorithm,
[INFO] [stdout] 71 +     pub(crate) hkdf_algorithm: hkdf::Algorithm,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tls13/mod.rs:155:34
[INFO] [stdout]     |
[INFO] [stdout] 155 | fn make_tls13_aad(len: usize) -> ring::aead::Aad<[u8; TLS13_AAD_SIZE]> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 155 - fn make_tls13_aad(len: usize) -> ring::aead::Aad<[u8; TLS13_AAD_SIZE]> {
[INFO] [stdout] 155 + fn make_tls13_aad(len: usize) -> aead::Aad<[u8; TLS13_AAD_SIZE]> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tls13/mod.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     ring::aead::Aad::from([
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 156 -     ring::aead::Aad::from([
[INFO] [stdout] 156 +     aead::Aad::from([
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/vecbuf.rs:108:11
[INFO] [stdout]     |
[INFO] [stdout] 108 |     #[cfg(read_buf)]
[INFO] [stdout]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/vecbuf.rs:167:11
[INFO] [stdout]     |
[INFO] [stdout] 167 |     #[cfg(read_buf)]
[INFO] [stdout]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/ticketer.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let nonce = ring::aead::Nonce::assume_unique_for_key(nonce_buf);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 71 -         let nonce = ring::aead::Nonce::assume_unique_for_key(nonce_buf);
[INFO] [stdout] 71 +         let nonce = aead::Nonce::assume_unique_for_key(nonce_buf);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/ticketer.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let aad = ring::aead::Aad::empty();
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 72 -         let aad = ring::aead::Aad::empty();
[INFO] [stdout] 72 +         let aad = aead::Aad::empty();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/ticketer.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let nonce = ring::aead::Nonce::try_assume_unique_for_key(nonce).ok()?;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 94 -         let nonce = ring::aead::Nonce::try_assume_unique_for_key(nonce).ok()?;
[INFO] [stdout] 94 +         let nonce = aead::Nonce::try_assume_unique_for_key(nonce).ok()?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/ticketer.rs:295:39
[INFO] [stdout]     |
[INFO] [stdout] 295 |         t.maybe_roll(TimeBase(now.0 + std::time::Duration::from_secs(10)));
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 295 -         t.maybe_roll(TimeBase(now.0 + std::time::Duration::from_secs(10)));
[INFO] [stdout] 295 +         t.maybe_roll(TimeBase(now.0 + time::Duration::from_secs(10)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/ticketer.rs:302:39
[INFO] [stdout]     |
[INFO] [stdout] 302 |         t.maybe_roll(TimeBase(now.0 + std::time::Duration::from_secs(20)));
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 302 -         t.maybe_roll(TimeBase(now.0 + std::time::Duration::from_secs(20)));
[INFO] [stdout] 302 +         t.maybe_roll(TimeBase(now.0 + time::Duration::from_secs(20)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/ticketer.rs:324:39
[INFO] [stdout]     |
[INFO] [stdout] 324 |         t.maybe_roll(TimeBase(now.0 + std::time::Duration::from_secs(10)));
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 324 -         t.maybe_roll(TimeBase(now.0 + std::time::Duration::from_secs(10)));
[INFO] [stdout] 324 +         t.maybe_roll(TimeBase(now.0 + time::Duration::from_secs(10)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/ticketer.rs:332:39
[INFO] [stdout]     |
[INFO] [stdout] 332 |         t.maybe_roll(TimeBase(now.0 + std::time::Duration::from_secs(20)));
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 332 -         t.maybe_roll(TimeBase(now.0 + std::time::Duration::from_secs(20)));
[INFO] [stdout] 332 +         t.maybe_roll(TimeBase(now.0 + time::Duration::from_secs(20)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/server/server_conn.rs:746:7
[INFO] [stdout]     |
[INFO] [stdout] 746 | #[cfg(read_buf)]
[INFO] [stdout]     |       ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/server/server_conn.rs:345:11
[INFO] [stdout]     |
[INFO] [stdout] 345 |     #[cfg(read_buf)]
[INFO] [stdout]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/server/server_conn.rs:340:10
[INFO] [stdout]     |
[INFO] [stdout] 340 | impl<'a> std::io::Read for ReadEarlyData<'a> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 340 - impl<'a> std::io::Read for ReadEarlyData<'a> {
[INFO] [stdout] 340 + impl<'a> io::Read for ReadEarlyData<'a> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stdout]    --> src/server/server_conn.rs:717:11
[INFO] [stdout]     |
[INFO] [stdout] 717 |     #[cfg(read_buf)]
[INFO] [stdout]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/msgs/codec.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn init(bytes: &[u8]) -> Reader {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn init(bytes: &[u8]) -> Reader<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/msgs/codec.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn sub(&mut self, length: usize) -> Option<Reader> {
[INFO] [stdout]    |                ^^^^^^^^^                           ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn sub(&mut self, length: usize) -> Option<Reader<'_>> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/msgs/handshake.rs:324:28
[INFO] [stdout]     |
[INFO] [stdout] 324 |     fn get_single_hostname(&self) -> Option<webpki::DnsNameRef>;
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 324 |     fn get_single_hostname(&self) -> Option<webpki::DnsNameRef<'_>>;
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/msgs/handshake.rs:341:28
[INFO] [stdout]     |
[INFO] [stdout] 341 |     fn get_single_hostname(&self) -> Option<webpki::DnsNameRef> {
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 341 |     fn get_single_hostname(&self) -> Option<webpki::DnsNameRef<'_>> {
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/msgs/handshake.rs:342:37
[INFO] [stdout]     |
[INFO] [stdout] 342 |         fn only_dns_hostnames(name: &ServerName) -> Option<webpki::DnsNameRef> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 342 |         fn only_dns_hostnames(name: &ServerName) -> Option<webpki::DnsNameRef<'_>> {
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/anchors.rs:17:35
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub(crate) fn to_trust_anchor(&self) -> webpki::TrustAnchor {
[INFO] [stdout]    |                                   ^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub(crate) fn to_trust_anchor(&self) -> webpki::TrustAnchor<'_> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conn.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn reader(&mut self) -> Reader {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn reader(&mut self) -> Reader<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/conn.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn writer(&mut self) -> Writer {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn writer(&mut self) -> Writer<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conn.rs:431:19
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn reader(&mut self) -> Reader {
[INFO] [stdout]     |                   ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn reader(&mut self) -> Reader<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conn.rs:445:19
[INFO] [stdout]     |
[INFO] [stdout] 445 |     pub fn writer(&mut self) -> Writer {
[INFO] [stdout]     |                   ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 445 |     pub fn writer(&mut self) -> Writer<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ticketer.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn maybe_roll(&self, now: TimeBase) -> Option<MutexGuard<TicketSwitcherState>> {
[INFO] [stdout]     |                   ^^^^^                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn maybe_roll(&self, now: TimeBase) -> Option<MutexGuard<'_, TicketSwitcherState>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/client_conn.rs:245:27
[INFO] [stdout]     |
[INFO] [stdout] 245 |     pub(crate) fn for_sni(&self) -> Option<webpki::DnsNameRef> {
[INFO] [stdout]     |                           ^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 245 |     pub(crate) fn for_sni(&self) -> Option<webpki::DnsNameRef<'_>> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/client_conn.rs:542:23
[INFO] [stdout]     |
[INFO] [stdout] 542 |     pub fn early_data(&mut self) -> Option<WriteEarlyData> {
[INFO] [stdout]     |                       ^^^^^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 542 |     pub fn early_data(&mut self) -> Option<WriteEarlyData<'_>> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/server/common.rs:12:43
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub(super) fn from_certified_key(key: &sign::CertifiedKey) -> ActiveCertifiedKey {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub(super) fn from_certified_key(key: &sign::CertifiedKey) -> ActiveCertifiedKey<'_> {
[INFO] [stdout]    |                                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/server/server_conn.rs:454:23
[INFO] [stdout]     |
[INFO] [stdout] 454 |     pub fn early_data(&mut self) -> Option<ReadEarlyData> {
[INFO] [stdout]     |                       ^^^^^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 454 |     pub fn early_data(&mut self) -> Option<ReadEarlyData<'_>> {
[INFO] [stdout]     |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 29.16s
[INFO] running `Command { std: "docker" "inspect" "228fad972ad39bafa21c2bc748bc4fdf5c0ffadf38e089e46a3ae6dba503a192", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "228fad972ad39bafa21c2bc748bc4fdf5c0ffadf38e089e46a3ae6dba503a192", kill_on_drop: false }`
[INFO] [stdout] 228fad972ad39bafa21c2bc748bc4fdf5c0ffadf38e089e46a3ae6dba503a192
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c4c8bc061e01660b6ae2986b5e945048e621e3c2619ad4ffcfb5479169609403
[INFO] running `Command { std: "docker" "start" "-a" "c4c8bc061e01660b6ae2986b5e945048e621e3c2619ad4ffcfb5479169609403", kill_on_drop: false }`
[INFO] [stderr] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stderr]    --> src/lib.rs:263:17
[INFO] [stderr]     |
[INFO] [stderr] 263 | #![cfg_attr(not(read_buf), forbid(unstable_features))]
[INFO] [stderr]     |                 ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stderr]     |
[INFO] [stderr]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stderr]    --> src/lib.rs:302:13
[INFO] [stderr]     |
[INFO] [stderr] 302 | #![cfg_attr(read_buf, feature(read_buf))]
[INFO] [stderr]     |             ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]    --> src/cipher.rs:33:38
[INFO] [stderr]     |
[INFO] [stderr]  33 | pub(crate) struct Iv(pub(crate) [u8; ring::aead::NONCE_LEN]);
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]    --> src/lib.rs:273:5
[INFO] [stderr]     |
[INFO] [stderr] 273 |     unused_qualifications
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]     |
[INFO] [stderr]  33 - pub(crate) struct Iv(pub(crate) [u8; ring::aead::NONCE_LEN]);
[INFO] [stderr]  33 + pub(crate) struct Iv(pub(crate) [u8; aead::NONCE_LEN]);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/cipher.rs:37:24
[INFO] [stderr]    |
[INFO] [stderr] 37 |     fn new(value: [u8; ring::aead::NONCE_LEN]) -> Self {
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 37 -     fn new(value: [u8; ring::aead::NONCE_LEN]) -> Self {
[INFO] [stderr] 37 +     fn new(value: [u8; aead::NONCE_LEN]) -> Self {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/cipher.rs:43:39
[INFO] [stderr]    |
[INFO] [stderr] 43 |         debug_assert_eq!(value.len(), ring::aead::NONCE_LEN);
[INFO] [stderr]    |                                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 43 -         debug_assert_eq!(value.len(), ring::aead::NONCE_LEN);
[INFO] [stderr] 43 +         debug_assert_eq!(value.len(), aead::NONCE_LEN);
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/cipher.rs:71:48
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub(crate) fn make_nonce(iv: &Iv, seq: u64) -> ring::aead::Nonce {
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 71 - pub(crate) fn make_nonce(iv: &Iv, seq: u64) -> ring::aead::Nonce {
[INFO] [stderr] 71 + pub(crate) fn make_nonce(iv: &Iv, seq: u64) -> aead::Nonce {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/cipher.rs:72:27
[INFO] [stderr]    |
[INFO] [stderr] 72 |     let mut nonce = [0u8; ring::aead::NONCE_LEN];
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 72 -     let mut nonce = [0u8; ring::aead::NONCE_LEN];
[INFO] [stderr] 72 +     let mut nonce = [0u8; aead::NONCE_LEN];
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stderr]    --> src/conn.rs:281:11
[INFO] [stderr]     |
[INFO] [stderr] 281 |     #[cfg(read_buf)]
[INFO] [stderr]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/conn.rs:434:13
[INFO] [stderr]     |
[INFO] [stderr] 434 | /             /// Are we done? i.e., have we processed all received messages, and received a
[INFO] [stderr] 435 | |             /// close_notify to indicate that no new messages will arrive?
[INFO] [stderr]     | |__________________________________________________________________________^
[INFO] [stderr] 436 | /             peer_cleanly_closed: self
[INFO] [stderr] 437 | |                 .common_state
[INFO] [stderr] 438 | |                 .has_received_close_notify
[INFO] [stderr] 439 | |                 && !self.message_deframer.has_pending(),
[INFO] [stderr]     | |_______________________________________________________- rustdoc does not generate documentation for expression fields
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stderr]   --> src/stream.rs:76:11
[INFO] [stderr]    |
[INFO] [stderr] 76 |     #[cfg(read_buf)]
[INFO] [stderr]    |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stderr]    --> src/stream.rs:212:11
[INFO] [stderr]     |
[INFO] [stderr] 212 |     #[cfg(read_buf)]
[INFO] [stderr]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/tls12/cipher.rs:19:6
[INFO] [stderr]    |
[INFO] [stderr] 19 | ) -> ring::aead::Aad<[u8; TLS12_AAD_SIZE]> {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 19 - ) -> ring::aead::Aad<[u8; TLS12_AAD_SIZE]> {
[INFO] [stderr] 19 + ) -> aead::Aad<[u8; TLS12_AAD_SIZE]> {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/tls12/cipher.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     ring::aead::Aad::from(out)
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 25 -     ring::aead::Aad::from(out)
[INFO] [stderr] 25 +     aead::Aad::from(out)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/tls12/mod.rs:29:30
[INFO] [stderr]    |
[INFO] [stderr] 29 |             aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 29 -             aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stderr] 29 +             aead_algorithm: &aead::CHACHA20_POLY1305,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/tls12/mod.rs:45:30
[INFO] [stderr]    |
[INFO] [stderr] 45 |             aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 45 -             aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stderr] 45 +             aead_algorithm: &aead::CHACHA20_POLY1305,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/tls12/mod.rs:61:30
[INFO] [stderr]    |
[INFO] [stderr] 61 |             aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 61 -             aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stderr] 61 +             aead_algorithm: &aead::AES_128_GCM,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/tls12/mod.rs:77:30
[INFO] [stderr]    |
[INFO] [stderr] 77 |             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 77 -             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stderr] 77 +             aead_algorithm: &aead::AES_256_GCM,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/tls12/mod.rs:93:30
[INFO] [stderr]    |
[INFO] [stderr] 93 |             aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 93 -             aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stderr] 93 +             aead_algorithm: &aead::AES_128_GCM,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]    --> src/tls12/mod.rs:109:30
[INFO] [stderr]     |
[INFO] [stderr] 109 |             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]     |
[INFO] [stderr] 109 -             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stderr] 109 +             aead_algorithm: &aead::AES_256_GCM,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/tls13/key_schedule.rs:70:16
[INFO] [stderr]    |
[INFO] [stderr] 70 |     algorithm: ring::hkdf::Algorithm,
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 70 -     algorithm: ring::hkdf::Algorithm,
[INFO] [stderr] 70 +     algorithm: hkdf::Algorithm,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/tls13/mod.rs:26:26
[INFO] [stderr]    |
[INFO] [stderr] 26 |         aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 26 -         aead_algorithm: &ring::aead::CHACHA20_POLY1305,
[INFO] [stderr] 26 +         aead_algorithm: &aead::CHACHA20_POLY1305,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/tls13/mod.rs:28:21
[INFO] [stderr]    |
[INFO] [stderr] 28 |     hkdf_algorithm: ring::hkdf::HKDF_SHA256,
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 28 -     hkdf_algorithm: ring::hkdf::HKDF_SHA256,
[INFO] [stderr] 28 +     hkdf_algorithm: hkdf::HKDF_SHA256,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/tls13/mod.rs:41:30
[INFO] [stderr]    |
[INFO] [stderr] 41 |             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 41 -             aead_algorithm: &ring::aead::AES_256_GCM,
[INFO] [stderr] 41 +             aead_algorithm: &aead::AES_256_GCM,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/tls13/mod.rs:43:25
[INFO] [stderr]    |
[INFO] [stderr] 43 |         hkdf_algorithm: ring::hkdf::HKDF_SHA384,
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 43 -         hkdf_algorithm: ring::hkdf::HKDF_SHA384,
[INFO] [stderr] 43 +         hkdf_algorithm: hkdf::HKDF_SHA384,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/tls13/mod.rs:58:26
[INFO] [stderr]    |
[INFO] [stderr] 58 |         aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 58 -         aead_algorithm: &ring::aead::AES_128_GCM,
[INFO] [stderr] 58 +         aead_algorithm: &aead::AES_128_GCM,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/tls13/mod.rs:60:21
[INFO] [stderr]    |
[INFO] [stderr] 60 |     hkdf_algorithm: ring::hkdf::HKDF_SHA256,
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 60 -     hkdf_algorithm: ring::hkdf::HKDF_SHA256,
[INFO] [stderr] 60 +     hkdf_algorithm: hkdf::HKDF_SHA256,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/tls13/mod.rs:71:32
[INFO] [stderr]    |
[INFO] [stderr] 71 |     pub(crate) hkdf_algorithm: ring::hkdf::Algorithm,
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 71 -     pub(crate) hkdf_algorithm: ring::hkdf::Algorithm,
[INFO] [stderr] 71 +     pub(crate) hkdf_algorithm: hkdf::Algorithm,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]    --> src/tls13/mod.rs:155:34
[INFO] [stderr]     |
[INFO] [stderr] 155 | fn make_tls13_aad(len: usize) -> ring::aead::Aad<[u8; TLS13_AAD_SIZE]> {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]     |
[INFO] [stderr] 155 - fn make_tls13_aad(len: usize) -> ring::aead::Aad<[u8; TLS13_AAD_SIZE]> {
[INFO] [stderr] 155 + fn make_tls13_aad(len: usize) -> aead::Aad<[u8; TLS13_AAD_SIZE]> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]    --> src/tls13/mod.rs:156:5
[INFO] [stderr]     |
[INFO] [stderr] 156 |     ring::aead::Aad::from([
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]     |
[INFO] [stderr] 156 -     ring::aead::Aad::from([
[INFO] [stderr] 156 +     aead::Aad::from([
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stderr]    --> src/vecbuf.rs:108:11
[INFO] [stderr]     |
[INFO] [stderr] 108 |     #[cfg(read_buf)]
[INFO] [stderr]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/ticketer.rs:71:21
[INFO] [stderr]    |
[INFO] [stderr] 71 |         let nonce = ring::aead::Nonce::assume_unique_for_key(nonce_buf);
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 71 -         let nonce = ring::aead::Nonce::assume_unique_for_key(nonce_buf);
[INFO] [stderr] 71 +         let nonce = aead::Nonce::assume_unique_for_key(nonce_buf);
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/ticketer.rs:72:19
[INFO] [stderr]    |
[INFO] [stderr] 72 |         let aad = ring::aead::Aad::empty();
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 72 -         let aad = ring::aead::Aad::empty();
[INFO] [stderr] 72 +         let aad = aead::Aad::empty();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/ticketer.rs:94:21
[INFO] [stderr]    |
[INFO] [stderr] 94 |         let nonce = ring::aead::Nonce::try_assume_unique_for_key(nonce).ok()?;
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 94 -         let nonce = ring::aead::Nonce::try_assume_unique_for_key(nonce).ok()?;
[INFO] [stderr] 94 +         let nonce = aead::Nonce::try_assume_unique_for_key(nonce).ok()?;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stderr]    --> src/server/server_conn.rs:746:7
[INFO] [stderr]     |
[INFO] [stderr] 746 | #[cfg(read_buf)]
[INFO] [stderr]     |       ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stderr]    --> src/server/server_conn.rs:345:11
[INFO] [stderr]     |
[INFO] [stderr] 345 |     #[cfg(read_buf)]
[INFO] [stderr]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]    --> src/server/server_conn.rs:340:10
[INFO] [stderr]     |
[INFO] [stderr] 340 | impl<'a> std::io::Read for ReadEarlyData<'a> {
[INFO] [stderr]     |          ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]     |
[INFO] [stderr] 340 - impl<'a> std::io::Read for ReadEarlyData<'a> {
[INFO] [stderr] 340 + impl<'a> io::Read for ReadEarlyData<'a> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stderr]    --> src/server/server_conn.rs:717:11
[INFO] [stderr]     |
[INFO] [stderr] 717 |     #[cfg(read_buf)]
[INFO] [stderr]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/msgs/codec.rs:20:24
[INFO] [stderr]    |
[INFO] [stderr] 20 |     pub fn init(bytes: &[u8]) -> Reader {
[INFO] [stderr]    |                        ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 20 |     pub fn init(bytes: &[u8]) -> Reader<'_> {
[INFO] [stderr]    |                                        ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/msgs/codec.rs:30:16
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub fn sub(&mut self, length: usize) -> Option<Reader> {
[INFO] [stderr]    |                ^^^^^^^^^                           ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                |
[INFO] [stderr]    |                the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub fn sub(&mut self, length: usize) -> Option<Reader<'_>> {
[INFO] [stderr]    |                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/msgs/handshake.rs:324:28
[INFO] [stderr]     |
[INFO] [stderr] 324 |     fn get_single_hostname(&self) -> Option<webpki::DnsNameRef>;
[INFO] [stderr]     |                            ^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 324 |     fn get_single_hostname(&self) -> Option<webpki::DnsNameRef<'_>>;
[INFO] [stderr]     |                                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/msgs/handshake.rs:341:28
[INFO] [stderr]     |
[INFO] [stderr] 341 |     fn get_single_hostname(&self) -> Option<webpki::DnsNameRef> {
[INFO] [stderr]     |                            ^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 341 |     fn get_single_hostname(&self) -> Option<webpki::DnsNameRef<'_>> {
[INFO] [stderr]     |                                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/msgs/handshake.rs:342:37
[INFO] [stderr]     |
[INFO] [stderr] 342 |         fn only_dns_hostnames(name: &ServerName) -> Option<webpki::DnsNameRef> {
[INFO] [stderr]     |                                     ^^^^^^^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                     |
[INFO] [stderr]     |                                     the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 342 |         fn only_dns_hostnames(name: &ServerName) -> Option<webpki::DnsNameRef<'_>> {
[INFO] [stderr]     |                                                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/anchors.rs:17:35
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub(crate) fn to_trust_anchor(&self) -> webpki::TrustAnchor {
[INFO] [stderr]    |                                   ^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub(crate) fn to_trust_anchor(&self) -> webpki::TrustAnchor<'_> {
[INFO] [stderr]    |                                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/conn.rs:56:19
[INFO] [stderr]    |
[INFO] [stderr] 56 |     pub fn reader(&mut self) -> Reader {
[INFO] [stderr]    |                   ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 56 |     pub fn reader(&mut self) -> Reader<'_> {
[INFO] [stderr]    |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/conn.rs:64:19
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub fn writer(&mut self) -> Writer {
[INFO] [stderr]    |                   ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub fn writer(&mut self) -> Writer<'_> {
[INFO] [stderr]    |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/conn.rs:431:19
[INFO] [stderr]     |
[INFO] [stderr] 431 |     pub fn reader(&mut self) -> Reader {
[INFO] [stderr]     |                   ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                   |
[INFO] [stderr]     |                   the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 431 |     pub fn reader(&mut self) -> Reader<'_> {
[INFO] [stderr]     |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/conn.rs:445:19
[INFO] [stderr]     |
[INFO] [stderr] 445 |     pub fn writer(&mut self) -> Writer {
[INFO] [stderr]     |                   ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                   |
[INFO] [stderr]     |                   the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 445 |     pub fn writer(&mut self) -> Writer<'_> {
[INFO] [stderr]     |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ticketer.rs:158:19
[INFO] [stderr]     |
[INFO] [stderr] 158 |     fn maybe_roll(&self, now: TimeBase) -> Option<MutexGuard<TicketSwitcherState>> {
[INFO] [stderr]     |                   ^^^^^                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                   |
[INFO] [stderr]     |                   the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 158 |     fn maybe_roll(&self, now: TimeBase) -> Option<MutexGuard<'_, TicketSwitcherState>> {
[INFO] [stderr]     |                                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/client/client_conn.rs:245:27
[INFO] [stderr]     |
[INFO] [stderr] 245 |     pub(crate) fn for_sni(&self) -> Option<webpki::DnsNameRef> {
[INFO] [stderr]     |                           ^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 245 |     pub(crate) fn for_sni(&self) -> Option<webpki::DnsNameRef<'_>> {
[INFO] [stderr]     |                                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/client/client_conn.rs:542:23
[INFO] [stderr]     |
[INFO] [stderr] 542 |     pub fn early_data(&mut self) -> Option<WriteEarlyData> {
[INFO] [stderr]     |                       ^^^^^^^^^            ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 542 |     pub fn early_data(&mut self) -> Option<WriteEarlyData<'_>> {
[INFO] [stderr]     |                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/server/common.rs:12:43
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub(super) fn from_certified_key(key: &sign::CertifiedKey) -> ActiveCertifiedKey {
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub(super) fn from_certified_key(key: &sign::CertifiedKey) -> ActiveCertifiedKey<'_> {
[INFO] [stderr]    |                                                                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/server/server_conn.rs:454:23
[INFO] [stderr]     |
[INFO] [stderr] 454 |     pub fn early_data(&mut self) -> Option<ReadEarlyData> {
[INFO] [stderr]     |                       ^^^^^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 454 |     pub fn early_data(&mut self) -> Option<ReadEarlyData<'_>> {
[INFO] [stderr]     |                                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `rustls-fork-shadow-tls` (lib) generated 52 warnings (run `cargo fix --lib -p rustls-fork-shadow-tls` to apply 42 suggestions)
[INFO] [stderr] warning: unexpected `cfg` condition name: `read_buf`
[INFO] [stderr]    --> src/vecbuf.rs:167:11
[INFO] [stderr]     |
[INFO] [stderr] 167 |     #[cfg(read_buf)]
[INFO] [stderr]     |           ^^^^^^^^ help: found config with similar value: `feature = "read_buf"`
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(read_buf)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(read_buf)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]    --> src/ticketer.rs:295:39
[INFO] [stderr]     |
[INFO] [stderr] 295 |         t.maybe_roll(TimeBase(now.0 + std::time::Duration::from_secs(10)));
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]     |
[INFO] [stderr] 295 -         t.maybe_roll(TimeBase(now.0 + std::time::Duration::from_secs(10)));
[INFO] [stderr] 295 +         t.maybe_roll(TimeBase(now.0 + time::Duration::from_secs(10)));
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]    --> src/ticketer.rs:302:39
[INFO] [stderr]     |
[INFO] [stderr] 302 |         t.maybe_roll(TimeBase(now.0 + std::time::Duration::from_secs(20)));
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]     |
[INFO] [stderr] 302 -         t.maybe_roll(TimeBase(now.0 + std::time::Duration::from_secs(20)));
[INFO] [stderr] 302 +         t.maybe_roll(TimeBase(now.0 + time::Duration::from_secs(20)));
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]    --> src/ticketer.rs:324:39
[INFO] [stderr]     |
[INFO] [stderr] 324 |         t.maybe_roll(TimeBase(now.0 + std::time::Duration::from_secs(10)));
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]     |
[INFO] [stderr] 324 -         t.maybe_roll(TimeBase(now.0 + std::time::Duration::from_secs(10)));
[INFO] [stderr] 324 +         t.maybe_roll(TimeBase(now.0 + time::Duration::from_secs(10)));
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]    --> src/ticketer.rs:332:39
[INFO] [stderr]     |
[INFO] [stderr] 332 |         t.maybe_roll(TimeBase(now.0 + std::time::Duration::from_secs(20)));
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]     |
[INFO] [stderr] 332 -         t.maybe_roll(TimeBase(now.0 + std::time::Duration::from_secs(20)));
[INFO] [stderr] 332 +         t.maybe_roll(TimeBase(now.0 + time::Duration::from_secs(20)));
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `rustls-fork-shadow-tls` (lib test) generated 57 warnings (52 duplicates) (run `cargo fix --lib -p rustls-fork-shadow-tls --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustls_fork_shadow_tls-cd5afd0dbc4c0770)
[INFO] [stdout] 
[INFO] [stdout] running 179 tests
[INFO] [stdout] test bs_debug::test::debug ... ok
[INFO] [stdout] test client::handy::test::test_clientsessionmemorycache_overwrites_put ... ok
[INFO] [stdout] test error::tests::rand_error_mapping ... ok
[INFO] [stdout] test client::handy::test::test_noclientsessionstorage_drops_put ... ok
[INFO] [stdout] test client::handy::test::test_clientsessionmemorycache_drops_to_maintain_size_invariant ... ok
[INFO] [stdout] test client::handy::test::test_clientsessionmemorycache_persists_put ... ok
[INFO] [stdout] test client::handy::test::test_noclientsessionstorage_denies_gets ... ok
[INFO] [stdout] test client::handy::test::test_clientsessionmemorycache_accepts_put ... ok
[INFO] [stdout] test error::tests::time_error_mapping ... ok
[INFO] [stdout] test error::tests::smoke ... ok
[INFO] [stdout] test hash_hs::test::hashes_correctly ... ok
[INFO] [stdout] test hash_hs::test::abandon ... ok
[INFO] [stdout] test key_log_file::test::test_env_var_cannot_be_written ... ok
[INFO] [stdout] test key_log_file::test::test_env_var_cannot_be_opened ... ok
[INFO] [stdout] test hash_hs::test::buffers_correctly ... ok
[INFO] [stdout] test limited_cache::test::test_removes_all_items ... ok
[INFO] [stdout] test limited_cache::test::test_evicts_oldest_item ... ok
[INFO] [stdout] test limited_cache::test::test_evicts_second_oldest_item_if_first_removed ... ok
[INFO] [stdout] test key_log_file::test::test_env_var_is_not_set ... ok
[INFO] [stdout] test key::test::certificate_debug ... ok
[INFO] [stdout] test limited_cache::test::test_updates_existing_item ... ok
[INFO] [stdout] test msgs::deframer::tests::check_whole ... ok
[INFO] [stdout] test msgs::deframer::tests::test_invalid_contenttype_errors ... ok
[INFO] [stdout] test msgs::deframer::tests::test_empty_applicationdata ... ok
[INFO] [stdout] test msgs::deframer::tests::test_invalid_version_errors ... ok
[INFO] [stdout] test msgs::deframer::tests::check_incremental_2 ... ok
[INFO] [stdout] test msgs::deframer::tests::check_whole_2 ... ok
[INFO] [stdout] test msgs::deframer::tests::test_invalid_empty_errors ... ok
[INFO] [stdout] test msgs::fragmenter::tests::non_fragment ... ok
[INFO] [stdout] test msgs::deframer::tests::test_incremental_with_nonfatal_read_error ... ok
[INFO] [stdout] test msgs::fragmenter::tests::smoke ... ok
[INFO] [stdout] test msgs::deframer::tests::check_incremental ... ok
[INFO] [stdout] test msgs::deframer::tests::test_limited_buffer ... ok
[INFO] [stdout] test msgs::deframer::tests::test_invalid_length_errors ... ok
[INFO] [stdout] test msgs::deframer::tests::test_two_in_one_read ... ok
[INFO] [stdout] test key_log_file::test::test_env_var_is_not_unicode ... ok
[INFO] [stdout] test msgs::handshake_test::can_clone_all_clientextensions ... ok
[INFO] [stdout] test msgs::handshake_test::can_decode_server_hello_from_api_devicecheck_apple_com ... ok
[INFO] [stdout] test msgs::deframer::tests::test_two_in_one_read_shortest_first ... ok
[INFO] [stdout] test msgs::handshake_test::can_print_all_serverextensions ... ok
[INFO] [stdout] test msgs::handshake_test::can_round_trip_mixed_case_sni ... ok
[INFO] [stdout] test msgs::handshake_test::accepts_short_sessionid ... ok
[INFO] [stdout] test msgs::handshake_test::can_clone_all_serverextensions ... ok
[INFO] [stdout] test msgs::handshake_test::can_print_all_clientextensions ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_multi_proto ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_certstatusreq_for_other ... ok
[INFO] [stdout] test msgs::handshake_test::accepts_empty_sessionid ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_multiname_sni ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_psk_identity ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_all_tls12_handshake_payloads ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_other_sni_name_types ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_psk_offer ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_certstatusreq_for_ocsp ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_single_sni ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_single_proto ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_alpn_extension ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_psk ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_unknown_client_ext ... ok
[INFO] [stdout] test msgs::handshake_test::certentry_get_scts ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_ecpoints_extension ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_all_tls13_handshake_payloads ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_quic_params_extension ... ok
[INFO] [stdout] test msgs::handshake_test::client_has_duplicate_extensions_works ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_sigalgs_extension ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_sni_extension ... ok
[INFO] [stdout] test msgs::handshake_test::debug_random ... ok
[INFO] [stdout] test msgs::handshake_test::debug_sessionid ... ok
[INFO] [stdout] test msgs::handshake_test::decomposed_signature_scheme_has_correct_mappings ... ok
[INFO] [stdout] test msgs::handshake_test::get_single_hostname_returns_none_for_other_sni_name_types ... ok
[INFO] [stdout] test msgs::handshake_test::helloretry_get_cookie ... ok
[INFO] [stdout] test msgs::handshake_test::helloretry_get_requested_key_share_group ... ok
[INFO] [stdout] test msgs::handshake_test::helloretry_get_supported_versions ... ok
[INFO] [stdout] test msgs::handshake_test::reads_random ... ok
[INFO] [stdout] test limited_cache::test::test_evicts_after_second_oldest_item_removed ... ok
[INFO] [stdout] test msgs::handshake_test::cannot_decode_huge_certificate ... ok
[INFO] [stdout] test msgs::handshake_test::cannot_read_messagehash_from_network ... ok
[INFO] [stdout] test msgs::handshake_test::refuses_client_ext_with_unparsed_bytes ... ok
[INFO] [stdout] test msgs::handshake_test::refuses_helloreq_ext_with_unparsed_bytes ... ok
[INFO] [stdout] test msgs::handshake_test::refuses_newsessionticket_ext_with_unparsed_bytes ... ok
[INFO] [stdout] test msgs::handshake_test::rejects_short_random ... ok
[INFO] [stdout] test msgs::enums_test::test_enums ... ok
[INFO] [stdout] test msgs::handshake_test::certentry_get_ocsp_response ... ok
[INFO] [stdout] test msgs::handshake_test::refuses_certificate_ext_with_unparsed_bytes ... ok
[INFO] [stdout] test msgs::handshake_test::can_detect_truncation_of_all_tls12_handshake_payloads ... ok
[INFO] [stdout] test msgs::handshake_test::rejects_truncated_sessionid ... ok
[INFO] [stdout] test msgs::handshake_test::server_get_psk_index ... ok
[INFO] [stdout] test msgs::handshake_test::sessionid_with_different_lengths_are_unequal ... ok
[INFO] [stdout] test msgs::handshake_test::server_get_ecpoints_extension ... ok
[INFO] [stdout] test msgs::handshake_test::rejects_truncated_sni ... ok
[INFO] [stdout] test msgs::handshake_test::server_get_key_share ... ok
[INFO] [stdout] test msgs::handshake_test::server_get_supported_versions ... ok
[INFO] [stdout] test msgs::handshake_test::test_truncated_client_extension_is_detected ... ok
[INFO] [stdout] test msgs::handshake_test::can_detect_truncation_of_all_tls13_handshake_payloads ... ok
[INFO] [stdout] test msgs::handshake_test::refuses_server_ext_with_unparsed_bytes ... ok
[INFO] [stdout] test msgs::handshake_test::rejects_sessionid_with_bad_length ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_namedgroups_extension ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_versions_extension ... ok
[INFO] [stdout] test msgs::handshake_test::test_truncated_client_hello_is_detected ... ok
[INFO] [stdout] test msgs::handshake_test::refuses_certificate_req_ext_with_unparsed_bytes ... ok
[INFO] [stdout] test msgs::hsjoiner::tests::join ... ok
[INFO] [stdout] test msgs::hsjoiner::tests::split ... ok
[INFO] [stdout] test msgs::handshake_test::test_truncated_helloretry_extension_is_detected ... ok
[INFO] [stdout] test msgs::handshake_test::test_truncated_psk_offer ... ok
[INFO] [stdout] test msgs::handshake_test::test_truncated_server_extension_is_detected ... ok
[INFO] [stdout] test msgs::hsjoiner::tests::test_rejects_giant_certs ... ok
[INFO] [stdout] test msgs::handshake_test::server_get_sct_list ... ok
[INFO] [stdout] test msgs::hsjoiner::tests::broken ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_psk_modes ... ok
[INFO] [stdout] test msgs::hsjoiner::tests::want ... ok
[INFO] [stdout] test msgs::message_test::alert_is_not_handshake ... ok
[INFO] [stdout] test msgs::message_test::construct_all_types ... ok
[INFO] [stdout] test msgs::message_test::can_read_safari_client_hello ... ok
[INFO] [stdout] test msgs::persist_test::clientsessionkey_is_debug ... ok
[INFO] [stdout] test msgs::persist_test::clientsessionvalue_is_debug ... ok
[INFO] [stdout] test msgs::persist_test::serversessionvalue_is_debug ... ok
[INFO] [stdout] test msgs::persist_test::serversessionvalue_with_cert ... ok
[INFO] [stdout] test server::handy::test::test_neverproducestickets_does_nothing ... ok
[INFO] [stdout] test msgs::test::smoketest ... ok
[INFO] [stdout] test server::handy::test::test_noserversessionstorage_denies_takes ... ok
[INFO] [stdout] test server::handy::test::test_noserversessionstorage_drops_put ... ok
[INFO] [stdout] test server::handy::test::test_resolvesservercertusingsni_handles_unknown_name ... ok
[INFO] [stdout] test server::handy::test::test_serversessionmemorycache_accepts_put ... ok
[INFO] [stdout] test server::handy::test::test_serversessionmemorycache_drops_to_maintain_size_invariant ... ok
[INFO] [stdout] test server::handy::test::test_serversessionmemorycache_overwrites_put ... ok
[INFO] [stdout] test msgs::message_test::alert_is_not_opaque ... ok
[INFO] [stdout] test server::server_conn::test_read_in_new_state ... ok
[INFO] [stdout] test msgs::message_test::debug_payload ... ok
[INFO] [stdout] test msgs::persist_test::serversessionvalue_no_sni ... ok
[INFO] [stdout] test server::handy::test::test_noserversessionstorage_denies_gets ... ok
[INFO] [stdout] test server::handy::test::test_serversessionmemorycache_persists_put ... ok
[INFO] [stdout] test msgs::persist_test::clientsessionkey_cannot_be_read ... ok
[INFO] [stdout] test server::handy::test::test_resolvesservercertusingsni_requires_sni ... ok
[INFO] [stdout] test sign::can_load_ecdsa_nistp256_pkcs8 ... ok
[INFO] [stdout] test sign::can_load_ecdsa_nistp256_sec1 ... ok
[INFO] [stdout] test sign::can_load_rsa2048_pkcs1 ... ok
[INFO] [stdout] test stream::tests::streamowned_can_be_created_for_server_and_tcpstream ... ok
[INFO] [stdout] test stream::tests::stream_can_be_created_for_connection_and_tcpstream ... ok
[INFO] [stdout] test suites::test::test_scs_is_debug ... ok
[INFO] [stdout] test stream::tests::streamowned_can_be_created_for_client_and_tcpstream ... ok
[INFO] [stdout] test sign::can_load_rsa2048_pkcs8 ... ok
[INFO] [stdout] test suites::test::test_pref_fails ... ok
[INFO] [stdout] test sign::can_load_eddsa_pkcs8 ... ok
[INFO] [stdout] test ticketer::basic_pairwise_test ... ok
[INFO] [stdout] test tls13::key_schedule::test::test_vectors ... ok
[INFO] [stdout] test suites::test::test_can_resume_to ... ok
[INFO] [stdout] test suites::test::test_client_pref ... ok
[INFO] [stdout] test ticketer::ticketswitcher_switching_test ... ok
[INFO] [stdout] test tls12::prf::tests::check_sha512 ... ok
[INFO] [stdout] test sign::can_load_ecdsa_nistp384_sec1 ... ok
[INFO] [stdout] test sign::can_load_ecdsa_nistp384_pkcs8 ... ok
[INFO] [stdout] test ticketer::ticketswitcher_recover_test ... ok
[INFO] [stdout] test tls12::prf::tests::check_sha256 ... ok
[INFO] [stdout] test tls12::tests::client_ecdhe_invalid ... ok
[INFO] [stdout] test vecbuf::test::short_append_copy_with_limit ... ok
[INFO] [stdout] test verify::tests::assertions_are_debug ... ok
[INFO] [stdout] test tls12::tests::server_ecdhe_remaining_bytes ... ok
[INFO] [stdout] test limited_cache::test::test_inserts_many_items ... ok
[INFO] [stdout] test x509::test_empty ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_keyshare_extension ... ok
[INFO] [stdout] test x509::test_huge ... ok
[INFO] [stdout] test x509::test_large ... ok
[INFO] [stdout] test suites::test::test_server_pref ... ok
[INFO] [stdout] test x509::test_medium ... ok
[INFO] [stdout] test x509::test_small ... ok
[INFO] [stdout] test x509::test_gigantic ... ok
[INFO] [stdout] test verifybench::test_rustlang_cert ... ok
[INFO] [stdout] test verifybench::test_twitter_cert ... ok
[INFO] [stdout] test verifybench::test_duckduckgo_cert ... ok
[INFO] [stdout] test verifybench::test_arstechnica_cert ... ok
[INFO] [stdout] test verifybench::test_wapo_cert ... ok
[INFO] [stdout] test msgs::message_test::test_read_fuzz_corpus ... FAILED
[INFO] [stdout] test verifybench::test_hn_cert ... ok
[INFO] [stdout] test verifybench::test_reddit_cert ... ok
[INFO] [stdout] test verifybench::test_servo_cert ... ok
[INFO] [stdout] test verifybench::test_google_cert ... ok
[INFO] [stdout] test verifybench::test_github_cert ... ok
[INFO] [stdout] test verifybench::test_stackoverflow_cert ... ok
[INFO] [stdout] test x509::test_ludicrous ... ok
[INFO] [stdout] test verifybench::test_wikipedia_cert ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- msgs::message_test::test_read_fuzz_corpus stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'msgs::message_test::test_read_fuzz_corpus' (140) panicked at src/msgs/message_test.rs:26:44:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55a884b27d92 - std::backtrace_rs::backtrace::libunwind::trace::h16acf28769fcd909
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55a884b27d92 - std::backtrace_rs::backtrace::trace_unsynchronized::hb5541aa5d4f92513
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55a884b27d92 - std::sys::backtrace::_print_fmt::h8ac8268cb667a306
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55a884b27d92 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h47627beda0767f4c
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55a884b38d5f - core::fmt::rt::Argument::fmt::h686a01ad57c1c92a
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x55a884b38d5f - core::fmt::write::h8a63064c67176fd8
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x55a884af48d3 - std::io::default_write_fmt::hd4797e693c0ec256
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55a884af48d3 - std::io::Write::write_fmt::h791e240ad2720c99
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x55a884b00be2 - std::sys::backtrace::BacktraceLock::print::h4634d27c0afbaebb
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x55a884b059ef - std::panicking::default_hook::{{closure}}::h23e0299d4738b766
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x55a884b05881 - std::panicking::default_hook::hfeec6294e8751b62
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x55a884a42d0e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h3f5a16438cee2b4e
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/alloc/src/boxed.rs:2019:9
[INFO] [stdout]   12:     0x55a884a42d0e - test::test_main_with_exit_callback::{{closure}}::h9214498cef9aafc5
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55a884b05fff - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdb18da3e68df7464
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/alloc/src/boxed.rs:2019:9
[INFO] [stdout]   14:     0x55a884b05fff - std::panicking::panic_with_hook::hd57cd463d793ed79
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x55a884b05e5a - std::panicking::panic_handler::{{closure}}::hddd6216c3fddee3b
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x55a884b00d19 - std::sys::backtrace::__rust_end_short_backtrace::h5e7a56f283378525
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x55a884ae8fdd - __rustc[256c90bb7e548b45]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x55a884b419d0 - core::panicking::panic_fmt::hf19c198748ef6a95
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55a884b40f46 - core::result::unwrap_failed::he81173b5792ad6b0
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/core/src/result.rs:1862:5
[INFO] [stdout]   20:     0x55a88487d7e3 - core::result::Result<T,E>::unwrap::h7873b8f764c5167d
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x55a88487d7e3 - rustls_fork_shadow_tls::msgs::message_test::test_read_fuzz_corpus::h4316fd513e6ab2a2
[INFO] [stdout]                                at /opt/rustwide/workdir/src/msgs/message_test.rs:26:44
[INFO] [stdout]   22:     0x55a88487e337 - rustls_fork_shadow_tls::msgs::message_test::test_read_fuzz_corpus::{{closure}}::h1a58d8672b42498e
[INFO] [stdout]                                at /opt/rustwide/workdir/src/msgs/message_test.rs:14:27
[INFO] [stdout]   23:     0x55a8848a0e56 - core::ops::function::FnOnce::call_once::h8462e6b018cd7cc0
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55a884a42b5b - core::ops::function::FnOnce::call_once::h43f43c5185cf39c2
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55a884a42b5b - test::__rust_begin_short_backtrace::hc4fa634eb2764bdc
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x55a884a57178 - test::run_test_in_process::{{closure}}::h9f4b799a5211b72a
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x55a884a57178 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::ha572bf7dc5230a8f
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x55a884a57178 - std::panicking::catch_unwind::do_call::hfd6ff51f25dd177b
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panicking.rs:590:40
[INFO] [stdout]   29:     0x55a884a57178 - std::panicking::catch_unwind::h8609b446221def5f
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panicking.rs:553:19
[INFO] [stdout]   30:     0x55a884a57178 - std::panic::catch_unwind::h362f73cc48531e26
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x55a884a57178 - test::run_test_in_process::hf52fd21d696aae67
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x55a884a57178 - test::run_test::{{closure}}::h7e780b8354e6d007
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x55a884a2ff44 - test::run_test::{{closure}}::hdc2695f2276aad3e
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x55a884a2ff44 - std::sys::backtrace::__rust_begin_short_backtrace::h2555b2113ed90fc9
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   35:     0x55a884a3387a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h99800d480987dfb6
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   36:     0x55a884a3387a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hbbb69b5294b2221b
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x55a884a3387a - std::panicking::catch_unwind::do_call::h495689350c27df20
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panicking.rs:590:40
[INFO] [stdout]   38:     0x55a884a3387a - std::panicking::catch_unwind::hf22437c51d1b3740
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panicking.rs:553:19
[INFO] [stdout]   39:     0x55a884a3387a - std::panic::catch_unwind::habda1a57de8231f8
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x55a884a3387a - std::thread::Builder::spawn_unchecked_::{{closure}}::h5833d8dda8c7e80b
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   41:     0x55a884a3387a - core::ops::function::FnOnce::call_once{{vtable.shim}}::ha2910283a5058402
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x55a884afc00f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::he4d85cb537521972
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/alloc/src/boxed.rs:2005:9
[INFO] [stdout]   43:     0x55a884afc00f - std::sys::thread::unix::Thread::new::thread_start::hbaf586a9e50a98cd
[INFO] [stdout]                                at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/sys/thread/unix.rs:126:17
[INFO] [stdout]   44:     0x71e4fe3f8aa4 - <unknown>
[INFO] [stdout]   45:     0x71e4fe485a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     msgs::message_test::test_read_fuzz_corpus
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 178 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.51s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "c4c8bc061e01660b6ae2986b5e945048e621e3c2619ad4ffcfb5479169609403", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4c8bc061e01660b6ae2986b5e945048e621e3c2619ad4ffcfb5479169609403", kill_on_drop: false }`
[INFO] [stdout] c4c8bc061e01660b6ae2986b5e945048e621e3c2619ad4ffcfb5479169609403
