Macro devise::syn::parse_macro_input [−][src]
macro_rules! parse_macro_input {
($tokenstream : ident as $ty : ty) => { ... };
($tokenstream : ident) => { ... };
}
Expand description
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
ⓘ
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);
/* ... */
}