From 159ffcde9419d4670c150d116fdd1a61dc4616a9 Mon Sep 17 00:00:00 2001 From: LukeMathWalker Date: Fri, 13 Aug 2021 10:56:35 +0100 Subject: [PATCH] Ensure compilation fails if multiple incompatible OTEL flags are specified. --- src/lib.rs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index ea38c1e75..c84761d55 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -244,5 +244,18 @@ pub use root_span_builder::{DefaultRootSpanBuilder, RootSpanBuilder}; #[doc(hidden)] pub mod root_span_macro; -#[cfg(any(feature = "opentelemetry_0_13", feature = "opentelemetry_0_14", feature = "opentelemetry_0_15"))] +#[cfg(any( + feature = "opentelemetry_0_13", + feature = "opentelemetry_0_14", + feature = "opentelemetry_0_15" +))] mod otel; + +#[cfg(all(feature = "opentelemetry_0_13", feature = "opentelemetry_0_14"))] +compile_error!("feature \"opentelemetry_0_13\" and feature \"opentelemetry_0_14\" cannot be enabled at the same time"); + +#[cfg(all(feature = "opentelemetry_0_13", feature = "opentelemetry_0_15"))] +compile_error!("feature \"opentelemetry_0_13\" and feature \"opentelemetry_0_15\" cannot be enabled at the same time"); + +#[cfg(all(feature = "opentelemetry_0_14", feature = "opentelemetry_0_15"))] +compile_error!("feature \"opentelemetry_0_14\" and feature \"opentelemetry_0_15\" cannot be enabled at the same time");