Struct rustc::traits::VtableImplData
[−]
[src]
pub struct VtableImplData<'tcx, N> {
pub impl_def_id: DefId,
pub substs: &'tcx Substs<'tcx>,
pub nested: Vec<N>,
}rustc_private)Identifies a particular impl in the source, along with a set of
substitutions from the impl's type/lifetime parameters. The
nested vector corresponds to the nested obligations attached to
the impl's type parameters.
The type parameter N indicates the type used for "nested
obligations" that are required by the impl. During type check, this
is Obligation, as one might expect. During trans, however, this
is (), because trans only requires a shallow resolution of an
impl, and nested obligations are satisfied later.
Fields
impl_def_id: DefId
rustc_private)substs: &'tcx Substs<'tcx>
rustc_private)nested: Vec<N>
rustc_private)Trait Implementations
impl<'tcx, N: Debug> Debug for VtableImplData<'tcx, N>[src]
impl<'tcx, N: TypeFoldable<'tcx>> TypeFoldable<'tcx> for VtableImplData<'tcx, N>[src]
fn super_fold_with<'gcx: 'tcx, F: TypeFolder<'gcx, 'tcx>>(&self, folder: &mut F) -> Self
fn super_visit_with<V: TypeVisitor<'tcx>>(&self, visitor: &mut V) -> bool
fn fold_with<'gcx: 'tcx, F: TypeFolder<'gcx, 'tcx>>(&self, folder: &mut F) -> Self
fn visit_with<V: TypeVisitor<'tcx>>(&self, visitor: &mut V) -> bool
fn has_regions_escaping_depth(&self, depth: u32) -> bool
fn has_escaping_regions(&self) -> bool
fn has_type_flags(&self, flags: TypeFlags) -> bool
fn has_projection_types(&self) -> bool
fn references_error(&self) -> bool
fn has_param_types(&self) -> bool
fn has_self_ty(&self) -> bool
fn has_infer_types(&self) -> bool
fn needs_infer(&self) -> bool
fn needs_subst(&self) -> bool
fn has_closure_types(&self) -> bool
fn has_erasable_regions(&self) -> bool
fn is_global(&self) -> bool
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
Derived Implementations
impl<'tcx, N: Eq> Eq for VtableImplData<'tcx, N>[src]
impl<'tcx, N: PartialEq> PartialEq for VtableImplData<'tcx, N>[src]
fn eq(&self, __arg_0: &VtableImplData<'tcx, N>) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &VtableImplData<'tcx, N>) -> bool
This method tests for !=.
impl<'tcx, N: Clone> Clone for VtableImplData<'tcx, N>[src]
fn clone(&self) -> VtableImplData<'tcx, N>
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