mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-28 14:03:35 +00:00
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:
commit
996e054f1e
1 changed files with 2 additions and 0 deletions
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue