Add macro test

This commit is contained in:
blyxyas 2023-03-15 16:27:46 +01:00
parent 3eea49446b
commit e2ba75d69d
No known key found for this signature in database
GPG Key ID: 4D38170B5A2FC334
3 changed files with 39 additions and 21 deletions

View File

@ -8,7 +8,8 @@
redundant_semicolons,
dead_code,
unused_assignments,
unused_variables
unused_variables,
clippy::let_and_return
)]
struct Foo(u32);
@ -187,8 +188,16 @@ const fn issue_9864(mut u: u32) -> u32 {
u + v
}
#[allow(clippy::let_and_return)]
macro_rules! issue_10421 {
() => {
let a = 1;
let b = a;
let b = b;
};
}
const fn issue_10421(x: u32) -> u32 {
issue_10421!();
let a = x;
let a = a;
let a = a;

View File

@ -8,7 +8,8 @@
redundant_semicolons,
dead_code,
unused_assignments,
unused_variables
unused_variables,
clippy::let_and_return
)]
struct Foo(u32);
@ -216,8 +217,16 @@ const fn issue_9864(mut u: u32) -> u32 {
u + v
}
#[allow(clippy::let_and_return)]
macro_rules! issue_10421 {
() => {
let a = 1;
let b = a;
let b = b;
};
}
const fn issue_10421(x: u32) -> u32 {
issue_10421!();
let a = x;
let a = a;
let a = a;

View File

@ -1,5 +1,5 @@
error: this looks like you are swapping `bar.a` and `bar.b` manually
--> $DIR/swap.rs:25:5
--> $DIR/swap.rs:26:5
|
LL | / let temp = bar.a;
LL | | bar.a = bar.b;
@ -10,7 +10,7 @@ LL | | bar.b = temp;
= note: `-D clippy::manual-swap` implied by `-D warnings`
error: this looks like you are swapping elements of `foo` manually
--> $DIR/swap.rs:37:5
--> $DIR/swap.rs:38:5
|
LL | / let temp = foo[0];
LL | | foo[0] = foo[1];
@ -18,7 +18,7 @@ LL | | foo[1] = temp;
| |__________________^ help: try: `foo.swap(0, 1);`
error: this looks like you are swapping elements of `foo` manually
--> $DIR/swap.rs:46:5
--> $DIR/swap.rs:47:5
|
LL | / let temp = foo[0];
LL | | foo[0] = foo[1];
@ -26,7 +26,7 @@ LL | | foo[1] = temp;
| |__________________^ help: try: `foo.swap(0, 1);`
error: this looks like you are swapping elements of `foo` manually
--> $DIR/swap.rs:65:5
--> $DIR/swap.rs:66:5
|
LL | / let temp = foo[0];
LL | | foo[0] = foo[1];
@ -34,7 +34,7 @@ LL | | foo[1] = temp;
| |__________________^ help: try: `foo.swap(0, 1);`
error: this looks like you are swapping `a` and `b` manually
--> $DIR/swap.rs:76:5
--> $DIR/swap.rs:77:5
|
LL | / a ^= b;
LL | | b ^= a;
@ -42,7 +42,7 @@ LL | | a ^= b;
| |___________^ help: try: `std::mem::swap(&mut a, &mut b);`
error: this looks like you are swapping `bar.a` and `bar.b` manually
--> $DIR/swap.rs:84:5
--> $DIR/swap.rs:85:5
|
LL | / bar.a ^= bar.b;
LL | | bar.b ^= bar.a;
@ -50,7 +50,7 @@ LL | | bar.a ^= bar.b;
| |___________________^ help: try: `std::mem::swap(&mut bar.a, &mut bar.b);`
error: this looks like you are swapping elements of `foo` manually
--> $DIR/swap.rs:92:5
--> $DIR/swap.rs:93:5
|
LL | / foo[0] ^= foo[1];
LL | | foo[1] ^= foo[0];
@ -58,7 +58,7 @@ LL | | foo[0] ^= foo[1];
| |_____________________^ help: try: `foo.swap(0, 1);`
error: this looks like you are swapping `foo[0][1]` and `bar[1][0]` manually
--> $DIR/swap.rs:121:5
--> $DIR/swap.rs:122:5
|
LL | / let temp = foo[0][1];
LL | | foo[0][1] = bar[1][0];
@ -68,7 +68,7 @@ LL | | bar[1][0] = temp;
= note: or maybe you should use `std::mem::replace`?
error: this looks like you are swapping `a` and `b` manually
--> $DIR/swap.rs:135:7
--> $DIR/swap.rs:136:7
|
LL | ; let t = a;
| _______^
@ -79,7 +79,7 @@ LL | | b = t;
= note: or maybe you should use `std::mem::replace`?
error: this looks like you are swapping `c.0` and `a` manually
--> $DIR/swap.rs:144:7
--> $DIR/swap.rs:145:7
|
LL | ; let t = c.0;
| _______^
@ -90,7 +90,7 @@ LL | | a = t;
= note: or maybe you should use `std::mem::replace`?
error: this looks like you are swapping `b` and `a` manually
--> $DIR/swap.rs:170:5
--> $DIR/swap.rs:171:5
|
LL | / let t = b;
LL | | b = a;
@ -100,7 +100,7 @@ LL | | a = t;
= note: or maybe you should use `std::mem::replace`?
error: this looks like you are trying to swap `a` and `b`
--> $DIR/swap.rs:132:5
--> $DIR/swap.rs:133:5
|
LL | / a = b;
LL | | b = a;
@ -110,7 +110,7 @@ LL | | b = a;
= note: `-D clippy::almost-swapped` implied by `-D warnings`
error: this looks like you are trying to swap `c.0` and `a`
--> $DIR/swap.rs:141:5
--> $DIR/swap.rs:142:5
|
LL | / c.0 = a;
LL | | a = c.0;
@ -119,7 +119,7 @@ LL | | a = c.0;
= note: or maybe you should use `std::mem::replace`?
error: this looks like you are trying to swap `a` and `b`
--> $DIR/swap.rs:148:5
--> $DIR/swap.rs:149:5
|
LL | / let a = b;
LL | | let b = a;
@ -128,7 +128,7 @@ LL | | let b = a;
= note: or maybe you should use `std::mem::replace`?
error: this looks like you are trying to swap `d` and `c`
--> $DIR/swap.rs:153:5
--> $DIR/swap.rs:154:5
|
LL | / d = c;
LL | | c = d;
@ -137,7 +137,7 @@ LL | | c = d;
= note: or maybe you should use `std::mem::replace`?
error: this looks like you are trying to swap `a` and `b`
--> $DIR/swap.rs:157:5
--> $DIR/swap.rs:158:5
|
LL | / let a = b;
LL | | b = a;
@ -146,7 +146,7 @@ LL | | b = a;
= note: or maybe you should use `std::mem::replace`?
error: this looks like you are swapping `s.0.x` and `s.0.y` manually
--> $DIR/swap.rs:205:5
--> $DIR/swap.rs:206:5
|
LL | / let t = s.0.x;
LL | | s.0.x = s.0.y;