Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir/src/lib.rs')
-rw-r--r--crates/hir/src/lib.rs14
1 files changed, 6 insertions, 8 deletions
diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs
index 894bfe91b5..633fe1f86b 100644
--- a/crates/hir/src/lib.rs
+++ b/crates/hir/src/lib.rs
@@ -796,7 +796,7 @@ impl Module {
);
}
}
- for &(v, _, _) in &variants.variants {
+ for &(v, _) in variants.variants.values() {
let source_map = &v.fields_with_source_map(db).1;
push_ty_diagnostics(
db,
@@ -1644,7 +1644,7 @@ impl Enum {
}
pub fn variants(self, db: &dyn HirDatabase) -> Vec<EnumVariant> {
- self.id.enum_variants(db).variants.iter().map(|&(id, _, _)| EnumVariant { id }).collect()
+ self.id.enum_variants(db).variants.values().map(|&(id, _)| EnumVariant { id }).collect()
}
pub fn num_variants(self, db: &dyn HirDatabase) -> usize {
@@ -1763,9 +1763,7 @@ impl EnumVariant {
}
pub fn name(self, db: &dyn HirDatabase) -> Name {
- let lookup = self.id.lookup(db);
- let enum_ = lookup.parent;
- enum_.enum_variants(db).variants[lookup.index as usize].1.clone()
+ self.id.lookup(db).name.clone()
}
pub fn fields(self, db: &dyn HirDatabase) -> Vec<Field> {
@@ -1800,7 +1798,7 @@ impl EnumVariant {
layout::Variants::Multiple { variants, .. } => Layout(
{
let lookup = self.id.lookup(db);
- let rustc_enum_variant_idx = RustcEnumVariantIdx(lookup.index as usize);
+ let rustc_enum_variant_idx = RustcEnumVariantIdx(lookup.index(db));
Arc::new(variants[rustc_enum_variant_idx].clone())
},
db.target_data_layout(parent_enum.krate(db).into()).unwrap(),
@@ -5694,8 +5692,8 @@ impl<'db> Type<'db> {
AdtId::EnumId(id) => id
.enum_variants(self.interner.db())
.variants
- .iter()
- .map(|&(variant_id, _, _)| variant_id_to_fields(variant_id.into()))
+ .values()
+ .map(|&(variant_id, _)| variant_id_to_fields(variant_id.into()))
.collect(),
AdtId::UnionId(id) => {
vec![variant_id_to_fields(id.into())]