Вот краткий код, записанный в Python 3.7
from typing import overload, Tuple
class Cursor:
# (let's forget about the contructor)
@overload
def move(self, dx: Tuple[int, int]) -> None:
...
def move(self, dx:int, dy: int = None) -> None:
# here comes the code that modifies the x and y coordinates
# of the cursor according to the type of argument dx
В eclipse 2020-03, используя PyDev 7.5, второе определение move()
помечается как ошибка дублированной подписи. Между тем, при реализации код работает правильно, без ошибок / предупреждений, обнаруженных интерпретатором Python 3.7.
При посещении репозитория PyDev GitHub, кажется, реализована и протестирована программа проверки дублирования. Например, см. DuplicationChecker. java (https://github.com/fabioz/Pydev/blob/master/plugins/com.python.pydev.analysis/src/com/python/pydev/analysis/visitors/DuplicationChecker.java) и функцию testNoDuplicateOnTypingOverride()
в конце https://github.com/fabioz/Pydev/blob/master/plugins/org.python.pydev/tests_analysis/com/python/pydev/analysis/OccurrencesAnalyzerPy36Test.java.
Но любая добавленная подпись после Первая перегруженная печать по-прежнему обнаруживается PyDev как дублирующая подпись.
-> Есть ли способ избавиться от этих ошибочных «меток ошибок» в затмении?