ownership_derive/lib.rs
1use proc_macro::TokenStream;
2use syn::{DeriveInput, Error, parse_macro_input};
3
4mod ast;
5mod attributes;
6mod bounds;
7mod context;
8mod dummy;
9mod expand;
10mod name;
11mod parameters;
12
13#[proc_macro_derive(IntoOwned, attributes(ownership))]
14pub fn derive_into_owned(tokens: TokenStream) -> TokenStream {
15 let input = parse_macro_input!(tokens as DeriveInput);
16
17 expand::derive_into_owned(&input)
18 .unwrap_or_else(Error::into_compile_error)
19 .into()
20}