Ruff overload-with-docstring (D418)

overload-with-docstring в Ruff проверяет код на предупреждение D418. Правило относится к группе pydocstyle.

Почему это неправильно

Docstring помогает понять публичный интерфейс и должна быть оформлена так, чтобы её корректно читали люди и инструменты.

Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила overload-with-docstring и пример ниже.

Пример ошибки

from typing import overload


@overload
def factorial(n: int) -> int:
    """Return the factorial of n."""


@overload
def factorial(n: float) -> float:
    """Return the factorial of n."""


def factorial(n):
    """Return the factorial of n."""


factorial.__doc__  # "Return the factorial of n."

Как правильно

from typing import overload


@overload
def factorial(n: int) -> int: ...


@overload
def factorial(n: float) -> float: ...


def factorial(n):
    """Return the factorial of n."""


factorial.__doc__  # "Return the factorial of n."

Автоисправление

Ruff не предлагает автоисправление для этого правила.