diff --git a/crates/ruff_linter/src/rules/pylint/rules/nested_min_max.rs b/crates/ruff_linter/src/rules/pylint/rules/nested_min_max.rs index 5c7290b932159..51d34b97e3d6d 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/nested_min_max.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/nested_min_max.rs @@ -21,6 +21,7 @@ pub(crate) enum MinMax { /// readability. /// /// ## Example +/// /// ```python /// minimum = min(1, 2, min(3, 4, 5)) /// maximum = max(1, 2, max(3, 4, 5)) @@ -28,12 +29,26 @@ pub(crate) enum MinMax { /// ``` /// /// Use instead: +/// /// ```python /// minimum = min(1, 2, 3, 4, 5) /// maximum = max(1, 2, 3, 4, 5) /// diff = maximum - minimum /// ``` /// +/// ## Fix safety +/// +/// This fix is always unsafe and may change the program's behavior for types without full +/// equivalence relations, such as float comparisons involving `NaN`. +/// +/// ```python +/// print(min(2.0, min(float("nan"), 1.0))) # before fix: 2.0 +/// print(min(2.0, float("nan"), 1.0)) # after fix: 1.0 +/// +/// print(max(1.0, max(float("nan"), 2.0))) # before fix: 1.0 +/// print(max(1.0, float("nan"), 2.0)) # after fix: 2.0 +/// ``` +/// /// ## References /// - [Python documentation: `min`](https://docs.python.org/3/library/functions.html#min) /// - [Python documentation: `max`](https://docs.python.org/3/library/functions.html#max)