From 0e995adcf690778739fe94fb94ae317d42b4e51b Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Sun, 28 Feb 2021 20:39:43 +0100 Subject: Turn Ty::Tuple variant into a tuple-variant --- crates/hir_ty/src/lib.rs | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'crates/hir_ty/src/lib.rs') diff --git a/crates/hir_ty/src/lib.rs b/crates/hir_ty/src/lib.rs index 117d69f01..3d134453f 100644 --- a/crates/hir_ty/src/lib.rs +++ b/crates/hir_ty/src/lib.rs @@ -120,7 +120,7 @@ pub enum Ty { Scalar(Scalar), /// A tuple type. For example, `(i32, bool)`. - Tuple { cardinality: u16, substs: Substs }, + Tuple(usize, Substs), /// An array with the given length. Written as `[T; n]`. Array(Substs), @@ -582,7 +582,7 @@ impl TypeWalk for FnSig { impl Ty { pub fn unit() -> Self { - Ty::Tuple { cardinality: 0, substs: Substs::empty() } + Ty::Tuple(0, Substs::empty()) } pub fn fn_ptr(sig: FnSig) -> Self { @@ -642,7 +642,7 @@ impl Ty { pub fn as_tuple(&self) -> Option<&Substs> { match self { - Ty::Tuple { substs: parameters, .. } => Some(parameters), + Ty::Tuple(_, substs) => Some(substs), _ => None, } } @@ -684,9 +684,7 @@ impl Ty { Ty::FnPtr { num_args, is_varargs, .. }, Ty::FnPtr { num_args: num_args2, is_varargs: is_varargs2, .. }, ) => num_args == num_args2 && is_varargs == is_varargs2, - (Ty::Tuple { cardinality, .. }, Ty::Tuple { cardinality: cardinality2, .. }) => { - cardinality == cardinality2 - } + (Ty::Tuple(cardinality, _), Ty::Tuple(cardinality2, _)) => cardinality == cardinality2, (Ty::Str, Ty::Str) | (Ty::Never, Ty::Never) => true, (Ty::Scalar(scalar), Ty::Scalar(scalar2)) => scalar == scalar2, _ => false, @@ -754,7 +752,7 @@ impl Ty { | Ty::Ref(_, substs) | Ty::FnDef(_, substs) | Ty::FnPtr { substs, .. } - | Ty::Tuple { substs, .. } + | Ty::Tuple(_, substs) | Ty::OpaqueType(_, substs) | Ty::AssociatedType(_, substs) | Ty::ForeignType(_, substs) @@ -778,7 +776,7 @@ impl Ty { | Ty::Ref(_, substs) | Ty::FnDef(_, substs) | Ty::FnPtr { substs, .. } - | Ty::Tuple { substs, .. } + | Ty::Tuple(_, substs) | Ty::OpaqueType(_, substs) | Ty::AssociatedType(_, substs) | Ty::ForeignType(_, substs) @@ -796,7 +794,7 @@ impl Ty { | Ty::Ref(_, substs) | Ty::FnDef(_, substs) | Ty::FnPtr { substs, .. } - | Ty::Tuple { substs, .. } + | Ty::Tuple(_, substs) | Ty::OpaqueType(_, substs) | Ty::AssociatedType(_, substs) | Ty::ForeignType(_, substs) -- cgit v1.2.3 From a3fd2faba5b0736fd51c7b94cae55e0a9609cdb0 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Sun, 28 Feb 2021 20:44:09 +0100 Subject: Remove Substs from Ty::ForeignType --- crates/hir_ty/src/lib.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'crates/hir_ty/src/lib.rs') diff --git a/crates/hir_ty/src/lib.rs b/crates/hir_ty/src/lib.rs index 3d134453f..4c0ebcfe3 100644 --- a/crates/hir_ty/src/lib.rs +++ b/crates/hir_ty/src/lib.rs @@ -169,7 +169,7 @@ pub enum Ty { Closure { def: DefWithBodyId, expr: ExprId, substs: Substs }, /// Represents a foreign type declared in external blocks. - ForeignType(TypeAliasId, Substs), + ForeignType(TypeAliasId), /// A pointer to a function. Written as `fn() -> i32`. /// @@ -755,7 +755,6 @@ impl Ty { | Ty::Tuple(_, substs) | Ty::OpaqueType(_, substs) | Ty::AssociatedType(_, substs) - | Ty::ForeignType(_, substs) | Ty::Closure { substs, .. } => { assert_eq!(substs.len(), new_substs.len()); *substs = new_substs; @@ -779,7 +778,6 @@ impl Ty { | Ty::Tuple(_, substs) | Ty::OpaqueType(_, substs) | Ty::AssociatedType(_, substs) - | Ty::ForeignType(_, substs) | Ty::Closure { substs, .. } => Some(substs), _ => None, } @@ -797,7 +795,6 @@ impl Ty { | Ty::Tuple(_, substs) | Ty::OpaqueType(_, substs) | Ty::AssociatedType(_, substs) - | Ty::ForeignType(_, substs) | Ty::Closure { substs, .. } => Some(substs), _ => None, } -- cgit v1.2.3