Rollup merge of #94085 - flip1995:clippy_needless_borrow_temp_fix, r=Manishearth

Clippy: Don't lint `needless_borrow` in method receiver positions

r? `@Manishearth`

cc `@camsteffen` `@Jarcho`

cc rust-lang/rust-clippy#8441

Let's get this fix in before the beta branching tomorrow.
This commit is contained in:
Matthias Krüger 2022-02-17 23:01:03 +01:00 committed by GitHub
commit 39c17488fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 8 additions and 26 deletions

View File

@ -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 {
if let Some(Node::Expr(parent)) = parent {
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::Call(f, _) => f.hir_id == child_id,
_ => false,

View File

@ -64,9 +64,9 @@ fn main() {
*x = 5;
let s = String::new();
let _ = s.len();
let _ = s.capacity();
let _ = s.capacity();
// let _ = (&s).len();
// let _ = (&s).capacity();
// let _ = (&&s).capacity();
let x = (1, 2);
let _ = x.0;

View File

@ -64,9 +64,9 @@ fn main() {
*x = 5;
let s = String::new();
let _ = (&s).len();
let _ = (&s).capacity();
let _ = (&&s).capacity();
// let _ = (&s).len();
// let _ = (&s).capacity();
// let _ = (&&s).capacity();
let x = (1, 2);
let _ = (&x).0;

View File

@ -84,24 +84,6 @@ error: this expression creates a reference which is immediately dereferenced by
LL | let y: &mut i32 = &mut &mut 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
--> $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 };
| ^^^^^ help: change this to: `(*x)`
error: aborting due to 19 previous errors
error: aborting due to 16 previous errors