Don't lint needless_borrow
in method receiver positions
This commit is contained in:
parent
b34cd79c0c
commit
a135b52102
@ -528,7 +528,7 @@ fn is_auto_reborrow_position(parent: Option<Node<'_>>) -> bool {
|
|||||||
fn is_auto_borrow_position(parent: Option<Node<'_>>, child_id: HirId) -> bool {
|
fn is_auto_borrow_position(parent: Option<Node<'_>>, child_id: HirId) -> bool {
|
||||||
if let Some(Node::Expr(parent)) = parent {
|
if let Some(Node::Expr(parent)) = parent {
|
||||||
match parent.kind {
|
match parent.kind {
|
||||||
ExprKind::MethodCall(_, [self_arg, ..], _) => self_arg.hir_id == child_id,
|
// ExprKind::MethodCall(_, [self_arg, ..], _) => self_arg.hir_id == child_id,
|
||||||
ExprKind::Field(..) => true,
|
ExprKind::Field(..) => true,
|
||||||
ExprKind::Call(f, _) => f.hir_id == child_id,
|
ExprKind::Call(f, _) => f.hir_id == child_id,
|
||||||
_ => false,
|
_ => false,
|
||||||
|
@ -64,9 +64,9 @@ fn main() {
|
|||||||
*x = 5;
|
*x = 5;
|
||||||
|
|
||||||
let s = String::new();
|
let s = String::new();
|
||||||
let _ = s.len();
|
// let _ = (&s).len();
|
||||||
let _ = s.capacity();
|
// let _ = (&s).capacity();
|
||||||
let _ = s.capacity();
|
// let _ = (&&s).capacity();
|
||||||
|
|
||||||
let x = (1, 2);
|
let x = (1, 2);
|
||||||
let _ = x.0;
|
let _ = x.0;
|
||||||
|
@ -64,9 +64,9 @@ fn main() {
|
|||||||
*x = 5;
|
*x = 5;
|
||||||
|
|
||||||
let s = String::new();
|
let s = String::new();
|
||||||
let _ = (&s).len();
|
// let _ = (&s).len();
|
||||||
let _ = (&s).capacity();
|
// let _ = (&s).capacity();
|
||||||
let _ = (&&s).capacity();
|
// let _ = (&&s).capacity();
|
||||||
|
|
||||||
let x = (1, 2);
|
let x = (1, 2);
|
||||||
let _ = (&x).0;
|
let _ = (&x).0;
|
||||||
|
@ -84,24 +84,6 @@ error: this expression creates a reference which is immediately dereferenced by
|
|||||||
LL | let y: &mut i32 = &mut &mut x;
|
LL | let y: &mut i32 = &mut &mut x;
|
||||||
| ^^^^^^^^^^^ help: change this to: `x`
|
| ^^^^^^^^^^^ help: change this to: `x`
|
||||||
|
|
||||||
error: this expression borrows a value the compiler would automatically borrow
|
|
||||||
--> $DIR/needless_borrow.rs:67:13
|
|
||||||
|
|
|
||||||
LL | let _ = (&s).len();
|
|
||||||
| ^^^^ help: change this to: `s`
|
|
||||||
|
|
||||||
error: this expression borrows a value the compiler would automatically borrow
|
|
||||||
--> $DIR/needless_borrow.rs:68:13
|
|
||||||
|
|
|
||||||
LL | let _ = (&s).capacity();
|
|
||||||
| ^^^^ help: change this to: `s`
|
|
||||||
|
|
||||||
error: this expression creates a reference which is immediately dereferenced by the compiler
|
|
||||||
--> $DIR/needless_borrow.rs:69:13
|
|
||||||
|
|
|
||||||
LL | let _ = (&&s).capacity();
|
|
||||||
| ^^^^^ help: change this to: `s`
|
|
||||||
|
|
||||||
error: this expression borrows a value the compiler would automatically borrow
|
error: this expression borrows a value the compiler would automatically borrow
|
||||||
--> $DIR/needless_borrow.rs:72:13
|
--> $DIR/needless_borrow.rs:72:13
|
||||||
|
|
|
|
||||||
@ -114,5 +96,5 @@ error: this expression borrows a value the compiler would automatically borrow
|
|||||||
LL | let _ = unsafe { (&*x).0 };
|
LL | let _ = unsafe { (&*x).0 };
|
||||||
| ^^^^^ help: change this to: `(*x)`
|
| ^^^^^ help: change this to: `(*x)`
|
||||||
|
|
||||||
error: aborting due to 19 previous errors
|
error: aborting due to 16 previous errors
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user