pylint-errors

R1708 (stop-iteration-return)

:x: Problematic code:

def foo(n):
    for i, num in enumerate(range(n)):
        yield i, num

    raise StopIteration

:heavy_check_mark: Correct code:

def foo(n):
    for i, num in enumerate(range(n)):
        yield i, num

    return

Rationale:

According to PEP479, the raise of StopIteration to end the loop of a generator may lead to hard to find bugs. This PEP specify that raise StopIteration has to be replaced by a simple return statement.