-
Notifications
You must be signed in to change notification settings - Fork 12.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of #111916 - fee1-dead-contrib:noop-method-call-warn, r=co…
…mpiler-errors make `noop_method_call` warn by default r? `@compiler-errors`
- Loading branch information
Showing
17 changed files
with
161 additions
and
104 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,8 @@ | ||
// run-pass | ||
// pretty-expanded FIXME #23616 | ||
|
||
#![allow(noop_method_call)] | ||
|
||
struct NoClone; | ||
|
||
fn main() { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
// check-pass | ||
// run-rustfix | ||
|
||
#![allow(unused)] | ||
|
||
use std::borrow::Borrow; | ||
use std::ops::Deref; | ||
|
||
struct PlainType<T>(T); | ||
|
||
#[derive(Clone)] | ||
struct CloneType<T>(T); | ||
|
||
fn check(mut encoded: &[u8]) { | ||
let _ = &mut encoded; | ||
//~^ WARN call to `.clone()` on a reference in this situation does nothing | ||
let _ = &encoded; | ||
//~^ WARN call to `.clone()` on a reference in this situation does nothing | ||
} | ||
|
||
fn main() { | ||
let non_clone_type_ref = &PlainType(1u32); | ||
let non_clone_type_ref_clone: &PlainType<u32> = non_clone_type_ref; | ||
//~^ WARN call to `.clone()` on a reference in this situation does nothing | ||
|
||
let clone_type_ref = &CloneType(1u32); | ||
let clone_type_ref_clone: CloneType<u32> = clone_type_ref.clone(); | ||
|
||
|
||
let non_deref_type = &PlainType(1u32); | ||
let non_deref_type_deref: &PlainType<u32> = non_deref_type; | ||
//~^ WARN call to `.deref()` on a reference in this situation does nothing | ||
|
||
let non_borrow_type = &PlainType(1u32); | ||
let non_borrow_type_borrow: &PlainType<u32> = non_borrow_type; | ||
//~^ WARN call to `.borrow()` on a reference in this situation does nothing | ||
|
||
// Borrowing a &&T does not warn since it has collapsed the double reference | ||
let non_borrow_type = &&PlainType(1u32); | ||
let non_borrow_type_borrow: &PlainType<u32> = non_borrow_type.borrow(); | ||
} | ||
|
||
fn generic<T>(non_clone_type: &PlainType<T>) { | ||
non_clone_type; | ||
//~^ WARN call to `.clone()` on a reference in this situation does nothing | ||
} | ||
|
||
fn non_generic(non_clone_type: &PlainType<u32>) { | ||
non_clone_type; | ||
//~^ WARN call to `.clone()` on a reference in this situation does nothing | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.