mirror of
https://github.com/github/codeql.git
synced 2026-04-24 08:15:14 +02:00
Rust: Restrict variables to lowercase (for now).
This commit is contained in:
@@ -85,7 +85,13 @@ module Impl {
|
||||
private AstNode definingNode;
|
||||
private string name;
|
||||
|
||||
Variable() { this = MkVariable(definingNode, name) }
|
||||
Variable() {
|
||||
this = MkVariable(definingNode, name) and
|
||||
// exclude for now anything starting with an uppercase character, which may be an enum constant (e.g. `None`). This excludes
|
||||
// static and constant variables (UPPERCASE), which we don't appear to recognize yet anyway. This also assumes programmers
|
||||
// follow the naming guidelines, which they generally do, but they're not enforced.
|
||||
not name.charAt(0).isUppercase()
|
||||
}
|
||||
|
||||
/** Gets the name of this variable. */
|
||||
string getName() { result = name }
|
||||
|
||||
@@ -8,15 +8,10 @@
|
||||
| main.rs:202:17:202:17 | a | Variable is not used. |
|
||||
| main.rs:210:20:210:22 | val | Variable is not used. |
|
||||
| main.rs:223:14:223:16 | val | Variable is not used. |
|
||||
| main.rs:225:9:225:12 | None | Variable is not used. |
|
||||
| main.rs:234:9:234:12 | None | Variable is not used. |
|
||||
| main.rs:240:22:240:24 | val | Variable is not used. |
|
||||
| main.rs:248:24:248:26 | val | Variable is not used. |
|
||||
| main.rs:257:13:257:15 | num | Variable is not used. |
|
||||
| main.rs:268:9:268:11 | Yes | Variable is not used. |
|
||||
| main.rs:269:9:269:10 | No | Variable is not used. |
|
||||
| main.rs:272:12:272:12 | j | Variable is not used. |
|
||||
| main.rs:282:12:282:14 | Yes | Variable is not used. |
|
||||
| main.rs:294:25:294:25 | y | Variable is not used. |
|
||||
| main.rs:298:28:298:28 | a | Variable is not used. |
|
||||
| main.rs:302:9:302:9 | p | Variable is not used. |
|
||||
|
||||
@@ -222,7 +222,7 @@ fn if_lets_matches() {
|
||||
match c {
|
||||
Some(val) => { // BAD: unused variable
|
||||
}
|
||||
None => { // SPURIOUS: unused variable 'None'
|
||||
None => {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -231,7 +231,7 @@ fn if_lets_matches() {
|
||||
Some(val) => {
|
||||
total += val;
|
||||
}
|
||||
None => { // SPURIOUS: unused variable 'None'
|
||||
None => {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -265,8 +265,8 @@ fn if_lets_matches() {
|
||||
|
||||
let i = Yes;
|
||||
match i {
|
||||
Yes => {} // SPURIOUS: unused variable 'Yes'
|
||||
No => {} // SPURIOUS: unused variable 'No'
|
||||
Yes => {}
|
||||
No => {}
|
||||
}
|
||||
|
||||
if let j = Yes { // BAD: unused variable
|
||||
@@ -279,7 +279,7 @@ fn if_lets_matches() {
|
||||
}
|
||||
|
||||
let l = Yes;
|
||||
if let Yes = l { // SPURIOUS: unused variable 'Yes'
|
||||
if let Yes = l {
|
||||
}
|
||||
|
||||
match 1 {
|
||||
|
||||
Reference in New Issue
Block a user