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

@@ -113,6 +113,29 @@ def x():
nonlocal a
def x(a):
def y():
nonlocal a
def x(a, b):
def y():
nonlocal b
nonlocal a
def x(a):
def y():
def z():
nonlocal a
def x():
def y(a):
def z():
nonlocal a
a = *args, *args
error[(*args, *args)] = 3
*args, *args