From feefd47ddda838f022da2b720b2402ee2cc21718 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sat, 25 Jan 2020 18:48:52 +0100 Subject: [PATCH] Fix an issue with names --- jedi/inference/names.py | 3 ++- test/test_api/test_completion.py | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/jedi/inference/names.py b/jedi/inference/names.py index 3c47be72..ccf42d4c 100644 --- a/jedi/inference/names.py +++ b/jedi/inference/names.py @@ -232,7 +232,8 @@ class ValueNameMixin(object): if not doc and self._value.is_stub(): from jedi.inference.gradual.conversion import convert_names names = convert_names([self], prefer_stub_to_compiled=False) - return _merge_name_docs(names) + if self not in names: + return _merge_name_docs(names) return doc def _get_qualified_names(self): diff --git a/test/test_api/test_completion.py b/test/test_api/test_completion.py index e573ee40..39ccb0da 100644 --- a/test/test_api/test_completion.py +++ b/test/test_api/test_completion.py @@ -429,3 +429,10 @@ def test_completion_cache(Script, module_injector): cls, = c.infer() assert cls.type == 'class' assert cls.docstring() == 'foo()\n\ndoc2' + + +def test_typing_module_completions(Script): + for c in Script('import typing; typing.').completions(): + # Just make sure that there are no errors + c.type + c.docstring()