]> git.lizzy.rs Git - rust.git/blobdiff - tests/ui/ptr_arg.stderr
iterate List by value
[rust.git] / tests / ui / ptr_arg.stderr
index a022f0e5550f49440f43b4ecc7c4a1cf4dd54a75..314f23497f9716647785e95e7fcae266156a57c6 100644 (file)
@@ -1,26 +1,89 @@
-error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. Consider changing the type to `&[...]`
- --> $DIR/ptr_arg.rs:6:14
-  |
-6 | fn do_vec(x: &Vec<i64>) { //~ERROR writing `&Vec<_>` instead of `&[_]`
-  |              ^^^^^^^^^
-  |
-note: lint level defined here
- --> $DIR/ptr_arg.rs:4:9
-  |
-4 | #![deny(ptr_arg)]
-  |         ^^^^^^^
-
-error: writing `&String` instead of `&str` involves a new object where a slice will do. Consider changing the type to `&str`
-  --> $DIR/ptr_arg.rs:14:14
-   |
-14 | fn do_str(x: &String) { //~ERROR writing `&String` instead of `&str`
-   |              ^^^^^^^
-
-error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. Consider changing the type to `&[...]`
-  --> $DIR/ptr_arg.rs:27:18
-   |
-27 |     fn do_vec(x: &Vec<i64>); //~ERROR writing `&Vec<_>`
-   |                  ^^^^^^^^^
-
-error: aborting due to 3 previous errors
+error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices.
+  --> $DIR/ptr_arg.rs:6:14
+   |
+LL | fn do_vec(x: &Vec<i64>) {
+   |              ^^^^^^^^^ help: change this to: `&[i64]`
+   |
+   = note: `-D clippy::ptr-arg` implied by `-D warnings`
+
+error: writing `&String` instead of `&str` involves a new object where a slice will do.
+  --> $DIR/ptr_arg.rs:15:14
+   |
+LL | fn do_str(x: &String) {
+   |              ^^^^^^^ help: change this to: `&str`
+
+error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices.
+  --> $DIR/ptr_arg.rs:28:18
+   |
+LL |     fn do_vec(x: &Vec<i64>);
+   |                  ^^^^^^^^^ help: change this to: `&[i64]`
+
+error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices.
+  --> $DIR/ptr_arg.rs:41:14
+   |
+LL | fn cloned(x: &Vec<u8>) -> Vec<u8> {
+   |              ^^^^^^^^
+   |
+help: change this to
+   |
+LL | fn cloned(x: &[u8]) -> Vec<u8> {
+   |              ^^^^^
+help: change `x.clone()` to
+   |
+LL |     let e = x.to_owned();
+   |             ^^^^^^^^^^^^
+help: change `x.clone()` to
+   |
+LL |     x.to_owned()
+   |
+
+error: writing `&String` instead of `&str` involves a new object where a slice will do.
+  --> $DIR/ptr_arg.rs:50:18
+   |
+LL | fn str_cloned(x: &String) -> String {
+   |                  ^^^^^^^
+   |
+help: change this to
+   |
+LL | fn str_cloned(x: &str) -> String {
+   |                  ^^^^
+help: change `x.clone()` to
+   |
+LL |     let a = x.to_string();
+   |             ^^^^^^^^^^^^^
+help: change `x.clone()` to
+   |
+LL |     let b = x.to_string();
+   |             ^^^^^^^^^^^^^
+help: change `x.clone()` to
+   |
+LL |     x.to_string()
+   |
+
+error: writing `&String` instead of `&str` involves a new object where a slice will do.
+  --> $DIR/ptr_arg.rs:58: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) {
+   |                                            ^^^^
+help: change `y.clone()` to
+   |
+LL |     let b = y.to_string();
+   |             ^^^^^^^^^^^^^
+help: change `y.as_str()` to
+   |
+LL |     let c = y;
+   |             ^
+
+error: using a reference to `Cow` is not recommended.
+  --> $DIR/ptr_arg.rs:72:25
+   |
+LL | fn test_cow_with_ref(c: &Cow<[i32]>) {}
+   |                         ^^^^^^^^^^^ help: change this to: `&[i32]`
+
+error: aborting due to 7 previous errors