Struct rustc_expand::base::MacEager [−][src]
pub struct MacEager {
pub expr: Option<P<Expr>>,
pub pat: Option<P<Pat>>,
pub items: Option<SmallVec<[P<Item>; 1]>>,
pub impl_items: Option<SmallVec<[P<AssocItem>; 1]>>,
pub trait_items: Option<SmallVec<[P<AssocItem>; 1]>>,
pub foreign_items: Option<SmallVec<[P<ForeignItem>; 1]>>,
pub stmts: Option<SmallVec<[Stmt; 1]>>,
pub ty: Option<P<Ty>>,
}Expand description
MacResult implementation for the common case where you’ve already
built each form of AST that you might return.
Fields
expr: Option<P<Expr>>pat: Option<P<Pat>>items: Option<SmallVec<[P<Item>; 1]>>impl_items: Option<SmallVec<[P<AssocItem>; 1]>>trait_items: Option<SmallVec<[P<AssocItem>; 1]>>foreign_items: Option<SmallVec<[P<ForeignItem>; 1]>>stmts: Option<SmallVec<[Stmt; 1]>>ty: Option<P<Ty>>Implementations
impl MacEager[src]
impl MacEager[src]pub fn expr(v: P<Expr>) -> Box<dyn MacResult>[src]
pub fn pat(v: P<Pat>) -> Box<dyn MacResult>[src]
pub fn items(v: SmallVec<[P<Item>; 1]>) -> Box<dyn MacResult>[src]
pub fn impl_items(v: SmallVec<[P<AssocItem>; 1]>) -> Box<dyn MacResult>[src]
pub fn trait_items(v: SmallVec<[P<AssocItem>; 1]>) -> Box<dyn MacResult>[src]
pub fn foreign_items(v: SmallVec<[P<ForeignItem>; 1]>) -> Box<dyn MacResult>[src]
pub fn stmts(v: SmallVec<[Stmt; 1]>) -> Box<dyn MacResult>[src]
pub fn ty(v: P<Ty>) -> Box<dyn MacResult>[src]
Trait Implementations
impl MacResult for MacEager[src]
impl MacResult for MacEager[src]fn make_impl_items(self: Box<Self>) -> Option<SmallVec<[P<AssocItem>; 1]>>[src]
fn make_impl_items(self: Box<Self>) -> Option<SmallVec<[P<AssocItem>; 1]>>[src]Creates zero or more impl items.
fn make_trait_items(self: Box<Self>) -> Option<SmallVec<[P<AssocItem>; 1]>>[src]
fn make_trait_items(self: Box<Self>) -> Option<SmallVec<[P<AssocItem>; 1]>>[src]Creates zero or more trait items.
fn make_foreign_items(self: Box<Self>) -> Option<SmallVec<[P<ForeignItem>; 1]>>[src]
fn make_foreign_items(self: Box<Self>) -> Option<SmallVec<[P<ForeignItem>; 1]>>[src]Creates zero or more items in an extern {} block
fn make_stmts(self: Box<Self>) -> Option<SmallVec<[Stmt; 1]>>[src]
fn make_stmts(self: Box<Self>) -> Option<SmallVec<[Stmt; 1]>>[src]Creates zero or more statements. Read more