diff options
Diffstat (limited to 'crates/ra_hir_def/src/adt.rs')
-rw-r--r-- | crates/ra_hir_def/src/adt.rs | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/crates/ra_hir_def/src/adt.rs b/crates/ra_hir_def/src/adt.rs index d55c49938..de07fc952 100644 --- a/crates/ra_hir_def/src/adt.rs +++ b/crates/ra_hir_def/src/adt.rs | |||
@@ -27,7 +27,7 @@ pub struct StructData { | |||
27 | #[derive(Debug, Clone, PartialEq, Eq)] | 27 | #[derive(Debug, Clone, PartialEq, Eq)] |
28 | pub struct EnumData { | 28 | pub struct EnumData { |
29 | pub name: Name, | 29 | pub name: Name, |
30 | pub variants: Arena<LocalEnumVariantId, EnumVariantData>, | 30 | pub variants: Arena<EnumVariantData>, |
31 | } | 31 | } |
32 | 32 | ||
33 | #[derive(Debug, Clone, PartialEq, Eq)] | 33 | #[derive(Debug, Clone, PartialEq, Eq)] |
@@ -38,8 +38,8 @@ pub struct EnumVariantData { | |||
38 | 38 | ||
39 | #[derive(Debug, Clone, PartialEq, Eq)] | 39 | #[derive(Debug, Clone, PartialEq, Eq)] |
40 | pub enum VariantData { | 40 | pub enum VariantData { |
41 | Record(Arena<LocalStructFieldId, StructFieldData>), | 41 | Record(Arena<StructFieldData>), |
42 | Tuple(Arena<LocalStructFieldId, StructFieldData>), | 42 | Tuple(Arena<StructFieldData>), |
43 | Unit, | 43 | Unit, |
44 | } | 44 | } |
45 | 45 | ||
@@ -104,7 +104,7 @@ impl HasChildSource for EnumId { | |||
104 | 104 | ||
105 | fn lower_enum( | 105 | fn lower_enum( |
106 | db: &dyn DefDatabase, | 106 | db: &dyn DefDatabase, |
107 | trace: &mut Trace<LocalEnumVariantId, EnumVariantData, ast::EnumVariant>, | 107 | trace: &mut Trace<EnumVariantData, ast::EnumVariant>, |
108 | ast: &InFile<ast::EnumDef>, | 108 | ast: &InFile<ast::EnumDef>, |
109 | ) { | 109 | ) { |
110 | for var in ast.value.variant_list().into_iter().flat_map(|it| it.variants()) { | 110 | for var in ast.value.variant_list().into_iter().flat_map(|it| it.variants()) { |
@@ -128,8 +128,8 @@ impl VariantData { | |||
128 | } | 128 | } |
129 | } | 129 | } |
130 | 130 | ||
131 | pub fn fields(&self) -> &Arena<LocalStructFieldId, StructFieldData> { | 131 | pub fn fields(&self) -> &Arena<StructFieldData> { |
132 | const EMPTY: &Arena<LocalStructFieldId, StructFieldData> = &Arena::new(); | 132 | const EMPTY: &Arena<StructFieldData> = &Arena::new(); |
133 | match &self { | 133 | match &self { |
134 | VariantData::Record(fields) | VariantData::Tuple(fields) => fields, | 134 | VariantData::Record(fields) | VariantData::Tuple(fields) => fields, |
135 | _ => EMPTY, | 135 | _ => EMPTY, |
@@ -183,11 +183,7 @@ pub enum StructKind { | |||
183 | 183 | ||
184 | fn lower_struct( | 184 | fn lower_struct( |
185 | db: &dyn DefDatabase, | 185 | db: &dyn DefDatabase, |
186 | trace: &mut Trace< | 186 | trace: &mut Trace<StructFieldData, Either<ast::TupleFieldDef, ast::RecordFieldDef>>, |
187 | LocalStructFieldId, | ||
188 | StructFieldData, | ||
189 | Either<ast::TupleFieldDef, ast::RecordFieldDef>, | ||
190 | >, | ||
191 | ast: &InFile<ast::StructKind>, | 187 | ast: &InFile<ast::StructKind>, |
192 | ) -> StructKind { | 188 | ) -> StructKind { |
193 | match &ast.value { | 189 | match &ast.value { |