diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs index 45e31095c5..4b150ef061 100644 --- a/crates/ra_hir/src/code_model.rs +++ b/crates/ra_hir/src/code_model.rs @@ -1042,30 +1042,18 @@ impl Type { } pub fn is_bool(&self) -> bool { - match &self.ty.value { - Ty::Apply(a_ty) => match a_ty.ctor { - TypeCtor::Bool => true, - _ => false, - }, - _ => false, - } + matches!(self.ty.value, Ty::Apply(ApplicationTy { ctor: TypeCtor::Bool, .. })) } pub fn is_mutable_reference(&self) -> bool { - match &self.ty.value { - Ty::Apply(a_ty) => match a_ty.ctor { - TypeCtor::Ref(Mutability::Mut) => true, - _ => false, - }, - _ => false, - } + matches!( + self.ty.value, + Ty::Apply(ApplicationTy { ctor: TypeCtor::Ref(Mutability::Mut), .. }) + ) } pub fn is_unknown(&self) -> bool { - match &self.ty.value { - Ty::Unknown => true, - _ => false, - } + matches!(self.ty.value, Ty::Unknown) } /// Checks that particular type `ty` implements `std::future::Future`.