diff --git a/jedi/api/__init__.py b/jedi/api/__init__.py index d7b2d5ae6..e33cef132 100644 --- a/jedi/api/__init__.py +++ b/jedi/api/__init__.py @@ -277,12 +277,12 @@ def goto(self, line=None, column=None, **kwargs): """ Return the first definition found, while optionally following imports. Multiple objects may be returned, because Python itself is a - dynamic language, which means depending on an option you can have two - different versions of a function. + dynamic language, which means you can have two different versions of a + function. :param follow_imports: The goto call will follow imports. - :param follow_builtin_imports: If follow_imports is True will decide if - it follow builtin imports. + :param follow_builtin_imports: If follow_imports is True will try to + look up names in builtins (i.e. compiled or extension modules). :param only_stubs: Only return stubs for this goto call. :param prefer_stubs: Prefer stubs to Python objects for this goto call. :rtype: list of :class:`classes.Definition` @@ -316,7 +316,7 @@ def _goto(self, line, column, follow_imports=False, follow_builtin_imports=False names = list(name.goto()) if follow_imports: - names = helpers.filter_follow_imports(names) + names = helpers.filter_follow_imports(names, follow_builtin_imports) names = convert_names( names, only_stubs=only_stubs, diff --git a/jedi/inference/gradual/annotation.py b/jedi/inference/gradual/annotation.py index bda6c20b3..1de87962e 100644 --- a/jedi/inference/gradual/annotation.py +++ b/jedi/inference/gradual/annotation.py @@ -285,7 +285,7 @@ def infer_return_for_callable(arguments, param_values, result_values): all_type_vars.update(type_var_dict) return ValueSet.from_sets( - v.define_generics(type_var_dict) + v.define_generics(all_type_vars) if isinstance(v, (DefineGenericBase, TypeVar)) else ValueSet({v}) for v in result_values ).execute_annotation()