mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
Rust: Add more test cases for unused variables (inspired by real world FPs).
This commit is contained in:
@@ -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 |
|
||||
|
||||
@@ -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. |
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user