New submission from Serhiy Storchaka <storchaka+cpyt...@gmail.com>:

typing.NamedTuple is used in two ways.

1. It is a callable which produces a new namedtuple type.
2. It can also be used as a base in the class statement for creating a new 
namedtuple type.

In both cases it is not a real class. You cannot create an instance of 
NamedTuple or a subclass of NamedTuple. But it is implemented as a class, and 
help() shows methods and data descriptors for it, which are useless.

The proposed PR implements NamedTuple like a function. Implementation of the 
__mro_entries__ method allows to use it as a base in the class statement.

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

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue40185>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to