[Python-Dev] Make "global after use" a SyntaxError

Guido van Rossum guido at python.org
Wed Sep 7 12:59:07 EDT 2016


+1

On Wed, Sep 7, 2016 at 7:10 AM, Ivan Levkivskyi <levkivskyi at gmail.com> wrote:
> Hi all,
>
> The documentation at https://docs.python.org/3/reference/simple_stmts.html
> says that:
>
> "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?
>
> (I have opened an issue for this http://bugs.python.org/issue27999 I will
> submit a patch soon).
>
> --
> Ivan
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> https://mail.python.org/mailman/options/python-dev/guido%40python.org
>



-- 
--Guido van Rossum (python.org/~guido)


More information about the Python-Dev mailing list