enum-bitset-derive 0.2.1

Proc macros for the enum-bitset macro
Documentation
use proc_macro2::TokenStream as TokenStream2;
use quote::quote;

use crate::derive::config::EnumBitsetConfig;

impl EnumBitsetConfig {
    pub fn base_impl(&self) -> TokenStream2 {
        let base_ty = &self.base_type;
        let set_type = &self.set_type;
        let doc = format!(
            r#"Creates a new [`{set_type}`] from a [`{base_ty}`] value. Can be used in
               const contexts."#
        );

        quote! {
            #[doc = #doc]
            impl #base_ty {
                pub const fn as_bitset(&self) -> #set_type {
                    #set_type { items: base_to_value(self) }
                }
            }
        }
    }
}