isx_macros/
lib.rs

1use proc_macro::TokenStream;
2
3mod default;
4mod empty;
5
6use default::derive_is_default_impl;
7use empty::derive_is_empty_impl;
8
9/// Allow implementing `IsDefault` for a custom type.
10#[proc_macro_derive(IsDefault, attributes(default))]
11pub fn derive_is_default(input: TokenStream) -> TokenStream {
12    derive_is_default_impl(input)
13}
14
15/// Allow implementing `IsEmpty` for a custom type.
16#[proc_macro_derive(IsEmpty, attributes(empty))]
17pub fn derive_is_empty(input: TokenStream) -> TokenStream {
18    derive_is_empty_impl(input)
19}