structural_convert_derive/
lib.rs

1#![doc = include_str!("../README.md")]
2#![deny(
3    clippy::unwrap_used,
4    clippy::panic,
5    clippy::expect_used,
6    clippy::unimplemented,
7    clippy::todo
8)]
9
10extern crate proc_macro;
11
12mod structural_convert;
13
14use syn::parse_macro_input;
15use syn::DeriveInput;
16
17use crate::proc_macro::TokenStream;
18
19#[proc_macro_derive(StructuralConvert, attributes(convert))]
20pub fn structural_convert(item: TokenStream) -> TokenStream {
21    structural_convert::structural_convert_impl(parse_macro_input!(item as DeriveInput))
22        .unwrap_or_else(|err| err.write_errors())
23        .into()
24}