Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/layout.rs')
-rw-r--r--crates/hir-ty/src/layout.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/crates/hir-ty/src/layout.rs b/crates/hir-ty/src/layout.rs
index 167dcec3bb..2f7ad2b99d 100644
--- a/crates/hir-ty/src/layout.rs
+++ b/crates/hir-ty/src/layout.rs
@@ -377,12 +377,12 @@ pub(crate) fn layout_of_ty_recover(
fn struct_tail_erasing_lifetimes(db: &dyn HirDatabase, pointee: Ty) -> Ty {
match pointee.kind(Interner) {
- TyKind::Adt(AdtId(hir_def::AdtId::StructId(i)), subst) => {
- let data = db.struct_data(*i);
- let mut it = data.variant_data.fields().iter().rev();
+ &TyKind::Adt(AdtId(hir_def::AdtId::StructId(i)), ref subst) => {
+ let data = db.variant_data(i.into());
+ let mut it = data.fields().iter().rev();
match it.next() {
Some((f, _)) => {
- let last_field_ty = field_ty(db, (*i).into(), f, subst);
+ let last_field_ty = field_ty(db, i.into(), f, subst);
struct_tail_erasing_lifetimes(db, last_field_ty)
}
None => pointee,