1use proc_macro::TokenStream as TokenStream1;
2
3mod static_acceptors;
4
5pub(crate) mod prelude {
6 pub use proc_macro2::{Span, TokenStream};
7 pub use quote::{quote_spanned, ToTokens};
8 pub use syn::{
9 parse::{Parse, ParseStream},
10 spanned::Spanned,
11 };
12
13 pub trait SpanExt {
14 fn error(self, msg: impl std::fmt::Display) -> syn::Error;
15 }
16
17 impl<T: Into<Span>> SpanExt for T {
18 fn error(self, msg: impl std::fmt::Display) -> syn::Error {
19 syn::Error::new(self.into(), msg)
20 }
21 }
22}
23
24#[proc_macro]
25pub fn static_acceptors(input: TokenStream1) -> TokenStream1 {
26 #![expect(clippy::let_and_return)]
27 let out = static_acceptors::run(syn::parse_macro_input!(input)).into();
28 out
30}