Make sure the call span parens check only fires on the callee, not args
This commit is contained in:
parent
e5c2412e52
commit
d98892b67f
@ -1842,13 +1842,14 @@ fn ban_take_value_of_method(&self, expr: &hir::Expr<'_>, expr_t: Ty<'tcx>, field
|
||||
expr_t
|
||||
);
|
||||
err.span_label(field.span, "method, not a field");
|
||||
let expr_is_call = if let hir::Node::Expr(parent_expr) =
|
||||
self.tcx.hir().get(self.tcx.hir().get_parent_node(expr.hir_id))
|
||||
{
|
||||
matches!(parent_expr.kind, ExprKind::Call(..))
|
||||
} else {
|
||||
false
|
||||
};
|
||||
let expr_is_call =
|
||||
if let hir::Node::Expr(hir::Expr { kind: ExprKind::Call(callee, _args), .. }) =
|
||||
self.tcx.hir().get(self.tcx.hir().get_parent_node(expr.hir_id))
|
||||
{
|
||||
expr.hir_id == callee.hir_id
|
||||
} else {
|
||||
false
|
||||
};
|
||||
let expr_snippet =
|
||||
self.tcx.sess.source_map().span_to_snippet(expr.span).unwrap_or(String::new());
|
||||
if expr_is_call && expr_snippet.starts_with("(") && expr_snippet.ends_with(")") {
|
||||
|
Loading…
Reference in New Issue
Block a user