Struct rustc_middle::ty::Generics [−][src]
pub struct Generics {
pub parent: Option<DefId>,
pub parent_count: usize,
pub params: Vec<GenericParamDef>,
pub param_def_id_to_index: FxHashMap<DefId, u32>,
pub has_self: bool,
pub has_late_bound_regions: Option<Span>,
}Expand description
Information about the formal type/lifetime parameters associated
with an item or method. Analogous to hir::Generics.
The ordering of parameters is the same as in Subst (excluding child generics):
Self (optionally), Lifetime params…, Type params…
Fields
parent: Option<DefId>parent_count: usizeparams: Vec<GenericParamDef>param_def_id_to_index: FxHashMap<DefId, u32>Expand description
Reverse map to the index field of each GenericParamDef.
has_self: boolhas_late_bound_regions: Option<Span>Implementations
impl<'tcx> Generics[src]
impl<'tcx> Generics[src]pub fn count(&self) -> usize[src]
pub fn own_counts(&self) -> GenericParamCount[src]
pub fn own_defaults(&self) -> GenericParamCount[src]
pub fn requires_monomorphization(&self, tcx: TyCtxt<'tcx>) -> bool[src]
pub fn own_requires_monomorphization(&self) -> bool[src]
pub fn param_at(
&'tcx self,
param_index: usize,
tcx: TyCtxt<'tcx>
) -> &'tcx GenericParamDef[src]
pub fn param_at(
&'tcx self,
param_index: usize,
tcx: TyCtxt<'tcx>
) -> &'tcx GenericParamDef[src]Returns the GenericParamDef with the given index.
pub fn region_param(
&'tcx self,
param: &EarlyBoundRegion,
tcx: TyCtxt<'tcx>
) -> &'tcx GenericParamDef[src]
pub fn region_param(
&'tcx self,
param: &EarlyBoundRegion,
tcx: TyCtxt<'tcx>
) -> &'tcx GenericParamDef[src]Returns the GenericParamDef associated with this EarlyBoundRegion.
pub fn type_param(
&'tcx self,
param: &ParamTy,
tcx: TyCtxt<'tcx>
) -> &'tcx GenericParamDef[src]
pub fn type_param(
&'tcx self,
param: &ParamTy,
tcx: TyCtxt<'tcx>
) -> &'tcx GenericParamDef[src]Returns the GenericParamDef associated with this ParamTy.
pub fn const_param(
&'tcx self,
param: &ParamConst,
tcx: TyCtxt<'tcx>
) -> &GenericParamDef[src]
pub fn const_param(
&'tcx self,
param: &ParamConst,
tcx: TyCtxt<'tcx>
) -> &GenericParamDef[src]Returns the GenericParamDef associated with this ParamConst.
Trait Implementations
impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Generics[src]
impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Generics[src]fn hash_stable(
&self,
__hcx: &mut StableHashingContext<'__ctx>,
__hasher: &mut StableHasher
)[src]
&self,
__hcx: &mut StableHashingContext<'__ctx>,
__hasher: &mut StableHasher
)
Auto Trait Implementations
impl RefUnwindSafe for Generics
impl !Send for Generics
impl !Sync for Generics
impl Unpin for Generics
impl UnwindSafe for Generics
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> MaybeResult<T> for T[src]
impl<T> MaybeResult<T> for T[src]impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> WithConstness for T[src]
impl<T> WithConstness for T[src]fn with_constness(self, constness: Constness) -> ConstnessAnd<Self>[src]
fn with_const(self) -> ConstnessAnd<Self>[src]
fn without_const(self) -> ConstnessAnd<Self>[src]
impl<'a, T> Captures<'a> for T where
T: ?Sized, [src]
T: ?Sized,