Enum rustc::mir::tcx::LvalueTy
[−]
[src]
pub enum LvalueTy<'tcx> { Ty { ty: Ty<'tcx>, }, Downcast { adt_def: &'tcx AdtDef, substs: &'tcx Substs<'tcx>, variant_index: usize, }, }
🔬 This is a nightly-only experimental API. (
rustc_private
)Variants
Ty
🔬 This is a nightly-only experimental API. (
rustc_private
)Normal type.
Fields of Ty
ty: Ty<'tcx> | 🔬 This is a nightly-only experimental API. ( rustc_private ) |
Downcast
🔬 This is a nightly-only experimental API. (
rustc_private
)Downcast to a particular variant of an enum.
Fields of Downcast
adt_def: &'tcx AdtDef | 🔬 This is a nightly-only experimental API. ( rustc_private ) |
substs: &'tcx Substs<'tcx> | 🔬 This is a nightly-only experimental API. ( rustc_private ) |
variant_index: usize | 🔬 This is a nightly-only experimental API. ( rustc_private ) |
Methods
impl<'a, 'gcx, 'tcx> LvalueTy<'tcx>
[src]
fn from_ty(ty: Ty<'tcx>) -> LvalueTy<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn to_ty(&self, tcx: TyCtxt<'a, 'gcx, 'tcx>) -> Ty<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn projection_ty(self,
tcx: TyCtxt<'a, 'gcx, 'tcx>,
elem: &LvalueElem<'tcx>)
-> LvalueTy<'tcx>
tcx: TyCtxt<'a, 'gcx, 'tcx>,
elem: &LvalueElem<'tcx>)
-> LvalueTy<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)Trait Implementations
impl<'gcx> TransNormalize<'gcx> for LvalueTy<'gcx>
[src]
fn trans_normalize<'a, 'tcx>(&self, infcx: &InferCtxt<'a, 'gcx, 'tcx>) -> Self
🔬 This is a nightly-only experimental API. (
rustc_private
)impl<'tcx> Copy for LvalueTy<'tcx>
[src]
impl<'tcx> Clone for LvalueTy<'tcx>
[src]
fn clone(&self) -> LvalueTy<'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> Debug for LvalueTy<'tcx>
[src]
impl<'tcx> TypeFoldable<'tcx> for LvalueTy<'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