Struct rustc::traits::VtableObjectData
[−]
[src]
pub struct VtableObjectData<'tcx, N> {
pub upcast_trait_ref: PolyTraitRef<'tcx>,
pub vtable_base: usize,
pub nested: Vec<N>,
}Unstable (
rustc_private)A vtable for some object-safe trait Foo automatically derived
for the object type Foo.
Fields
upcast_trait_ref: PolyTraitRef<'tcx>
Unstable (
rustc_private)Foo upcast to the obligation trait. This will be some supertrait of Foo.
vtable_base: usize
Unstable (
rustc_private)The vtable is formed by concatenating together the method lists of
the base object trait and all supertraits; this is the start of
upcast_trait_ref's methods in that vtable.
nested: Vec<N>
Unstable (
rustc_private)Trait Implementations
impl<'tcx, N: Debug> Debug for VtableObjectData<'tcx, N>[src]
impl<'tcx, N: TypeFoldable<'tcx>> TypeFoldable<'tcx> for VtableObjectData<'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: Clone> Clone for VtableObjectData<'tcx, N>[src]
fn clone(&self) -> VtableObjectData<'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
impl<'tcx, N: Eq> Eq for VtableObjectData<'tcx, N>[src]
impl<'tcx, N: PartialEq> PartialEq for VtableObjectData<'tcx, N>[src]
fn eq(&self, __arg_0: &VtableObjectData<'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: &VtableObjectData<'tcx, N>) -> bool
This method tests for !=.