2024-08-31 07:31:31 -05:00
|
|
|
error: elided lifetime has a name
|
|
|
|
--> tests/ui/ptr_arg.rs:295:56
|
|
|
|
|
|
|
|
|
LL | fn cow_good_ret_ty<'a>(input: &'a Cow<'a, str>) -> &str {
|
|
|
|
| -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a`
|
|
|
|
|
|
|
|
|
= note: `-D elided-named-lifetimes` implied by `-D warnings`
|
|
|
|
= help: to override `-D warnings` add `#[allow(elided_named_lifetimes)]`
|
|
|
|
|
2022-01-27 08:12:45 -06:00
|
|
|
error: writing `&Vec` instead of `&[_]` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:13:14
|
2018-10-06 11:18:06 -05:00
|
|
|
|
|
2018-12-27 09:57:55 -06:00
|
|
|
LL | fn do_vec(x: &Vec<i64>) {
|
2018-10-06 11:18:06 -05:00
|
|
|
| ^^^^^^^^^ help: change this to: `&[i64]`
|
|
|
|
|
|
|
|
|
= note: `-D clippy::ptr-arg` implied by `-D warnings`
|
2023-08-01 07:02:21 -05:00
|
|
|
= help: to override `-D warnings` add `#[allow(clippy::ptr_arg)]`
|
2017-02-07 14:05:30 -06:00
|
|
|
|
2022-01-27 08:12:45 -06:00
|
|
|
error: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:19:18
|
2022-01-27 08:12:45 -06:00
|
|
|
|
|
|
|
|
LL | fn do_vec_mut(x: &mut Vec<i64>) {
|
|
|
|
| ^^^^^^^^^^^^^ help: change this to: `&mut [i64]`
|
|
|
|
|
2023-12-01 11:21:58 -06:00
|
|
|
error: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:24:19
|
2023-12-01 11:21:58 -06:00
|
|
|
|
|
|
|
|
LL | fn do_vec_mut2(x: &mut Vec<i64>) {
|
|
|
|
| ^^^^^^^^^^^^^ help: change this to: `&mut [i64]`
|
|
|
|
|
2021-03-12 08:30:50 -06:00
|
|
|
error: writing `&String` instead of `&str` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:30:14
|
2017-02-07 14:05:30 -06:00
|
|
|
|
|
2018-12-27 09:57:55 -06:00
|
|
|
LL | fn do_str(x: &String) {
|
2017-09-10 12:32:24 -05:00
|
|
|
| ^^^^^^^ help: change this to: `&str`
|
2017-02-07 14:05:30 -06:00
|
|
|
|
2022-01-27 08:12:45 -06:00
|
|
|
error: writing `&mut String` instead of `&mut str` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:35:18
|
2022-01-27 08:12:45 -06:00
|
|
|
|
|
|
|
|
LL | fn do_str_mut(x: &mut String) {
|
|
|
|
| ^^^^^^^^^^^ help: change this to: `&mut str`
|
|
|
|
|
2021-03-12 08:30:50 -06:00
|
|
|
error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:40:15
|
2021-01-02 09:29:43 -06:00
|
|
|
|
|
|
|
|
LL | fn do_path(x: &PathBuf) {
|
|
|
|
| ^^^^^^^^ help: change this to: `&Path`
|
|
|
|
|
2022-01-27 08:12:45 -06:00
|
|
|
error: writing `&mut PathBuf` instead of `&mut Path` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:45:19
|
2022-01-27 08:12:45 -06:00
|
|
|
|
|
|
|
|
LL | fn do_path_mut(x: &mut PathBuf) {
|
|
|
|
| ^^^^^^^^^^^^ help: change this to: `&mut Path`
|
|
|
|
|
|
|
|
error: writing `&Vec` instead of `&[_]` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:54:18
|
2017-02-07 14:05:30 -06:00
|
|
|
|
|
2018-12-27 09:57:55 -06:00
|
|
|
LL | fn do_vec(x: &Vec<i64>);
|
2017-09-10 12:32:24 -05:00
|
|
|
| ^^^^^^^^^ help: change this to: `&[i64]`
|
2017-02-07 14:05:30 -06:00
|
|
|
|
2022-01-27 08:12:45 -06:00
|
|
|
error: writing `&Vec` instead of `&[_]` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:68:14
|
2017-09-16 02:10:26 -05:00
|
|
|
|
|
2018-12-27 09:57:55 -06:00
|
|
|
LL | fn cloned(x: &Vec<u8>) -> Vec<u8> {
|
2017-09-16 02:10:26 -05:00
|
|
|
| ^^^^^^^^
|
2019-10-26 14:53:42 -05:00
|
|
|
|
|
2017-09-16 02:10:26 -05:00
|
|
|
help: change this to
|
|
|
|
|
|
2022-01-27 08:12:45 -06:00
|
|
|
LL ~ fn cloned(x: &[u8]) -> Vec<u8> {
|
2023-08-24 14:32:12 -05:00
|
|
|
LL |
|
2022-01-27 08:12:45 -06:00
|
|
|
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();
|
2022-06-16 09:00:32 -05:00
|
|
|
LL ~ x.to_owned()
|
|
|
|
|
|
2017-09-16 02:10:26 -05:00
|
|
|
|
2021-03-12 08:30:50 -06:00
|
|
|
error: writing `&String` instead of `&str` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:78:18
|
2017-09-16 02:10:26 -05:00
|
|
|
|
|
2018-12-27 09:57:55 -06:00
|
|
|
LL | fn str_cloned(x: &String) -> String {
|
2017-09-16 02:10:26 -05:00
|
|
|
| ^^^^^^^
|
2019-10-26 14:53:42 -05:00
|
|
|
|
|
2017-09-16 02:10:26 -05:00
|
|
|
help: change this to
|
|
|
|
|
|
2022-01-27 08:12:45 -06:00
|
|
|
LL ~ fn str_cloned(x: &str) -> String {
|
2023-08-24 14:32:12 -05:00
|
|
|
LL |
|
2022-01-27 08:12:45 -06:00
|
|
|
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()
|
2017-11-10 01:58:54 -06:00
|
|
|
|
|
2017-09-16 02:10:26 -05:00
|
|
|
|
2021-03-12 08:30:50 -06:00
|
|
|
error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:87:19
|
2021-01-02 09:29:43 -06:00
|
|
|
|
|
|
|
|
LL | fn path_cloned(x: &PathBuf) -> PathBuf {
|
|
|
|
| ^^^^^^^^
|
|
|
|
|
|
|
|
|
help: change this to
|
|
|
|
|
|
2022-01-27 08:12:45 -06:00
|
|
|
LL ~ fn path_cloned(x: &Path) -> PathBuf {
|
2023-08-24 14:32:12 -05:00
|
|
|
LL |
|
2022-01-27 08:12:45 -06:00
|
|
|
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()
|
2021-01-02 09:29:43 -06:00
|
|
|
|
|
|
|
|
|
2021-03-12 08:30:50 -06:00
|
|
|
error: writing `&String` instead of `&str` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:96:44
|
2017-09-20 16:59:23 -05:00
|
|
|
|
|
2018-12-27 09:57:55 -06:00
|
|
|
LL | fn false_positive_capacity(x: &Vec<u8>, y: &String) {
|
2017-09-20 16:59:23 -05:00
|
|
|
| ^^^^^^^
|
2019-10-26 14:53:42 -05:00
|
|
|
|
|
2017-09-20 16:59:23 -05:00
|
|
|
help: change this to
|
|
|
|
|
|
2022-01-27 08:12:45 -06:00
|
|
|
LL ~ fn false_positive_capacity(x: &Vec<u8>, y: &str) {
|
2023-08-24 14:32:12 -05:00
|
|
|
LL |
|
2022-01-27 08:12:45 -06:00
|
|
|
LL | let a = x.capacity();
|
|
|
|
LL ~ let b = y.to_owned();
|
|
|
|
LL ~ let c = y;
|
2017-09-20 16:59:23 -05:00
|
|
|
|
|
|
|
|
|
2021-03-12 08:30:50 -06:00
|
|
|
error: using a reference to `Cow` is not recommended
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:111:25
|
2018-04-05 10:59:35 -05:00
|
|
|
|
|
2018-12-27 09:57:55 -06:00
|
|
|
LL | fn test_cow_with_ref(c: &Cow<[i32]>) {}
|
2018-04-05 10:59:35 -05:00
|
|
|
| ^^^^^^^^^^^ help: change this to: `&[i32]`
|
|
|
|
|
2022-06-30 03:50:09 -05:00
|
|
|
error: writing `&String` instead of `&str` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:141:66
|
2022-06-30 03:50:09 -05:00
|
|
|
|
|
|
|
|
LL | fn some_allowed(#[allow(clippy::ptr_arg)] _v: &Vec<u32>, _s: &String) {}
|
|
|
|
| ^^^^^^^ help: change this to: `&str`
|
|
|
|
|
2022-01-27 08:12:45 -06:00
|
|
|
error: writing `&Vec` instead of `&[_]` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:171:21
|
2021-01-02 09:29:43 -06:00
|
|
|
|
|
|
|
|
LL | fn foo_vec(vec: &Vec<u8>) {
|
|
|
|
| ^^^^^^^^
|
|
|
|
|
|
|
|
|
help: change this to
|
|
|
|
|
|
2022-01-27 08:12:45 -06:00
|
|
|
LL ~ fn foo_vec(vec: &[u8]) {
|
2023-08-24 14:32:12 -05:00
|
|
|
LL |
|
2022-01-27 08:12:45 -06:00
|
|
|
LL ~ let _ = vec.to_owned().pop();
|
|
|
|
LL ~ let _ = vec.to_owned().clone();
|
2021-01-02 09:29:43 -06:00
|
|
|
|
|
|
|
|
|
2021-03-12 08:30:50 -06:00
|
|
|
error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:177:23
|
2021-01-02 09:29:43 -06:00
|
|
|
|
|
|
|
|
LL | fn foo_path(path: &PathBuf) {
|
|
|
|
| ^^^^^^^^
|
|
|
|
|
|
|
|
|
help: change this to
|
|
|
|
|
|
2022-01-27 08:12:45 -06:00
|
|
|
LL ~ fn foo_path(path: &Path) {
|
2023-08-24 14:32:12 -05:00
|
|
|
LL |
|
2022-01-27 08:12:45 -06:00
|
|
|
LL ~ let _ = path.to_path_buf().pop();
|
|
|
|
LL ~ let _ = path.to_path_buf().clone();
|
2021-01-02 09:29:43 -06:00
|
|
|
|
|
|
|
|
|
2021-03-12 08:30:50 -06:00
|
|
|
error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:183:21
|
2021-01-02 09:29:43 -06:00
|
|
|
|
|
|
|
|
LL | fn foo_str(str: &PathBuf) {
|
|
|
|
| ^^^^^^^^
|
|
|
|
|
|
|
|
|
help: change this to
|
|
|
|
|
|
2022-01-27 08:12:45 -06:00
|
|
|
LL ~ fn foo_str(str: &Path) {
|
2023-08-24 14:32:12 -05:00
|
|
|
LL |
|
2022-01-27 08:12:45 -06:00
|
|
|
LL ~ let _ = str.to_path_buf().pop();
|
|
|
|
LL ~ let _ = str.to_path_buf().clone();
|
2021-01-02 09:29:43 -06:00
|
|
|
|
|
2022-01-27 08:12:45 -06:00
|
|
|
|
|
|
|
error: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:190:29
|
2021-01-02 09:29:43 -06:00
|
|
|
|
|
2022-01-27 08:12:45 -06:00
|
|
|
LL | fn mut_vec_slice_methods(v: &mut Vec<u32>) {
|
|
|
|
| ^^^^^^^^^^^^^ help: change this to: `&mut [u32]`
|
2021-01-02 09:29:43 -06:00
|
|
|
|
2022-10-23 08:18:45 -05:00
|
|
|
error: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:253:17
|
2022-10-23 08:18:45 -05:00
|
|
|
|
|
|
|
|
LL | fn dyn_trait(a: &mut Vec<u32>, b: &mut String, c: &mut PathBuf) {
|
|
|
|
| ^^^^^^^^^^^^^ help: change this to: `&mut [u32]`
|
|
|
|
|
|
|
|
error: writing `&mut String` instead of `&mut str` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:253:35
|
2022-10-23 08:18:45 -05:00
|
|
|
|
|
|
|
|
LL | fn dyn_trait(a: &mut Vec<u32>, b: &mut String, c: &mut PathBuf) {
|
|
|
|
| ^^^^^^^^^^^ help: change this to: `&mut str`
|
|
|
|
|
|
|
|
error: writing `&mut PathBuf` instead of `&mut Path` involves a new object where a slice will do
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:253:51
|
2022-10-23 08:18:45 -05:00
|
|
|
|
|
|
|
|
LL | fn dyn_trait(a: &mut Vec<u32>, b: &mut String, c: &mut PathBuf) {
|
|
|
|
| ^^^^^^^^^^^^ help: change this to: `&mut Path`
|
|
|
|
|
2023-07-02 07:35:19 -05:00
|
|
|
error: using a reference to `Cow` is not recommended
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:279:39
|
2023-07-02 07:35:19 -05:00
|
|
|
|
|
|
|
|
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
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:285:36
|
2023-07-02 07:35:19 -05:00
|
|
|
|
|
|
|
|
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
|
2024-02-10 16:31:36 -06:00
|
|
|
--> tests/ui/ptr_arg.rs:289:40
|
2023-07-02 07:35:19 -05:00
|
|
|
|
|
|
|
|
LL | fn cow_bad_ret_ty_2<'a, 'b>(input: &'a Cow<'a, str>) -> &'b str {
|
|
|
|
| ^^^^^^^^^^^^^^^^ help: change this to: `&str`
|
|
|
|
|
2024-08-26 12:24:13 -05:00
|
|
|
error: writing `&String` instead of `&str` involves a new object where a slice will do
|
|
|
|
--> tests/ui/ptr_arg.rs:327:17
|
|
|
|
|
|
|
|
|
LL | fn good(v1: &String, v2: &String) {
|
|
|
|
| ^^^^^^^ 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:327:30
|
|
|
|
|
|
|
|
|
LL | fn good(v1: &String, v2: &String) {
|
|
|
|
| ^^^^^^^ help: change this to: `&str`
|
|
|
|
|
|
|
|
error: aborting due to 27 previous errors
|
2018-01-16 10:06:27 -06:00
|
|
|
|