//! Guards the one feature combination Cargo cannot express.
//!
//! `portable-atomic-unsafe-assume-single-core` and
//! `portable-atomic-critical-section` select different portable-atomic
//! backends and cannot both be enabled. Cargo features are additive, so the
//! manifest cannot exclude them.
//!
//! This has to live in a build script rather than a `compile_error!` in
//! `src/lib.rs`. Both features forward straight to `portable-atomic`, whose own
//! `compile_error!` fires while the dependency compiles — before this crate is
//! compiled at all, so a guard in `lib.rs` is unreachable and never prints. A
//! build script does not depend on `portable-atomic`, so it runs regardless and
//! its message is actually seen.