use criterion::{black_box, criterion_group, criterion_main, Criterion};
use enumset::*;
-use enumset::internal::*;
+use enumset::__internal::*;
use std::mem::transmute;
#[derive(EnumSetType)]
#[doc(hidden)]
/// Everything in this module is internal API and may change at any time.
-pub mod internal {
+pub mod __internal {
use super::*;
/// A struct used to type check [`enum_set!`].
where Self: EnumSetType;
}
}
-use crate::internal::EnumSetTypePrivate;
-#[cfg(feature = "serde")] use crate::internal::serde;
+use crate::__internal::EnumSetTypePrivate;
+#[cfg(feature = "serde")] use crate::__internal::serde;
#[cfg(feature = "serde")] use crate::serde::{Serialize, Deserialize};
mod private {
$crate::EnumSet { __enumset_underlying: 0 }
};
($($value:path)|* $(|)*) => {
- $crate::internal::EnumSetSameTypeHack {
+ $crate::__internal::EnumSetSameTypeHack {
unified: &[$($value,)*],
enum_set: $crate::EnumSet {
__enumset_underlying: 0 $(| (1 << ($value as u32)))*
fn enum_set_type_impl(info: EnumSetInfo) -> SynTokenStream {
let name = &info.name;
let typed_enumset = quote!(::enumset::EnumSet<#name>);
- let core = quote!(::enumset::internal::core_export);
+ let core = quote!(::enumset::__internal::core_export);
let repr = info.enumset_repr();
let all_variants = Literal::u128_unsuffixed(info.all_variants());
#[cfg(feature = "serde")]
- let serde = quote!(::enumset::internal::serde);
+ let serde = quote!(::enumset::__internal::serde);
#[cfg(feature = "serde")]
let serde_ops = if info.serialize_as_list {
};
quote! {
- unsafe impl ::enumset::internal::EnumSetTypePrivate for #name {
+ unsafe impl ::enumset::__internal::EnumSetTypePrivate for #name {
type Repr = #repr;
const ALL_BITS: Self::Repr = #all_variants;
#into_impl