positionable 0.1.0

A macro to remove the boilerplate around defining attributes with required traits for Lat/Lng in the sphere-knn crate
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use proc_macro2::TokenStream;
use quote::quote;

#[proc_macro_attribute]
pub fn positionable(
    _metadata: proc_macro::TokenStream,
    input: proc_macro::TokenStream,
) -> proc_macro::TokenStream {
    let input: TokenStream = input.into();
    let output = quote! {
        #[derive(Clone, Debug, Default, Copy)]
        #input
    };
    output.into()
}