typing.NamedTuple should add annotations to its constructor (new) parameters. · Issue #454 · python/typing (original) (raw)
Currently, the fields, types and defaults used to define a typing.NamedTuple need to be retrieved from three different attributes: _fields
, _field_types
, and _field_defaults
(the first two are combined in __annotations__
, but that still misses the defaults).
However, there is a place where all this information can be naturally combined: in the Signature of the constructor (as returned by inspect.signature(cls)
). Currently, the Parameter objects in the signature have the information about the parameter names and defaults, but their annotation is not set.
Thus, I would like to propose setting the annotation of the Parameters in the Signature object as well.
(Initially posted as http://bugs.python.org/issue31006.)