cgp_macro_lib/entrypoints/cgp_impl.rs
1use proc_macro2::TokenStream;
2use syn::{ItemImpl, parse2};
3
4use crate::cgp_impl::{ImplProviderSpec, derive_cgp_impl};
5
6pub fn cgp_impl(attr: TokenStream, body: TokenStream) -> syn::Result<TokenStream> {
7 let spec: ImplProviderSpec = parse2(attr)?;
8 let item_impl: ItemImpl = parse2(body)?;
9
10 derive_cgp_impl(spec, item_impl)
11}