mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-30 22:01:18 +00:00
[pydoclint
] Make example error out-of-the-box (DOC501
) (#19218)
<!-- Thank you for contributing to Ruff/ty! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? (Please prefix with `[ty]` for ty pull requests.) - Does this pull request include references to any relevant issues? --> ## Summary <!-- What's the purpose of the change? What does it do, and why? --> Part of #18972 This PR makes [docstring-missing-exception (DOC501)](https://docs.astral.sh/ruff/rules/docstring-missing-exception/#docstring-missing-exception-doc501)'s example error out-of-the-box. Since the exceptions in the function body need to undergo name resolution to figure out if one of them is `NotImplementedError`, `DOC501` won't lint if the raised name is not defined. This could be considered a limitation, but should be fine since `F821` already covers undefined names. I did discover a different edge case, but it's not relevant to the example. [Old example](https://play.ruff.rs/d213e87d-e5c7-49d8-a908-931f61f06055) ```py def calculate_speed(distance: float, time: float) -> float: """Calculate speed as distance divided by time. Args: distance: Distance traveled. time: Time spent traveling. Returns: Speed as distance divided by time. """ try: return distance / time except ZeroDivisionError as exc: raise FasterThanLightError from exc ``` [New example](https://play.ruff.rs/cb41e0b7-b950-4fa0-842d-cecab9c8e842) ```py class FasterThanLightError(ArithmeticError): ... def calculate_speed(distance: float, time: float) -> float: """Calculate speed as distance divided by time. Args: distance: Distance traveled. time: Time spent traveling. Returns: Speed as distance divided by time. """ try: return distance / time except ZeroDivisionError as exc: raise FasterThanLightError from exc ``` The "Use instead" section was also updated similarly. ## Test Plan <!-- How was it tested? --> N/A, no functionality/tests affected
This commit is contained in:
parent
1eff0300d3
commit
8f400bb37a
1 changed files with 6 additions and 0 deletions
|
@ -238,6 +238,9 @@ impl Violation for DocstringExtraneousYields {
|
||||||
///
|
///
|
||||||
/// ## Example
|
/// ## Example
|
||||||
/// ```python
|
/// ```python
|
||||||
|
/// class FasterThanLightError(ArithmeticError): ...
|
||||||
|
///
|
||||||
|
///
|
||||||
/// def calculate_speed(distance: float, time: float) -> float:
|
/// def calculate_speed(distance: float, time: float) -> float:
|
||||||
/// """Calculate speed as distance divided by time.
|
/// """Calculate speed as distance divided by time.
|
||||||
///
|
///
|
||||||
|
@ -256,6 +259,9 @@ impl Violation for DocstringExtraneousYields {
|
||||||
///
|
///
|
||||||
/// Use instead:
|
/// Use instead:
|
||||||
/// ```python
|
/// ```python
|
||||||
|
/// class FasterThanLightError(ArithmeticError): ...
|
||||||
|
///
|
||||||
|
///
|
||||||
/// def calculate_speed(distance: float, time: float) -> float:
|
/// def calculate_speed(distance: float, time: float) -> float:
|
||||||
/// """Calculate speed as distance divided by time.
|
/// """Calculate speed as distance divided by time.
|
||||||
///
|
///
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue