It is an issue if you use `__annotations__` directly and you are using PEP 563's `from __future__ import annotations`. This currently gives some strings that may or may not refer to existing globals. With Larry's PEP 649 it will raise an error.
On Tue, Feb 16, 2021 at 9:35 AM Joseph Perez <jope...@hotmail.fr> wrote: > > Please note that this is a thread about PEP 649. > > > > If PEP 649 accepted and PEP 563 dies, all such idioms breaks > annotation completely. > > > > Users need to import all heavy modules and circular references used > only type hints, or user can not get even string form annotation which > is very useful for REPLs. > > I don't see why `if TYPE_CHECKING:` idiom breaks annotations with PEP 649. > There will be no error as long as `__annotations__` descriptor is not > called. > And currently in 3.9 (with or without `from __future__ import > annotations`), the issue is the same: you `get_type_hints` fails if some of > the types in the annotations have been imported in a `if TYPE_CHECKING:` > block. > > > Hm, that's a rather serious problem with Larry's PEP 649 compared to from > __future__ import annotations, actually. > > As I've written above, this is not a new issue, and neither this PEP nor > PEP 563 can fix it. > _______________________________________________ > Python-Dev mailing list -- python-dev@python.org > To unsubscribe send an email to python-dev-le...@python.org > https://mail.python.org/mailman3/lists/python-dev.python.org/ > Message archived at > https://mail.python.org/archives/list/python-dev@python.org/message/PVPCJV6GATMRACXIPPNSNCUV7OFGDEU3/ > Code of Conduct: http://python.org/psf/codeofconduct/ > -- --Guido van Rossum (python.org/~guido) *Pronouns: he/him **(why is my pronoun here?)* <http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-change-the-world/>
_______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/3EF3WUIYDHBJRGTYO7YX3TKZGRZFVSYY/ Code of Conduct: http://python.org/psf/codeofconduct/