mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 17:24:06 +00:00
53692: Addressed Estebank's Nits
This commit is contained in:
parent
a673203ec8
commit
af09bf9293
@ -4726,13 +4726,15 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
|
|||||||
if receiver.ends_with(&method_call) {
|
if receiver.ends_with(&method_call) {
|
||||||
None // do not suggest code that is already there (#53348)
|
None // do not suggest code that is already there (#53348)
|
||||||
} else {
|
} else {
|
||||||
// methods defined will be overwrite `.clone()`
|
/*
|
||||||
// if suggesion is present in `method_call_list` (#53692)
|
methods defined in `method_call_list` will overwrite
|
||||||
|
`.clone()` in copy of `receiver`
|
||||||
|
*/
|
||||||
let method_call_list = [".to_vec()", ".to_string()"];
|
let method_call_list = [".to_vec()", ".to_string()"];
|
||||||
if receiver.ends_with("clone()")
|
if receiver.ends_with(".clone()")
|
||||||
&& method_call_list.contains(&method_call.as_str()){
|
&& method_call_list.contains(&method_call.as_str()){
|
||||||
// needed to clone receiver, because we don't want other
|
// created copy of `receiver` because we don't want other
|
||||||
// suggestion to get affect because of that
|
// suggestion to get affected
|
||||||
let mut new_receiver = receiver.clone();
|
let mut new_receiver = receiver.clone();
|
||||||
let max_len = new_receiver.rfind(".").unwrap();
|
let max_len = new_receiver.rfind(".").unwrap();
|
||||||
new_receiver.truncate(max_len);
|
new_receiver.truncate(max_len);
|
||||||
|
@ -12,6 +12,13 @@ fn main() {
|
|||||||
let ref_items: &[i32] = &items;
|
let ref_items: &[i32] = &items;
|
||||||
let items_clone: Vec<i32> = ref_items.clone();
|
let items_clone: Vec<i32> = ref_items.clone();
|
||||||
|
|
||||||
|
// in that case no suggestion will be triggered
|
||||||
|
let items_clone_2:Vec<i32> = items.clone();
|
||||||
|
|
||||||
let s = "hi";
|
let s = "hi";
|
||||||
let string: String = s.clone();
|
let string: String = s.clone();
|
||||||
|
|
||||||
|
// in that case no suggestion will be triggered
|
||||||
|
let s2 = "hi";
|
||||||
|
let string_2: String = s2.to_string();
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ LL | let items_clone: Vec<i32> = ref_items.clone();
|
|||||||
found type `&[i32]`
|
found type `&[i32]`
|
||||||
|
|
||||||
error[E0308]: mismatched types
|
error[E0308]: mismatched types
|
||||||
--> $DIR/issue-53692.rs:16:30
|
--> $DIR/issue-53692.rs:19:30
|
||||||
|
|
|
|
||||||
LL | let string: String = s.clone();
|
LL | let string: String = s.clone();
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
Loading…
Reference in New Issue
Block a user