| error: writing `&Vec` instead of `&[_]` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:6:14 | |
| | | |
| LL | fn do_vec(x: &Vec<i64>) { | |
| | ^^^^^^^^^ | |
| | | |
| = note: `-D clippy::ptr-arg` implied by `-D warnings` | |
| = help: to override `-D warnings` add `#[allow(clippy::ptr_arg)]` | |
| help: change this to | |
| | | |
| LL - fn do_vec(x: &Vec<i64>) { | |
| LL + fn do_vec(x: &[i64]) { | |
| | | |
| error: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:12:18 | |
| | | |
| LL | fn do_vec_mut(x: &mut Vec<i64>) { | |
| | ^^^^^^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn do_vec_mut(x: &mut Vec<i64>) { | |
| LL + fn do_vec_mut(x: &mut [i64]) { | |
| | | |
| error: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:18:19 | |
| | | |
| LL | fn do_vec_mut2(x: &mut Vec<i64>) { | |
| | ^^^^^^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn do_vec_mut2(x: &mut Vec<i64>) { | |
| LL + fn do_vec_mut2(x: &mut [i64]) { | |
| | | |
| error: writing `&String` instead of `&str` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:25:14 | |
| | | |
| LL | fn do_str(x: &String) { | |
| | ^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn do_str(x: &String) { | |
| LL + fn do_str(x: &str) { | |
| | | |
| error: writing `&mut String` instead of `&mut str` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:31:18 | |
| | | |
| LL | fn do_str_mut(x: &mut String) { | |
| | ^^^^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn do_str_mut(x: &mut String) { | |
| LL + fn do_str_mut(x: &mut str) { | |
| | | |
| error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:37:15 | |
| | | |
| LL | fn do_path(x: &PathBuf) { | |
| | ^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn do_path(x: &PathBuf) { | |
| LL + fn do_path(x: &Path) { | |
| | | |
| error: writing `&mut PathBuf` instead of `&mut Path` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:43:19 | |
| | | |
| LL | fn do_path_mut(x: &mut PathBuf) { | |
| | ^^^^^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn do_path_mut(x: &mut PathBuf) { | |
| LL + fn do_path_mut(x: &mut Path) { | |
| | | |
| error: writing `&Vec` instead of `&[_]` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:53:18 | |
| | | |
| LL | fn do_vec(x: &Vec<i64>); | |
| | ^^^^^^^^^ help: change this to: `&[i64]` | |
| error: writing `&Vec` instead of `&[_]` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:68:14 | |
| | | |
| LL | fn cloned(x: &Vec<u8>) -> Vec<u8> { | |
| | ^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL ~ fn cloned(x: &[u8]) -> Vec<u8> { | |
| LL | | |
| LL | | |
| LL ~ let e = x.to_owned(); | |
| LL | let f = e.clone(); // OK | |
| LL | let g = x; | |
| LL ~ let h = g.to_owned(); | |
| LL | let i = (e).clone(); | |
| LL ~ x.to_owned() | |
| | | |
| error: writing `&String` instead of `&str` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:79:18 | |
| | | |
| LL | fn str_cloned(x: &String) -> String { | |
| | ^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL ~ fn str_cloned(x: &str) -> String { | |
| LL | | |
| LL | | |
| LL ~ let a = x.to_owned(); | |
| LL ~ let b = x.to_owned(); | |
| LL | let c = b.clone(); | |
| LL | let d = a.clone().clone().clone(); | |
| LL ~ x.to_owned() | |
| | | |
| error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:89:19 | |
| | | |
| LL | fn path_cloned(x: &PathBuf) -> PathBuf { | |
| | ^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL ~ fn path_cloned(x: &Path) -> PathBuf { | |
| LL | | |
| LL | | |
| LL ~ let a = x.to_path_buf(); | |
| LL ~ let b = x.to_path_buf(); | |
| LL | let c = b.clone(); | |
| LL | let d = a.clone().clone().clone(); | |
| LL ~ x.to_path_buf() | |
| | | |
| error: writing `&String` instead of `&str` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:99:44 | |
| | | |
| LL | fn false_positive_capacity(x: &Vec<u8>, y: &String) { | |
| | ^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL ~ fn false_positive_capacity(x: &Vec<u8>, y: &str) { | |
| LL | | |
| LL | | |
| LL | let a = x.capacity(); | |
| LL ~ let b = y.to_owned(); | |
| LL ~ let c = y; | |
| | | |
| error: using a reference to `Cow` is not recommended | |
| --> tests/ui/ptr_arg.rs:114:25 | |
| | | |
| LL | fn test_cow_with_ref(c: &Cow<[i32]>) {} | |
| | ^^^^^^^^^^^ help: change this to: `&[i32]` | |
| error: writing `&String` instead of `&str` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:144:64 | |
| | | |
| LL | fn some_allowed(#[allow(clippy::ptr_arg)] v: &Vec<u32>, s: &String) {} | |
| | ^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn some_allowed(#[allow(clippy::ptr_arg)] v: &Vec<u32>, s: &String) {} | |
| LL + fn some_allowed(#[allow(clippy::ptr_arg)] v: &Vec<u32>, s: &str) {} | |
| | | |
| error: writing `&Vec` instead of `&[_]` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:174:21 | |
| | | |
| LL | fn foo_vec(vec: &Vec<u8>) { | |
| | ^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL ~ fn foo_vec(vec: &[u8]) { | |
| LL | | |
| LL | | |
| LL ~ let a = vec.to_owned().pop(); | |
| LL ~ let b = vec.to_owned().clone(); | |
| | | |
| error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:181:23 | |
| | | |
| LL | fn foo_path(path: &PathBuf) { | |
| | ^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL ~ fn foo_path(path: &Path) { | |
| LL | | |
| LL | | |
| LL ~ let c = path.to_path_buf().pop(); | |
| LL ~ let d = path.to_path_buf().clone(); | |
| | | |
| error: writing `&String` instead of `&str` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:188:21 | |
| | | |
| LL | fn foo_str(str: &String) { | |
| | ^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL ~ fn foo_str(str: &str) { | |
| LL | | |
| LL | | |
| LL ~ let e = str.to_owned().pop(); | |
| LL ~ let f = str.to_owned().clone(); | |
| | | |
| error: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:196:29 | |
| | | |
| LL | fn mut_vec_slice_methods(v: &mut Vec<u32>) { | |
| | ^^^^^^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn mut_vec_slice_methods(v: &mut Vec<u32>) { | |
| LL + fn mut_vec_slice_methods(v: &mut [u32]) { | |
| | | |
| error: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:260:17 | |
| | | |
| LL | fn dyn_trait(a: &mut Vec<u32>, b: &mut String, c: &mut PathBuf) { | |
| | ^^^^^^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn dyn_trait(a: &mut Vec<u32>, b: &mut String, c: &mut PathBuf) { | |
| LL + fn dyn_trait(a: &mut [u32], b: &mut String, c: &mut PathBuf) { | |
| | | |
| error: writing `&mut String` instead of `&mut str` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:260:35 | |
| | | |
| LL | fn dyn_trait(a: &mut Vec<u32>, b: &mut String, c: &mut PathBuf) { | |
| | ^^^^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn dyn_trait(a: &mut Vec<u32>, b: &mut String, c: &mut PathBuf) { | |
| LL + fn dyn_trait(a: &mut Vec<u32>, b: &mut str, c: &mut PathBuf) { | |
| | | |
| error: writing `&mut PathBuf` instead of `&mut Path` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:260:51 | |
| | | |
| LL | fn dyn_trait(a: &mut Vec<u32>, b: &mut String, c: &mut PathBuf) { | |
| | ^^^^^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn dyn_trait(a: &mut Vec<u32>, b: &mut String, c: &mut PathBuf) { | |
| LL + fn dyn_trait(a: &mut Vec<u32>, b: &mut String, c: &mut Path) { | |
| | | |
| error: using a reference to `Cow` is not recommended | |
| --> tests/ui/ptr_arg.rs:287:39 | |
| | | |
| LL | fn cow_elided_lifetime<'a>(input: &'a Cow<str>) -> &'a str { | |
| | ^^^^^^^^^^^^ help: change this to: `&str` | |
| error: using a reference to `Cow` is not recommended | |
| --> tests/ui/ptr_arg.rs:294:36 | |
| | | |
| LL | fn cow_bad_ret_ty_1<'a>(input: &'a Cow<'a, str>) -> &'static str { | |
| | ^^^^^^^^^^^^^^^^ help: change this to: `&str` | |
| error: using a reference to `Cow` is not recommended | |
| --> tests/ui/ptr_arg.rs:299:40 | |
| | | |
| LL | fn cow_bad_ret_ty_2<'a, 'b>(input: &'a Cow<'a, str>) -> &'b str { | |
| | ^^^^^^^^^^^^^^^^ help: change this to: `&str` | |
| error: writing `&String` instead of `&str` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:339:17 | |
| | | |
| LL | fn good(v1: &String, v2: &String) { | |
| | ^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn good(v1: &String, v2: &String) { | |
| LL + fn good(v1: &str, v2: &String) { | |
| | | |
| error: writing `&String` instead of `&str` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:339:30 | |
| | | |
| LL | fn good(v1: &String, v2: &String) { | |
| | ^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn good(v1: &String, v2: &String) { | |
| LL + fn good(v1: &String, v2: &str) { | |
| | | |
| error: writing `&Vec` instead of `&[_]` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:355:20 | |
| | | |
| LL | fn foo_used(x: &Vec<i32>) { | |
| | ^^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn foo_used(x: &Vec<i32>) { | |
| LL + fn foo_used(x: &[i32]) { | |
| | | |
| error: writing `&Vec` instead of `&[_]` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:369:26 | |
| | | |
| LL | fn foo_local_used(x: &Vec<i32>) { | |
| | ^^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn foo_local_used(x: &Vec<i32>) { | |
| LL + fn foo_local_used(x: &[i32]) { | |
| | | |
| error: writing `&String` instead of `&str` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:378:33 | |
| | | |
| LL | fn foofoo(_x: &Vec<i32>, y: &String) { | |
| | ^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn foofoo(_x: &Vec<i32>, y: &String) { | |
| LL + fn foofoo(_x: &Vec<i32>, y: &str) { | |
| | | |
| error: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:399:20 | |
| | | |
| LL | fn bar_used(x: &mut Vec<u32>) { | |
| | ^^^^^^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn bar_used(x: &mut Vec<u32>) { | |
| LL + fn bar_used(x: &mut [u32]) { | |
| | | |
| error: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:413:26 | |
| | | |
| LL | fn bar_local_used(x: &mut Vec<u32>) { | |
| | ^^^^^^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn bar_local_used(x: &mut Vec<u32>) { | |
| LL + fn bar_local_used(x: &mut [u32]) { | |
| | | |
| error: writing `&mut String` instead of `&mut str` involves a new object where a slice will do | |
| --> tests/ui/ptr_arg.rs:422:37 | |
| | | |
| LL | fn barbar(_x: &mut Vec<u32>, y: &mut String) { | |
| | ^^^^^^^^^^^ | |
| | | |
| help: change this to | |
| | | |
| LL - fn barbar(_x: &mut Vec<u32>, y: &mut String) { | |
| LL + fn barbar(_x: &mut Vec<u32>, y: &mut str) { | |
| | | |
| error: eliding a lifetime that's named elsewhere is confusing | |
| --> tests/ui/ptr_arg.rs:306:56 | |
| | | |
| LL | fn cow_good_ret_ty<'a>(input: &'a Cow<'a, str>) -> &str { | |
| | -- -- ^^^^ the same lifetime is elided here | |
| | | | | |
| | | the lifetime is named here | |
| | the lifetime is named here | |
| | | |
| = help: the same lifetime is referred to in inconsistent ways, making the signature confusing | |
| = note: `-D mismatched-lifetime-syntaxes` implied by `-D warnings` | |
| = help: to override `-D warnings` add `#[allow(mismatched_lifetime_syntaxes)]` | |
| help: consistently use `'a` | |
| | | |
| LL | fn cow_good_ret_ty<'a>(input: &'a Cow<'a, str>) -> &'a str { | |
| | ++ | |
| error: aborting due to 33 previous errors | |