Remove idx and parent generics from generics

This makes `hir_def::GenericParams` flatter. The logic for
re-numbering the params is moved to hir instead.
This commit is contained in:
Aleksey Kladov 2019-12-07 11:50:36 +01:00
parent 30fefcc08c
commit 8e9837df21
10 changed files with 181 additions and 157 deletions

View file

@ -15,7 +15,7 @@ use hir_def::{
per_ns::PerNs,
resolver::HasResolver,
type_ref::{Mutability, TypeRef},
AdtId, AstItemDef, ConstId, ContainerId, DefWithBodyId, EnumId, FunctionId, GenericDefId,
AdtId, AstItemDef, ConstId, ContainerId, DefWithBodyId, EnumId, FunctionId, GenericParamId,
HasModule, ImplId, LocalEnumVariantId, LocalImportId, LocalModuleId, LocalStructFieldId,
Lookup, ModuleId, StaticId, StructId, TraitId, TypeAliasId, UnionId,
};
@ -857,8 +857,7 @@ impl Local {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
pub struct GenericParam {
pub(crate) parent: GenericDefId,
pub(crate) idx: u32,
pub(crate) id: GenericParamId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]