Enum rustc_mir::hair::ExprKind [−][src]
pub enum ExprKind<'tcx> { Scope { region_scope: Scope, lint_level: LintLevel, value: ExprRef<'tcx>, }, Box { value: ExprRef<'tcx>, }, Call { ty: Ty<'tcx>, fun: ExprRef<'tcx>, args: Vec<ExprRef<'tcx>>, }, Deref { arg: ExprRef<'tcx>, }, Binary { op: BinOp, lhs: ExprRef<'tcx>, rhs: ExprRef<'tcx>, }, LogicalOp { op: LogicalOp, lhs: ExprRef<'tcx>, rhs: ExprRef<'tcx>, }, Unary { op: UnOp, arg: ExprRef<'tcx>, }, Cast { source: ExprRef<'tcx>, }, Use { source: ExprRef<'tcx>, }, NeverToAny { source: ExprRef<'tcx>, }, ReifyFnPointer { source: ExprRef<'tcx>, }, ClosureFnPointer { source: ExprRef<'tcx>, }, UnsafeFnPointer { source: ExprRef<'tcx>, }, Unsize { source: ExprRef<'tcx>, }, If { condition: ExprRef<'tcx>, then: ExprRef<'tcx>, otherwise: Option<ExprRef<'tcx>>, }, Loop { condition: Option<ExprRef<'tcx>>, body: ExprRef<'tcx>, }, Match { discriminant: ExprRef<'tcx>, arms: Vec<Arm<'tcx>>, }, Block { body: &'tcx Block, }, Assign { lhs: ExprRef<'tcx>, rhs: ExprRef<'tcx>, }, AssignOp { op: BinOp, lhs: ExprRef<'tcx>, rhs: ExprRef<'tcx>, }, Field { lhs: ExprRef<'tcx>, name: Field, }, Index { lhs: ExprRef<'tcx>, index: ExprRef<'tcx>, }, VarRef { id: NodeId, }, SelfRef, StaticRef { id: DefId, }, Borrow { region: Region<'tcx>, borrow_kind: BorrowKind, arg: ExprRef<'tcx>, }, Break { label: Scope, value: Option<ExprRef<'tcx>>, }, Continue { label: Scope, }, Return { value: Option<ExprRef<'tcx>>, }, Repeat { value: ExprRef<'tcx>, count: u64, }, Array { fields: Vec<ExprRef<'tcx>>, }, Tuple { fields: Vec<ExprRef<'tcx>>, }, Adt { adt_def: &'tcx AdtDef, variant_index: usize, substs: &'tcx Substs<'tcx>, fields: Vec<FieldExprRef<'tcx>>, base: Option<FruInfo<'tcx>>, }, Closure { closure_id: DefId, substs: UpvarSubsts<'tcx>, upvars: Vec<ExprRef<'tcx>>, movability: Option<GeneratorMovability>, }, Literal { literal: Literal<'tcx>, }, InlineAsm { asm: &'tcx InlineAsm, outputs: Vec<ExprRef<'tcx>>, inputs: Vec<ExprRef<'tcx>>, }, Yield { value: ExprRef<'tcx>, }, }
🔬 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?
Variants
Scope
🔬 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?
Fields of Scope
region_scope: Scope | 🔬 This is a nightly-only experimental API. ( |
lint_level: LintLevel | 🔬 This is a nightly-only experimental API. ( |
value: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
Box
🔬 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?
Fields of Box
value: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
Call
🔬 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?
Fields of Call
ty: Ty<'tcx> | 🔬 This is a nightly-only experimental API. ( |
fun: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
args: Vec<ExprRef<'tcx>> | 🔬 This is a nightly-only experimental API. ( |
Deref
🔬 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?
Fields of Deref
arg: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
Binary
🔬 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?
Fields of Binary
op: BinOp | 🔬 This is a nightly-only experimental API. ( |
lhs: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
rhs: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
LogicalOp
🔬 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?
Fields of LogicalOp
op: LogicalOp | 🔬 This is a nightly-only experimental API. ( |
lhs: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
rhs: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
Unary
🔬 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?
Fields of Unary
op: UnOp | 🔬 This is a nightly-only experimental API. ( |
arg: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
Cast
🔬 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?
Fields of Cast
source: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
Use
🔬 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?
Fields of Use
source: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
NeverToAny
🔬 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?
Fields of NeverToAny
source: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
ReifyFnPointer
🔬 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?
Fields of ReifyFnPointer
source: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
ClosureFnPointer
🔬 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?
Fields of ClosureFnPointer
source: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
UnsafeFnPointer
🔬 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?
Fields of UnsafeFnPointer
source: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
Unsize
🔬 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?
Fields of Unsize
source: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
If
🔬 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?
Fields of If
condition: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
then: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
otherwise: Option<ExprRef<'tcx>> | 🔬 This is a nightly-only experimental API. ( |
Loop
🔬 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?
Fields of Loop
condition: Option<ExprRef<'tcx>> | 🔬 This is a nightly-only experimental API. ( |
body: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
Match
🔬 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?
Fields of Match
discriminant: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
arms: Vec<Arm<'tcx>> | 🔬 This is a nightly-only experimental API. ( |
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?
Fields of Block
body: &'tcx Block | 🔬 This is a nightly-only experimental API. ( |
Assign
🔬 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?
Fields of Assign
lhs: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
rhs: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
AssignOp
🔬 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?
Fields of AssignOp
op: BinOp | 🔬 This is a nightly-only experimental API. ( |
lhs: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
rhs: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
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?
Fields of Field
lhs: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
name: Field | 🔬 This is a nightly-only experimental API. ( |
Index
🔬 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?
Fields of Index
lhs: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
index: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
VarRef
🔬 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?
Fields of VarRef
id: NodeId | 🔬 This is a nightly-only experimental API. ( |
SelfRef
🔬 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?
first argument, used for self in a closure
StaticRef
🔬 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?
Fields of StaticRef
id: DefId | 🔬 This is a nightly-only experimental API. ( |
Borrow
🔬 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?
Fields of Borrow
region: Region<'tcx> | 🔬 This is a nightly-only experimental API. ( |
borrow_kind: BorrowKind | 🔬 This is a nightly-only experimental API. ( |
arg: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
Break
🔬 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?
Fields of Break
label: Scope | 🔬 This is a nightly-only experimental API. ( |
value: Option<ExprRef<'tcx>> | 🔬 This is a nightly-only experimental API. ( |
Continue
🔬 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?
Fields of Continue
label: Scope | 🔬 This is a nightly-only experimental API. ( |
Return
🔬 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?
Fields of Return
value: Option<ExprRef<'tcx>> | 🔬 This is a nightly-only experimental API. ( |
Repeat
🔬 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?
Fields of Repeat
value: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
count: u64 | 🔬 This is a nightly-only experimental API. ( |
Array
🔬 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?
Fields of Array
fields: Vec<ExprRef<'tcx>> | 🔬 This is a nightly-only experimental API. ( |
Tuple
🔬 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?
Fields of Tuple
fields: Vec<ExprRef<'tcx>> | 🔬 This is a nightly-only experimental API. ( |
Adt
🔬 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?
Fields of Adt
adt_def: &'tcx AdtDef | 🔬 This is a nightly-only experimental API. ( |
variant_index: usize | 🔬 This is a nightly-only experimental API. ( |
substs: &'tcx Substs<'tcx> | 🔬 This is a nightly-only experimental API. ( |
fields: Vec<FieldExprRef<'tcx>> | 🔬 This is a nightly-only experimental API. ( |
base: Option<FruInfo<'tcx>> | 🔬 This is a nightly-only experimental API. ( |
Closure
🔬 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?
Fields of Closure
closure_id: DefId | 🔬 This is a nightly-only experimental API. ( |
substs: UpvarSubsts<'tcx> | 🔬 This is a nightly-only experimental API. ( |
upvars: Vec<ExprRef<'tcx>> | 🔬 This is a nightly-only experimental API. ( |
movability: Option<GeneratorMovability> | 🔬 This is a nightly-only experimental API. ( |
Literal
🔬 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?
Fields of Literal
literal: Literal<'tcx> | 🔬 This is a nightly-only experimental API. ( |
InlineAsm
🔬 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?
Fields of InlineAsm
asm: &'tcx InlineAsm | 🔬 This is a nightly-only experimental API. ( |
outputs: Vec<ExprRef<'tcx>> | 🔬 This is a nightly-only experimental API. ( |
inputs: Vec<ExprRef<'tcx>> | 🔬 This is a nightly-only experimental API. ( |
Yield
🔬 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?
Fields of Yield
value: ExprRef<'tcx> | 🔬 This is a nightly-only experimental API. ( |
Trait Implementations
impl<'tcx> Clone for ExprKind<'tcx>
[src]
impl<'tcx> Clone for ExprKind<'tcx>
fn clone(&self) -> ExprKind<'tcx>
[src]
fn clone(&self) -> ExprKind<'tcx>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<'tcx> Debug for ExprKind<'tcx>
[src]
impl<'tcx> Debug for ExprKind<'tcx>