Fixme for union fields

This commit is contained in:
Aleksey Kladov 2019-11-25 17:34:15 +03:00
parent 5fd68b5929
commit 1455663ea1
4 changed files with 9 additions and 0 deletions

View file

@ -263,6 +263,8 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> {
.clone()
.subst(&a_ty.parameters)
}),
// FIXME:
TypeCtor::Adt(Adt::Union(_)) => None,
_ => None,
},
_ => None,

View file

@ -561,6 +561,7 @@ pub(crate) fn field_types_query(
) -> Arc<ArenaMap<LocalStructFieldId, Ty>> {
let (resolver, var_data) = match variant_id {
VariantId::StructId(it) => (it.resolver(db), db.struct_data(it).variant_data.clone()),
VariantId::UnionId(it) => (it.resolver(db), db.union_data(it).variant_data.clone()),
VariantId::EnumVariantId(it) => (
it.parent.resolver(db),
db.enum_data(it.parent).variants[it.local_id].variant_data.clone(),