Struct rustc::ty::ImplHeader
[−]
[src]
pub struct ImplHeader<'tcx> { pub impl_def_id: DefId, pub self_ty: Ty<'tcx>, pub trait_ref: Option<TraitRef<'tcx>>, pub predicates: Vec<Predicate<'tcx>>, }
🔬 This is a nightly-only experimental API. (
rustc_private
)The "header" of an impl is everything outside the body: a Self type, a trait ref (in the case of a trait impl), and a set of predicates (from the bounds/where clauses).
Fields
impl_def_id: DefId
🔬 This is a nightly-only experimental API. (
rustc_private
)self_ty: Ty<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)trait_ref: Option<TraitRef<'tcx>>
🔬 This is a nightly-only experimental API. (
rustc_private
)predicates: Vec<Predicate<'tcx>>
🔬 This is a nightly-only experimental API. (
rustc_private
)Methods
impl<'a, 'gcx, 'tcx> ImplHeader<'tcx>
[src]
fn with_fresh_ty_vars(selcx: &mut SelectionContext<'a, 'gcx, 'tcx>,
impl_def_id: DefId)
-> ImplHeader<'tcx>
impl_def_id: DefId)
-> ImplHeader<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)Trait Implementations
impl<'tcx> TypeFoldable<'tcx> for ImplHeader<'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 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 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
impl<'tcx> Clone for ImplHeader<'tcx>
[src]
fn clone(&self) -> ImplHeader<'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 ImplHeader<'tcx>
[src]
fn eq(&self, __arg_0: &ImplHeader<'tcx>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &ImplHeader<'tcx>) -> bool
This method tests for !=
.
impl<'tcx> Eq for ImplHeader<'tcx>
[src]
impl<'tcx> Hash for ImplHeader<'tcx>
[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
Feeds this value into the state given, updating the hasher as necessary.
fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
1.3.0
Feeds a slice of this type into the state provided.