diff --git a/jedi/evaluate/jedi_typing.py b/jedi/evaluate/jedi_typing.py index 62f52fd4..e34ee989 100644 --- a/jedi/evaluate/jedi_typing.py +++ b/jedi/evaluate/jedi_typing.py @@ -35,7 +35,12 @@ def factory(typing_name, indextypes): class Tuple(Sequence, tuple): def __getitem__(self, index): - return indextypes[index]() + if indextypes[1] == ...: + # https://www.python.org/dev/peps/pep-0484/#the-typing-module + # Tuple[int, ...] means a tuple of ints of indetermined length + return indextypes[0]() + else: + return indextypes[index]() class AbstractSet(Iterable, abc.Set): pass diff --git a/test/completion/pep0484_typing.py b/test/completion/pep0484_typing.py index 2dfc50fc..74a99e51 100644 --- a/test/completion/pep0484_typing.py +++ b/test/completion/pep0484_typing.py @@ -83,7 +83,7 @@ def tuple( q[2] #? B() r[0] - ##? B() --- TODO fix support for arbitrary length + #? B() r[1] #? B() r[2]