From 6c32bbf3ca5980fb33c1ea28dd1c5a1524ce81cb Mon Sep 17 00:00:00 2001 From: Florian Diebold Date: Sat, 13 Mar 2021 14:44:51 +0100 Subject: Separate `Ty` and `TyKind` like in Chalk Currently `Ty` just wraps `TyKind`, but this allows us to change most places to already use `intern` / `interned`. --- crates/hir_ty/src/diagnostics/match_check.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'crates/hir_ty/src/diagnostics/match_check.rs') diff --git a/crates/hir_ty/src/diagnostics/match_check.rs b/crates/hir_ty/src/diagnostics/match_check.rs index 04d39c571..5a5cdcbf3 100644 --- a/crates/hir_ty/src/diagnostics/match_check.rs +++ b/crates/hir_ty/src/diagnostics/match_check.rs @@ -227,7 +227,7 @@ use hir_def::{ use la_arena::Idx; use smallvec::{smallvec, SmallVec}; -use crate::{db::HirDatabase, AdtId, InferenceResult, Ty}; +use crate::{db::HirDatabase, AdtId, InferenceResult, Interner, TyKind}; #[derive(Debug, Clone, Copy)] /// Either a pattern from the source code being analyzed, represented as @@ -626,13 +626,13 @@ pub(super) fn is_useful( // - enum with no variants // - `!` type // In those cases, no match arm is useful. - match cx.infer[cx.match_expr].strip_references() { - Ty::Adt(AdtId(hir_def::AdtId::EnumId(enum_id)), ..) => { + match cx.infer[cx.match_expr].strip_references().interned(&Interner) { + TyKind::Adt(AdtId(hir_def::AdtId::EnumId(enum_id)), ..) => { if cx.db.enum_data(*enum_id).variants.is_empty() { return Ok(Usefulness::NotUseful); } } - Ty::Never => return Ok(Usefulness::NotUseful), + TyKind::Never => return Ok(Usefulness::NotUseful), _ => (), } -- cgit v1.2.3