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: lint level defined here
8 --> $DIR/needless_pass_by_value.rs:4:9
10 4 | #![deny(needless_pass_by_value)]
11 | ^^^^^^^^^^^^^^^^^^^^^^
13 error: this argument is passed by value, but not consumed in the function body
14 --> $DIR/needless_pass_by_value.rs:23:11
16 23 | fn bar(x: String, y: Wrapper) {
17 | ^^^^^^ help: consider changing the type to `&str`
19 error: this argument is passed by value, but not consumed in the function body
20 --> $DIR/needless_pass_by_value.rs:23:22
22 23 | fn bar(x: String, y: Wrapper) {
23 | ^^^^^^^ help: consider taking a reference instead `&Wrapper`
25 error: this argument is passed by value, but not consumed in the function body
26 --> $DIR/needless_pass_by_value.rs:29:63
28 29 | fn test_borrow_trait<T: std::borrow::Borrow<str>, U>(t: T, u: U) {
29 | ^ help: consider taking a reference instead `&U`
31 error: this argument is passed by value, but not consumed in the function body
32 --> $DIR/needless_pass_by_value.rs:40:18
34 40 | fn test_match(x: Option<Option<String>>, y: Option<Option<String>>) {
35 | ^^^^^^^^^^^^^^^^^^^^^^
37 help: consider taking a reference instead
38 | fn test_match(x: &Option<Option<String>>, y: Option<Option<String>>) {
41 error: this argument is passed by value, but not consumed in the function body
42 --> $DIR/needless_pass_by_value.rs:53:24
44 53 | fn test_destructure(x: Wrapper, y: Wrapper, z: Wrapper) {
45 | ^^^^^^^ help: consider taking a reference instead `&Wrapper`
47 error: this argument is passed by value, but not consumed in the function body
48 --> $DIR/needless_pass_by_value.rs:53:36
50 53 | fn test_destructure(x: Wrapper, y: Wrapper, z: Wrapper) {
53 help: consider taking a reference instead
54 | fn test_destructure(x: Wrapper, y: &Wrapper, z: Wrapper) {
55 | let Wrapper(s) = z; // moved
56 | let Wrapper(ref t) = *y; // not moved
57 | let Wrapper(_) = *y; // still not moved
59 error: aborting due to 7 previous errors