bpo-36517: Raise error on multiple inheritance with NamedTuple (GH-19363)

This commit is contained in:
Serhiy Storchaka 2020-04-04 21:31:30 +03:00 committed by GitHub
parent 1ae6445391
commit a94e6272f1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 0 deletions

View file

@ -1728,6 +1728,9 @@ class NamedTupleMeta(type):
def __new__(cls, typename, bases, ns):
if ns.get('_root', False):
return super().__new__(cls, typename, bases, ns)
if len(bases) > 1:
raise TypeError("Multiple inheritance with NamedTuple is not supported")
assert bases[0] is NamedTuple
types = ns.get('__annotations__', {})
nm_tpl = _make_nmtuple(typename, types.items())
defaults = []