1 error: this argument is passed by value, but not consumed in the function body
2 --> $DIR/needless_pass_by_value.rs:9:23
4 9 | fn foo<T: Default>(v: Vec<T>, w: Vec<T>, mut x: Vec<T>, y: Vec<T>) -> Vec<T> {
7 note: lint level defined here
8 --> $DIR/needless_pass_by_value.rs:4:9
10 4 | #![deny(needless_pass_by_value)]
11 | ^^^^^^^^^^^^^^^^^^^^^^
12 help: consider changing the type to `&[T]`
13 | fn foo<T: Default>(v: &[T], w: Vec<T>, mut x: Vec<T>, y: Vec<T>) -> Vec<T> {
15 error: this argument is passed by value, but not consumed in the function body
16 --> $DIR/needless_pass_by_value.rs:23:11
18 23 | fn bar(x: String, y: Wrapper) {
21 help: consider changing the type to `&str`
22 | fn bar(x: &str, y: Wrapper) {
24 error: this argument is passed by value, but not consumed in the function body
25 --> $DIR/needless_pass_by_value.rs:23:22
27 23 | fn bar(x: String, y: Wrapper) {
30 help: consider taking a reference instead
31 | fn bar(x: String, y: &Wrapper) {
33 error: this argument is passed by value, but not consumed in the function body
34 --> $DIR/needless_pass_by_value.rs:29:63
36 29 | fn test_borrow_trait<T: std::borrow::Borrow<str>, U>(t: T, u: U) {
39 help: consider taking a reference instead
40 | fn test_borrow_trait<T: std::borrow::Borrow<str>, U>(t: T, u: &U) {
42 error: this argument is passed by value, but not consumed in the function body
43 --> $DIR/needless_pass_by_value.rs:40:18
45 40 | fn test_match(x: Option<Option<String>>, y: Option<Option<String>>) {
46 | ^^^^^^^^^^^^^^^^^^^^^^
48 help: consider taking a reference instead
49 | fn test_match(x: &Option<Option<String>>, y: Option<Option<String>>) {
52 error: this argument is passed by value, but not consumed in the function body
53 --> $DIR/needless_pass_by_value.rs:53:24
55 53 | fn test_destructure(x: Wrapper, y: Wrapper, z: Wrapper) {
58 help: consider taking a reference instead
59 | fn test_destructure(x: &Wrapper, y: Wrapper, z: Wrapper) {
61 error: this argument is passed by value, but not consumed in the function body
62 --> $DIR/needless_pass_by_value.rs:53:36
64 53 | fn test_destructure(x: Wrapper, y: Wrapper, z: Wrapper) {
67 help: consider taking a reference instead
68 | fn test_destructure(x: Wrapper, y: &Wrapper, z: Wrapper) {
69 | let Wrapper(s) = z; // moved
70 | let Wrapper(ref t) = *y; // not moved
71 | let Wrapper(_) = *y; // still not moved
73 error: aborting due to 7 previous errors