Macro parse_quote
#[macro_export]
macro_rules! parse_quote {
($($tt:tt)*) => { ... };
}
Quasi-quotation macro that accepts input like the quote! macro but uses
type inference to figure out a return type for those tokens.
The return type can be any syntax tree node that implements the Parse
trait.
use quote;
use ;
This macro is available only if Syn is built with both the "parsing" and
"printing" features.
Example
The following helper function adds a bound T: HeapSize to every type
parameter T in the input generics.
use ;
// Add a bound `T: HeapSize` to every type parameter T.
Special cases
This macro can parse the following additional types as a special case even
though they do not implement the Parse trait.
Attribute— parses one attribute, allowing either outer like#[...]or inner like#![...]Vec<Attribute>— parses multiple attributes, including mixed kinds in any order- [
Punctuated<T, P>] — parses zero or moreTseparated by punctuationPwith optional trailing punctuation Vec<Arm>— parses arms separated by optional commas according to the same grammar as the inside of amatchexpressionVec<Stmt>— parses the same asBlock::parse_withinPat,Box<Pat>— parses the same asPat::parse_multi_with_leading_vertField— parses a named or unnamed struct fieldSafety— parses the same asSafety::parse_safe_or_unsafe
Panics
Panics if the tokens fail to parse as the expected syntax tree type. The caller is responsible for ensuring that the input tokens are syntactically valid.