From e4b4d9b97593dafe9dd46e93cd4cdf402a4c6e9c Mon Sep 17 00:00:00 2001 From: nikita Date: Tue, 24 Mar 2026 17:44:48 -0500 Subject: [PATCH] prefer rustls for tls runtime and remove compilation error --- rust/src/tls_runtime.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/rust/src/tls_runtime.rs b/rust/src/tls_runtime.rs index 4e044ff1..3278fa8c 100644 --- a/rust/src/tls_runtime.rs +++ b/rust/src/tls_runtime.rs @@ -2,9 +2,6 @@ use std::sync::Once; static TLS_INIT: Once = Once::new(); -#[cfg(all(feature = "tls-rustls", feature = "tls-native-tls"))] -compile_error!("features `tls-rustls` and `tls-native-tls` are mutually exclusive"); - #[cfg(not(any(feature = "tls-rustls", feature = "tls-native-tls")))] compile_error!("one TLS feature must be enabled: `tls-native-tls` (default) or `tls-rustls`"); @@ -12,6 +9,11 @@ compile_error!("one TLS feature must be enabled: `tls-native-tls` (default) or ` /// /// With `tls-native-tls` (default), this is a no-op. /// With `tls-rustls`, installs the aws-lc-rs rustls provider. +/// +/// # Panics +/// +/// Panics if the `tls-rustls` feature is enabled and the aws-lc-rs +/// crypto provider fails to install. pub fn ensure_tls_runtime() { TLS_INIT.call_once(|| { #[cfg(feature = "tls-rustls")] @@ -23,7 +25,7 @@ pub fn ensure_tls_runtime() { } } - #[cfg(feature = "tls-native-tls")] + #[cfg(all(feature = "tls-native-tls", not(feature = "tls-rustls")))] {} }); }