mypy - 如何将行标记为无法访问

mypy - How to mark line as unreachable

我有以下形式的函数:

def get_new_file(prefix: str) -> pathlib.Path:
    for i in itertools.count(0):
        p = pathlib.Path(f'{prefix}_{i}')
        if not p.is_file():
            return p
    # This line is unreachable.

mypy 可以理解地抱怨该函数缺少 return 语句。有没有办法标记一条线以通知 mypy 这条线应该被认为是不可达的?

有人提出 an issue。推荐的解决方案是 assert False.

def get_new_file(prefix: str) -> pathlib.Path:
    for i in itertools.count(0):
        p = pathlib.Path(f'{prefix}_{i}')
        if not p.is_file():
            return p
    assert False