[Python-Dev] PEP 550 v4
Elvis Pranskevichus
elprans at gmail.com
Thu Sep 7 10:01:12 EDT 2017
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
More information about the Python-Dev
mailing list