vitaminc_protected_derive/
lib.rs1use proc_macro::TokenStream;
2use syn::{parse_macro_input, DeriveInput};
3
4mod opaque_debug;
5mod timing_safe;
6
7#[proc_macro_derive(OpaqueDebug, attributes(opaque_debug, non_sensitive))]
8pub fn derive_opaque_debug(input: TokenStream) -> TokenStream {
9 let input = parse_macro_input!(input as DeriveInput);
10 opaque_debug::derive_opaque_debug(input)
11}
12
13#[proc_macro_derive(TimingSafeEq)]
14pub fn derive_timing_safe(input: TokenStream) -> TokenStream {
15 let input = parse_macro_input!(input as DeriveInput);
16 timing_safe::derive_timing_safe(input)
17}