diff --git a/jedi/evaluate/compiled/access.py b/jedi/evaluate/compiled/access.py index 572b3a13..d23b9eea 100644 --- a/jedi/evaluate/compiled/access.py +++ b/jedi/evaluate/compiled/access.py @@ -316,7 +316,7 @@ class DirectObjectAccess(object): # -> just set it to None if default is _sentinel: raise - return default + return self._create_access(default) def get_safe_value(self): if type(self._obj) in (bool, bytes, float, int, str, unicode, slice): diff --git a/test/test_api/test_classes.py b/test/test_api/test_classes.py index f381ebc7..fc8621a4 100644 --- a/test/test_api/test_classes.py +++ b/test/test_api/test_classes.py @@ -290,6 +290,9 @@ def test_type(Script): else: assert c.type in ('function', 'instance') + for c in Script('list.').completions(): + assert c.type + # Github issue #397, type should never raise an error. for c in Script('import os; os.path.').completions(): assert c.type