Trait syntax::ext::build::AstBuilder
[−]
[src]
pub trait AstBuilder { fn path(&self, span: Span, strs: Vec<Ident>) -> Path; fn path_ident(&self, span: Span, id: Ident) -> Path; fn path_global(&self, span: Span, strs: Vec<Ident>) -> Path; fn path_all(
&self,
sp: Span,
global: bool,
idents: Vec<Ident>,
lifetimes: Vec<Lifetime>,
types: Vec<P<Ty>>,
bindings: Vec<TypeBinding>
) -> Path; fn qpath(
&self,
self_type: P<Ty>,
trait_path: Path,
ident: SpannedIdent
) -> (QSelf, Path); fn qpath_all(
&self,
self_type: P<Ty>,
trait_path: Path,
ident: SpannedIdent,
lifetimes: Vec<Lifetime>,
types: Vec<P<Ty>>,
bindings: Vec<TypeBinding>
) -> (QSelf, Path); fn ty_mt(&self, ty: P<Ty>, mutbl: Mutability) -> MutTy; fn ty(&self, span: Span, ty: TyKind) -> P<Ty>; fn ty_path(&self, path: Path) -> P<Ty>; fn ty_ident(&self, span: Span, idents: Ident) -> P<Ty>; fn ty_rptr(
&self,
span: Span,
ty: P<Ty>,
lifetime: Option<Lifetime>,
mutbl: Mutability
) -> P<Ty>; fn ty_ptr(&self, span: Span, ty: P<Ty>, mutbl: Mutability) -> P<Ty>; fn ty_option(&self, ty: P<Ty>) -> P<Ty>; fn ty_infer(&self, sp: Span) -> P<Ty>; fn typaram(
&self,
span: Span,
id: Ident,
attrs: Vec<Attribute>,
bounds: TyParamBounds,
default: Option<P<Ty>>
) -> TyParam; fn trait_ref(&self, path: Path) -> TraitRef; fn poly_trait_ref(&self, span: Span, path: Path) -> PolyTraitRef; fn typarambound(&self, path: Path) -> TyParamBound; fn lifetime(&self, span: Span, ident: Ident) -> Lifetime; fn lifetime_def(
&self,
span: Span,
ident: Ident,
attrs: Vec<Attribute>,
bounds: Vec<Lifetime>
) -> LifetimeDef; fn stmt_expr(&self, expr: P<Expr>) -> Stmt; fn stmt_semi(&self, expr: P<Expr>) -> Stmt; fn stmt_let(&self, sp: Span, mutbl: bool, ident: Ident, ex: P<Expr>) -> Stmt; fn stmt_let_typed(
&self,
sp: Span,
mutbl: bool,
ident: Ident,
typ: P<Ty>,
ex: P<Expr>
) -> Stmt; fn stmt_let_type_only(&self, span: Span, ty: P<Ty>) -> Stmt; fn stmt_item(&self, sp: Span, item: P<Item>) -> Stmt; fn block(&self, span: Span, stmts: Vec<Stmt>) -> P<Block>; fn block_expr(&self, expr: P<Expr>) -> P<Block>; fn expr(&self, span: Span, node: ExprKind) -> P<Expr>; fn expr_path(&self, path: Path) -> P<Expr>; fn expr_qpath(&self, span: Span, qself: QSelf, path: Path) -> P<Expr>; fn expr_ident(&self, span: Span, id: Ident) -> P<Expr>; fn expr_self(&self, span: Span) -> P<Expr>; fn expr_binary(
&self,
sp: Span,
op: BinOpKind,
lhs: P<Expr>,
rhs: P<Expr>
) -> P<Expr>; fn expr_deref(&self, sp: Span, e: P<Expr>) -> P<Expr>; fn expr_unary(&self, sp: Span, op: UnOp, e: P<Expr>) -> P<Expr>; fn expr_addr_of(&self, sp: Span, e: P<Expr>) -> P<Expr>; fn expr_mut_addr_of(&self, sp: Span, e: P<Expr>) -> P<Expr>; fn expr_field_access(
&self,
span: Span,
expr: P<Expr>,
ident: Ident
) -> P<Expr>; fn expr_tup_field_access(
&self,
sp: Span,
expr: P<Expr>,
idx: usize
) -> P<Expr>; fn expr_call(
&self,
span: Span,
expr: P<Expr>,
args: Vec<P<Expr>>
) -> P<Expr>; fn expr_call_ident(
&self,
span: Span,
id: Ident,
args: Vec<P<Expr>>
) -> P<Expr>; fn expr_call_global(
&self,
sp: Span,
fn_path: Vec<Ident>,
args: Vec<P<Expr>>
) -> P<Expr>; fn expr_method_call(
&self,
span: Span,
expr: P<Expr>,
ident: Ident,
args: Vec<P<Expr>>
) -> P<Expr>; fn expr_block(&self, b: P<Block>) -> P<Expr>; fn expr_cast(&self, sp: Span, expr: P<Expr>, ty: P<Ty>) -> P<Expr>; fn field_imm(&self, span: Span, name: Ident, e: P<Expr>) -> Field; fn expr_struct(&self, span: Span, path: Path, fields: Vec<Field>) -> P<Expr>; fn expr_struct_ident(
&self,
span: Span,
id: Ident,
fields: Vec<Field>
) -> P<Expr>; fn expr_lit(&self, sp: Span, lit: LitKind) -> P<Expr>; fn expr_usize(&self, span: Span, i: usize) -> P<Expr>; fn expr_isize(&self, sp: Span, i: isize) -> P<Expr>; fn expr_u8(&self, sp: Span, u: u8) -> P<Expr>; fn expr_u32(&self, sp: Span, u: u32) -> P<Expr>; fn expr_bool(&self, sp: Span, value: bool) -> P<Expr>; fn expr_vec(&self, sp: Span, exprs: Vec<P<Expr>>) -> P<Expr>; fn expr_vec_ng(&self, sp: Span) -> P<Expr>; fn expr_vec_slice(&self, sp: Span, exprs: Vec<P<Expr>>) -> P<Expr>; fn expr_str(&self, sp: Span, s: Symbol) -> P<Expr>; fn expr_some(&self, sp: Span, expr: P<Expr>) -> P<Expr>; fn expr_none(&self, sp: Span) -> P<Expr>; fn expr_break(&self, sp: Span) -> P<Expr>; fn expr_tuple(&self, sp: Span, exprs: Vec<P<Expr>>) -> P<Expr>; fn expr_fail(&self, span: Span, msg: Symbol) -> P<Expr>; fn expr_unreachable(&self, span: Span) -> P<Expr>; fn expr_ok(&self, span: Span, expr: P<Expr>) -> P<Expr>; fn expr_err(&self, span: Span, expr: P<Expr>) -> P<Expr>; fn expr_try(&self, span: Span, head: P<Expr>) -> P<Expr>; fn pat(&self, span: Span, pat: PatKind) -> P<Pat>; fn pat_wild(&self, span: Span) -> P<Pat>; fn pat_lit(&self, span: Span, expr: P<Expr>) -> P<Pat>; fn pat_ident(&self, span: Span, ident: Ident) -> P<Pat>; fn pat_ident_binding_mode(
&self,
span: Span,
ident: Ident,
bm: BindingMode
) -> P<Pat>; fn pat_path(&self, span: Span, path: Path) -> P<Pat>; fn pat_tuple_struct(
&self,
span: Span,
path: Path,
subpats: Vec<P<Pat>>
) -> P<Pat>; fn pat_struct(
&self,
span: Span,
path: Path,
field_pats: Vec<Spanned<FieldPat>>
) -> P<Pat>; fn pat_tuple(&self, span: Span, pats: Vec<P<Pat>>) -> P<Pat>; fn pat_some(&self, span: Span, pat: P<Pat>) -> P<Pat>; fn pat_none(&self, span: Span) -> P<Pat>; fn pat_ok(&self, span: Span, pat: P<Pat>) -> P<Pat>; fn pat_err(&self, span: Span, pat: P<Pat>) -> P<Pat>; fn arm(&self, span: Span, pats: Vec<P<Pat>>, expr: P<Expr>) -> Arm; fn arm_unreachable(&self, span: Span) -> Arm; fn expr_match(&self, span: Span, arg: P<Expr>, arms: Vec<Arm>) -> P<Expr>; fn expr_if(
&self,
span: Span,
cond: P<Expr>,
then: P<Expr>,
els: Option<P<Expr>>
) -> P<Expr>; fn expr_loop(&self, span: Span, block: P<Block>) -> P<Expr>; fn lambda_fn_decl(
&self,
span: Span,
fn_decl: P<FnDecl>,
body: P<Expr>,
fn_decl_span: Span
) -> P<Expr>; fn lambda(&self, span: Span, ids: Vec<Ident>, body: P<Expr>) -> P<Expr>; fn lambda0(&self, span: Span, body: P<Expr>) -> P<Expr>; fn lambda1(&self, span: Span, body: P<Expr>, ident: Ident) -> P<Expr>; fn lambda_stmts(
&self,
span: Span,
ids: Vec<Ident>,
blk: Vec<Stmt>
) -> P<Expr>; fn lambda_stmts_0(&self, span: Span, stmts: Vec<Stmt>) -> P<Expr>; fn lambda_stmts_1(
&self,
span: Span,
stmts: Vec<Stmt>,
ident: Ident
) -> P<Expr>; fn item(
&self,
span: Span,
name: Ident,
attrs: Vec<Attribute>,
node: ItemKind
) -> P<Item>; fn arg(&self, span: Span, name: Ident, ty: P<Ty>) -> Arg; fn fn_decl(&self, inputs: Vec<Arg>, output: P<Ty>) -> P<FnDecl>; fn item_fn_poly(
&self,
span: Span,
name: Ident,
inputs: Vec<Arg>,
output: P<Ty>,
generics: Generics,
body: P<Block>
) -> P<Item>; fn item_fn(
&self,
span: Span,
name: Ident,
inputs: Vec<Arg>,
output: P<Ty>,
body: P<Block>
) -> P<Item>; fn variant(&self, span: Span, name: Ident, tys: Vec<P<Ty>>) -> Variant; fn item_enum_poly(
&self,
span: Span,
name: Ident,
enum_definition: EnumDef,
generics: Generics
) -> P<Item>; fn item_enum(&self, span: Span, name: Ident, enum_def: EnumDef) -> P<Item>; fn item_struct_poly(
&self,
span: Span,
name: Ident,
struct_def: VariantData,
generics: Generics
) -> P<Item>; fn item_struct(
&self,
span: Span,
name: Ident,
struct_def: VariantData
) -> P<Item>; fn item_mod(
&self,
span: Span,
inner_span: Span,
name: Ident,
attrs: Vec<Attribute>,
items: Vec<P<Item>>
) -> P<Item>; fn item_extern_crate(&self, span: Span, name: Ident) -> P<Item>; fn item_static(
&self,
span: Span,
name: Ident,
ty: P<Ty>,
mutbl: Mutability,
expr: P<Expr>
) -> P<Item>; fn item_const(
&self,
span: Span,
name: Ident,
ty: P<Ty>,
expr: P<Expr>
) -> P<Item>; fn item_ty_poly(
&self,
span: Span,
name: Ident,
ty: P<Ty>,
generics: Generics
) -> P<Item>; fn item_ty(&self, span: Span, name: Ident, ty: P<Ty>) -> P<Item>; fn attribute(&self, sp: Span, mi: MetaItem) -> Attribute; fn meta_word(&self, sp: Span, w: Name) -> MetaItem; fn meta_list_item_word(&self, sp: Span, w: Name) -> NestedMetaItem; fn meta_list(
&self,
sp: Span,
name: Name,
mis: Vec<NestedMetaItem>
) -> MetaItem; fn meta_name_value(&self, sp: Span, name: Name, value: LitKind) -> MetaItem; fn item_use(&self, sp: Span, vis: Visibility, vp: P<UseTree>) -> P<Item>; fn item_use_simple(&self, sp: Span, vis: Visibility, path: Path) -> P<Item>; fn item_use_simple_(
&self,
sp: Span,
vis: Visibility,
ident: Ident,
path: Path
) -> P<Item>; fn item_use_list(
&self,
sp: Span,
vis: Visibility,
path: Vec<Ident>,
imports: &[Ident]
) -> P<Item>; fn item_use_glob(
&self,
sp: Span,
vis: Visibility,
path: Vec<Ident>
) -> P<Item>; }
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Required Methods
fn path(&self, span: Span, strs: Vec<Ident>) -> Path
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn path_ident(&self, span: Span, id: Ident) -> Path
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn path_global(&self, span: Span, strs: Vec<Ident>) -> Path
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn path_all(
&self,
sp: Span,
global: bool,
idents: Vec<Ident>,
lifetimes: Vec<Lifetime>,
types: Vec<P<Ty>>,
bindings: Vec<TypeBinding>
) -> Path
&self,
sp: Span,
global: bool,
idents: Vec<Ident>,
lifetimes: Vec<Lifetime>,
types: Vec<P<Ty>>,
bindings: Vec<TypeBinding>
) -> Path
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn qpath(
&self,
self_type: P<Ty>,
trait_path: Path,
ident: SpannedIdent
) -> (QSelf, Path)
&self,
self_type: P<Ty>,
trait_path: Path,
ident: SpannedIdent
) -> (QSelf, Path)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn qpath_all(
&self,
self_type: P<Ty>,
trait_path: Path,
ident: SpannedIdent,
lifetimes: Vec<Lifetime>,
types: Vec<P<Ty>>,
bindings: Vec<TypeBinding>
) -> (QSelf, Path)
&self,
self_type: P<Ty>,
trait_path: Path,
ident: SpannedIdent,
lifetimes: Vec<Lifetime>,
types: Vec<P<Ty>>,
bindings: Vec<TypeBinding>
) -> (QSelf, Path)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn ty_mt(&self, ty: P<Ty>, mutbl: Mutability) -> MutTy
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn ty(&self, span: Span, ty: TyKind) -> P<Ty>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn ty_path(&self, path: Path) -> P<Ty>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn ty_ident(&self, span: Span, idents: Ident) -> P<Ty>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn ty_rptr(
&self,
span: Span,
ty: P<Ty>,
lifetime: Option<Lifetime>,
mutbl: Mutability
) -> P<Ty>
&self,
span: Span,
ty: P<Ty>,
lifetime: Option<Lifetime>,
mutbl: Mutability
) -> P<Ty>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn ty_ptr(&self, span: Span, ty: P<Ty>, mutbl: Mutability) -> P<Ty>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn ty_option(&self, ty: P<Ty>) -> P<Ty>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn ty_infer(&self, sp: Span) -> P<Ty>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn typaram(
&self,
span: Span,
id: Ident,
attrs: Vec<Attribute>,
bounds: TyParamBounds,
default: Option<P<Ty>>
) -> TyParam
&self,
span: Span,
id: Ident,
attrs: Vec<Attribute>,
bounds: TyParamBounds,
default: Option<P<Ty>>
) -> TyParam
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn trait_ref(&self, path: Path) -> TraitRef
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn poly_trait_ref(&self, span: Span, path: Path) -> PolyTraitRef
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn typarambound(&self, path: Path) -> TyParamBound
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lifetime(&self, span: Span, ident: Ident) -> Lifetime
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lifetime_def(
&self,
span: Span,
ident: Ident,
attrs: Vec<Attribute>,
bounds: Vec<Lifetime>
) -> LifetimeDef
&self,
span: Span,
ident: Ident,
attrs: Vec<Attribute>,
bounds: Vec<Lifetime>
) -> LifetimeDef
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn stmt_expr(&self, expr: P<Expr>) -> Stmt
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn stmt_semi(&self, expr: P<Expr>) -> Stmt
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn stmt_let(&self, sp: Span, mutbl: bool, ident: Ident, ex: P<Expr>) -> Stmt
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn stmt_let_typed(
&self,
sp: Span,
mutbl: bool,
ident: Ident,
typ: P<Ty>,
ex: P<Expr>
) -> Stmt
&self,
sp: Span,
mutbl: bool,
ident: Ident,
typ: P<Ty>,
ex: P<Expr>
) -> Stmt
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn stmt_let_type_only(&self, span: Span, ty: P<Ty>) -> Stmt
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn stmt_item(&self, sp: Span, item: P<Item>) -> Stmt
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn block(&self, span: Span, stmts: Vec<Stmt>) -> P<Block>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn block_expr(&self, expr: P<Expr>) -> P<Block>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr(&self, span: Span, node: ExprKind) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_path(&self, path: Path) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_qpath(&self, span: Span, qself: QSelf, path: Path) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_ident(&self, span: Span, id: Ident) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_self(&self, span: Span) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_binary(
&self,
sp: Span,
op: BinOpKind,
lhs: P<Expr>,
rhs: P<Expr>
) -> P<Expr>
&self,
sp: Span,
op: BinOpKind,
lhs: P<Expr>,
rhs: P<Expr>
) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_deref(&self, sp: Span, e: P<Expr>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_unary(&self, sp: Span, op: UnOp, e: P<Expr>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_addr_of(&self, sp: Span, e: P<Expr>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_mut_addr_of(&self, sp: Span, e: P<Expr>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_field_access(&self, span: Span, expr: P<Expr>, ident: Ident) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_tup_field_access(&self, sp: Span, expr: P<Expr>, idx: usize) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_call(&self, span: Span, expr: P<Expr>, args: Vec<P<Expr>>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_call_ident(&self, span: Span, id: Ident, args: Vec<P<Expr>>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_call_global(
&self,
sp: Span,
fn_path: Vec<Ident>,
args: Vec<P<Expr>>
) -> P<Expr>
&self,
sp: Span,
fn_path: Vec<Ident>,
args: Vec<P<Expr>>
) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_method_call(
&self,
span: Span,
expr: P<Expr>,
ident: Ident,
args: Vec<P<Expr>>
) -> P<Expr>
&self,
span: Span,
expr: P<Expr>,
ident: Ident,
args: Vec<P<Expr>>
) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_block(&self, b: P<Block>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_cast(&self, sp: Span, expr: P<Expr>, ty: P<Ty>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn field_imm(&self, span: Span, name: Ident, e: P<Expr>) -> Field
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_struct(&self, span: Span, path: Path, fields: Vec<Field>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_struct_ident(
&self,
span: Span,
id: Ident,
fields: Vec<Field>
) -> P<Expr>
&self,
span: Span,
id: Ident,
fields: Vec<Field>
) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_lit(&self, sp: Span, lit: LitKind) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_usize(&self, span: Span, i: usize) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_isize(&self, sp: Span, i: isize) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_u8(&self, sp: Span, u: u8) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_u32(&self, sp: Span, u: u32) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_bool(&self, sp: Span, value: bool) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_vec(&self, sp: Span, exprs: Vec<P<Expr>>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_vec_ng(&self, sp: Span) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_vec_slice(&self, sp: Span, exprs: Vec<P<Expr>>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_str(&self, sp: Span, s: Symbol) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_some(&self, sp: Span, expr: P<Expr>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_none(&self, sp: Span) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_break(&self, sp: Span) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_tuple(&self, sp: Span, exprs: Vec<P<Expr>>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_fail(&self, span: Span, msg: Symbol) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_unreachable(&self, span: Span) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_ok(&self, span: Span, expr: P<Expr>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_err(&self, span: Span, expr: P<Expr>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_try(&self, span: Span, head: P<Expr>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn pat(&self, span: Span, pat: PatKind) -> P<Pat>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn pat_wild(&self, span: Span) -> P<Pat>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn pat_lit(&self, span: Span, expr: P<Expr>) -> P<Pat>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn pat_ident(&self, span: Span, ident: Ident) -> P<Pat>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn pat_ident_binding_mode(
&self,
span: Span,
ident: Ident,
bm: BindingMode
) -> P<Pat>
&self,
span: Span,
ident: Ident,
bm: BindingMode
) -> P<Pat>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn pat_path(&self, span: Span, path: Path) -> P<Pat>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn pat_tuple_struct(
&self,
span: Span,
path: Path,
subpats: Vec<P<Pat>>
) -> P<Pat>
&self,
span: Span,
path: Path,
subpats: Vec<P<Pat>>
) -> P<Pat>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn pat_struct(
&self,
span: Span,
path: Path,
field_pats: Vec<Spanned<FieldPat>>
) -> P<Pat>
&self,
span: Span,
path: Path,
field_pats: Vec<Spanned<FieldPat>>
) -> P<Pat>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn pat_tuple(&self, span: Span, pats: Vec<P<Pat>>) -> P<Pat>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn pat_some(&self, span: Span, pat: P<Pat>) -> P<Pat>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn pat_none(&self, span: Span) -> P<Pat>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn pat_ok(&self, span: Span, pat: P<Pat>) -> P<Pat>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn pat_err(&self, span: Span, pat: P<Pat>) -> P<Pat>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn arm(&self, span: Span, pats: Vec<P<Pat>>, expr: P<Expr>) -> Arm
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn arm_unreachable(&self, span: Span) -> Arm
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_match(&self, span: Span, arg: P<Expr>, arms: Vec<Arm>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_if(
&self,
span: Span,
cond: P<Expr>,
then: P<Expr>,
els: Option<P<Expr>>
) -> P<Expr>
&self,
span: Span,
cond: P<Expr>,
then: P<Expr>,
els: Option<P<Expr>>
) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn expr_loop(&self, span: Span, block: P<Block>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lambda_fn_decl(
&self,
span: Span,
fn_decl: P<FnDecl>,
body: P<Expr>,
fn_decl_span: Span
) -> P<Expr>
&self,
span: Span,
fn_decl: P<FnDecl>,
body: P<Expr>,
fn_decl_span: Span
) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lambda(&self, span: Span, ids: Vec<Ident>, body: P<Expr>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lambda0(&self, span: Span, body: P<Expr>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lambda1(&self, span: Span, body: P<Expr>, ident: Ident) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lambda_stmts(&self, span: Span, ids: Vec<Ident>, blk: Vec<Stmt>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lambda_stmts_0(&self, span: Span, stmts: Vec<Stmt>) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lambda_stmts_1(&self, span: Span, stmts: Vec<Stmt>, ident: Ident) -> P<Expr>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item(
&self,
span: Span,
name: Ident,
attrs: Vec<Attribute>,
node: ItemKind
) -> P<Item>
&self,
span: Span,
name: Ident,
attrs: Vec<Attribute>,
node: ItemKind
) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn arg(&self, span: Span, name: Ident, ty: P<Ty>) -> Arg
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn fn_decl(&self, inputs: Vec<Arg>, output: P<Ty>) -> P<FnDecl>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item_fn_poly(
&self,
span: Span,
name: Ident,
inputs: Vec<Arg>,
output: P<Ty>,
generics: Generics,
body: P<Block>
) -> P<Item>
&self,
span: Span,
name: Ident,
inputs: Vec<Arg>,
output: P<Ty>,
generics: Generics,
body: P<Block>
) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item_fn(
&self,
span: Span,
name: Ident,
inputs: Vec<Arg>,
output: P<Ty>,
body: P<Block>
) -> P<Item>
&self,
span: Span,
name: Ident,
inputs: Vec<Arg>,
output: P<Ty>,
body: P<Block>
) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn variant(&self, span: Span, name: Ident, tys: Vec<P<Ty>>) -> Variant
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item_enum_poly(
&self,
span: Span,
name: Ident,
enum_definition: EnumDef,
generics: Generics
) -> P<Item>
&self,
span: Span,
name: Ident,
enum_definition: EnumDef,
generics: Generics
) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item_enum(&self, span: Span, name: Ident, enum_def: EnumDef) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item_struct_poly(
&self,
span: Span,
name: Ident,
struct_def: VariantData,
generics: Generics
) -> P<Item>
&self,
span: Span,
name: Ident,
struct_def: VariantData,
generics: Generics
) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item_struct(
&self,
span: Span,
name: Ident,
struct_def: VariantData
) -> P<Item>
&self,
span: Span,
name: Ident,
struct_def: VariantData
) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item_mod(
&self,
span: Span,
inner_span: Span,
name: Ident,
attrs: Vec<Attribute>,
items: Vec<P<Item>>
) -> P<Item>
&self,
span: Span,
inner_span: Span,
name: Ident,
attrs: Vec<Attribute>,
items: Vec<P<Item>>
) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item_extern_crate(&self, span: Span, name: Ident) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item_static(
&self,
span: Span,
name: Ident,
ty: P<Ty>,
mutbl: Mutability,
expr: P<Expr>
) -> P<Item>
&self,
span: Span,
name: Ident,
ty: P<Ty>,
mutbl: Mutability,
expr: P<Expr>
) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item_const(
&self,
span: Span,
name: Ident,
ty: P<Ty>,
expr: P<Expr>
) -> P<Item>
&self,
span: Span,
name: Ident,
ty: P<Ty>,
expr: P<Expr>
) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item_ty_poly(
&self,
span: Span,
name: Ident,
ty: P<Ty>,
generics: Generics
) -> P<Item>
&self,
span: Span,
name: Ident,
ty: P<Ty>,
generics: Generics
) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item_ty(&self, span: Span, name: Ident, ty: P<Ty>) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn attribute(&self, sp: Span, mi: MetaItem) -> Attribute
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn meta_word(&self, sp: Span, w: Name) -> MetaItem
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn meta_list_item_word(&self, sp: Span, w: Name) -> NestedMetaItem
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn meta_list(&self, sp: Span, name: Name, mis: Vec<NestedMetaItem>) -> MetaItem
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn meta_name_value(&self, sp: Span, name: Name, value: LitKind) -> MetaItem
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item_use(&self, sp: Span, vis: Visibility, vp: P<UseTree>) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item_use_simple(&self, sp: Span, vis: Visibility, path: Path) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item_use_simple_(
&self,
sp: Span,
vis: Visibility,
ident: Ident,
path: Path
) -> P<Item>
&self,
sp: Span,
vis: Visibility,
ident: Ident,
path: Path
) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item_use_list(
&self,
sp: Span,
vis: Visibility,
path: Vec<Ident>,
imports: &[Ident]
) -> P<Item>
&self,
sp: Span,
vis: Visibility,
path: Vec<Ident>,
imports: &[Ident]
) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn item_use_glob(&self, sp: Span, vis: Visibility, path: Vec<Ident>) -> P<Item>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Implementors
impl<'a> AstBuilder for ExtCtxt<'a>