Skip to main content

skill_macros/
lib.rs

1#![forbid(unsafe_code)]
2#![warn(missing_docs)]
3#![cfg_attr(
4    not(test),
5    deny(clippy::unwrap_used, clippy::expect_used, clippy::panic)
6)]
7
8extern crate proc_macro;
9use proc_macro::TokenStream;
10use skill_macros_core::impl_skill_derive;
11use syn::{DeriveInput, parse_macro_input};
12
13/// Derive Skill trait with default implementations
14#[proc_macro_derive(Skill)]
15pub fn derive_skill(input: TokenStream) -> TokenStream {
16    let input = parse_macro_input!(input as DeriveInput);
17    impl_skill_derive(&input).into()
18}