diff --git a/jedi/inference/gradual/utils.py b/jedi/inference/gradual/utils.py index 470ed659..f77b5d77 100644 --- a/jedi/inference/gradual/utils.py +++ b/jedi/inference/gradual/utils.py @@ -21,8 +21,6 @@ def load_proper_stub_module(inference_state, file_io, import_names, module_node) if import_names is not None: actual_value_set = inference_state.import_module(import_names, prefer_stubs=False) - if not actual_value_set: - return None stub = create_stub_module( inference_state, actual_value_set, module_node, file_io, import_names diff --git a/test/test_inference/test_gradual/test_conversion.py b/test/test_inference/test_gradual/test_conversion.py index cdf62a0c..23972ac9 100644 --- a/test/test_inference/test_gradual/test_conversion.py +++ b/test/test_inference/test_gradual/test_conversion.py @@ -1,5 +1,7 @@ -from os.path import join +import os +from test.helpers import root_dir +from jedi.api.project import Project from jedi.inference.gradual.conversion import convert_names @@ -21,3 +23,18 @@ def test_sqlite3_conversion(Script): assert d.full_name == 'sqlite3.Connection' v, = d._name.infer() assert v.is_compiled() + + +def test_conversion_of_stub_only(Script): + project = Project(os.path.join(root_dir, 'test', 'completion', 'stub_folder')) + code = 'import stub_only; stub_only.in_stub_only' + d1, = Script(code, _project=project).goto_assignments() + assert d1.is_stub() + + script = Script(path=d1.module_path, line=d1.line, column=d1.column, _project=project) + d2, = script.goto_assignments() + assert d2.is_stub() + assert d2.module_path == d1.module_path + assert d2.line == d1.line + assert d2.column == d1.column + assert d2.name == 'in_stub_only'