From 0a20b77b11763d1ee8c1b880d011aa4e65d0ba02 Mon Sep 17 00:00:00 2001 From: "Jamil Lambert, PhD" Date: Tue, 21 Apr 2026 19:30:19 +0100 Subject: [PATCH] Fix async feature gate The `async` feature was missing from a few feature gates which caused a build failure when tokio-rustls or tokio-native-tls was enabled and async was not enabled. --- bitreq/src/connection.rs | 2 +- bitreq/src/connection/rustls_stream.rs | 27 ++++++++++++++++++++------ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/bitreq/src/connection.rs b/bitreq/src/connection.rs index f8b98c13..6c3ca191 100644 --- a/bitreq/src/connection.rs +++ b/bitreq/src/connection.rs @@ -158,7 +158,7 @@ impl Write for HttpStream { } } -#[cfg(feature = "tokio-rustls")] +#[cfg(all(feature = "async", feature = "tokio-rustls"))] type AsyncSecuredStream = rustls_stream::AsyncSecuredStream; #[cfg(feature = "async")] diff --git a/bitreq/src/connection/rustls_stream.rs b/bitreq/src/connection/rustls_stream.rs index c21db715..a65cea1e 100644 --- a/bitreq/src/connection/rustls_stream.rs +++ b/bitreq/src/connection/rustls_stream.rs @@ -20,9 +20,14 @@ use tokio_rustls::{client::TlsStream, TlsConnector}; #[cfg(feature = "rustls-webpki")] use webpki_roots::TLS_SERVER_ROOTS; -#[cfg(feature = "tokio-rustls")] +#[cfg(all(feature = "async", feature = "tokio-rustls"))] use super::{AsyncHttpStream, AsyncTcpStream}; -#[cfg(all(feature = "native-tls", not(feature = "rustls"), feature = "tokio-native-tls"))] +#[cfg(all( + feature = "async", + feature = "native-tls", + not(feature = "rustls"), + feature = "tokio-native-tls" +))] use super::{AsyncHttpStream, AsyncTcpStream}; use crate::Error; @@ -66,10 +71,10 @@ pub(super) fn wrap_stream(tcp: TcpStream, host: &str) -> Result; -#[cfg(all(feature = "rustls", feature = "tokio-rustls"))] +#[cfg(all(feature = "async", feature = "rustls", feature = "tokio-rustls"))] pub(super) async fn wrap_async_stream( tcp: AsyncTcpStream, host: &str, @@ -127,10 +132,20 @@ pub(super) fn wrap_stream(tcp: TcpStream, host: &str) -> Result; -#[cfg(all(feature = "native-tls", not(feature = "rustls"), feature = "tokio-native-tls"))] +#[cfg(all( + feature = "async", + feature = "native-tls", + not(feature = "rustls"), + feature = "tokio-native-tls" +))] pub(super) async fn wrap_async_stream( tcp: AsyncTcpStream, host: &str,