Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document fix safety #15584

Open
71 tasks
dylwil3 opened this issue Jan 19, 2025 · 5 comments
Open
71 tasks

Document fix safety #15584

dylwil3 opened this issue Jan 19, 2025 · 5 comments
Labels
documentation Improvements or additions to documentation good first issue Good for newcomers help wanted Contributions especially welcome

Comments

@dylwil3
Copy link
Collaborator

dylwil3 commented Jan 19, 2025

The rules found at the following locations need to have a ## Fix safety section added to their doc comment to explain whether and why their fix is sometimes or always unsafe. If it makes sense to lump together a few in a single PR, feel free to do so, but in general we should probably keep them separate to speed up review and implementation.

I have omitted rules that have unsafe edits only when they intersect comments, since that is a general policy.

Please let me know if a file should be added or removed from the list - I did a regex and manual pruning, but I may have missed something or included something I shouldn't have.

  • crates/ruff_linter/src/rules/ruff/rules/quadratic_list_summation.rs
  • crates/ruff_linter/src/rules/ruff/rules/invalid_formatter_suppression_comment.rs
  • crates/ruff_linter/src/rules/ruff/rules/collection_literal_concatenation.rs
  • crates/ruff_linter/src/rules/ruff/rules/implicit_optional.rs
  • crates/ruff_linter/src/rules/ruff/rules/unnecessary_round.rs
  • crates/ruff_linter/src/rules/ruff/rules/missing_fstring_syntax.rs
  • crates/ruff_linter/src/rules/ruff/rules/zip_instead_of_pairwise.rs
  • crates/ruff_linter/src/rules/ruff/rules/post_init_default.rs
  • crates/ruff_linter/src/rules/flynt/rules/static_join_to_fstring.rs
  • crates/ruff_linter/src/rules/pylint/rules/useless_import_alias.rs
  • crates/ruff_linter/src/rules/pylint/rules/modified_iterating_set.rs
  • crates/ruff_linter/src/rules/pylint/rules/unnecessary_dunder_call.rs
  • crates/ruff_linter/src/rules/pylint/rules/sys_exit_alias.rs
  • crates/ruff_linter/src/rules/pylint/rules/nested_min_max.rs
  • crates/ruff_linter/src/rules/pylint/rules/unspecified_encoding.rs
  • crates/ruff_linter/src/rules/pylint/rules/repeated_equality_comparison.rs
  • crates/ruff_linter/src/rules/pycodestyle/rules/lambda_assignment.rs
  • crates/ruff_linter/src/rules/pycodestyle/rules/trailing_whitespace.rs
  • crates/ruff_linter/src/rules/flake8_pytest_style/rules/assertion.rs
  • crates/ruff_linter/src/rules/flake8_pytest_style/rules/fixture.rs
  • crates/ruff_linter/src/rules/flake8_pytest_style/rules/marks.rs
  • crates/ruff_linter/src/rules/flake8_pie/rules/duplicate_class_field_definition.rs
  • crates/ruff_linter/src/rules/flake8_return/rules/function.rs
  • crates/ruff_linter/src/rules/flake8_bugbear/rules/mutable_argument_default.rs
  • crates/ruff_linter/src/rules/flake8_bugbear/rules/unused_loop_control_variable.rs
  • crates/ruff_linter/src/rules/flake8_logging/rules/invalid_get_logger_argument.rs
  • crates/ruff_linter/src/rules/flake8_logging/rules/direct_logger_instantiation.rs
  • crates/ruff_linter/src/rules/flake8_pyi/rules/docstring_in_stubs.rs
  • crates/ruff_linter/src/rules/pydocstyle/rules/one_liner.rs
  • crates/ruff_linter/src/rules/pydocstyle/rules/ends_with_period.rs
  • crates/ruff_linter/src/rules/pydocstyle/rules/ends_with_punctuation.rs
  • crates/ruff_linter/src/rules/pydocstyle/rules/backslashes.rs
  • crates/ruff_linter/src/rules/flake8_type_checking/rules/typing_only_runtime_import.rs
  • crates/ruff_linter/src/rules/flake8_type_checking/rules/runtime_import_in_type_checking_block.rs
  • crates/ruff_linter/src/rules/numpy/rules/numpy_2_0_deprecation.rs
  • crates/ruff_linter/src/rules/flake8_simplify/rules/needless_bool.rs
  • crates/ruff_linter/src/rules/flake8_simplify/rules/ast_with.rs
  • crates/ruff_linter/src/rules/flake8_simplify/rules/collapsible_if.rs
  • crates/ruff_linter/src/rules/flake8_simplify/rules/if_else_block_instead_of_dict_get.rs
  • crates/ruff_linter/src/rules/flake8_simplify/rules/suppressible_exception.rs
  • crates/ruff_linter/src/rules/flake8_simplify/rules/ast_bool_op.rs
  • crates/ruff_linter/src/rules/flake8_simplify/rules/ast_expr.rs
  • crates/ruff_linter/src/rules/flake8_simplify/rules/reimplemented_builtin.rs
  • crates/ruff_linter/src/rules/flake8_simplify/rules/ast_ifexp.rs
  • crates/ruff_linter/src/rules/flake8_simplify/rules/if_else_block_instead_of_if_exp.rs
  • crates/ruff_linter/src/rules/flake8_import_conventions/rules/unconventional_import_alias.rs
  • crates/ruff_linter/src/rules/flake8_annotations/rules/definition.rs
  • crates/ruff_linter/src/rules/flake8_raise/rules/unnecessary_paren_on_raise_exception.rs
  • crates/ruff_linter/src/rules/perflint/rules/manual_list_comprehension.rs
  • crates/ruff_linter/src/rules/fastapi/rules/fastapi_non_annotated_dependency.rs
  • crates/ruff_linter/src/rules/fastapi/rules/fastapi_redundant_response_model.rs
  • crates/ruff_linter/src/rules/pandas_vet/rules/inplace_argument.rs
  • crates/ruff_linter/src/rules/refurb/rules/unnecessary_enumerate.rs
  • crates/ruff_linter/src/rules/refurb/rules/check_and_remove_from_set.rs
  • crates/ruff_linter/src/rules/refurb/rules/repeated_append.rs
  • crates/ruff_linter/src/rules/refurb/rules/print_empty_string.rs
  • crates/ruff_linter/src/rules/refurb/rules/delete_full_slice.rs
  • crates/ruff_linter/src/rules/refurb/rules/implicit_cwd.rs
  • crates/ruff_linter/src/rules/refurb/rules/readlines_in_for.rs
  • crates/ruff_linter/src/rules/flake8_async/rules/long_sleep_not_forever.rs
  • crates/ruff_linter/src/rules/flake8_errmsg/rules/string_in_exception.rs
  • crates/ruff_linter/src/rules/flake8_tidy_imports/rules/relative_imports.rs
  • crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_builtin_import.rs
  • crates/ruff_linter/src/rules/pyupgrade/rules/use_pep695_type_alias.rs
  • crates/ruff_linter/src/rules/pyupgrade/rules/use_pep604_isinstance.rs
  • crates/ruff_linter/src/rules/pyupgrade/rules/format_literals.rs
  • crates/ruff_linter/src/rules/pyupgrade/rules/outdated_version_block.rs
  • crates/ruff_linter/src/rules/pyupgrade/rules/replace_stdout_stderr.rs
  • crates/ruff_linter/src/rules/pyupgrade/rules/super_call_with_parameters.rs
  • crates/ruff_linter/src/rules/pyflakes/rules/repeated_keys.rs
  • crates/ruff_linter/src/rules/pyflakes/rules/unused_variable.rs
@dylwil3 dylwil3 added documentation Improvements or additions to documentation good first issue Good for newcomers help wanted Contributions especially welcome labels Jan 19, 2025
@InSyncWithFoo
Copy link
Contributor

A linked version of the list:

@sanwalsulehri
Copy link

can i do this

@MichaReiser
Copy link
Member

@sanwalsulehri sure, feel free to tackle them one by one

@sanwalsulehri
Copy link

yeah sure

@dhruvmanila
Copy link
Member

Please comment here on which rule you're going to tackle to avoid duplicate work :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation good first issue Good for newcomers help wanted Contributions especially welcome
Projects
None yet
Development

No branches or pull requests

5 participants