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
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com