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>Reverse map to the index field of each GenericParamDef.
has_self: boolhas_late_bound_regions: Option<Span>Implementations
Returns the GenericParamDef with the given index.
pub fn region_param(
&'tcx self,
param: &EarlyBoundRegion,
tcx: TyCtxt<'tcx>
) -> &'tcx GenericParamDef
pub fn region_param(
&'tcx self,
param: &EarlyBoundRegion,
tcx: TyCtxt<'tcx>
) -> &'tcx GenericParamDef
Returns the GenericParamDef associated with this EarlyBoundRegion.
Returns the GenericParamDef associated with this ParamTy.
Returns the GenericParamDef associated with this ParamConst.
Returns true if params has impl Trait.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Generics
impl UnwindSafe for Generics
Blanket Implementations
Mutably borrows from an owned value. Read more
Layout
Note: Most layout information is completely unstable and may be different between compiler versions and platforms. The only exception is types with certain repr(...) attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 88 bytes