Struct Macro
struct Macro { ... }
A macro invocation: println!("{}", mac).
Fields
path: Pathbang_token: Notdelimiter: MacroDelimitertokens: TokenStream
Implementations
impl Macro
fn parse_body<T: Parse>(self: &Self) -> Result<T>Parse the tokens within the macro invocation's delimiters into a syntax tree.
This is equivalent to
syn::parse2::<T>(mac.tokens)except that it produces a more useful span whentokensis empty.Example
use ; use IdentExt; use ; use Punctuated; // The arguments expected by libcore's format_args macro, and as a // result most other formatting and printing macros like println. // // println!("{} is {number:.prec$}", "x", prec=5, number=0.01) // Extract the first argument, the format string literal, from an // invocation of a formatting or printing macro.fn parse_body_with<F: Parser>(self: &Self, parser: F) -> Result<<F as >::Output>Parse the tokens within the macro invocation's delimiters using the given parser.
impl Clone for Macro
fn clone(self: &Self) -> Self
impl Debug for Macro
fn fmt(self: &Self, formatter: &mut Formatter<'_>) -> Result
impl Eq for Macro
impl Freeze for Macro
impl Hash for Macro
fn hash<H>(self: &Self, state: &mut H) where H: Hasher
impl Parse for Macro
fn parse(input: ParseStream<'_>) -> Result<Self>
impl PartialEq for Macro
fn eq(self: &Self, other: &Self) -> bool
impl RefUnwindSafe for Macro
impl Send for Macro
impl Sync for Macro
impl ToTokens for Macro
fn to_tokens(self: &Self, tokens: &mut TokenStream)
impl Unpin for Macro
impl UnsafeUnpin for Macro
impl UnwindSafe for Macro
impl<T> Any for Macro
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for Macro
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for Macro
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> CloneToUninit for Macro
unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)
impl<T> From for Macro
fn from(t: T) -> TReturns the argument unchanged.
impl<T> Spanned for Macro
fn span(self: &Self) -> Span
impl<T> ToOwned for Macro
fn to_owned(self: &Self) -> Tfn clone_into(self: &Self, target: &mut T)
impl<T, U> Into for Macro
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for Macro
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for Macro
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>