diff --git a/jedi/evaluate/compiled/context.py b/jedi/evaluate/compiled/context.py index d5fd7ca9..e4b3061f 100644 --- a/jedi/evaluate/compiled/context.py +++ b/jedi/evaluate/compiled/context.py @@ -134,7 +134,7 @@ class CompiledObject(Context): return self.access_handle.get_signature_text() except ValueError: params_str, ret = self._parse_function_doc() - return '(' + params_str + ')' + ret + return '(' + params_str + ')' + (ret and ' -> ' + ret) def get_signatures(self): return [BuiltinSignature(self)] diff --git a/test/test_evaluate/test_signature.py b/test/test_evaluate/test_signature.py index 8a6c1047..2c8083f6 100644 --- a/test/test_evaluate/test_signature.py +++ b/test/test_evaluate/test_signature.py @@ -1,15 +1,18 @@ import pytest -from operator import ge, le +from operator import ge, lt from jedi.evaluate.gradual.conversion import stub_to_actual_context_set @pytest.mark.parametrize( 'code, sig, names, op, version', [ - ('import math; math.cos', 'cos(x)', ['x'], le, (3, 6)), + ('import math; math.cos', 'cos(x)', ['x'], lt, (3, 7)), ('import math; math.cos', 'cos(x, /)', ['x'], ge, (3, 7)), ('next', 'next(iterator, default=None)', ['iterator', 'default'], ge, (2, 7)), + + ('pow', 'pow(x, y, z=None) -> number', ['x', 'y', 'z'], lt, (3, 5)), + ('pow', 'pow(x, y, z=None, /)', ['x', 'y', 'z'], ge, (3, 5)), ] ) def test_compiled_signature(Script, environment, code, sig, names, op, version):