Rust: Add more test cases for unused variables (inspired by real world FPs).

This commit is contained in:
Geoffrey White
2024-11-05 11:03:10 +00:00
parent 3091083705
commit 35ffd0cc9c
3 changed files with 61 additions and 20 deletions

View File

@@ -11,9 +11,10 @@
| main.rs:91:9:91:9 | a | Variable $@ is assigned a value that is never used. | main.rs:91:9:91:9 | a | a |
| main.rs:112:9:112:10 | is | Variable $@ is assigned a value that is never used. | main.rs:112:9:112:10 | is | is |
| main.rs:135:13:135:17 | total | Variable $@ is assigned a value that is never used. | main.rs:135:13:135:17 | total | total |
| main.rs:272:13:272:17 | total | Variable $@ is assigned a value that is never used. | main.rs:240:13:240:17 | total | total |
| main.rs:365:9:365:9 | x | Variable $@ is assigned a value that is never used. | main.rs:365:9:365:9 | x | x |
| main.rs:373:17:373:17 | x | Variable $@ is assigned a value that is never used. | main.rs:373:17:373:17 | x | x |
| main.rs:280:13:280:17 | total | Variable $@ is assigned a value that is never used. | main.rs:248:13:248:17 | total | total |
| main.rs:373:9:373:9 | x | Variable $@ is assigned a value that is never used. | main.rs:373:9:373:9 | x | x |
| main.rs:381:17:381:17 | x | Variable $@ is assigned a value that is never used. | main.rs:381:17:381:17 | x | x |
| main.rs:482:9:482:9 | c | Variable $@ is assigned a value that is never used. | main.rs:482:9:482:9 | c | c |
| more.rs:44:9:44:14 | a_ptr4 | Variable $@ is assigned a value that is never used. | more.rs:44:9:44:14 | a_ptr4 | a_ptr4 |
| more.rs:59:9:59:13 | d_ptr | Variable $@ is assigned a value that is never used. | more.rs:59:9:59:13 | d_ptr | d_ptr |
| more.rs:65:9:65:17 | f_ptr | Variable $@ is assigned a value that is never used. | more.rs:65:13:65:17 | f_ptr | f_ptr |

View File

@@ -2,21 +2,25 @@
| main.rs:94:13:94:13 | d | Variable 'd' is not used. |
| main.rs:143:5:143:5 | y | Variable 'y' is not used. |
| main.rs:170:9:170:9 | x | Variable 'x' is not used. |
| main.rs:242:17:242:17 | a | Variable 'a' is not used. |
| main.rs:250:20:250:22 | val | Variable 'val' is not used. |
| main.rs:264:14:264:16 | val | Variable 'val' is not used. |
| main.rs:279:22:279:24 | val | Variable 'val' is not used. |
| main.rs:286:24:286:26 | val | Variable 'val' is not used. |
| main.rs:294:13:294:15 | num | Variable 'num' is not used. |
| main.rs:309:12:309:12 | j | Variable 'j' is not used. |
| main.rs:329:25:329:25 | y | Variable 'y' is not used. |
| main.rs:332:28:332:28 | a | Variable 'a' is not used. |
| main.rs:335:9:335:9 | p | Variable 'p' is not used. |
| main.rs:353:9:353:13 | right | Variable 'right' is not used. |
| main.rs:359:9:359:14 | right2 | Variable 'right2' is not used. |
| main.rs:366:13:366:13 | y | Variable 'y' is not used. |
| main.rs:374:21:374:21 | y | Variable 'y' is not used. |
| main.rs:419:26:419:28 | val | Variable 'val' is not used. |
| main.rs:422:21:422:23 | acc | Variable 'acc' is not used. |
| main.rs:443:9:443:14 | unused | Variable 'unused' is not used. |
| main.rs:250:17:250:17 | a | Variable 'a' is not used. |
| main.rs:258:20:258:22 | val | Variable 'val' is not used. |
| main.rs:272:14:272:16 | val | Variable 'val' is not used. |
| main.rs:287:22:287:24 | val | Variable 'val' is not used. |
| main.rs:294:24:294:26 | val | Variable 'val' is not used. |
| main.rs:302:13:302:15 | num | Variable 'num' is not used. |
| main.rs:317:12:317:12 | j | Variable 'j' is not used. |
| main.rs:337:25:337:25 | y | Variable 'y' is not used. |
| main.rs:340:28:340:28 | a | Variable 'a' is not used. |
| main.rs:343:9:343:9 | p | Variable 'p' is not used. |
| main.rs:361:9:361:13 | right | Variable 'right' is not used. |
| main.rs:367:9:367:14 | right2 | Variable 'right2' is not used. |
| main.rs:374:13:374:13 | y | Variable 'y' is not used. |
| main.rs:382:21:382:21 | y | Variable 'y' is not used. |
| main.rs:427:26:427:28 | val | Variable 'val' is not used. |
| main.rs:430:21:430:23 | acc | Variable 'acc' is not used. |
| main.rs:451:9:451:14 | unused | Variable 'unused' is not used. |
| main.rs:494:16:494:16 | x | Variable 'x' is not used. |
| main.rs:495:16:495:16 | y | Variable 'y' is not used. |
| main.rs:496:12:496:12 | z | Variable 'z' is not used. |
| main.rs:499:18:499:18 | x | Variable 'x' is not used. |
| more.rs:24:9:24:11 | val | Variable 'val' is not used. |

View File

@@ -198,6 +198,14 @@ fn loops() {
_ = format!("x is {x}");
}
for x in 1..10 {
_ = format!("x is {x:?}");
}
[1, 2, 3].iter().for_each(|x| {
_ = format!("x is {x}");
});
for x in 1..10 {
println!("x is {val}", val = x);
}
@@ -466,6 +474,33 @@ fn macros() {
})
)
}
// --- references ---
fn references() {
let a = 1;
let b = &a;
let c = *b; // $ Alert[rust/unused-value]
let d = 2;
let e = 3;
let f = &&e;
assert!(&d != *f);
}
// --- declarations in types ---
pub struct my_declaration {
field1: fn(i32) -> i32,
field2: fn(x: i32) -> i32, // $ SPURIOUS: Alert[rust/unused-variable]
field3: fn(y: // $ SPURIOUS: Alert[rust/unused-variable]
fn(z: i32) -> i32) -> i32, // $ SPURIOUS: Alert[rust/unused-variable]
}
type MyType = fn(x: i32) -> i32; // $ SPURIOUS: Alert[rust/unused-variable]
trait MyTrait {
fn my_func2(&self, x: i32) -> i32;
}
// --- main ---
@@ -482,6 +517,7 @@ fn main() {
func_ptrs();
folds_and_closures();
macros();
references();
generics();
pointers();