3679: Some miniscule refactorings r=matklad a=Veetaha



Co-authored-by: veetaha <veetaha2@gmail.com>
This commit is contained in:
bors[bot] 2020-03-22 14:17:06 +00:00 committed by GitHub
commit 655b4f16f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 26 deletions

View File

@ -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`.

View File

@ -95,14 +95,14 @@ impl Ty {
// Types like slice can have inherent impls in several crates, (core and alloc).
// The corresponding impls are marked with lang items, so we can use them to find the required crates.
macro_rules! lang_item_crate {
($($name:expr),+ $(,)?) => {{
let mut v = ArrayVec::<[LangItemTarget; 2]>::new();
$(
v.extend(db.lang_item(cur_crate, $name.into()));
)+
v
}};
}
($($name:expr),+ $(,)?) => {{
let mut v = ArrayVec::<[LangItemTarget; 2]>::new();
$(
v.extend(db.lang_item(cur_crate, $name.into()));
)+
v
}};
}
let lang_item_targets = match self {
Ty::Apply(a_ty) => match a_ty.ctor {