diff options
Diffstat (limited to 'crates/ra_hir_ty')
-rw-r--r-- | crates/ra_hir_ty/src/lower.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/crates/ra_hir_ty/src/lower.rs b/crates/ra_hir_ty/src/lower.rs index a5b2734a0..c2a3703fa 100644 --- a/crates/ra_hir_ty/src/lower.rs +++ b/crates/ra_hir_ty/src/lower.rs | |||
@@ -806,9 +806,8 @@ fn fn_sig_for_struct_constructor(db: &impl HirDatabase, def: StructId) -> PolyFn | |||
806 | /// Build the type of a tuple struct constructor. | 806 | /// Build the type of a tuple struct constructor. |
807 | fn type_for_struct_constructor(db: &impl HirDatabase, def: StructId) -> Binders<Ty> { | 807 | fn type_for_struct_constructor(db: &impl HirDatabase, def: StructId) -> Binders<Ty> { |
808 | let struct_data = db.struct_data(def.into()); | 808 | let struct_data = db.struct_data(def.into()); |
809 | match struct_data.variant_data.kind() { | 809 | if let StructKind::Unit = struct_data.variant_data.kind() { |
810 | StructKind::Unit => return type_for_adt(db, def.into()), | 810 | return type_for_adt(db, def.into()); |
811 | StructKind::Tuple | StructKind::Record => (), | ||
812 | } | 811 | } |
813 | let generics = generics(db, def.into()); | 812 | let generics = generics(db, def.into()); |
814 | let substs = Substs::bound_vars(&generics); | 813 | let substs = Substs::bound_vars(&generics); |
@@ -832,9 +831,8 @@ fn fn_sig_for_enum_variant_constructor(db: &impl HirDatabase, def: EnumVariantId | |||
832 | fn type_for_enum_variant_constructor(db: &impl HirDatabase, def: EnumVariantId) -> Binders<Ty> { | 831 | fn type_for_enum_variant_constructor(db: &impl HirDatabase, def: EnumVariantId) -> Binders<Ty> { |
833 | let enum_data = db.enum_data(def.parent); | 832 | let enum_data = db.enum_data(def.parent); |
834 | let var_data = &enum_data.variants[def.local_id].variant_data; | 833 | let var_data = &enum_data.variants[def.local_id].variant_data; |
835 | match var_data.kind() { | 834 | if let StructKind::Unit = var_data.kind() { |
836 | StructKind::Unit => return type_for_adt(db, def.parent.into()), | 835 | return type_for_adt(db, def.parent.into()); |
837 | StructKind::Record | StructKind::Tuple => (), | ||
838 | } | 836 | } |
839 | let generics = generics(db, def.parent.into()); | 837 | let generics = generics(db, def.parent.into()); |
840 | let substs = Substs::bound_vars(&generics); | 838 | let substs = Substs::bound_vars(&generics); |