diff --git a/crates/ruff_linter/src/rules/ruff/rules/zip_instead_of_pairwise.rs b/crates/ruff_linter/src/rules/ruff/rules/zip_instead_of_pairwise.rs index 9a473eb32b..286560187a 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/zip_instead_of_pairwise.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/zip_instead_of_pairwise.rs @@ -29,6 +29,14 @@ use crate::{checkers::ast::Checker, importer::ImportRequest}; /// pairwise(letters) # ("A", "B"), ("B", "C"), ("C", "D") /// ``` /// +/// ## Fix safety +/// +/// The fix is always marked unsafe because it assumes that slicing an object +/// (e.g., `obj[1:]`) produces a value with the same type and iteration behavior +/// as the original object, which is not guaranteed for user-defined types that +/// override `__getitem__` without properly handling slices. Moreover, the fix +/// could delete comments. +/// /// ## References /// - [Python documentation: `itertools.pairwise`](https://docs.python.org/3/library/itertools.html#itertools.pairwise) #[derive(ViolationMetadata)]