diff options
Diffstat (limited to 'crates/hir_ty/src/chalk_ext.rs')
-rw-r--r-- | crates/hir_ty/src/chalk_ext.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/crates/hir_ty/src/chalk_ext.rs b/crates/hir_ty/src/chalk_ext.rs index 5232a7d80..df340a6ca 100644 --- a/crates/hir_ty/src/chalk_ext.rs +++ b/crates/hir_ty/src/chalk_ext.rs | |||
@@ -18,6 +18,7 @@ pub trait TyExt { | |||
18 | fn is_unit(&self) -> bool; | 18 | fn is_unit(&self) -> bool; |
19 | fn is_never(&self) -> bool; | 19 | fn is_never(&self) -> bool; |
20 | fn is_unknown(&self) -> bool; | 20 | fn is_unknown(&self) -> bool; |
21 | fn is_ty_var(&self) -> bool; | ||
21 | 22 | ||
22 | fn as_adt(&self) -> Option<(hir_def::AdtId, &Substitution)>; | 23 | fn as_adt(&self) -> Option<(hir_def::AdtId, &Substitution)>; |
23 | fn as_builtin(&self) -> Option<BuiltinType>; | 24 | fn as_builtin(&self) -> Option<BuiltinType>; |
@@ -55,6 +56,10 @@ impl TyExt for Ty { | |||
55 | matches!(self.kind(&Interner), TyKind::Error) | 56 | matches!(self.kind(&Interner), TyKind::Error) |
56 | } | 57 | } |
57 | 58 | ||
59 | fn is_ty_var(&self) -> bool { | ||
60 | matches!(self.kind(&Interner), TyKind::InferenceVar(_, _)) | ||
61 | } | ||
62 | |||
58 | fn as_adt(&self) -> Option<(hir_def::AdtId, &Substitution)> { | 63 | fn as_adt(&self) -> Option<(hir_def::AdtId, &Substitution)> { |
59 | match self.kind(&Interner) { | 64 | match self.kind(&Interner) { |
60 | TyKind::Adt(AdtId(adt), parameters) => Some((*adt, parameters)), | 65 | TyKind::Adt(AdtId(adt), parameters) => Some((*adt, parameters)), |