#![doc = include_str!("../readme-footer.md")]
#[proc_macro_derive(Facet, attributes(facet))]
pub fn facet_macros(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
facet_macros_impl::facet_macros(input.into()).into()
}
#[doc(hidden)]
#[proc_macro]
pub fn __ext(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
facet_macros_impl::ext_attr(input.into()).into()
}
#[doc(hidden)]
#[proc_macro]
pub fn __make_parse_attr(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
facet_macros_impl::attr_grammar::make_parse_attr(input.into()).into()
}
#[doc(hidden)]
#[proc_macro]
pub fn __dispatch_attr(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
facet_macros_impl::attr_grammar::dispatch_attr(input.into()).into()
}
#[doc(hidden)]
#[proc_macro]
pub fn __build_struct_fields(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
facet_macros_impl::attr_grammar::build_struct_fields(input.into()).into()
}
#[doc(hidden)]
#[proc_macro]
pub fn __attr_error(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
facet_macros_impl::attr_grammar::attr_error(input.into()).into()
}
#[doc(hidden)]
#[proc_macro]
pub fn __field_error(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
facet_macros_impl::attr_grammar::field_error(input.into()).into()
}
#[doc(hidden)]
#[proc_macro]
pub fn __spanned_error(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
facet_macros_impl::attr_grammar::spanned_error(input.into()).into()
}
#[cfg(feature = "function")]
#[proc_macro_attribute]
pub fn facet_fn(
attr: proc_macro::TokenStream,
item: proc_macro::TokenStream,
) -> proc_macro::TokenStream {
facet_macros_impl::function::facet_fn(attr.into(), item.into()).into()
}
#[cfg(feature = "function")]
#[proc_macro]
pub fn fn_shape(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
facet_macros_impl::function::fn_shape(input.into()).into()
}
#[doc(hidden)]
#[proc_macro]
pub fn __unknown_attr(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
facet_macros_impl::unknown_attr(input.into()).into()
}
#[doc(hidden)]
#[proc_macro]
pub fn __facet_finalize(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
facet_macros_impl::facet_finalize(input.into()).into()
}
#[doc(hidden)]
#[proc_macro]
pub fn __no_args(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
facet_macros_impl::no_args(input.into()).into()
}
#[proc_macro_attribute]
pub fn on_error(
attr: proc_macro::TokenStream,
item: proc_macro::TokenStream,
) -> proc_macro::TokenStream {
facet_macros_impl::on_error(attr.into(), item.into()).into()
}