zksync_cs_derive 0.32.7

Derive macro for boojum crate
Documentation
#![allow(dead_code)]

use proc_macro::TokenStream;

mod allocatable;
mod selectable;
pub(crate) mod utils;
mod var_length_encodable;
mod witness_hook;
mod witness_var_length_encodable;

#[proc_macro_derive(CSSelectable, attributes(CSSelectableBound))]
#[proc_macro_error::proc_macro_error]
pub fn derive_selectable(input: TokenStream) -> TokenStream {
    self::selectable::derive_select(input)
}

#[proc_macro_derive(CSAllocatable, attributes(DerivePrettyComparison))]
#[proc_macro_error::proc_macro_error]
pub fn derive_allocatable(input: TokenStream) -> TokenStream {
    self::allocatable::derive_allocatable(input)
}

#[proc_macro_derive(WitnessHookable, attributes(WitnessHookBound))]
#[proc_macro_error::proc_macro_error]
pub fn derive_witness_hook(input: TokenStream) -> TokenStream {
    self::witness_hook::derive_witness_hook(input)
}

#[proc_macro_derive(CSVarLengthEncodable, attributes(CSVarLengthEncodableBound))]
#[proc_macro_error::proc_macro_error]
pub fn derive_var_length_encodable(input: TokenStream) -> TokenStream {
    self::var_length_encodable::derive_var_length_encodable(input)
}

#[proc_macro_derive(WitVarLengthEncodable, attributes(WitnessVarLengthEncodableBound))]
#[proc_macro_error::proc_macro_error]
pub fn derive_witness_length_encodable(input: TokenStream) -> TokenStream {
    self::witness_var_length_encodable::derive_witness_var_length_encodable(input)
}