derive_builder_macro_fork_arti/
lib.rs

1//! Derive a builder for a struct
2
3#![crate_type = "proc-macro"]
4#![deny(warnings)]
5
6extern crate proc_macro;
7#[macro_use]
8extern crate syn;
9extern crate derive_builder_core;
10
11use proc_macro::TokenStream;
12
13#[doc(hidden)]
14#[proc_macro_derive(
15    Builder,
16    attributes(
17        builder,
18        builder_field_attr,
19        builder_impl_attr,
20        builder_setter_attr,
21        builder_struct_attr
22    )
23)]
24pub fn derive(input: TokenStream) -> TokenStream {
25    let ast = parse_macro_input!(input as syn::DeriveInput);
26    derive_builder_core::builder_for_struct(ast).into()
27}