enum-bitset 0.2.1

Generate efficient bitsets out of your enum types
Documentation
//! Example to demonstrate the `EnumBitset` derive macro.
//!
//! NOTE: This example is *not* available to crates depending on `enum_bitset`.
//!
use enum_bitset_derive::EnumBitset;

/// Example enum to demonstrate the `EnumBitset` derive macro.
///
/// NOTE: This example is *not* available to crates depending on `enum_bitset`.
#[derive(EnumBitset, Clone, Copy, PartialEq)]
#[bitset(crate = crate)]
pub enum ProgrammerState {
    Awake,
    CoffeeAcquired,
    CompilerFight,
    MergeConflict,
    ZoneAchieved,
    BuildingCastlesInTheCloud,
    TimeToLeave,
    SideProject,
    Sleeping,
}


#[cfg(all(feature = "serde", any(doc, test)))]
mod serde_impl {
    // "Implement" serde traits manually, so we don't need to add the `derive` feature in our serde dependence to compile docs.
    use serde::{Deserialize, Deserializer, Serialize, Serializer};

    use super::ProgrammerState;


    impl Serialize for ProgrammerState {
        fn serialize<S>(&self, _: S) -> Result<S::Ok, S::Error>
        where
            S: Serializer,
        {
            unimplemented!()
        }
    }


    #[automatically_derived]
    impl<'de> Deserialize<'de> for ProgrammerState {
        fn deserialize<D>(_: D) -> Result<Self, D::Error>
        where
            D: Deserializer<'de>,
        {
            unimplemented!()
        }
    }
}