Почему mypy --strict не выдает ошибку в этом простом коде?Python

Программы на Python
Anonymous
Почему mypy --strict не выдает ошибку в этом простом коде?

Сообщение Anonymous »

В test.py у меня есть следующее:

Код: Выделить всё

def f(x: int) -> float:
pass

if __name__=="__main__":
f(4)
Когда я запускаю mypy --strict test.py, я не получаю ошибок.
Я ожидал, что mypy будет быть в состоянии сделать вывод, что существует проблема с моим определением f. Очевидно, он не имеет оператора return и никогда не сможет вернуть число с плавающей запятой.
Я чувствую, что здесь есть что-то фундаментальное, чего я не понимаю. Наличие (или отсутствие) оператора return можно проверить статически. Почему mypy это пропускает?

Подробнее здесь: https://stackoverflow.com/questions/708 ... imple-code

Вернуться в «Python»