From 8be205df990c9222ad2b74409f66bcde04ffe506 Mon Sep 17 00:00:00 2001 From: GiGaGon <107241144+MeGaGiGaGon@users.noreply.github.com> Date: Mon, 23 Jun 2025 06:20:55 -0700 Subject: [PATCH] [`pyupgrade`] Add fix safety section to `UP010` (#18838) ## Summary Part of #15584 This adds a `Fix safety` section to [unnecessary-future-import (UP010)](https://docs.astral.sh/ruff/rules/unnecessary-future-import/#unnecessary-future-import-up010) The unsafety is determined here: https://github.com/astral-sh/ruff/blob/d9266284df170cd70908761b5d5ae45b25523a40/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_future_import.rs#L128-L132 Unsafe code example: [playground](https://play.ruff.rs/c07d8c41-9ab8-4b86-805b-8cf482d450d9) ```py from __future__ import (print_function,# ... __annotations__) # ... ``` Edit: It looks like there was already a PR for this, #17490, but I missed it since they said `UP029` instead of `UP010` :/ ## Test Plan N/A, no tests/functionality affected --- .../src/rules/pyupgrade/rules/unnecessary_future_import.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_future_import.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_future_import.rs index 73c8836a7e..c713bdf718 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_future_import.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_future_import.rs @@ -30,6 +30,9 @@ use crate::{AlwaysFixableViolation, Applicability, Fix}; /// print("Hello, world!") /// ``` /// +/// ## Fix safety +/// This fix is marked unsafe if applying it would delete a comment. +/// /// ## Options /// - `target-version` ///