Enum rustc::mir::Lvalue
[−]
[src]
pub enum Lvalue<'tcx> {
Local(Local),
Static(Box<Static<'tcx>>),
Projection(Box<LvalueProjection<'tcx>>),
}🔬 This is a nightly-only experimental API. (
rustc_private)A path to a value; something that can be evaluated without changing or disturbing program state.
Variants
Local(Local)🔬 This is a nightly-only experimental API. (
rustc_private)local variable
Static(Box<Static<'tcx>>)🔬 This is a nightly-only experimental API. (
rustc_private)static or static mut variable
Projection(Box<LvalueProjection<'tcx>>)🔬 This is a nightly-only experimental API. (
rustc_private)projection out of an lvalue (access a field, deref a pointer, etc)
Methods
impl<'tcx> Lvalue<'tcx>[src]
fn ty<'a, 'gcx>(&self,
mir: &Mir<'tcx>,
tcx: TyCtxt<'a, 'gcx, 'tcx>)
-> LvalueTy<'tcx>
mir: &Mir<'tcx>,
tcx: TyCtxt<'a, 'gcx, 'tcx>)
-> LvalueTy<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private)impl<'tcx> Lvalue<'tcx>[src]
fn field(self, f: Field, ty: Ty<'tcx>) -> Lvalue<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private)fn deref(self) -> Lvalue<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private)fn downcast(self, adt_def: &'tcx AdtDef, variant_index: usize) -> Lvalue<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private)fn index(self, index: Operand<'tcx>) -> Lvalue<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private)fn elem(self, elem: LvalueElem<'tcx>) -> Lvalue<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private)Trait Implementations
impl<'tcx> Clone for Lvalue<'tcx>[src]
fn clone(&self) -> Lvalue<'tcx>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0
Performs copy-assignment from source. Read more
impl<'tcx> PartialEq for Lvalue<'tcx>[src]
fn eq(&self, __arg_0: &Lvalue<'tcx>) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &Lvalue<'tcx>) -> bool
This method tests for !=.
impl<'tcx> Encodable for Lvalue<'tcx>[src]
fn encode<__S: Encoder>(&self, __arg_0: &mut __S) -> Result<(), __S::Error>
🔬 This is a nightly-only experimental API. (rustc_private)
deprecated in favor of rustc-serialize on crates.io
impl<'tcx> Decodable for Lvalue<'tcx>[src]
fn decode<__D: Decoder>(__arg_0: &mut __D) -> Result<Lvalue<'tcx>, __D::Error>
🔬 This is a nightly-only experimental API. (rustc_private)
deprecated in favor of rustc-serialize on crates.io
impl<'tcx> Debug for Lvalue<'tcx>[src]
impl<'tcx> TypeFoldable<'tcx> for Lvalue<'tcx>[src]
fn super_fold_with<'gcx: 'tcx, F: TypeFolder<'gcx, 'tcx>>(&self,
folder: &mut F)
-> Self
folder: &mut F)
-> Self
🔬 This is a nightly-only experimental API. (
rustc_private)fn super_visit_with<V: TypeVisitor<'tcx>>(&self, visitor: &mut V) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private)fn fold_with<'gcx: 'tcx, F: TypeFolder<'gcx, 'tcx>>(&self,
folder: &mut F)
-> Self
folder: &mut F)
-> Self
🔬 This is a nightly-only experimental API. (
rustc_private)fn visit_with<V: TypeVisitor<'tcx>>(&self, visitor: &mut V) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private)fn has_regions_escaping_depth(&self, depth: u32) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private)fn has_escaping_regions(&self) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private)fn has_type_flags(&self, flags: TypeFlags) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private)fn has_projection_types(&self) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private)fn references_error(&self) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private)fn has_param_types(&self) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private)fn has_self_ty(&self) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private)fn has_infer_types(&self) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private)fn needs_infer(&self) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private)fn needs_subst(&self) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private)fn has_re_skol(&self) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private)fn has_closure_types(&self) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private)fn has_erasable_regions(&self) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private)fn is_normalized_for_trans(&self) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private)fn is_global(&self) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private)Indicates whether this value references only 'global' types/lifetimes that are the same regardless of what fn we are in. This is used for caching. Errs on the side of returning false. Read more