+error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices.
+ --> $DIR/ptr_arg.rs:143:21
+ |
+LL | fn foo_vec(vec: &Vec<u8>) {
+ | ^^^^^^^^
+ |
+help: change this to
+ |
+LL | fn foo_vec(vec: &[u8]) {
+ | ^^^^^
+help: change `vec.clone()` to
+ |
+LL | let _ = vec.to_owned().pop();
+ | ^^^^^^^^^^^^^^
+help: change `vec.clone()` to
+ |
+LL | let _ = vec.to_owned().clone();
+ | ^^^^^^^^^^^^^^
+
+error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do.
+ --> $DIR/ptr_arg.rs:148:23
+ |
+LL | fn foo_path(path: &PathBuf) {
+ | ^^^^^^^^
+ |
+help: change this to
+ |
+LL | fn foo_path(path: &Path) {
+ | ^^^^^
+help: change `path.clone()` to
+ |
+LL | let _ = path.to_path_buf().pop();
+ | ^^^^^^^^^^^^^^^^^^
+help: change `path.clone()` to
+ |
+LL | let _ = path.to_path_buf().clone();
+ | ^^^^^^^^^^^^^^^^^^
+
+error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do.
+ --> $DIR/ptr_arg.rs:153:21
+ |
+LL | fn foo_str(str: &PathBuf) {
+ | ^^^^^^^^
+ |
+help: change this to
+ |
+LL | fn foo_str(str: &Path) {
+ | ^^^^^
+help: change `str.clone()` to
+ |
+LL | let _ = str.to_path_buf().pop();
+ | ^^^^^^^^^^^^^^^^^
+help: change `str.clone()` to
+ |
+LL | let _ = str.to_path_buf().clone();
+ | ^^^^^^^^^^^^^^^^^
+
+error: aborting due to 12 previous errors