Auto merge of #15288 - alibektas:15143, r=lnicola

Handle TyAlias in projected_ty

First of all I still have no idea how MIR works but #15143 has been an issue that constantly made RA crash so I have been looking for a way to make RA stop panicking. I have zero claims that what I want to merge has any sense or is correct 😄  but there isn't any more panicking. Even if it is wrong may this be at least a step towards resolving this issue.
As is customary this PR fixes #15143
This commit is contained in:
bors 2023-07-15 17:14:13 +00:00
commit 996e054f1e

View file

@ -151,6 +151,7 @@ impl<V, T> ProjectionElem<V, T> {
TyKind::Adt(_, subst) => {
db.field_types(f.parent)[f.local_id].clone().substitute(Interner, subst)
}
TyKind::Alias(inner) => inner.clone().intern(Interner),
_ => {
never!("Only adt has field");
return TyKind::Error.intern(Interner);
@ -167,6 +168,7 @@ impl<V, T> ProjectionElem<V, T> {
TyKind::Error.intern(Interner)
}),
TyKind::Closure(id, subst) => closure_field(*id, subst, *f),
TyKind::Alias(inner) => inner.clone().intern(Interner),
_ => {
never!("Only tuple or closure has tuple or closure field");
return TyKind::Error.intern(Interner);