Prevent incorrect syntax error with nonlocal of a parameter

Also includes a test for the error "name 'x' is assigned before nonlocal
declaration"

Fixes #175
This commit is contained in:
Terseus
2021-02-21 00:38:46 +01:00
parent 93206f6eba
commit e5d6663721
3 changed files with 37 additions and 0 deletions

View File

@@ -337,6 +337,13 @@ FAILING_EXAMPLES = [
def z():
nonlocal a
'''),
# Name is assigned before nonlocal declaration
dedent('''
def x(a):
def y():
a = 10
nonlocal a
'''),
]
if sys.version_info[:2] >= (3, 7):