[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-2026-04-21 for beta-1.96-2
[INFO] extracting crate rustls-fork-shadow-tls 0.20.9-mod.2 into /workspace/builds/worker-3-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-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rustls-fork-shadow-tls 0.20.9-mod.2 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "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-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 24b9df23df7008bf67ae0e53e2d70572646506806dd82562838ac9dbc4a8b137
[INFO] running `Command { std: "docker" "start" "-a" "24b9df23df7008bf67ae0e53e2d70572646506806dd82562838ac9dbc4a8b137", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "24b9df23df7008bf67ae0e53e2d70572646506806dd82562838ac9dbc4a8b137", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "24b9df23df7008bf67ae0e53e2d70572646506806dd82562838ac9dbc4a8b137", kill_on_drop: false }`
[INFO] [stdout] 24b9df23df7008bf67ae0e53e2d70572646506806dd82562838ac9dbc4a8b137
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 355b43dad3013c13de57b8863548a47b6722345735978d1c13be22c45be2adac
[INFO] running `Command { std: "docker" "start" "-a" "355b43dad3013c13de57b8863548a47b6722345735978d1c13be22c45be2adac", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling libc v0.2.135
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling once_cell v1.15.0
[INFO] [stderr]    Compiling spin v0.5.2
[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 cfg-if v1.0.0
[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 10.80s
[INFO] running `Command { std: "docker" "inspect" "355b43dad3013c13de57b8863548a47b6722345735978d1c13be22c45be2adac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "355b43dad3013c13de57b8863548a47b6722345735978d1c13be22c45be2adac", kill_on_drop: false }`
[INFO] [stdout] 355b43dad3013c13de57b8863548a47b6722345735978d1c13be22c45be2adac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 98c264d441447629cc6edfc49f9f093f94901900310a4ebd4b2ad0a940a9707f
[INFO] running `Command { std: "docker" "start" "-a" "98c264d441447629cc6edfc49f9f093f94901900310a4ebd4b2ad0a940a9707f", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling libc v0.2.135
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling serde v1.0.145
[INFO] [stderr]    Compiling crossbeam-utils v0.8.14
[INFO] [stderr]    Compiling proc-macro2 v1.0.47
[INFO] [stderr]    Compiling unicode-ident v1.0.5
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling ryu v1.0.12
[INFO] [stderr]    Compiling syn v1.0.102
[INFO] [stderr]    Compiling rayon-core v1.10.2
[INFO] [stderr]    Compiling serde_json v1.0.93
[INFO] [stderr]    Compiling either v1.8.1
[INFO] [stderr]    Compiling regex-syntax v0.6.27
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling plotters-backend v0.3.4
[INFO] [stderr]    Compiling serde_derive v1.0.145
[INFO] [stderr]    Compiling itoa v1.0.5
[INFO] [stderr]    Compiling unicode-width v0.1.10
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling half v1.8.2
[INFO] [stderr]    Compiling itoa v0.4.8
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling walkdir v2.3.2
[INFO] [stderr]    Compiling base64 v0.13.0
[INFO] [stderr]    Compiling plotters-svg v0.3.3
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling oorandom v11.1.3
[INFO] [stderr]    Compiling termcolor v1.1.3
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.13
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling aho-corasick v0.7.19
[INFO] [stderr]    Compiling csv-core v0.1.10
[INFO] [stderr]    Compiling rustls-pemfile v1.0.1
[INFO] [stderr]    Compiling crossbeam-channel v0.5.6
[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 regex v1.6.0
[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] [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 rayon v1.6.1
[INFO] [stderr]    Compiling plotters v0.3.4
[INFO] [stderr]    Compiling env_logger v0.9.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 bstr v0.2.17
[INFO] [stderr]    Compiling serde_cbor v0.11.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling csv v1.1.6
[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 33.49s
[INFO] running `Command { std: "docker" "inspect" "98c264d441447629cc6edfc49f9f093f94901900310a4ebd4b2ad0a940a9707f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "98c264d441447629cc6edfc49f9f093f94901900310a4ebd4b2ad0a940a9707f", kill_on_drop: false }`
[INFO] [stdout] 98c264d441447629cc6edfc49f9f093f94901900310a4ebd4b2ad0a940a9707f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 84acd2061a978e7bbfbb49d9752a98b3648628cbafbaa83facf9471ad20e2d0b
[INFO] running `Command { std: "docker" "start" "-a" "84acd2061a978e7bbfbb49d9752a98b3648628cbafbaa83facf9471ad20e2d0b", 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.26s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustls_fork_shadow_tls-701c4b2e3e8f11ba)
[INFO] [stdout] 
[INFO] [stdout] running 179 tests
[INFO] [stdout] test bs_debug::test::debug ... ok
[INFO] [stdout] test client::handy::test::test_clientsessionmemorycache_accepts_put ... ok
[INFO] [stdout] test client::handy::test::test_clientsessionmemorycache_persists_put ... ok
[INFO] [stdout] test client::handy::test::test_clientsessionmemorycache_overwrites_put ... ok
[INFO] [stdout] test client::handy::test::test_clientsessionmemorycache_drops_to_maintain_size_invariant ... ok
[INFO] [stdout] test client::handy::test::test_noclientsessionstorage_denies_gets ... ok
[INFO] [stdout] test client::handy::test::test_noclientsessionstorage_drops_put ... ok
[INFO] [stdout] test error::tests::rand_error_mapping ... ok
[INFO] [stdout] test error::tests::time_error_mapping ... ok
[INFO] [stdout] test hash_hs::test::abandon ... ok
[INFO] [stdout] test hash_hs::test::hashes_correctly ... ok
[INFO] [stdout] test error::tests::smoke ... ok
[INFO] [stdout] test hash_hs::test::buffers_correctly ... ok
[INFO] [stdout] test key_log_file::test::test_env_var_cannot_be_opened ... ok
[INFO] [stdout] test key_log_file::test::test_env_var_is_not_set ... ok
[INFO] [stdout] test limited_cache::test::test_evicts_after_second_oldest_item_removed ... ok
[INFO] [stdout] test limited_cache::test::test_evicts_second_oldest_item_if_first_removed ... ok
[INFO] [stdout] test msgs::deframer::tests::check_whole ... ok
[INFO] [stdout] test msgs::deframer::tests::check_whole_2 ... 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_is_not_unicode ... ok
[INFO] [stdout] test msgs::deframer::tests::test_incremental_with_nonfatal_read_error ... ok
[INFO] [stdout] test msgs::deframer::tests::check_incremental ... ok
[INFO] [stdout] test msgs::deframer::tests::test_invalid_empty_errors ... ok
[INFO] [stdout] test limited_cache::test::test_removes_all_items ... ok
[INFO] [stdout] test msgs::deframer::tests::test_invalid_contenttype_errors ... ok
[INFO] [stdout] test msgs::deframer::tests::test_invalid_length_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::test_limited_buffer ... ok
[INFO] [stdout] test msgs::deframer::tests::test_two_in_one_read ... ok
[INFO] [stdout] test msgs::handshake_test::accepts_empty_sessionid ... ok
[INFO] [stdout] test msgs::deframer::tests::check_incremental_2 ... ok
[INFO] [stdout] test limited_cache::test::test_evicts_oldest_item ... ok
[INFO] [stdout] test limited_cache::test::test_updates_existing_item ... 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_round_trip_mixed_case_sni ... ok
[INFO] [stdout] test msgs::handshake_test::can_decode_server_hello_from_api_devicecheck_apple_com ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_certstatusreq_for_other ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_multi_proto ... 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_all_tls12_handshake_payloads ... ok
[INFO] [stdout] test msgs::handshake_test::can_clone_all_clientextensions ... ok
[INFO] [stdout] test msgs::deframer::tests::test_two_in_one_read_shortest_first ... ok
[INFO] [stdout] test msgs::enums_test::test_enums ... ok
[INFO] [stdout] test msgs::fragmenter::tests::non_fragment ... ok
[INFO] [stdout] test msgs::fragmenter::tests::smoke ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_psk_identity ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_all_tls13_handshake_payloads ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_certstatusreq_for_ocsp ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_multiname_sni ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_single_sni ... ok
[INFO] [stdout] test msgs::handshake_test::cannot_read_messagehash_from_network ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_unknown_client_ext ... ok
[INFO] [stdout] test msgs::handshake_test::can_roundtrip_single_proto ... ok
[INFO] [stdout] test msgs::handshake_test::certentry_get_ocsp_response ... ok
[INFO] [stdout] test msgs::handshake_test::certentry_get_scts ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_keyshare_extension ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_psk ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_quic_params_extension ... 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::client_has_duplicate_extensions_works ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_alpn_extension ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_ecpoints_extension ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_versions_extension ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_namedgroups_extension ... ok
[INFO] [stdout] test msgs::handshake_test::debug_random ... 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::refuses_certificate_ext_with_unparsed_bytes ... ok
[INFO] [stdout] test msgs::handshake_test::refuses_certificate_req_ext_with_unparsed_bytes ... 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::decomposed_signature_scheme_has_correct_mappings ... ok
[INFO] [stdout] test msgs::handshake_test::refuses_server_ext_with_unparsed_bytes ... ok
[INFO] [stdout] test msgs::handshake_test::get_single_hostname_returns_none_for_other_sni_name_types ... ok
[INFO] [stdout] test msgs::handshake_test::refuses_newsessionticket_ext_with_unparsed_bytes ... ok
[INFO] [stdout] test msgs::handshake_test::helloretry_get_supported_versions ... ok
[INFO] [stdout] test msgs::handshake_test::reads_random ... ok
[INFO] [stdout] test msgs::handshake_test::rejects_sessionid_with_bad_length ... ok
[INFO] [stdout] test msgs::handshake_test::rejects_short_random ... ok
[INFO] [stdout] test msgs::handshake_test::rejects_truncated_sessionid ... ok
[INFO] [stdout] test msgs::handshake_test::server_get_ecpoints_extension ... ok
[INFO] [stdout] test msgs::handshake_test::server_get_key_share ... ok
[INFO] [stdout] test msgs::handshake_test::server_get_psk_index ... ok
[INFO] [stdout] test msgs::handshake_test::server_get_sct_list ... 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::sessionid_with_different_lengths_are_unequal ... ok
[INFO] [stdout] test msgs::hsjoiner::tests::join ... ok
[INFO] [stdout] test msgs::hsjoiner::tests::test_rejects_giant_certs ... ok
[INFO] [stdout] test msgs::hsjoiner::tests::want ... ok
[INFO] [stdout] test msgs::message_test::alert_is_not_handshake ... ok
[INFO] [stdout] test msgs::handshake_test::test_truncated_client_hello_is_detected ... ok
[INFO] [stdout] test msgs::hsjoiner::tests::broken ... ok
[INFO] [stdout] test msgs::hsjoiner::tests::split ... ok
[INFO] [stdout] test msgs::message_test::can_read_safari_client_hello ... ok
[INFO] [stdout] test msgs::handshake_test::test_truncated_server_extension_is_detected ... ok
[INFO] [stdout] test msgs::message_test::alert_is_not_opaque ... ok
[INFO] [stdout] test msgs::message_test::construct_all_types ... ok
[INFO] [stdout] test msgs::message_test::debug_payload ... ok
[INFO] [stdout] test msgs::persist_test::clientsessionkey_cannot_be_read ... ok
[INFO] [stdout] test msgs::persist_test::clientsessionkey_is_debug ... ok
[INFO] [stdout] test msgs::handshake_test::can_detect_truncation_of_all_tls12_handshake_payloads ... 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_no_sni ... ok
[INFO] [stdout] test msgs::handshake_test::client_get_psk_modes ... ok
[INFO] [stdout] test msgs::handshake_test::debug_sessionid ... ok
[INFO] [stdout] test msgs::handshake_test::test_truncated_psk_offer ... ok
[INFO] [stdout] test msgs::persist_test::serversessionvalue_with_cert ... ok
[INFO] [stdout] test server::handy::test::test_noserversessionstorage_denies_gets ... ok
[INFO] [stdout] test msgs::test::smoketest ... ok
[INFO] [stdout] test server::handy::test::test_resolvesservercertusingsni_requires_sni ... ok
[INFO] [stdout] test server::handy::test::test_serversessionmemorycache_accepts_put ... ok
[INFO] [stdout] test server::handy::test::test_noserversessionstorage_denies_takes ... ok
[INFO] [stdout] test server::handy::test::test_neverproducestickets_does_nothing ... 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_overwrites_put ... ok
[INFO] [stdout] test server::handy::test::test_serversessionmemorycache_persists_put ... 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_pkcs8 ... ok
[INFO] [stdout] test stream::tests::stream_can_be_created_for_connection_and_tcpstream ... ok
[INFO] [stdout] test stream::tests::streamowned_can_be_created_for_client_and_tcpstream ... ok
[INFO] [stdout] test stream::tests::streamowned_can_be_created_for_server_and_tcpstream ... ok
[INFO] [stdout] test suites::test::test_can_resume_to ... ok
[INFO] [stdout] test server::server_conn::test_read_in_new_state ... ok
[INFO] [stdout] test sign::can_load_eddsa_pkcs8 ... ok
[INFO] [stdout] test suites::test::test_client_pref ... ok
[INFO] [stdout] test ticketer::basic_pairwise_test ... ok
[INFO] [stdout] test ticketer::ticketswitcher_recover_test ... ok
[INFO] [stdout] test ticketer::ticketswitcher_switching_test ... ok
[INFO] [stdout] test tls12::prf::tests::check_sha256 ... ok
[INFO] [stdout] test tls12::prf::tests::check_sha512 ... ok
[INFO] [stdout] test suites::test::test_pref_fails ... ok
[INFO] [stdout] test tls12::tests::client_ecdhe_invalid ... ok
[INFO] [stdout] test tls13::key_schedule::test::test_vectors ... ok
[INFO] [stdout] test vecbuf::test::short_append_copy_with_limit ... ok
[INFO] [stdout] test verify::tests::assertions_are_debug ... ok
[INFO] [stdout] test msgs::handshake_test::cannot_decode_huge_certificate ... ok
[INFO] [stdout] test msgs::handshake_test::rejects_truncated_sni ... ok
[INFO] [stdout] test suites::test::test_server_pref ... ok
[INFO] [stdout] test msgs::handshake_test::test_truncated_helloretry_extension_is_detected ... ok
[INFO] [stdout] test server::handy::test::test_serversessionmemorycache_drops_to_maintain_size_invariant ... ok
[INFO] [stdout] test sign::can_load_rsa2048_pkcs1 ... ok
[INFO] [stdout] test suites::test::test_scs_is_debug ... ok
[INFO] [stdout] test sign::can_load_ecdsa_nistp384_pkcs8 ... ok
[INFO] [stdout] test tls12::tests::server_ecdhe_remaining_bytes ... ok
[INFO] [stdout] test sign::can_load_ecdsa_nistp384_sec1 ... ok
[INFO] [stdout] test msgs::handshake_test::can_detect_truncation_of_all_tls13_handshake_payloads ... ok
[INFO] [stdout] test msgs::handshake_test::can_print_all_serverextensions ... ok
[INFO] [stdout] test x509::test_empty ... ok
[INFO] [stdout] test x509::test_gigantic ... ok
[INFO] [stdout] test verifybench::test_arstechnica_cert ... ok
[INFO] [stdout] test x509::test_huge ... ok
[INFO] [stdout] test x509::test_large ... ok
[INFO] [stdout] test x509::test_medium ... ok
[INFO] [stdout] test x509::test_small ... ok
[INFO] [stdout] test verifybench::test_reddit_cert ... ok
[INFO] [stdout] test verifybench::test_github_cert ... ok
[INFO] [stdout] test verifybench::test_wapo_cert ... ok
[INFO] [stdout] test verifybench::test_duckduckgo_cert ... ok
[INFO] [stdout] test verifybench::test_stackoverflow_cert ... ok
[INFO] [stdout] test verifybench::test_google_cert ... ok
[INFO] [stdout] test verifybench::test_rustlang_cert ... ok
[INFO] [stdout] test msgs::message_test::test_read_fuzz_corpus ... FAILED
[INFO] [stdout] test verifybench::test_hn_cert ... ok
[INFO] [stdout] test key::test::certificate_debug ... ok
[INFO] [stdout] test verifybench::test_twitter_cert ... ok
[INFO] [stdout] test verifybench::test_servo_cert ... ok
[INFO] [stdout] test limited_cache::test::test_inserts_many_items ... 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' (132) 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:     0x64cf34c34d8a - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x64cf34c34d8a - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x64cf34c34d8a - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x64cf34c34d8a - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x64cf34c4a7ca - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x64cf34c4a7ca - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x64cf34c39c72 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x64cf34c39c72 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x64cf34c137bf - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x64cf34c137bf - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x64cf34c2ce89 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x64cf34b4638c - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x64cf34b4638c - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x64cf34c2d042 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x64cf34c2d042 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x64cf34c13878 - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x64cf34c089c9 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x64cf34c1458d - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x64cf34c4afbc - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x64cf34c4ad02 - core[6771d259883166e6]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x64cf349a51a3 - core::result::Result<T,E>::unwrap::hbfd0e680bd7260ec
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x64cf349a51a3 - rustls_fork_shadow_tls::msgs::message_test::test_read_fuzz_corpus::h4ce28e1a3f6f9962
[INFO] [stdout]                                at /opt/rustwide/workdir/src/msgs/message_test.rs:26:44
[INFO] [stdout]   22:     0x64cf349a5cf7 - rustls_fork_shadow_tls::msgs::message_test::test_read_fuzz_corpus::{{closure}}::hbcf7649496ad8933
[INFO] [stdout]                                at /opt/rustwide/workdir/src/msgs/message_test.rs:14:27
[INFO] [stdout]   23:     0x64cf349b78c6 - core::ops::function::FnOnce::call_once::h549971f30567d5a7
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x64cf34b3a48b - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x64cf34b3a48b - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x64cf34b46e5b - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x64cf34b46e5b - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x64cf34b46e5b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x64cf34b46e5b - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x64cf34b46e5b - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x64cf34b46e5b - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x64cf34b46e5b - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x64cf34b412b4 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x64cf34b412b4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x64cf34b49a62 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x64cf34b49a62 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x64cf34b49a62 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x64cf34b49a62 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x64cf34b49a62 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x64cf34b49a62 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x64cf34b49a62 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x64cf34c3466f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   43:     0x64cf34c3466f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x764d7fe6baa4 - <unknown>
[INFO] [stdout]   45:     0x764d7fef8a64 - 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.50s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "84acd2061a978e7bbfbb49d9752a98b3648628cbafbaa83facf9471ad20e2d0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "84acd2061a978e7bbfbb49d9752a98b3648628cbafbaa83facf9471ad20e2d0b", kill_on_drop: false }`
[INFO] [stdout] 84acd2061a978e7bbfbb49d9752a98b3648628cbafbaa83facf9471ad20e2d0b
