prost_convert_derive/
lib.rs1#![deny(clippy::all, clippy::cargo, missing_docs)]
7
8mod attributes;
9mod container;
10mod expand;
11mod symbol;
12use expand::expand_derive_prost_convert;
13
14use proc_macro::TokenStream;
15use syn::parse_macro_input;
16
17#[proc_macro_derive(ProstConvert, attributes(prost_convert))]
19pub fn derive_prost_convert(input: TokenStream) -> TokenStream {
20 let ast = parse_macro_input!(input as syn::DeriveInput);
23 expand_derive_prost_convert(ast)
24 .unwrap_or_else(syn::Error::into_compile_error)
25 .into()
26}