23 lines
600 B
Rust
23 lines
600 B
Rust
extern crate proc_macro;
|
|
use proc_macro::TokenStream;
|
|
use syn::parse::{Parse, ParseStream};
|
|
use syn::parse_macro_input;
|
|
use syn::{punctuated::Punctuated, Expr, Token};
|
|
|
|
struct FirlsRealInput {}
|
|
|
|
impl Parse for FirlsRealInput {
|
|
fn parse(input: ParseStream) -> Result<Self, syn::Error> {
|
|
let arg_list = Punctuated::<Expr, Token![,]>::parse_separated_nonempty(input)?;
|
|
|
|
Ok(FirlsRealInput {})
|
|
}
|
|
}
|
|
|
|
#[proc_macro]
|
|
pub fn firls_real(input: TokenStream) -> TokenStream {
|
|
let input = parse_macro_input!(input as FirlsRealInput);
|
|
|
|
"fn answer() -> u32 { 42 }".parse().unwrap()
|
|
}
|