'mypy - How to mark line as unreachable

I've got a function of the form:

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 understandably complains that the function is missing a return statement. Is there a way to mark a line so as to inform mypy that the line should be considered unreachable?



Solution 1:[1]

This was raised as an issue. The recommended solution is 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

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 LeopardShark