mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-23 21:23:56 +00:00
Update trivially_copy_pass_by_ref with Trait examples
This commit is contained in:
parent
70ca052397
commit
67c32eb2c4
2 changed files with 45 additions and 26 deletions
|
@ -18,6 +18,11 @@ struct Foo(u32);
|
|||
#[derive(Copy, Clone)]
|
||||
struct Bar([u8; 24]);
|
||||
|
||||
#[derive(Copy, Clone)]
|
||||
pub struct Color {
|
||||
pub r: u8, pub g: u8, pub b: u8, pub a: u8,
|
||||
}
|
||||
|
||||
struct FooRef<'a> {
|
||||
foo: &'a Foo,
|
||||
}
|
||||
|
@ -80,6 +85,20 @@ impl Bar {
|
|||
}
|
||||
}
|
||||
|
||||
trait MyTrait {
|
||||
fn trait_method(&self, _foo: &Foo);
|
||||
}
|
||||
|
||||
pub trait MyTrait2 {
|
||||
fn trait_method2(&self, _color: &Color);
|
||||
}
|
||||
|
||||
impl MyTrait for Foo {
|
||||
fn trait_method(&self, _foo: &Foo) {
|
||||
unimplemented!()
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let (mut foo, bar) = (Foo(0), Bar([0; 24]));
|
||||
let (mut a, b, c, x, y, z) = (0, 0, Bar([0; 24]), 0, Foo(0), 0);
|
||||
|
|
|
@ -1,81 +1,81 @@
|
|||
error: this argument is passed by reference, but would be more efficient if passed by value
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:52:11
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:57:11
|
||||
|
|
||||
52 | fn bad(x: &u32, y: &Foo, z: &Baz) {
|
||||
57 | fn bad(x: &u32, y: &Foo, z: &Baz) {
|
||||
| ^^^^ help: consider passing by value instead: `u32`
|
||||
|
|
||||
= note: `-D clippy::trivially-copy-pass-by-ref` implied by `-D warnings`
|
||||
|
||||
error: this argument is passed by reference, but would be more efficient if passed by value
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:52:20
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:57:20
|
||||
|
|
||||
52 | fn bad(x: &u32, y: &Foo, z: &Baz) {
|
||||
57 | fn bad(x: &u32, y: &Foo, z: &Baz) {
|
||||
| ^^^^ help: consider passing by value instead: `Foo`
|
||||
|
||||
error: this argument is passed by reference, but would be more efficient if passed by value
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:52:29
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:57:29
|
||||
|
|
||||
52 | fn bad(x: &u32, y: &Foo, z: &Baz) {
|
||||
57 | fn bad(x: &u32, y: &Foo, z: &Baz) {
|
||||
| ^^^^ help: consider passing by value instead: `Baz`
|
||||
|
||||
error: this argument is passed by reference, but would be more efficient if passed by value
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:62:12
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:67:12
|
||||
|
|
||||
62 | fn bad(&self, x: &u32, y: &Foo, z: &Baz) {
|
||||
67 | fn bad(&self, x: &u32, y: &Foo, z: &Baz) {
|
||||
| ^^^^^ help: consider passing by value instead: `self`
|
||||
|
||||
error: this argument is passed by reference, but would be more efficient if passed by value
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:62:22
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:67:22
|
||||
|
|
||||
62 | fn bad(&self, x: &u32, y: &Foo, z: &Baz) {
|
||||
67 | fn bad(&self, x: &u32, y: &Foo, z: &Baz) {
|
||||
| ^^^^ help: consider passing by value instead: `u32`
|
||||
|
||||
error: this argument is passed by reference, but would be more efficient if passed by value
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:62:31
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:67:31
|
||||
|
|
||||
62 | fn bad(&self, x: &u32, y: &Foo, z: &Baz) {
|
||||
67 | fn bad(&self, x: &u32, y: &Foo, z: &Baz) {
|
||||
| ^^^^ help: consider passing by value instead: `Foo`
|
||||
|
||||
error: this argument is passed by reference, but would be more efficient if passed by value
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:62:40
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:67:40
|
||||
|
|
||||
62 | fn bad(&self, x: &u32, y: &Foo, z: &Baz) {
|
||||
67 | fn bad(&self, x: &u32, y: &Foo, z: &Baz) {
|
||||
| ^^^^ help: consider passing by value instead: `Baz`
|
||||
|
||||
error: this argument is passed by reference, but would be more efficient if passed by value
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:65:16
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:70:16
|
||||
|
|
||||
65 | fn bad2(x: &u32, y: &Foo, z: &Baz) {
|
||||
70 | fn bad2(x: &u32, y: &Foo, z: &Baz) {
|
||||
| ^^^^ help: consider passing by value instead: `u32`
|
||||
|
||||
error: this argument is passed by reference, but would be more efficient if passed by value
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:65:25
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:70:25
|
||||
|
|
||||
65 | fn bad2(x: &u32, y: &Foo, z: &Baz) {
|
||||
70 | fn bad2(x: &u32, y: &Foo, z: &Baz) {
|
||||
| ^^^^ help: consider passing by value instead: `Foo`
|
||||
|
||||
error: this argument is passed by reference, but would be more efficient if passed by value
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:65:34
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:70:34
|
||||
|
|
||||
65 | fn bad2(x: &u32, y: &Foo, z: &Baz) {
|
||||
70 | fn bad2(x: &u32, y: &Foo, z: &Baz) {
|
||||
| ^^^^ help: consider passing by value instead: `Baz`
|
||||
|
||||
error: this argument is passed by reference, but would be more efficient if passed by value
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:79:16
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:84:16
|
||||
|
|
||||
79 | fn bad2(x: &u32, y: &Foo, z: &Baz) {
|
||||
84 | fn bad2(x: &u32, y: &Foo, z: &Baz) {
|
||||
| ^^^^ help: consider passing by value instead: `u32`
|
||||
|
||||
error: this argument is passed by reference, but would be more efficient if passed by value
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:79:25
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:84:25
|
||||
|
|
||||
79 | fn bad2(x: &u32, y: &Foo, z: &Baz) {
|
||||
84 | fn bad2(x: &u32, y: &Foo, z: &Baz) {
|
||||
| ^^^^ help: consider passing by value instead: `Foo`
|
||||
|
||||
error: this argument is passed by reference, but would be more efficient if passed by value
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:79:34
|
||||
--> $DIR/trivially_copy_pass_by_ref.rs:84:34
|
||||
|
|
||||
79 | fn bad2(x: &u32, y: &Foo, z: &Baz) {
|
||||
84 | fn bad2(x: &u32, y: &Foo, z: &Baz) {
|
||||
| ^^^^ help: consider passing by value instead: `Baz`
|
||||
|
||||
error: aborting due to 13 previous errors
|
||||
|
|
Loading…
Reference in a new issue