...
SyntaxError: name 'x' is used prior to nonlocal declaration
+ >>> def f():
+ ... x = 1
+ ... def g():
+ ... x = 2
+ ... nonlocal x
+ Traceback (most recent call last):
+ ...
+ SyntaxError: name 'x' is assigned to before nonlocal declaration
+
>>> def f(x):
... nonlocal x
Traceback (most recent call last):
...
SyntaxError: nonlocal declaration not allowed at module level
-TODO(jhylton): Figure out how to test SyntaxWarning with doctest.
-
-## >>> def f(x):
-## ... def f():
-## ... print(x)
-## ... nonlocal x
-## Traceback (most recent call last):
-## ...
-## SyntaxWarning: name 'x' is assigned to before nonlocal declaration
-
-## >>> def f():
-## ... x = 1
-## ... nonlocal x
-## Traceback (most recent call last):
-## ...
-## SyntaxWarning: name 'x' is assigned to before nonlocal declaration
-
- From https://bugs.python.org/issue25973
+From https://bugs.python.org/issue25973
>>> class A:
... def f(self):
... nonlocal __x