cpython: 38ec88a4e282 (original) (raw)

--- a/Lib/test/test_typing.py +++ b/Lib/test/test_typing.py @@ -1865,6 +1865,20 @@ class NamedTupleTests(BaseTestCase): self.assertEqual(CoolEmployee._fields, ('name', 'cool')) self.assertEqual(CoolEmployee._field_types, dict(name=str, cool=int))

+ def test_pickle(self): global Emp # pickle wants to reference the class by name Emp = NamedTuple('Emp', [('name', str), ('id', int)])

--- a/Lib/typing.py +++ b/Lib/typing.py @@ -1875,6 +1875,8 @@ class Type(Generic[CT_co], extra=type): def _make_nmtuple(name, types):

-

-

-

-

-

-

-

-

-

-else:

-

-

-

-

-

+_PY36 = sys.version_info[:2] >= (3, 6) + + +class NamedTupleMeta(type): +

+ +class NamedTuple(metaclass=NamedTupleMeta):

+

+

+

+

+

+

+

+

+