diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | astroid/brain/brain_typing.py | 1 | ||||
-rw-r--r-- | tests/unittest_brain.py | 2 |
3 files changed, 6 insertions, 0 deletions
@@ -12,6 +12,9 @@ What's New in astroid 2.6.1? ============================ Release Date: TBA +* Fix issue with ``TypedDict`` for Python 3.9+ + + Closes PyCQA/pylint#4610 What's New in astroid 2.6.0? diff --git a/astroid/brain/brain_typing.py b/astroid/brain/brain_typing.py index eada0452..5a5b678d 100644 --- a/astroid/brain/brain_typing.py +++ b/astroid/brain/brain_typing.py @@ -201,6 +201,7 @@ def infer_typedDict( # pylint: disable=invalid-name col_offset=node.col_offset, parent=node.parent, ) + class_def.postinit(bases=[extract_node("dict")], body=[], decorators=None) return iter([class_def]) diff --git a/tests/unittest_brain.py b/tests/unittest_brain.py index 6114e893..dcce9d91 100644 --- a/tests/unittest_brain.py +++ b/tests/unittest_brain.py @@ -1623,6 +1623,8 @@ class TypingBrain(unittest.TestCase): inferred_base = next(node.bases[0].infer()) assert isinstance(inferred_base, nodes.ClassDef) assert inferred_base.qname() == "typing.TypedDict" + typedDict_base = next(inferred_base.bases[0].infer()) + assert typedDict_base.qname() == "builtins.dict" @test_utils.require_version(minver="3.7") def test_typing_alias_type(self): |