Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir/src/source_analyzer.rs')
-rw-r--r--crates/hir/src/source_analyzer.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/crates/hir/src/source_analyzer.rs b/crates/hir/src/source_analyzer.rs
index 73f8db762a..fd0a117842 100644
--- a/crates/hir/src/source_analyzer.rs
+++ b/crates/hir/src/source_analyzer.rs
@@ -197,10 +197,8 @@ impl SourceAnalyzer {
) -> Option<(Type, Option<Type>)> {
let pat_id = self.pat_id(pat)?;
let infer = self.infer.as_ref()?;
- let coerced = infer
- .pat_adjustments
- .get(&pat_id)
- .and_then(|adjusts| adjusts.last().map(|adjust| adjust.clone()));
+ let coerced =
+ infer.pat_adjustments.get(&pat_id).and_then(|adjusts| adjusts.last().cloned());
let ty = infer[pat_id].clone();
let mk_ty = |ty| Type::new_with_resolver(db, &self.resolver, ty);
Some((mk_ty(ty), coerced.map(mk_ty)))
@@ -268,7 +266,7 @@ impl SourceAnalyzer {
) -> Option<Callable> {
let expr_id = self.expr_id(db, &call.clone().into())?;
let (func, substs) = self.infer.as_ref()?.method_resolution(expr_id)?;
- let ty = db.value_ty(func.into()).substitute(Interner, &substs);
+ let ty = db.value_ty(func.into())?.substitute(Interner, &substs);
let ty = Type::new_with_resolver(db, &self.resolver, ty);
let mut res = ty.as_callable(db)?;
res.is_bound_method = true;
@@ -616,7 +614,7 @@ impl SourceAnalyzer {
}
None
})();
- if let Some(_) = resolved {
+ if resolved.is_some() {
return resolved;
}
@@ -661,7 +659,7 @@ impl SourceAnalyzer {
if let Some(name_ref) = path.as_single_name_ref() {
let builtin =
BuiltinAttr::by_name(db, self.resolver.krate().into(), &name_ref.text());
- if let Some(_) = builtin {
+ if builtin.is_some() {
return builtin.map(PathResolution::BuiltinAttr);
}