[−][src]Struct rustc_middle::ty::Generics

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>,
}

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>

Reverse map to the index field of each GenericParamDef.

has_self: boolhas_late_bound_regions: Option<Span>

Implementations

impl<'tcx> Generics[src]

pub fn count(&self) -> usize[src]

pub fn own_counts(&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]

Returns the GenericParamDef with the given index.

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]

Returns the GenericParamDef associated with this ParamTy.

pub fn const_param(
    &'tcx self,
    param: &ParamConst,
    tcx: TyCtxt<'tcx>
) -> &GenericParamDef
[src]

Returns the GenericParamDef associated with this ParamConst.

Trait Implementations

impl Clone for Generics[src]

impl Debug for Generics[src]

impl<'tcx, __D: TyDecoder<'tcx>> Decodable<__D> for Generics[src]

impl<'tcx, __E: TyEncoder<'tcx>> Encodable<__E> for Generics[src]

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Generics[src]

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> Any for T where
    T: 'static + ?Sized, 
[src]

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

impl<'a, T> Captures<'a> for T where
    T: ?Sized, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> MaybeResult<T> for T[src]

type Error = !

impl<T> ToOwned for T where
    T: Clone, 
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> WithConstness for T[src]