Remove last traces of adt from Ty

This commit is contained in:
Aleksey Kladov 2019-11-26 21:25:17 +03:00
parent 882fe0a47e
commit 936c6950e7
3 changed files with 7 additions and 6 deletions

View file

@ -1104,7 +1104,7 @@ impl Type {
pub fn as_adt(&self) -> Option<Adt> {
let (adt, _subst) = self.ty.value.as_adt()?;
Some(adt)
Some(adt.into())
}
fn derived(&self, ty: Ty) -> Type {

View file

@ -12,7 +12,7 @@ use crate::{
db::HirDatabase,
diagnostics::{MissingFields, MissingOkInTailExpr},
ty::{ApplicationTy, InferenceResult, Ty, TypeCtor},
Adt, Function, Name, Path,
Function, Name, Path, Struct,
};
pub use hir_def::{
@ -69,7 +69,7 @@ impl<'a, 'b> ExprValidator<'a, 'b> {
}
let struct_def = match self.infer[id].as_adt() {
Some((Adt::Struct(s), _)) => s,
Some((AdtId::StructId(s), _)) => Struct::from(s),
_ => return,
};

View file

@ -22,13 +22,14 @@ use hir_def::{
expr::ExprId, generics::GenericParams, type_ref::Mutability, AdtId, ContainerId, DefWithBodyId,
GenericDefId, HasModule, Lookup, TraitId, TypeAliasId,
};
use hir_expand::name::Name;
use ra_db::{impl_intern_key, salsa};
use crate::{
db::HirDatabase,
ty::primitive::{FloatTy, IntTy, Uncertain},
util::make_mut_slice,
Adt, Crate, Name,
Crate,
};
use display::{HirDisplay, HirFormatter};
@ -598,10 +599,10 @@ impl Ty {
}
}
pub fn as_adt(&self) -> Option<(Adt, &Substs)> {
pub fn as_adt(&self) -> Option<(AdtId, &Substs)> {
match self {
Ty::Apply(ApplicationTy { ctor: TypeCtor::Adt(adt_def), parameters }) => {
Some(((*adt_def).into(), parameters))
Some((*adt_def, parameters))
}
_ => None,
}