[Python-Dev] PEP 550 v4 (original) (raw)
Elvis Pranskevichus elprans at gmail.com
Thu Sep 7 10:01:12 EDT 2017
- Previous message (by thread): [Python-Dev] PEP 550 v4
- Next message (by thread): [Python-Dev] PEP 550 v4
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thursday, September 7, 2017 3:54:15 AM EDT Greg Ewing wrote:
This problem would also not arise if context vars simply had names instead of being magic key objects:
def foo(): contextvars.set("mymodule.myvar", 1) That's another thing I think would be an improvement, but it's orthogonal to what we're talking about here and would be best discussed separately.
On the contrary, using simple names (PEP 550 V1 was actually doing that)
is a regression. It opens up namespace clashing issues. Imagine you
have a variable named "foo", and then some library you import also
decides to use the name "foo", what then? That's one of the reasons why
we do local = threading.local()
instead of
threading.set_local("foo", 1)
.
Elvis
- Previous message (by thread): [Python-Dev] PEP 550 v4
- Next message (by thread): [Python-Dev] PEP 550 v4
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]