pub struct MacroLocalBinding<'tree> {
pub name: String,
pub type_name: String,
pub type_node: Option<Node<'tree>>,
pub pointer_depth: i32,
pub proven_unit: Option<CodeUnit>,
}Expand description
A local declaration contributed by one structurally known function-like macro.
type_node points into the invocation syntax when the replacement’s type
is one of the macro parameters. Consumers can therefore use their normal
lexical type resolver without parsing replacement text themselves.
proven_unit carries a structured C-tag resolution when the grammar splits
an explicit struct or union argument across recovery nodes.
Fields§
§name: String§type_name: String§type_node: Option<Node<'tree>>§pointer_depth: i32§proven_unit: Option<CodeUnit>Auto Trait Implementations§
impl<'tree> Freeze for MacroLocalBinding<'tree>
impl<'tree> RefUnwindSafe for MacroLocalBinding<'tree>
impl<'tree> Send for MacroLocalBinding<'tree>
impl<'tree> Sync for MacroLocalBinding<'tree>
impl<'tree> Unpin for MacroLocalBinding<'tree>
impl<'tree> UnsafeUnpin for MacroLocalBinding<'tree>
impl<'tree> UnwindSafe for MacroLocalBinding<'tree>
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
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