diff options
author | Alex Grönholm <alex.gronholm@nextday.fi> | 2020-12-10 21:49:05 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-10 21:49:05 (GMT) |
commit | 67b769f5157c9dad1c7dd6b24e067b9fdab5b35d (patch) | |
tree | f7866a693a7fa42ce88f86d89159ce26c1adc361 /Lib/typing.py | |
parent | a65828717982e6a56382d7aff738478f5b5b25d0 (diff) | |
download | cpython-67b769f5157c9dad1c7dd6b24e067b9fdab5b35d.zip cpython-67b769f5157c9dad1c7dd6b24e067b9fdab5b35d.tar.gz cpython-67b769f5157c9dad1c7dd6b24e067b9fdab5b35d.tar.bz2 |
bpo-42059: Fix required/optional keys for TypedDict(..., total=False) (GH-22736)
Diffstat (limited to 'Lib/typing.py')
-rw-r--r-- | Lib/typing.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Lib/typing.py b/Lib/typing.py index 46c54c4..148a505 100644 --- a/Lib/typing.py +++ b/Lib/typing.py @@ -2043,14 +2043,14 @@ def TypedDict(typename, fields=None, /, *, total=True, **kwargs): raise TypeError("TypedDict takes either a dict or keyword arguments," " but not both") - ns = {'__annotations__': dict(fields), '__total__': total} + ns = {'__annotations__': dict(fields)} try: # Setting correct module is necessary to make typed dict classes pickleable. ns['__module__'] = sys._getframe(1).f_globals.get('__name__', '__main__') except (AttributeError, ValueError): pass - return _TypedDictMeta(typename, (), ns) + return _TypedDictMeta(typename, (), ns, total=total) _TypedDict = type.__new__(_TypedDictMeta, 'TypedDict', (), {}) TypedDict.__mro_entries__ = lambda bases: (_TypedDict,) |