pub struct ExpandMacroData {
pub macro_body: FlatTree,
pub macro_name: String,
pub attributes: Option<FlatTree>,
pub has_global_spans: ExpnGlobals,
pub span_data_table: Vec<u32>,
}
Expand description
Represents the input data required for expanding a macro.
Fields§
§macro_body: FlatTree
Argument of macro call.
In custom derive this will be a struct or enum; in attribute-like macro - underlying item; in function-like macro - the macro body.
macro_name: String
Name of macro to expand.
In custom derive this is the name of the derived trait (Serialize
, Getters
, etc.).
In attribute-like and function-like macros - single name of macro itself (show_streams
).
attributes: Option<FlatTree>
Possible attributes for the attribute-like macros.
has_global_spans: ExpnGlobals
marker for serde skip stuff
span_data_table: Vec<u32>
Table of additional span data.
Trait Implementations§
Source§impl Debug for ExpandMacroData
impl Debug for ExpandMacroData
Source§impl<'de> Deserialize<'de> for ExpandMacroData
impl<'de> Deserialize<'de> for ExpandMacroData
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ExpandMacroData
impl RefUnwindSafe for ExpandMacroData
impl Send for ExpandMacroData
impl Sync for ExpandMacroData
impl Unpin for ExpandMacroData
impl UnwindSafe for ExpandMacroData
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more