Код: Выделить всё
def incr[T: int | None](value: T) -> T:
if value is None:
return value
return value + 1
incr(None)
incr(1)
Код: Выделить всё
main.py:4: error: Incompatible return value type (got "int", expected "T") [return-value] Found 1 error in 1 file (checked 1 source file)
Примечание: цель такой аннотации типа состояла в том, чтобы показать, что функция возвращает None только тогда, когда в качестве входных данных задан None
Подробнее здесь: https://stackoverflow.com/questions/793 ... -statement