#![allow(
// We place `#[inline(always)]` only on very small methods where we'd event want
// a guarantee of them being inlined.
clippy::inline_always,
// Marking every potential function as `const` is a bit too much.
// Especially, this doesn't play well with our MSRV. Trait bounds
// aren't allowed on const functions in older Rust versions.
clippy::missing_const_for_fn,
)]
pub mod ide;
pub mod derives;
mod cfg_eval;
pub use crate::builder_state::{IsSet, IsUnset};
pub use rustversion;
pub(crate) mod sealed {
#[allow(unnameable_types)]
pub trait Sealed: Sized {}
impl<Name> Sealed for super::Unset<Name> {}
impl<Name> Sealed for super::Set<Name> {}
}
pub(crate) use sealed::Sealed;
#[cfg(feature = "alloc")]
pub extern crate alloc;
#[derive(Debug)]
pub struct Unset<Name>(Name);
#[derive(Debug)]
pub struct Set<Name>(Name);