mirror of
https://github.com/rust-lang/rust-analyzer
synced 2025-01-14 06:03:58 +00:00
Apply suggestions from code review
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
This commit is contained in:
parent
7738467e0a
commit
86c183716c
1 changed files with 20 additions and 17 deletions
|
@ -77,16 +77,14 @@ impl<'a, 'b> ExprValidator<'a, 'b> {
|
|||
}
|
||||
}
|
||||
let body_expr = &body[body.body_expr];
|
||||
if let Expr::Block { tail: Some(t), .. } = body_expr {
|
||||
if let Expr::Block { statements, tail, .. } = body_expr {
|
||||
if let Some(t) = tail {
|
||||
self.validate_results_in_tail_expr(body.body_expr, *t, db);
|
||||
} else {
|
||||
if let Expr::Block { statements, .. } = body_expr {
|
||||
if let Some(Statement::Expr(id)) = statements.last() {
|
||||
} else if let Some(Statement::Expr(id)) = statements.last() {
|
||||
self.validate_missing_tail_expr(body.body_expr, *id, db);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn create_record_literal_missing_fields_diagnostic(
|
||||
&mut self,
|
||||
|
@ -336,10 +334,17 @@ impl<'a, 'b> ExprValidator<'a, 'b> {
|
|||
None => return,
|
||||
};
|
||||
|
||||
if let Some(possible_tail_ty) = self.infer.type_of_expr.get(possible_tail_id) {
|
||||
if mismatch.actual == Ty::unit() && mismatch.expected == *possible_tail_ty {
|
||||
let (_, source_map) = db.body_with_source_map(self.owner.into());
|
||||
let possible_tail_ty = if let Some(possible_tail_ty) = self.infer.type_of_expr.get(possible_tail_id) {
|
||||
possible_tail_ty
|
||||
} else {
|
||||
return;
|
||||
};
|
||||
|
||||
if mismatch.actual != Ty::unit() || mismatch.expected != *possible_tail_ty {
|
||||
return;
|
||||
}
|
||||
|
||||
let (_, source_map) = db.body_with_source_map(self.owner.into());
|
||||
if let Ok(source_ptr) = source_map.expr_syntax(possible_tail_id) {
|
||||
self.sink.push(RemoveThisSemicolon {
|
||||
file: source_ptr.file_id,
|
||||
|
@ -348,8 +353,6 @@ impl<'a, 'b> ExprValidator<'a, 'b> {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub fn record_literal_missing_fields(
|
||||
db: &dyn HirDatabase,
|
||||
|
|
Loading…
Reference in a new issue