unit_proc/
lib.rs

1#![doc = include_str!("../README.md")]
2use proc_macro::TokenStream;
3use syn:: { ExprPath, parse_macro_input };
4use quote::quote;
5
6mod unit;
7
8use unit:: { TokenUnit, TokenDim };
9
10#[proc_macro]
11pub fn unit(input: TokenStream) -> TokenStream {
12    let result = parse_macro_input!(input as TokenUnit);
13
14    quote! { #result }.into()
15}
16
17#[proc_macro]
18pub fn dim(input: TokenStream) -> TokenStream {
19    let result = parse_macro_input!(input as TokenDim<ExprPath>);
20
21    quote! { #result }.into()
22}