On Sat, Jan 16, 2021 at 3:32 PM Larry Hastings <larry@hastings.org> wrote:
[...] If anybody distinguished between "annotations are unset" and "annotations are set to an empty dict", that code would fail, but I expect nobody ever does that.

I agree, since I can't think of differing semantics. Given that `__annotations__` is filled from annotated class variables, the only reason someone might care about the difference would be if they are aware of code that manually *sets* `X.__annotations__ = {}` and they have some kind of shared understanding that that means something special. I find that highly unlikely, and frankly, if someone needs such a shared understanding, let them just pick a unique key to set.

I do worry about the best practice getting worse if your PEP 649 is accepted.

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