Struct rustc::mir::Projection
[−]
[src]
pub struct Projection<'tcx, B, V> {
pub base: B,
pub elem: ProjectionElem<'tcx, V>,
}rustc_private)The Projection data structure defines things of the form B.x
or *B or B[index]. Note that it is parameterized because it is
shared between Constant and Lvalue. See the aliases
LvalueProjection etc below.
Fields
base: B
rustc_private)elem: ProjectionElem<'tcx, V>
rustc_private)Trait Implementations
impl<'tcx, B: Clone, V: Clone> Clone for Projection<'tcx, B, V>[src]
fn clone(&self) -> Projection<'tcx, B, V>
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, B: Debug, V: Debug> Debug for Projection<'tcx, B, V>[src]
impl<'tcx, B: PartialEq, V: PartialEq> PartialEq for Projection<'tcx, B, V>[src]
fn eq(&self, __arg_0: &Projection<'tcx, B, V>) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &Projection<'tcx, B, V>) -> bool
This method tests for !=.
impl<'tcx, B: Eq, V: Eq> Eq for Projection<'tcx, B, V>[src]
impl<'tcx, B: Hash, V: Hash> Hash for Projection<'tcx, B, V>[src]
fn hash<__HBV: Hasher>(&self, __arg_0: &mut __HBV)
Feeds this value into the state given, updating the hasher as necessary.
fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher1.3.0
Feeds a slice of this type into the state provided.
impl<'tcx, B: Encodable, V: Encodable> Encodable for Projection<'tcx, B, V>[src]
fn encode<__SBV: Encoder>(&self,
__arg_0: &mut __SBV)
-> Result<(), __SBV::Error>
__arg_0: &mut __SBV)
-> Result<(), __SBV::Error>
🔬 This is a nightly-only experimental API. (rustc_private)
deprecated in favor of rustc-serialize on crates.io
impl<'tcx, B: Decodable, V: Decodable> Decodable for Projection<'tcx, B, V>[src]
fn decode<__DBV: Decoder>(__arg_0: &mut __DBV)
-> Result<Projection<'tcx, B, V>, __DBV::Error>
-> Result<Projection<'tcx, B, V>, __DBV::Error>
🔬 This is a nightly-only experimental API. (rustc_private)
deprecated in favor of rustc-serialize on crates.io
impl<'tcx, B, V> TypeFoldable<'tcx> for Projection<'tcx, B, V> where B: TypeFoldable<'tcx>,
V: TypeFoldable<'tcx>[src]
V: TypeFoldable<'tcx>
fn super_fold_with<'gcx: 'tcx, F: TypeFolder<'gcx, 'tcx>>(&self,
folder: &mut F)
-> Self
folder: &mut F)
-> Self
rustc_private)fn super_visit_with<Vs: TypeVisitor<'tcx>>(&self, visitor: &mut Vs) -> bool
rustc_private)fn fold_with<'gcx: 'tcx, F: TypeFolder<'gcx, 'tcx>>(&self,
folder: &mut F)
-> Self
folder: &mut F)
-> Self
rustc_private)fn visit_with<V: TypeVisitor<'tcx>>(&self, visitor: &mut V) -> bool
rustc_private)fn has_regions_escaping_depth(&self, depth: u32) -> bool
rustc_private)fn has_escaping_regions(&self) -> bool
rustc_private)fn has_type_flags(&self, flags: TypeFlags) -> bool
rustc_private)fn has_projection_types(&self) -> bool
rustc_private)fn references_error(&self) -> bool
rustc_private)fn has_param_types(&self) -> bool
rustc_private)fn has_self_ty(&self) -> bool
rustc_private)fn has_infer_types(&self) -> bool
rustc_private)fn needs_infer(&self) -> bool
rustc_private)fn needs_subst(&self) -> bool
rustc_private)fn has_re_skol(&self) -> bool
rustc_private)fn has_closure_types(&self) -> bool
rustc_private)fn has_erasable_regions(&self) -> bool
rustc_private)fn is_normalized_for_trans(&self) -> bool
rustc_private)fn is_global(&self) -> bool
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