[−][src]Macro syn::parse_macro_input
Parse the input TokenStream of a macro, triggering a compile error if the tokens fail to parse.
Refer to the parse
module documentation for more details about parsing
in Syn.
Intended usage
ⓘThis code runs with edition 2018
extern crate proc_macro; use proc_macro::TokenStream; use syn::{parse_macro_input, Result}; use syn::parse::{Parse, ParseStream}; struct MyMacroInput { /* ... */ } impl Parse for MyMacroInput { fn parse(input: ParseStream) -> Result<Self> { /* ... */ } } #[proc_macro] pub fn my_macro(tokens: TokenStream) -> TokenStream { let input = parse_macro_input!(tokens as MyMacroInput); /* ... */ }