diff options
| author | adamrk <ark.email@gmail.com> | 2020-02-15 22:12:48 +0100 |
|---|---|---|
| committer | adamrk <ark.email@gmail.com> | 2020-02-16 16:10:32 +0100 |
| commit | 68d3743faf51926f0a63207686f860bdffafe0d7 (patch) | |
| tree | 86221c859db5f543f9e5c91b3176f2103a30d86a | |
| parent | 04aff742b15ebab39f493ba480d20c61e1f3bdd5 (diff) | |
| download | rust-68d3743faf51926f0a63207686f860bdffafe0d7.tar.gz rust-68d3743faf51926f0a63207686f860bdffafe0d7.zip | |
replace uses of VariantData::is_unit with VariantData::kind
| -rw-r--r-- | crates/ra_hir_def/src/adt.rs | 6 | ||||
| -rw-r--r-- | crates/ra_hir_ty/src/lower.rs | 11 |
2 files changed, 7 insertions, 10 deletions
diff --git a/crates/ra_hir_def/src/adt.rs b/crates/ra_hir_def/src/adt.rs index 4582c7314a5..985f409e873 100644 --- a/crates/ra_hir_def/src/adt.rs +++ b/crates/ra_hir_def/src/adt.rs @@ -147,12 +147,6 @@ impl VariantData { VariantData::Unit => StructKind::Unit, } } - pub fn is_unit(&self) -> bool { - match self { - VariantData::Unit => true, - _ => false, - } - } } impl HasChildSource for VariantId { diff --git a/crates/ra_hir_ty/src/lower.rs b/crates/ra_hir_ty/src/lower.rs index 6a2aded021c..a5b2734a051 100644 --- a/crates/ra_hir_ty/src/lower.rs +++ b/crates/ra_hir_ty/src/lower.rs @@ -9,6 +9,7 @@ use std::iter; use std::sync::Arc; use hir_def::{ + adt::StructKind, builtin_type::BuiltinType, generics::{TypeParamProvenance, WherePredicate, WherePredicateTarget}, path::{GenericArg, Path, PathSegment, PathSegments}, @@ -805,8 +806,9 @@ fn fn_sig_for_struct_constructor(db: &impl HirDatabase, def: StructId) -> PolyFn /// Build the type of a tuple struct constructor. fn type_for_struct_constructor(db: &impl HirDatabase, def: StructId) -> Binders<Ty> { let struct_data = db.struct_data(def.into()); - if struct_data.variant_data.is_unit() { - return type_for_adt(db, def.into()); // Unit struct + match struct_data.variant_data.kind() { + StructKind::Unit => return type_for_adt(db, def.into()), + StructKind::Tuple | StructKind::Record => (), } let generics = generics(db, def.into()); let substs = Substs::bound_vars(&generics); @@ -830,8 +832,9 @@ fn fn_sig_for_enum_variant_constructor(db: &impl HirDatabase, def: EnumVariantId fn type_for_enum_variant_constructor(db: &impl HirDatabase, def: EnumVariantId) -> Binders<Ty> { let enum_data = db.enum_data(def.parent); let var_data = &enum_data.variants[def.local_id].variant_data; - if var_data.is_unit() { - return type_for_adt(db, def.parent.into()); // Unit variant + match var_data.kind() { + StructKind::Unit => return type_for_adt(db, def.parent.into()), + StructKind::Record | StructKind::Tuple => (), } let generics = generics(db, def.parent.into()); let substs = Substs::bound_vars(&generics); |
