1#![no_std]
6#![forbid(unsafe_code, missing_docs, rustdoc::all)]
7
8extern crate alloc;
9
10mod binding;
11mod bounds;
12mod diagnostic;
13mod enumerate;
14mod expand;
15mod field;
16mod format;
17mod resolve;
18mod semantics;
19mod source;
20mod structure;
21mod syntax;
22mod target;
23mod validate;
24
25pub use target::Target;
26pub use validate::ValidatedTarget;
27
28#[inline]
35pub fn generate(input: &syn::DeriveInput) -> syn::Result<proc_macro2::TokenStream> {
36 Target::input(input)?.validate()?.expand()
37}