[New-bugs-announce] [issue40187] Refactor typing.TypedDict

Serhiy Storchaka report at bugs.python.org
Sat Apr 4 17:20:39 EDT 2020


New submission from Serhiy Storchaka <storchaka+cpython at gmail.com>:

typing.TypedDict is used in two ways.

1. It is a callable which produces a new pseudo-subtype of dict.
2. It can also be used as a base in the class statement for creating a new pseudo-subtype of dict.

In both cases it is not a real class. You cannot create an instance of TypedDict or its "subclass". isinstance() and issubclass() do not work with it. Instantiating it "subclass" always returns a dict. But it is implemented as a class, and help() shows methods and data descriptors for it, which are useless.

The proposed PR implements TypedDict as a function. It adds the __mro_entries__ method that allows to use it as a base in the class statement.

----------
components: Library (Lib)
messages: 365786
nosy: gvanrossum, levkivskyi, serhiy.storchaka
priority: normal
severity: normal
status: open
title: Refactor typing.TypedDict
type: enhancement
versions: Python 3.9

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue40187>
_______________________________________


More information about the New-bugs-announce mailing list