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> {
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:23:11
12 23 | 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:23:22
18 23 | 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:29:71
24 29 | 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:41:18
30 41 | fn test_match(x: Option<Option<String>>, y: Option<Option<String>>) {
31 | ^^^^^^^^^^^^^^^^^^^^^^
32 help: consider taking a reference instead
34 41 | 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:54:24
41 54 | 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:54:36
47 54 | fn test_destructure(x: Wrapper, y: Wrapper, z: Wrapper) {
49 help: consider taking a reference instead
51 54 | fn test_destructure(x: Wrapper, y: &Wrapper, z: Wrapper) {
52 55 | let Wrapper(s) = z; // moved
53 56 | let Wrapper(ref t) = *y; // not moved
54 57 | 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:70:49
60 70 | 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:72:18
66 72 | 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:72:29
72 72 | fn issue_2114(s: String, t: String, u: Vec<i32>, v: Vec<i32>) {
74 help: consider changing the type to
76 72 | fn issue_2114(s: String, t: &str, u: Vec<i32>, v: Vec<i32>) {
78 help: change `t.clone()` to
80 74 | 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:72:40
86 72 | 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:72:53
92 72 | fn issue_2114(s: String, t: String, u: Vec<i32>, v: Vec<i32>) {
94 help: consider changing the type to
96 72 | fn issue_2114(s: String, t: String, u: Vec<i32>, v: &[i32]) {
98 help: change `v.clone()` to
100 76 | 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:84: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:85: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:97: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:98: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:120:24
130 120 | 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:118:1
136 118 | 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:126:29
142 126 | 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:118:1
148 118 | 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:126:45
154 126 | 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:118:1
160 118 | struct CopyWrapper(u32);
161 | ^^^^^^^^^^^^^^^^^^^^^^^^
162 help: consider taking a reference instead
164 126 | fn test_destructure_copy(x: CopyWrapper, y: &CopyWrapper, z: CopyWrapper) {
165 127 | let CopyWrapper(s) = z; // moved
166 128 | let CopyWrapper(ref t) = *y; // not moved
167 129 | 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:126:61
173 126 | 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:118:1
179 118 | struct CopyWrapper(u32);
180 | ^^^^^^^^^^^^^^^^^^^^^^^^
181 help: consider taking a reference instead
183 126 | fn test_destructure_copy(x: CopyWrapper, y: CopyWrapper, z: &CopyWrapper) {
184 127 | let CopyWrapper(s) = *z; // moved
187 error: aborting due to 20 previous errors