1 error: this argument is passed by value, but not consumed in the function body
2 --> $DIR/needless_pass_by_value.rs:14:23
4 14 | fn foo<T: Default>(v: Vec<T>, w: Vec<T>, mut x: Vec<T>, y: Vec<T>) -> Vec<T> {
5 | ^^^^^^ help: consider changing the type to: `&[T]`
7 = note: `-D needless-pass-by-value` implied by `-D warnings`
9 error: this argument is passed by value, but not consumed in the function body
10 --> $DIR/needless_pass_by_value.rs:28:11
12 28 | fn bar(x: String, y: Wrapper) {
13 | ^^^^^^ help: consider changing the type to: `&str`
15 error: this argument is passed by value, but not consumed in the function body
16 --> $DIR/needless_pass_by_value.rs:28:22
18 28 | fn bar(x: String, y: Wrapper) {
19 | ^^^^^^^ help: consider taking a reference instead: `&Wrapper`
21 error: this argument is passed by value, but not consumed in the function body
22 --> $DIR/needless_pass_by_value.rs:34:71
24 34 | fn test_borrow_trait<T: Borrow<str>, U: AsRef<str>, V>(t: T, u: U, v: V) {
25 | ^ help: consider taking a reference instead: `&V`
27 error: this argument is passed by value, but not consumed in the function body
28 --> $DIR/needless_pass_by_value.rs:46:18
30 46 | fn test_match(x: Option<Option<String>>, y: Option<Option<String>>) {
31 | ^^^^^^^^^^^^^^^^^^^^^^
32 help: consider taking a reference instead
34 46 | fn test_match(x: &Option<Option<String>>, y: Option<Option<String>>) {
38 error: this argument is passed by value, but not consumed in the function body
39 --> $DIR/needless_pass_by_value.rs:59:24
41 59 | fn test_destructure(x: Wrapper, y: Wrapper, z: Wrapper) {
42 | ^^^^^^^ help: consider taking a reference instead: `&Wrapper`
44 error: this argument is passed by value, but not consumed in the function body
45 --> $DIR/needless_pass_by_value.rs:59:36
47 59 | fn test_destructure(x: Wrapper, y: Wrapper, z: Wrapper) {
49 help: consider taking a reference instead
51 59 | fn test_destructure(x: Wrapper, y: &Wrapper, z: Wrapper) {
52 60 | let Wrapper(s) = z; // moved
53 61 | let Wrapper(ref t) = *y; // not moved
54 62 | let Wrapper(_) = *y; // still not moved
57 error: this argument is passed by value, but not consumed in the function body
58 --> $DIR/needless_pass_by_value.rs:75:49
60 75 | fn test_blanket_ref<T: Foo, S: Serialize>(_foo: T, _serializable: S) {}
61 | ^ help: consider taking a reference instead: `&T`
63 error: this argument is passed by value, but not consumed in the function body
64 --> $DIR/needless_pass_by_value.rs:77:18
66 77 | fn issue_2114(s: String, t: String, u: Vec<i32>, v: Vec<i32>) {
67 | ^^^^^^ help: consider taking a reference instead: `&String`
69 error: this argument is passed by value, but not consumed in the function body
70 --> $DIR/needless_pass_by_value.rs:77:29
72 77 | fn issue_2114(s: String, t: String, u: Vec<i32>, v: Vec<i32>) {
74 help: consider changing the type to
76 77 | fn issue_2114(s: String, t: &str, u: Vec<i32>, v: Vec<i32>) {
78 help: change `t.clone()` to
80 79 | let _ = t.to_string();
83 error: this argument is passed by value, but not consumed in the function body
84 --> $DIR/needless_pass_by_value.rs:77:40
86 77 | fn issue_2114(s: String, t: String, u: Vec<i32>, v: Vec<i32>) {
87 | ^^^^^^^^ help: consider taking a reference instead: `&Vec<i32>`
89 error: this argument is passed by value, but not consumed in the function body
90 --> $DIR/needless_pass_by_value.rs:77:53
92 77 | fn issue_2114(s: String, t: String, u: Vec<i32>, v: Vec<i32>) {
94 help: consider changing the type to
96 77 | fn issue_2114(s: String, t: String, u: Vec<i32>, v: &[i32]) {
98 help: change `v.clone()` to
100 81 | let _ = v.to_owned();
103 error: this argument is passed by value, but not consumed in the function body
104 --> $DIR/needless_pass_by_value.rs:89:12
107 | ^^^^^^ help: consider changing the type to: `&str`
109 error: this argument is passed by value, but not consumed in the function body
110 --> $DIR/needless_pass_by_value.rs:90:12
113 | ^^^^^^ help: consider taking a reference instead: `&String`
115 error: this argument is passed by value, but not consumed in the function body
116 --> $DIR/needless_pass_by_value.rs:102:13
119 | ^ help: consider taking a reference instead: `&U`
121 error: this argument is passed by value, but not consumed in the function body
122 --> $DIR/needless_pass_by_value.rs:103:13
125 | ^^^^ help: consider taking a reference instead: `&Self`
127 error: this argument is passed by value, but not consumed in the function body
128 --> $DIR/needless_pass_by_value.rs:125:24
130 125 | fn bar_copy(x: u32, y: CopyWrapper) {
131 | ^^^^^^^^^^^ help: consider taking a reference instead: `&CopyWrapper`
133 help: consider marking this type as Copy
134 --> $DIR/needless_pass_by_value.rs:123:1
136 123 | struct CopyWrapper(u32);
137 | ^^^^^^^^^^^^^^^^^^^^^^^^
139 error: this argument is passed by value, but not consumed in the function body
140 --> $DIR/needless_pass_by_value.rs:131:29
142 131 | fn test_destructure_copy(x: CopyWrapper, y: CopyWrapper, z: CopyWrapper) {
143 | ^^^^^^^^^^^ help: consider taking a reference instead: `&CopyWrapper`
145 help: consider marking this type as Copy
146 --> $DIR/needless_pass_by_value.rs:123:1
148 123 | struct CopyWrapper(u32);
149 | ^^^^^^^^^^^^^^^^^^^^^^^^
151 error: this argument is passed by value, but not consumed in the function body
152 --> $DIR/needless_pass_by_value.rs:131:45
154 131 | fn test_destructure_copy(x: CopyWrapper, y: CopyWrapper, z: CopyWrapper) {
157 help: consider marking this type as Copy
158 --> $DIR/needless_pass_by_value.rs:123:1
160 123 | struct CopyWrapper(u32);
161 | ^^^^^^^^^^^^^^^^^^^^^^^^
162 help: consider taking a reference instead
164 131 | fn test_destructure_copy(x: CopyWrapper, y: &CopyWrapper, z: CopyWrapper) {
165 132 | let CopyWrapper(s) = z; // moved
166 133 | let CopyWrapper(ref t) = *y; // not moved
167 134 | let CopyWrapper(_) = *y; // still not moved
170 error: this argument is passed by value, but not consumed in the function body
171 --> $DIR/needless_pass_by_value.rs:131:61
173 131 | fn test_destructure_copy(x: CopyWrapper, y: CopyWrapper, z: CopyWrapper) {
176 help: consider marking this type as Copy
177 --> $DIR/needless_pass_by_value.rs:123:1
179 123 | struct CopyWrapper(u32);
180 | ^^^^^^^^^^^^^^^^^^^^^^^^
181 help: consider taking a reference instead
183 131 | fn test_destructure_copy(x: CopyWrapper, y: CopyWrapper, z: &CopyWrapper) {
184 132 | let CopyWrapper(s) = *z; // moved
187 error: aborting due to 20 previous errors