Add additional test cases for F823 (#6036)

Making some behavior explicit / codified. See:
https://github.com/astral-sh/ruff/issues/6029.
This commit is contained in:
Charlie Marsh 2023-07-24 11:49:48 -04:00 committed by GitHub
parent 62ffc773de
commit 42d969f19f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 43 additions and 1 deletions

View file

@ -39,3 +39,27 @@ class Class:
def f(self):
print(my_var)
my_var = 1
import sys
def main():
print(sys.argv)
try:
3 / 0
except ZeroDivisionError:
import sys
sys.exit(1)
import sys
def main():
print(sys.argv)
for sys in range(5):
pass

View file

@ -33,7 +33,7 @@ use crate::checkers::ast::Checker;
/// ```
#[violation]
pub struct UndefinedLocal {
pub name: String,
name: String,
}
impl Violation for UndefinedLocal {

View file

@ -25,4 +25,22 @@ F823.py:40:15: F823 Local variable `my_var` referenced before assignment
41 | my_var = 1
|
F823.py:48:11: F823 Local variable `sys` referenced before assignment
|
47 | def main():
48 | print(sys.argv)
| ^^^ F823
49 |
50 | try:
|
F823.py:62:11: F823 Local variable `sys` referenced before assignment
|
61 | def main():
62 | print(sys.argv)
| ^^^ F823
63 |
64 | for sys in range(5):
|