summaryrefslogtreecommitdiffstats
path: root/Lib/typing.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2017-01-23 01:47:22 (GMT)
committerGuido van Rossum <guido@python.org>2017-01-23 01:47:22 (GMT)
commit4d5097a7da65c39849fbcefab61caecd34f78512 (patch)
tree4ff298117fafd77503e1233a2b066060445b4ce6 /Lib/typing.py
parent62f82a930681d6596dfc2fa09f6347807ec6da29 (diff)
parent744cd63df9870d0c5a141aa0742cc3e8ebbf23f6 (diff)
downloadcpython-4d5097a7da65c39849fbcefab61caecd34f78512.zip
cpython-4d5097a7da65c39849fbcefab61caecd34f78512.tar.gz
cpython-4d5097a7da65c39849fbcefab61caecd34f78512.tar.bz2
Issue #28556: Allow defining methods in NamedTuple class syntax (#362) (3.6->3.7)
Diffstat (limited to 'Lib/typing.py')
-rw-r--r--Lib/typing.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/Lib/typing.py b/Lib/typing.py
index eb42c19..c9e3417 100644
--- a/Lib/typing.py
+++ b/Lib/typing.py
@@ -2000,6 +2000,10 @@ class NamedTupleMeta(type):
default_names=', '.join(defaults_dict.keys())))
nm_tpl.__new__.__defaults__ = tuple(defaults)
nm_tpl._field_defaults = defaults_dict
+ # update from user namespace without overriding special namedtuple attributes
+ for key in ns:
+ if not hasattr(nm_tpl, key):
+ setattr(nm_tpl, key, ns[key])
return nm_tpl