"Names listed in a global statement must not be used in the same code block textually preceding that global statement"
But then later:
"CPython implementation detail: The current implementation does not enforce the two restrictions,
but programs should not abuse this freedom, as future implementations may enforce them..."
Code like this
def f():
x = 1
global x
gives SyntaxWarning for several releases, maybe it is time to make it a SyntaxError?
--
Ivan