From cd8be8c0becbbcb5397d65b957c4b1821a600382 Mon Sep 17 00:00:00 2001 From: Micha Reiser Date: Sun, 5 Feb 2023 22:47:48 +0100 Subject: [PATCH] refactor: Introduce crates folder (#2088) This PR introduces a new `crates` directory and moves all "product" crates into that folder. Part of #2059. --- .github/workflows/playground.yaml | 2 +- .gitignore | 2 +- .pre-commit-config.yaml | 2 +- CONTRIBUTING.md | 89 ++++----- Cargo.lock | 172 ++++++++++-------- Cargo.toml | 91 +-------- .../flake8_to_ruff}/Cargo.toml | 6 +- .../flake8_to_ruff}/README.md | 0 .../examples/cryptography/pyproject.toml | 0 .../examples/cryptography/setup.cfg | 0 .../flake8_to_ruff}/examples/jupyterhub.ini | 0 .../flake8_to_ruff}/examples/manim.ini | 0 .../flake8_to_ruff}/examples/poetry.ini | 0 .../examples/python-discord.ini | 0 .../flake8_to_ruff}/examples/requests.ini | 0 .../flake8_to_ruff}/pyproject.toml | 0 .../flake8_to_ruff}/src/main.rs | 0 crates/ruff/Cargo.toml | 82 +++++++++ .../ruff/resources}/test/fixtures/README.md | 0 .../test/fixtures/eradicate/ERA001.py | 0 .../test/fixtures/filesystem/excluded_file.py | 0 .../with_excluded_directory/__init__.py | 0 .../migrations/__init__.py | 0 .../migrations/migration.py | 0 .../with_excluded_file/other_excluded_file.py | 0 .../test/fixtures/flake8_2020/YTT101.py | 0 .../test/fixtures/flake8_2020/YTT102.py | 0 .../test/fixtures/flake8_2020/YTT103.py | 0 .../test/fixtures/flake8_2020/YTT201.py | 0 .../test/fixtures/flake8_2020/YTT202.py | 0 .../test/fixtures/flake8_2020/YTT203.py | 0 .../test/fixtures/flake8_2020/YTT204.py | 0 .../test/fixtures/flake8_2020/YTT301.py | 0 .../test/fixtures/flake8_2020/YTT302.py | 0 .../test/fixtures/flake8_2020/YTT303.py | 0 .../allow_nested_overload.py | 0 .../flake8_annotations/allow_overload.py | 0 .../flake8_annotations/allow_star_arg_any.py | 0 .../flake8_annotations/annotation_presence.py | 0 .../flake8_annotations/mypy_init_return.py | 0 .../flake8_annotations/suppress_dummy_args.py | 0 .../suppress_none_returning.py | 0 .../test/fixtures/flake8_bandit/S101.py | 0 .../test/fixtures/flake8_bandit/S102.py | 0 .../test/fixtures/flake8_bandit/S103.py | 0 .../test/fixtures/flake8_bandit/S104.py | 0 .../test/fixtures/flake8_bandit/S105.py | 0 .../test/fixtures/flake8_bandit/S106.py | 0 .../test/fixtures/flake8_bandit/S107.py | 0 .../test/fixtures/flake8_bandit/S108.py | 0 .../test/fixtures/flake8_bandit/S110.py | 0 .../test/fixtures/flake8_bandit/S113.py | 0 .../test/fixtures/flake8_bandit/S324.py | 0 .../test/fixtures/flake8_bandit/S501.py | 0 .../test/fixtures/flake8_bandit/S506.py | 0 .../test/fixtures/flake8_bandit/S508.py | 0 .../test/fixtures/flake8_bandit/S509.py | 0 .../test/fixtures/flake8_bandit/S612.py | 0 .../test/fixtures/flake8_bandit/S701.py | 0 .../test/fixtures/flake8_blind_except/BLE.py | 0 .../test/fixtures/flake8_boolean_trap/FBT.py | 0 .../test/fixtures/flake8_bugbear/B002.py | 0 .../test/fixtures/flake8_bugbear/B003.py | 0 .../test/fixtures/flake8_bugbear/B004.py | 0 .../test/fixtures/flake8_bugbear/B005.py | 0 .../test/fixtures/flake8_bugbear/B006_B008.py | 0 .../test/fixtures/flake8_bugbear/B007.py | 0 .../fixtures/flake8_bugbear/B008_extended.py | 0 .../test/fixtures/flake8_bugbear/B009_B010.py | 0 .../test/fixtures/flake8_bugbear/B011.py | 0 .../test/fixtures/flake8_bugbear/B012.py | 0 .../test/fixtures/flake8_bugbear/B013.py | 0 .../test/fixtures/flake8_bugbear/B014.py | 0 .../test/fixtures/flake8_bugbear/B015.py | 0 .../test/fixtures/flake8_bugbear/B016.py | 0 .../test/fixtures/flake8_bugbear/B017.py | 0 .../test/fixtures/flake8_bugbear/B018.py | 0 .../test/fixtures/flake8_bugbear/B019.py | 0 .../test/fixtures/flake8_bugbear/B020.py | 0 .../test/fixtures/flake8_bugbear/B021.py | 0 .../test/fixtures/flake8_bugbear/B022.py | 0 .../test/fixtures/flake8_bugbear/B023.py | 0 .../test/fixtures/flake8_bugbear/B024.py | 0 .../test/fixtures/flake8_bugbear/B025.py | 0 .../test/fixtures/flake8_bugbear/B026.py | 0 .../test/fixtures/flake8_bugbear/B027.py | 0 .../test/fixtures/flake8_bugbear/B904.py | 0 .../test/fixtures/flake8_bugbear/B905.py | 0 .../test/fixtures/flake8_builtins/A001.py | 0 .../test/fixtures/flake8_builtins/A002.py | 0 .../test/fixtures/flake8_builtins/A003.py | 0 .../test/fixtures/flake8_commas/COM81.py | 0 .../fixtures/flake8_comprehensions/C400.py | 0 .../fixtures/flake8_comprehensions/C401.py | 0 .../fixtures/flake8_comprehensions/C402.py | 0 .../fixtures/flake8_comprehensions/C403.py | 0 .../fixtures/flake8_comprehensions/C404.py | 0 .../fixtures/flake8_comprehensions/C405.py | 0 .../fixtures/flake8_comprehensions/C406.py | 0 .../fixtures/flake8_comprehensions/C408.py | 0 .../fixtures/flake8_comprehensions/C409.py | 0 .../fixtures/flake8_comprehensions/C410.py | 0 .../fixtures/flake8_comprehensions/C411.py | 0 .../fixtures/flake8_comprehensions/C413.py | 0 .../fixtures/flake8_comprehensions/C414.py | 0 .../fixtures/flake8_comprehensions/C415.py | 0 .../fixtures/flake8_comprehensions/C416.py | 0 .../fixtures/flake8_comprehensions/C417.py | 0 .../test/fixtures/flake8_datetimez/DTZ001.py | 0 .../test/fixtures/flake8_datetimez/DTZ002.py | 0 .../test/fixtures/flake8_datetimez/DTZ003.py | 0 .../test/fixtures/flake8_datetimez/DTZ004.py | 0 .../test/fixtures/flake8_datetimez/DTZ005.py | 0 .../test/fixtures/flake8_datetimez/DTZ006.py | 0 .../test/fixtures/flake8_datetimez/DTZ007.py | 0 .../test/fixtures/flake8_datetimez/DTZ011.py | 0 .../test/fixtures/flake8_datetimez/DTZ012.py | 0 .../test/fixtures/flake8_debugger/T100.py | 0 .../test/fixtures/flake8_errmsg/EM.py | 0 .../fixtures/flake8_executable/EXE001_1.py | 0 .../fixtures/flake8_executable/EXE001_2.py | 0 .../fixtures/flake8_executable/EXE001_3.py | 0 .../fixtures/flake8_executable/EXE002_1.py | 0 .../fixtures/flake8_executable/EXE002_2.py | 0 .../fixtures/flake8_executable/EXE002_3.py | 0 .../test/fixtures/flake8_executable/EXE003.py | 0 .../fixtures/flake8_executable/EXE004_1.py | 0 .../fixtures/flake8_executable/EXE004_2.py | 0 .../fixtures/flake8_executable/EXE004_3.py | 0 .../fixtures/flake8_executable/EXE005_1.py | 0 .../fixtures/flake8_executable/EXE005_2.py | 0 .../fixtures/flake8_executable/EXE005_3.py | 0 .../flake8_implicit_str_concat/ISC.py | 0 .../flake8_import_conventions/custom.py | 0 .../flake8_import_conventions/defaults.py | 0 .../flake8_import_conventions/from_imports.py | 0 .../override_default.py | 0 .../remove_default.py | 0 .../fixtures/flake8_logging_format/G001.py | 0 .../fixtures/flake8_logging_format/G002.py | 0 .../fixtures/flake8_logging_format/G003.py | 0 .../fixtures/flake8_logging_format/G004.py | 0 .../fixtures/flake8_logging_format/G010.py | 0 .../fixtures/flake8_logging_format/G101_1.py | 0 .../fixtures/flake8_logging_format/G101_2.py | 0 .../fixtures/flake8_logging_format/G201.py | 0 .../fixtures/flake8_logging_format/G202.py | 0 .../G_argparse_parser_error_ok.py | 0 .../flake8_logging_format/G_extra_ok.py | 0 .../G_extra_str_format_ok.py | 0 .../flake8_logging_format/G_simple_ok.py | 0 .../flake8_logging_format/G_warnings_ok.py | 0 .../test_fail_empty/example.py | 0 .../test_fail_nonempty/example.py | 0 .../test_fail_shebang/example.py | 0 .../flake8_no_pep420/test_ignored/example.py | 0 .../test_pass_init/__init__.py | 0 .../test_pass_init/example.py | 0 .../test_pass_namespace_package/example.py | 0 .../test_pass_pyi/example.pyi | 0 .../test/fixtures/flake8_pie/PIE790.py | 0 .../test/fixtures/flake8_pie/PIE794.py | 0 .../test/fixtures/flake8_pie/PIE796.py | 0 .../test/fixtures/flake8_pie/PIE800.py | 0 .../test/fixtures/flake8_pie/PIE804.py | 0 .../test/fixtures/flake8_pie/PIE807.py | 0 .../test/fixtures/flake8_print/T201.py | 0 .../test/fixtures/flake8_print/T203.py | 0 .../fixtures/flake8_pytest_style/PT001.py | 0 .../fixtures/flake8_pytest_style/PT002.py | 0 .../fixtures/flake8_pytest_style/PT003.py | 0 .../fixtures/flake8_pytest_style/PT004.py | 0 .../fixtures/flake8_pytest_style/PT005.py | 0 .../fixtures/flake8_pytest_style/PT006.py | 0 .../fixtures/flake8_pytest_style/PT007.py | 0 .../fixtures/flake8_pytest_style/PT008.py | 0 .../fixtures/flake8_pytest_style/PT009.py | 0 .../fixtures/flake8_pytest_style/PT010.py | 0 .../fixtures/flake8_pytest_style/PT011.py | 0 .../fixtures/flake8_pytest_style/PT012.py | 0 .../fixtures/flake8_pytest_style/PT013.py | 0 .../fixtures/flake8_pytest_style/PT015.py | 0 .../fixtures/flake8_pytest_style/PT016.py | 0 .../fixtures/flake8_pytest_style/PT017.py | 0 .../fixtures/flake8_pytest_style/PT018.py | 0 .../fixtures/flake8_pytest_style/PT019.py | 0 .../fixtures/flake8_pytest_style/PT020.py | 0 .../fixtures/flake8_pytest_style/PT021.py | 0 .../fixtures/flake8_pytest_style/PT022.py | 0 .../fixtures/flake8_pytest_style/PT023.py | 0 .../fixtures/flake8_pytest_style/PT024.py | 0 .../fixtures/flake8_pytest_style/PT025.py | 0 .../fixtures/flake8_pytest_style/PT026.py | 0 .../flake8_quotes/docstring_doubles.py | 0 .../flake8_quotes/docstring_doubles_class.py | 0 .../docstring_doubles_function.py | 0 .../docstring_doubles_module_multiline.py | 0 .../docstring_doubles_module_singleline.py | 0 .../flake8_quotes/docstring_singles.py | 0 .../flake8_quotes/docstring_singles_class.py | 0 .../docstring_singles_function.py | 0 .../docstring_singles_module_multiline.py | 0 .../docstring_singles_module_singleline.py | 0 .../test/fixtures/flake8_quotes/doubles.py | 0 .../fixtures/flake8_quotes/doubles_escaped.py | 0 .../flake8_quotes/doubles_implicit.py | 0 .../flake8_quotes/doubles_multiline_string.py | 0 .../fixtures/flake8_quotes/doubles_noqa.py | 0 .../fixtures/flake8_quotes/doubles_wrapped.py | 0 .../test/fixtures/flake8_quotes/singles.py | 0 .../fixtures/flake8_quotes/singles_escaped.py | 0 .../flake8_quotes/singles_implicit.py | 0 .../flake8_quotes/singles_multiline_string.py | 0 .../fixtures/flake8_quotes/singles_noqa.py | 0 .../fixtures/flake8_quotes/singles_wrapped.py | 0 .../test/fixtures/flake8_raise/RSE102.py | 0 .../test/fixtures/flake8_return/RET501.py | 0 .../test/fixtures/flake8_return/RET502.py | 0 .../test/fixtures/flake8_return/RET503.py | 0 .../test/fixtures/flake8_return/RET504.py | 0 .../test/fixtures/flake8_return/RET505.py | 0 .../test/fixtures/flake8_return/RET506.py | 0 .../test/fixtures/flake8_return/RET507.py | 0 .../test/fixtures/flake8_return/RET508.py | 0 .../test/fixtures/flake8_self/SLF001.py | 0 .../test/fixtures/flake8_simplify/SIM101.py | 0 .../test/fixtures/flake8_simplify/SIM102.py | 0 .../test/fixtures/flake8_simplify/SIM103.py | 0 .../test/fixtures/flake8_simplify/SIM105.py | 0 .../test/fixtures/flake8_simplify/SIM107.py | 0 .../test/fixtures/flake8_simplify/SIM108.py | 0 .../test/fixtures/flake8_simplify/SIM109.py | 0 .../test/fixtures/flake8_simplify/SIM110.py | 0 .../test/fixtures/flake8_simplify/SIM111.py | 0 .../test/fixtures/flake8_simplify/SIM112.py | 0 .../test/fixtures/flake8_simplify/SIM115.py | 0 .../test/fixtures/flake8_simplify/SIM117.py | 0 .../test/fixtures/flake8_simplify/SIM118.py | 0 .../test/fixtures/flake8_simplify/SIM201.py | 0 .../test/fixtures/flake8_simplify/SIM202.py | 0 .../test/fixtures/flake8_simplify/SIM208.py | 0 .../test/fixtures/flake8_simplify/SIM210.py | 0 .../test/fixtures/flake8_simplify/SIM211.py | 0 .../test/fixtures/flake8_simplify/SIM212.py | 0 .../test/fixtures/flake8_simplify/SIM220.py | 0 .../test/fixtures/flake8_simplify/SIM221.py | 0 .../test/fixtures/flake8_simplify/SIM222.py | 0 .../test/fixtures/flake8_simplify/SIM223.py | 0 .../test/fixtures/flake8_simplify/SIM300.py | 0 .../test/fixtures/flake8_simplify/SIM401.py | 0 .../fixtures/flake8_tidy_imports/TID251.py | 0 .../TID251_false_positives.py | 0 .../fixtures/flake8_tidy_imports/TID252.py | 0 .../fixtures/flake8_type_checking/TCH001.py | 0 .../fixtures/flake8_type_checking/TCH002.py | 0 .../fixtures/flake8_type_checking/TCH003.py | 0 .../fixtures/flake8_type_checking/TCH004_1.py | 0 .../fixtures/flake8_type_checking/TCH004_2.py | 0 .../fixtures/flake8_type_checking/TCH004_3.py | 0 .../fixtures/flake8_type_checking/TCH004_4.py | 0 .../fixtures/flake8_type_checking/TCH004_5.py | 0 .../fixtures/flake8_type_checking/TCH004_6.py | 0 .../fixtures/flake8_type_checking/TCH004_7.py | 0 .../fixtures/flake8_type_checking/TCH004_8.py | 0 .../fixtures/flake8_type_checking/TCH005.py | 0 .../flake8_type_checking/exempt_modules.py | 0 .../fixtures/flake8_type_checking/strict.py | 0 .../fixtures/flake8_unused_arguments/ARG.py | 0 .../ignore_variadic_names.py | 0 .../fixtures/flake8_use_pathlib/full_name.py | 0 .../fixtures/flake8_use_pathlib/import_as.py | 0 .../flake8_use_pathlib/import_from.py | 0 .../flake8_use_pathlib/import_from_as.py | 0 .../fixtures/flake8_use_pathlib/py_path_1.py | 0 .../fixtures/flake8_use_pathlib/py_path_2.py | 0 .../flake8_use_pathlib/use_pathlib.py | 0 .../isort/add_newline_before_comments.py | 0 .../test/fixtures/isort/combine_as_imports.py | 0 .../fixtures/isort/combine_import_from.py | 0 .../test/fixtures/isort/comments.py | 0 .../fixtures/isort/deduplicate_imports.py | 0 .../test/fixtures/isort/fit_line_length.py | 0 .../fixtures/isort/fit_line_length_comment.py | 0 .../test/fixtures/isort/force_single_line.py | 0 .../isort/force_sort_within_sections.py | 0 .../test/fixtures/isort/force_wrap_aliases.py | 0 .../test/fixtures/isort/forced_separate.py | 0 .../isort/import_from_after_import.py | 0 .../test/fixtures/isort/inline_comments.py | 0 .../test/fixtures/isort/insert_empty_lines.py | 0 .../fixtures/isort/insert_empty_lines.pyi | 0 .../test/fixtures/isort/leading_prefix.py | 0 .../test/fixtures/isort/line_ending_crlf.py | 0 .../test/fixtures/isort/line_ending_lf.py | 0 .../isort/lines_after_imports_class_after.py | 0 .../isort/lines_after_imports_func_after.py | 0 .../lines_after_imports_nothing_after.py | 0 .../fixtures/isort/magic_trailing_comma.py | 0 .../test/fixtures/isort/natural_order.py | 0 .../test/fixtures/isort/no_lines_before.py | 0 .../isort/no_reorder_within_section.py | 0 .../test/fixtures/isort/no_wrap_star.py | 0 .../test/fixtures/isort/order_by_type.py | 0 .../order_by_type_with_custom_classes.py | 0 .../order_by_type_with_custom_constants.py | 0 .../order_by_type_with_custom_variables.py | 0 .../isort/order_relative_imports_by_level.py | 0 .../fixtures/isort/preserve_comment_order.py | 0 .../fixtures/isort/preserve_import_star.py | 0 .../fixtures/isort/preserve_indentation.py | 0 .../test/fixtures/isort/preserve_tabs.py | 0 .../test/fixtures/isort/preserve_tabs_2.py | 0 .../test/fixtures/isort/pyproject.toml | 0 .../fixtures/isort/relative_imports_order.py | 0 .../fixtures/isort/reorder_within_section.py | 0 .../isort/required_imports/comment.py | 0 .../isort/required_imports/docstring.py | 0 .../isort/required_imports/docstring_only.py | 0 .../docstring_with_continuation.py | 0 .../docstring_with_semicolon.py | 0 .../fixtures/isort/required_imports/empty.py | 0 .../isort/required_imports/existing_import.py | 0 .../isort/separate_first_party_imports.py | 0 .../fixtures/isort/separate_future_imports.py | 0 .../isort/separate_local_folder_imports.py | 0 .../isort/separate_third_party_imports.py | 0 .../resources}/test/fixtures/isort/skip.py | 0 .../test/fixtures/isort/skip_file.py | 0 .../fixtures/isort/sort_similar_imports.py | 0 .../resources}/test/fixtures/isort/split.py | 0 .../test/fixtures/isort/star_before_others.py | 0 .../test/fixtures/isort/trailing_suffix.py | 0 .../test/fixtures/isort/type_comments.py | 0 .../resources}/test/fixtures/mccabe/C901.py | 0 .../test/fixtures/pandas_vet/PD002.py | 0 .../test/fixtures/pep8_naming/N801.py | 0 .../test/fixtures/pep8_naming/N802.py | 0 .../test/fixtures/pep8_naming/N803.py | 0 .../test/fixtures/pep8_naming/N804.py | 0 .../test/fixtures/pep8_naming/N805.py | 0 .../test/fixtures/pep8_naming/N806.py | 0 .../test/fixtures/pep8_naming/N807.py | 0 .../test/fixtures/pep8_naming/N811.py | 0 .../test/fixtures/pep8_naming/N812.py | 0 .../test/fixtures/pep8_naming/N813.py | 0 .../test/fixtures/pep8_naming/N814.py | 0 .../test/fixtures/pep8_naming/N815.py | 0 .../test/fixtures/pep8_naming/N816.py | 0 .../test/fixtures/pep8_naming/N817.py | 0 .../test/fixtures/pep8_naming/N818.py | 0 .../test/fixtures/pycodestyle/E101.py | 0 .../test/fixtures/pycodestyle/E11.py | 0 .../test/fixtures/pycodestyle/E20.py | 0 .../test/fixtures/pycodestyle/E22.py | 0 .../test/fixtures/pycodestyle/E40.py | 0 .../test/fixtures/pycodestyle/E402.py | 0 .../test/fixtures/pycodestyle/E501.py | 0 .../test/fixtures/pycodestyle/E501_1.py | 0 .../test/fixtures/pycodestyle/E711.py | 0 .../test/fixtures/pycodestyle/E712.py | 0 .../test/fixtures/pycodestyle/E713.py | 0 .../test/fixtures/pycodestyle/E714.py | 0 .../test/fixtures/pycodestyle/E721.py | 0 .../test/fixtures/pycodestyle/E722.py | 0 .../test/fixtures/pycodestyle/E731.py | 0 .../test/fixtures/pycodestyle/E741.py | 0 .../test/fixtures/pycodestyle/E742.py | 0 .../test/fixtures/pycodestyle/E743.py | 0 .../test/fixtures/pycodestyle/E999.py | 0 .../test/fixtures/pycodestyle/W292_0.py | 0 .../test/fixtures/pycodestyle/W292_1.py | 0 .../test/fixtures/pycodestyle/W292_2.py | 0 .../test/fixtures/pycodestyle/W292_3.py | 0 .../test/fixtures/pycodestyle/W292_4.py | 0 .../test/fixtures/pycodestyle/W505.py | 0 .../test/fixtures/pycodestyle/W605_0.py | 0 .../test/fixtures/pycodestyle/W605_1.py | 0 .../fixtures/pycodestyle/constant_literals.py | 0 .../resources}/test/fixtures/pydocstyle/D.py | 0 .../test/fixtures/pydocstyle/D104/__init__.py | 0 .../test/fixtures/pydocstyle/D400.py | 0 .../test/fixtures/pydocstyle/D401.py | 0 .../test/fixtures/pydocstyle/D417.py | 0 .../pydocstyle/canonical_google_examples.py | 0 .../pydocstyle/canonical_numpy_examples.py | 0 .../test/fixtures/pydocstyle/sections.py | 0 .../test/fixtures/pydocstyle/setter.py | 0 .../test/fixtures/pyflakes/F401_0.py | 0 .../test/fixtures/pyflakes/F401_1.py | 0 .../test/fixtures/pyflakes/F401_2.py | 0 .../test/fixtures/pyflakes/F401_3.py | 0 .../test/fixtures/pyflakes/F401_4.py | 0 .../test/fixtures/pyflakes/F401_5.py | 0 .../test/fixtures/pyflakes/F401_6.py | 0 .../test/fixtures/pyflakes/F401_7.py | 0 .../test/fixtures/pyflakes/F401_8.py | 0 .../resources}/test/fixtures/pyflakes/F402.py | 0 .../resources}/test/fixtures/pyflakes/F403.py | 0 .../resources}/test/fixtures/pyflakes/F404.py | 0 .../resources}/test/fixtures/pyflakes/F405.py | 0 .../resources}/test/fixtures/pyflakes/F406.py | 0 .../resources}/test/fixtures/pyflakes/F407.py | 0 .../resources}/test/fixtures/pyflakes/F502.py | 0 .../resources}/test/fixtures/pyflakes/F503.py | 0 .../resources}/test/fixtures/pyflakes/F504.py | 0 .../resources}/test/fixtures/pyflakes/F50x.py | 0 .../resources}/test/fixtures/pyflakes/F521.py | 0 .../resources}/test/fixtures/pyflakes/F522.py | 0 .../resources}/test/fixtures/pyflakes/F523.py | 0 .../resources}/test/fixtures/pyflakes/F524.py | 0 .../resources}/test/fixtures/pyflakes/F525.py | 0 .../resources}/test/fixtures/pyflakes/F541.py | 0 .../resources}/test/fixtures/pyflakes/F601.py | 0 .../resources}/test/fixtures/pyflakes/F602.py | 0 .../resources}/test/fixtures/pyflakes/F622.py | 0 .../resources}/test/fixtures/pyflakes/F631.py | 0 .../resources}/test/fixtures/pyflakes/F632.py | 0 .../resources}/test/fixtures/pyflakes/F633.py | 0 .../resources}/test/fixtures/pyflakes/F634.py | 0 .../resources}/test/fixtures/pyflakes/F701.py | 0 .../resources}/test/fixtures/pyflakes/F702.py | 0 .../resources}/test/fixtures/pyflakes/F704.py | 0 .../resources}/test/fixtures/pyflakes/F706.py | 0 .../resources}/test/fixtures/pyflakes/F707.py | 0 .../resources}/test/fixtures/pyflakes/F722.py | 0 .../test/fixtures/pyflakes/F811_0.py | 0 .../test/fixtures/pyflakes/F811_1.py | 0 .../test/fixtures/pyflakes/F811_10.py | 0 .../test/fixtures/pyflakes/F811_11.py | 0 .../test/fixtures/pyflakes/F811_12.py | 0 .../test/fixtures/pyflakes/F811_13.py | 0 .../test/fixtures/pyflakes/F811_14.py | 0 .../test/fixtures/pyflakes/F811_15.py | 0 .../test/fixtures/pyflakes/F811_16.py | 0 .../test/fixtures/pyflakes/F811_17.py | 0 .../test/fixtures/pyflakes/F811_18.py | 0 .../test/fixtures/pyflakes/F811_19.py | 0 .../test/fixtures/pyflakes/F811_2.py | 0 .../test/fixtures/pyflakes/F811_20.py | 0 .../test/fixtures/pyflakes/F811_21.py | 0 .../test/fixtures/pyflakes/F811_3.py | 0 .../test/fixtures/pyflakes/F811_4.py | 0 .../test/fixtures/pyflakes/F811_5.py | 0 .../test/fixtures/pyflakes/F811_6.py | 0 .../test/fixtures/pyflakes/F811_7.py | 0 .../test/fixtures/pyflakes/F811_8.py | 0 .../test/fixtures/pyflakes/F811_9.py | 0 .../test/fixtures/pyflakes/F821_0.py | 0 .../test/fixtures/pyflakes/F821_1.py | 0 .../test/fixtures/pyflakes/F821_2.py | 0 .../test/fixtures/pyflakes/F821_3.py | 0 .../test/fixtures/pyflakes/F821_4.py | 0 .../test/fixtures/pyflakes/F821_5.py | 0 .../test/fixtures/pyflakes/F821_6.py | 0 .../test/fixtures/pyflakes/F821_7.py | 0 .../test/fixtures/pyflakes/F821_8.pyi | 0 .../test/fixtures/pyflakes/F822_0.py | 0 .../test/fixtures/pyflakes/F822_1.py | 0 .../resources}/test/fixtures/pyflakes/F823.py | 0 .../test/fixtures/pyflakes/F841_0.py | 0 .../test/fixtures/pyflakes/F841_1.py | 0 .../test/fixtures/pyflakes/F841_2.py | 0 .../test/fixtures/pyflakes/F841_3.py | 0 .../resources}/test/fixtures/pyflakes/F842.py | 0 .../resources}/test/fixtures/pyflakes/F901.py | 0 .../test/fixtures/pyflakes/__init__.py | 0 .../test/fixtures/pyflakes/builtins.py | 0 .../fixtures/pyflakes/future_annotations.py | 0 .../pyflakes/multi_statement_lines.py | 0 .../test/fixtures/pyflakes/typing_modules.py | 0 .../test/fixtures/pygrep-hooks/PGH001_0.py | 0 .../test/fixtures/pygrep-hooks/PGH001_1.py | 0 .../test/fixtures/pygrep-hooks/PGH002_0.py | 0 .../test/fixtures/pygrep-hooks/PGH002_1.py | 0 .../test/fixtures/pygrep-hooks/PGH003_0.py | 0 .../test/fixtures/pygrep-hooks/PGH004_0.py | 0 .../fixtures/pylint/await_outside_async.py | 0 .../fixtures/pylint/comparison_of_constant.py | 0 .../pylint/consider_merging_isinstance.py | 0 .../pylint/consider_using_sys_exit_0.py | 0 .../pylint/consider_using_sys_exit_1.py | 0 .../pylint/consider_using_sys_exit_2.py | 0 .../pylint/consider_using_sys_exit_3.py | 0 .../pylint/consider_using_sys_exit_4.py | 0 .../pylint/consider_using_sys_exit_5.py | 0 .../pylint/consider_using_sys_exit_6.py | 0 .../pylint/global_variable_not_assigned.py | 0 .../test/fixtures/pylint/import_aliasing.py | 0 .../fixtures/pylint/invalid_all_format.py | 0 .../fixtures/pylint/invalid_all_object.py | 0 .../fixtures/pylint/magic_value_comparison.py | 0 .../pylint/misplaced_comparison_constant.py | 0 .../pylint/nonlocal_without_binding.py | 0 .../pylint/property_with_parameters.py | 0 .../fixtures/pylint/too_many_arguments.py | 0 .../pylint/too_many_arguments_params.py | 0 .../test/fixtures/pylint/too_many_branches.py | 0 .../pylint/too_many_branches_params.py | 0 .../pylint/too_many_return_statements.py | 0 .../too_many_return_statements_params.py | 0 .../fixtures/pylint/too_many_statements.py | 0 .../pylint/too_many_statements_params.py | 0 .../pylint/unnecessary_direct_lambda_call.py | 0 .../pylint/used_prior_global_declaration.py | 0 .../fixtures/pylint/useless_else_on_loop.py | 0 .../resources}/test/fixtures/pyproject.toml | 0 .../test/fixtures/pyupgrade/UP001.py | 0 .../test/fixtures/pyupgrade/UP003.py | 0 .../test/fixtures/pyupgrade/UP004.py | 0 .../test/fixtures/pyupgrade/UP005.py | 0 .../test/fixtures/pyupgrade/UP006.py | 0 .../test/fixtures/pyupgrade/UP007.py | 0 .../test/fixtures/pyupgrade/UP008.py | 0 .../test/fixtures/pyupgrade/UP009_0.py | 0 .../test/fixtures/pyupgrade/UP009_1.py | 0 .../test/fixtures/pyupgrade/UP009_2.py | 0 .../test/fixtures/pyupgrade/UP009_3.py | 0 .../test/fixtures/pyupgrade/UP009_4.py | 0 .../test/fixtures/pyupgrade/UP010.py | 0 .../test/fixtures/pyupgrade/UP011.py | 0 .../test/fixtures/pyupgrade/UP012.py | 0 .../test/fixtures/pyupgrade/UP013.py | 0 .../test/fixtures/pyupgrade/UP014.py | 0 .../test/fixtures/pyupgrade/UP015.py | 0 .../test/fixtures/pyupgrade/UP017.py | 0 .../test/fixtures/pyupgrade/UP018.py | 0 .../test/fixtures/pyupgrade/UP019.py | 0 .../test/fixtures/pyupgrade/UP020.py | 0 .../test/fixtures/pyupgrade/UP021.py | 0 .../test/fixtures/pyupgrade/UP022.py | 0 .../test/fixtures/pyupgrade/UP023.py | 0 .../test/fixtures/pyupgrade/UP024_0.py | 0 .../test/fixtures/pyupgrade/UP024_1.py | 0 .../test/fixtures/pyupgrade/UP024_2.py | 0 .../test/fixtures/pyupgrade/UP024_3.py | 0 .../test/fixtures/pyupgrade/UP025.py | 0 .../test/fixtures/pyupgrade/UP026.py | 0 .../test/fixtures/pyupgrade/UP027.py | 0 .../test/fixtures/pyupgrade/UP028_0.py | 0 .../test/fixtures/pyupgrade/UP028_1.py | 0 .../test/fixtures/pyupgrade/UP029.py | 0 .../test/fixtures/pyupgrade/UP030_0.py | 0 .../test/fixtures/pyupgrade/UP030_1.py | 0 .../test/fixtures/pyupgrade/UP030_2.py | 0 .../test/fixtures/pyupgrade/UP031_0.py | 0 .../test/fixtures/pyupgrade/UP031_1.py | 0 .../test/fixtures/pyupgrade/UP032.py | 0 .../test/fixtures/pyupgrade/UP033.py | 0 .../test/fixtures/pyupgrade/UP034.py | 0 .../test/fixtures/pyupgrade/UP035.py | 0 .../test/fixtures/pyupgrade/UP036_0.py | 0 .../test/fixtures/pyupgrade/UP036_1.py | 0 .../test/fixtures/pyupgrade/UP036_2.py | 0 .../test/fixtures/pyupgrade/UP036_3.py | 0 .../test/fixtures/pyupgrade/UP036_4.py | 0 .../test/fixtures/pyupgrade/UP037.py | 0 .../fixtures/pyupgrade/future_annotations.py | 0 .../resources}/test/fixtures/ruff/RUF004.py | 0 .../resources}/test/fixtures/ruff/RUF005.py | 0 .../resources}/test/fixtures/ruff/RUF100_0.py | 0 .../resources}/test/fixtures/ruff/RUF100_1.py | 0 .../resources}/test/fixtures/ruff/RUF100_2.py | 0 .../test/fixtures/ruff/confusables.py | 0 .../test/fixtures/ruff/flake8_noqa.py | 0 .../test/fixtures/ruff/redirects.py | 0 .../test/fixtures/ruff/ruff_noqa.py | 0 .../test/fixtures/tryceratops/TRY002.py | 0 .../test/fixtures/tryceratops/TRY003.py | 0 .../test/fixtures/tryceratops/TRY004.py | 0 .../test/fixtures/tryceratops/TRY200.py | 0 .../test/fixtures/tryceratops/TRY201.py | 0 .../test/fixtures/tryceratops/TRY300.py | 0 .../test/fixtures/tryceratops/TRY301.py | 0 .../test/fixtures/tryceratops/TRY400.py | 0 .../resources}/test/package/pyproject.toml | 0 .../test/package/resources/ignored.py | 0 .../test/package/src/package/__init__.py | 0 .../test/package/src/package/app.py | 0 .../test/package/src/package/core.py | 0 .../ruff/resources}/test/project/.gitignore | 0 .../ruff/resources}/test/project/README.md | 0 .../project/examples/.dotfiles/pyproject.toml | 0 .../test/project/examples/.dotfiles/script.py | 0 .../project/examples/docs/docs/__init__.py | 0 .../examples/docs/docs/concepts/__init__.py | 0 .../examples/docs/docs/concepts/file.py | 0 .../test/project/examples/docs/docs/file.py | 0 .../test/project/examples/docs/ruff.toml | 0 .../test/project/examples/excluded/script.py | 0 .../test/project/project/__init__.py | 0 .../resources}/test/project/project/file.py | 0 .../test/project/project/import_file.py | 0 .../resources}/test/project/pyproject.toml | 0 .../python_modules/app/app/__init__.py | 0 .../python_modules/app/app/app_file.py | 0 .../python_modules/core/core/__init__.py | 0 .../python_modules/core/core/core_file.py | 0 .../ruff/src}/assert_yaml_snapshot.rs | 0 .../ruff/src}/ast/branch_detection.rs | 0 {src => crates/ruff/src}/ast/cast.rs | 0 {src => crates/ruff/src}/ast/comparable.rs | 0 {src => crates/ruff/src}/ast/function_type.rs | 0 {src => crates/ruff/src}/ast/hashable.rs | 0 {src => crates/ruff/src}/ast/helpers.rs | 0 {src => crates/ruff/src}/ast/mod.rs | 0 {src => crates/ruff/src}/ast/operations.rs | 0 {src => crates/ruff/src}/ast/relocate.rs | 0 {src => crates/ruff/src}/ast/types.rs | 0 {src => crates/ruff/src}/ast/visitor.rs | 0 {src => crates/ruff/src}/ast/whitespace.rs | 0 {src => crates/ruff/src}/autofix/helpers.rs | 0 {src => crates/ruff/src}/autofix/mod.rs | 0 {src => crates/ruff/src}/cache.rs | 0 {src => crates/ruff/src}/checkers/ast.rs | 0 .../ruff/src}/checkers/filesystem.rs | 0 {src => crates/ruff/src}/checkers/imports.rs | 0 .../ruff/src}/checkers/logical_lines.rs | 0 {src => crates/ruff/src}/checkers/mod.rs | 0 {src => crates/ruff/src}/checkers/noqa.rs | 0 .../ruff/src}/checkers/physical_lines.rs | 0 {src => crates/ruff/src}/checkers/tokens.rs | 0 {src => crates/ruff/src}/cst/helpers.rs | 0 {src => crates/ruff/src}/cst/matchers.rs | 0 {src => crates/ruff/src}/cst/mod.rs | 0 {src => crates/ruff/src}/directives.rs | 0 {src => crates/ruff/src}/doc_lines.rs | 0 .../ruff/src}/docstrings/constants.rs | 0 .../ruff/src}/docstrings/definition.rs | 0 .../ruff/src}/docstrings/extraction.rs | 0 {src => crates/ruff/src}/docstrings/google.rs | 0 {src => crates/ruff/src}/docstrings/mod.rs | 0 {src => crates/ruff/src}/docstrings/numpy.rs | 0 .../ruff/src}/docstrings/sections.rs | 0 {src => crates/ruff/src}/docstrings/styles.rs | 0 {src => crates/ruff/src}/fix.rs | 0 .../ruff/src}/flake8_to_ruff/black.rs | 0 .../ruff/src}/flake8_to_ruff/converter.rs | 0 .../src}/flake8_to_ruff/external_config.rs | 0 .../ruff/src}/flake8_to_ruff/isort.rs | 0 .../ruff/src}/flake8_to_ruff/mod.rs | 0 .../ruff/src}/flake8_to_ruff/parser.rs | 0 .../ruff/src}/flake8_to_ruff/plugin.rs | 0 .../ruff/src}/flake8_to_ruff/pyproject.rs | 0 {src => crates/ruff/src}/fs.rs | 0 .../ruff/src}/lex/docstring_detection.rs | 0 {src => crates/ruff/src}/lex/mod.rs | 0 {src => crates/ruff/src}/lib.rs | 0 {src => crates/ruff/src}/lib_native.rs | 0 {src => crates/ruff/src}/lib_wasm.rs | 0 {src => crates/ruff/src}/linter.rs | 0 {src => crates/ruff/src}/logging.rs | 0 {src => crates/ruff/src}/message.rs | 0 {src => crates/ruff/src}/noqa.rs | 0 {src => crates/ruff/src}/packaging.rs | 0 {src => crates/ruff/src}/python/builtins.rs | 0 {src => crates/ruff/src}/python/future.rs | 0 .../ruff/src}/python/identifiers.rs | 0 {src => crates/ruff/src}/python/keyword.rs | 0 {src => crates/ruff/src}/python/mod.rs | 0 {src => crates/ruff/src}/python/string.rs | 0 {src => crates/ruff/src}/python/sys.rs | 0 {src => crates/ruff/src}/python/typing.rs | 0 {src => crates/ruff/src}/registry.rs | 0 {src => crates/ruff/src}/resolver.rs | 0 {src => crates/ruff/src}/rule_redirects.rs | 0 {src => crates/ruff/src}/rule_selector.rs | 0 .../ruff/src}/rules/eradicate/detection.rs | 0 .../ruff/src}/rules/eradicate/mod.rs | 0 .../ruff/src}/rules/eradicate/rules.rs | 0 ...s__eradicate__tests__ERA001_ERA001.py.snap | 0 .../ruff/src}/rules/flake8_2020/mod.rs | 0 .../ruff/src}/rules/flake8_2020/rules.rs | 0 ..._flake8_2020__tests__YTT101_YTT101.py.snap | 0 ..._flake8_2020__tests__YTT102_YTT102.py.snap | 0 ..._flake8_2020__tests__YTT103_YTT103.py.snap | 0 ..._flake8_2020__tests__YTT201_YTT201.py.snap | 0 ..._flake8_2020__tests__YTT202_YTT202.py.snap | 0 ..._flake8_2020__tests__YTT203_YTT203.py.snap | 0 ..._flake8_2020__tests__YTT204_YTT204.py.snap | 0 ..._flake8_2020__tests__YTT301_YTT301.py.snap | 0 ..._flake8_2020__tests__YTT302_YTT302.py.snap | 0 ..._flake8_2020__tests__YTT303_YTT303.py.snap | 0 .../src}/rules/flake8_annotations/fixes.rs | 0 .../src}/rules/flake8_annotations/helpers.rs | 0 .../ruff/src}/rules/flake8_annotations/mod.rs | 0 .../src}/rules/flake8_annotations/rules.rs | 0 .../src}/rules/flake8_annotations/settings.rs | 0 ...tations__tests__allow_nested_overload.snap | 0 ...e8_annotations__tests__allow_overload.snap | 0 ...nnotations__tests__allow_star_arg_any.snap | 0 ...__flake8_annotations__tests__defaults.snap | 0 ..._annotations__tests__mypy_init_return.snap | 0 ...notations__tests__suppress_dummy_args.snap | 0 ...tions__tests__suppress_none_returning.snap | 0 .../ruff/src}/rules/flake8_bandit/helpers.rs | 0 .../ruff/src}/rules/flake8_bandit/mod.rs | 0 .../rules/flake8_bandit/rules/assert_used.rs | 0 .../rules/bad_file_permissions.rs | 0 .../rules/flake8_bandit/rules/exec_used.rs | 0 .../rules/hardcoded_bind_all_interfaces.rs | 0 .../rules/hardcoded_password_default.rs | 0 .../rules/hardcoded_password_func_arg.rs | 0 .../rules/hardcoded_password_string.rs | 0 .../rules/hardcoded_tmp_directory.rs | 0 .../rules/hashlib_insecure_hash_functions.rs | 0 .../rules/jinja2_autoescape_false.rs | 0 .../rules/logging_config_insecure_listen.rs | 0 .../src}/rules/flake8_bandit/rules/mod.rs | 0 .../rules/request_with_no_cert_validation.rs | 0 .../rules/request_without_timeout.rs | 0 .../rules/snmp_insecure_version.rs | 0 .../rules/snmp_weak_cryptography.rs | 0 .../flake8_bandit/rules/try_except_pass.rs | 0 .../flake8_bandit/rules/unsafe_yaml_load.rs | 0 .../ruff/src}/rules/flake8_bandit/settings.rs | 0 ...s__flake8_bandit__tests__S101_S101.py.snap | 0 ...s__flake8_bandit__tests__S102_S102.py.snap | 0 ...s__flake8_bandit__tests__S103_S103.py.snap | 0 ...s__flake8_bandit__tests__S104_S104.py.snap | 0 ...s__flake8_bandit__tests__S105_S105.py.snap | 0 ...s__flake8_bandit__tests__S106_S106.py.snap | 0 ...s__flake8_bandit__tests__S107_S107.py.snap | 0 ...s__flake8_bandit__tests__S108_S108.py.snap | 0 ...es__flake8_bandit__tests__S108_extend.snap | 0 ...s__flake8_bandit__tests__S110_S110.py.snap | 0 ...les__flake8_bandit__tests__S110_typed.snap | 0 ...s__flake8_bandit__tests__S113_S113.py.snap | 0 ...s__flake8_bandit__tests__S324_S324.py.snap | 0 ...s__flake8_bandit__tests__S501_S501.py.snap | 0 ...s__flake8_bandit__tests__S506_S506.py.snap | 0 ...s__flake8_bandit__tests__S508_S508.py.snap | 0 ...s__flake8_bandit__tests__S509_S509.py.snap | 0 ...s__flake8_bandit__tests__S612_S612.py.snap | 0 ...s__flake8_bandit__tests__S701_S701.py.snap | 0 .../src}/rules/flake8_blind_except/mod.rs | 0 .../src}/rules/flake8_blind_except/rules.rs | 0 ...e8_blind_except__tests__BLE001_BLE.py.snap | 0 .../src}/rules/flake8_boolean_trap/mod.rs | 0 .../src}/rules/flake8_boolean_trap/rules.rs | 0 ...e8_boolean_trap__tests__FBT001_FBT.py.snap | 0 ...e8_boolean_trap__tests__FBT002_FBT.py.snap | 0 ...e8_boolean_trap__tests__FBT003_FBT.py.snap | 0 .../ruff/src}/rules/flake8_bugbear/mod.rs | 0 .../rules/abstract_base_class.rs | 0 .../flake8_bugbear/rules/assert_false.rs | 0 .../rules/assert_raises_exception.rs | 0 .../rules/assignment_to_os_environ.rs | 0 .../rules/cached_instance_method.rs | 0 .../rules/cannot_raise_literal.rs | 0 .../rules/duplicate_exceptions.rs | 0 .../rules/f_string_docstring.rs | 0 .../rules/function_call_argument_default.rs | 0 .../rules/function_uses_loop_variable.rs | 0 .../rules/getattr_with_constant.rs | 0 .../rules/jump_statement_in_finally.rs | 0 .../rules/loop_variable_overrides_iterator.rs | 0 .../src}/rules/flake8_bugbear/rules/mod.rs | 0 .../rules/mutable_argument_default.rs | 0 .../rules/raise_without_from_inside_except.rs | 0 .../redundant_tuple_in_exception_handler.rs | 0 .../rules/setattr_with_constant.rs | 0 .../star_arg_unpacking_after_keyword_arg.rs | 0 .../rules/strip_with_multi_characters.rs | 0 .../rules/unary_prefix_increment.rs | 0 .../rules/unreliable_callable_check.rs | 0 .../rules/unused_loop_control_variable.rs | 0 .../rules/useless_comparison.rs | 0 .../rules/useless_contextlib_suppress.rs | 0 .../rules/useless_expression.rs | 0 .../rules/zip_without_explicit_strict.rs | 0 .../src}/rules/flake8_bugbear/settings.rs | 0 ...__flake8_bugbear__tests__B002_B002.py.snap | 0 ...__flake8_bugbear__tests__B003_B003.py.snap | 0 ...__flake8_bugbear__tests__B004_B004.py.snap | 0 ...__flake8_bugbear__tests__B005_B005.py.snap | 0 ...ke8_bugbear__tests__B006_B006_B008.py.snap | 0 ...__flake8_bugbear__tests__B007_B007.py.snap | 0 ...ke8_bugbear__tests__B008_B006_B008.py.snap | 0 ...ke8_bugbear__tests__B009_B009_B010.py.snap | 0 ...ke8_bugbear__tests__B010_B009_B010.py.snap | 0 ...__flake8_bugbear__tests__B011_B011.py.snap | 0 ...__flake8_bugbear__tests__B012_B012.py.snap | 0 ...__flake8_bugbear__tests__B013_B013.py.snap | 0 ...__flake8_bugbear__tests__B014_B014.py.snap | 0 ...__flake8_bugbear__tests__B015_B015.py.snap | 0 ...__flake8_bugbear__tests__B016_B016.py.snap | 0 ...__flake8_bugbear__tests__B017_B017.py.snap | 0 ...__flake8_bugbear__tests__B018_B018.py.snap | 0 ...__flake8_bugbear__tests__B019_B019.py.snap | 0 ...__flake8_bugbear__tests__B020_B020.py.snap | 0 ...__flake8_bugbear__tests__B021_B021.py.snap | 0 ...__flake8_bugbear__tests__B022_B022.py.snap | 0 ...__flake8_bugbear__tests__B023_B023.py.snap | 0 ...__flake8_bugbear__tests__B024_B024.py.snap | 0 ...__flake8_bugbear__tests__B025_B025.py.snap | 0 ...__flake8_bugbear__tests__B026_B026.py.snap | 0 ...__flake8_bugbear__tests__B027_B027.py.snap | 0 ...__flake8_bugbear__tests__B904_B904.py.snap | 0 ...__flake8_bugbear__tests__B905_B905.py.snap | 0 ...ugbear__tests__extend_immutable_calls.snap | 0 .../ruff/src}/rules/flake8_builtins/mod.rs | 0 .../ruff/src}/rules/flake8_builtins/rules.rs | 0 .../src}/rules/flake8_builtins/settings.rs | 0 ..._flake8_builtins__tests__A001_A001.py.snap | 0 ...sts__A001_A001.py_builtins_ignorelist.snap | 0 ..._flake8_builtins__tests__A002_A002.py.snap | 0 ...sts__A002_A002.py_builtins_ignorelist.snap | 0 ..._flake8_builtins__tests__A003_A003.py.snap | 0 ...sts__A003_A003.py_builtins_ignorelist.snap | 0 .../ruff/src}/rules/flake8_builtins/types.rs | 0 .../ruff/src}/rules/flake8_commas/mod.rs | 0 .../ruff/src}/rules/flake8_commas/rules.rs | 0 ...rules__flake8_commas__tests__COM81.py.snap | 0 .../src}/rules/flake8_comprehensions/fixes.rs | 0 .../src}/rules/flake8_comprehensions/mod.rs | 0 .../flake8_comprehensions/rules/helpers.rs | 0 .../rules/flake8_comprehensions/rules/mod.rs | 0 .../rules/unnecessary_call_around_sorted.rs | 0 .../rules/unnecessary_collection_call.rs | 0 .../rules/unnecessary_comprehension.rs | 0 .../unnecessary_double_cast_or_process.rs | 0 .../rules/unnecessary_generator_dict.rs | 0 .../rules/unnecessary_generator_list.rs | 0 .../rules/unnecessary_generator_set.rs | 0 .../rules/unnecessary_list_call.rs | 0 .../unnecessary_list_comprehension_dict.rs | 0 .../unnecessary_list_comprehension_set.rs | 0 .../rules/unnecessary_literal_dict.rs | 0 .../rules/unnecessary_literal_set.rs | 0 .../unnecessary_literal_within_list_call.rs | 0 .../unnecessary_literal_within_tuple_call.rs | 0 .../rules/unnecessary_map.rs | 0 .../rules/unnecessary_subscript_reversal.rs | 0 ...8_comprehensions__tests__C400_C400.py.snap | 0 ...8_comprehensions__tests__C401_C401.py.snap | 0 ...8_comprehensions__tests__C402_C402.py.snap | 0 ...8_comprehensions__tests__C403_C403.py.snap | 0 ...8_comprehensions__tests__C404_C404.py.snap | 0 ...8_comprehensions__tests__C405_C405.py.snap | 0 ...8_comprehensions__tests__C406_C406.py.snap | 0 ...8_comprehensions__tests__C408_C408.py.snap | 0 ...8_comprehensions__tests__C409_C409.py.snap | 0 ...8_comprehensions__tests__C410_C410.py.snap | 0 ...8_comprehensions__tests__C411_C411.py.snap | 0 ...8_comprehensions__tests__C413_C413.py.snap | 0 ...8_comprehensions__tests__C414_C414.py.snap | 0 ...8_comprehensions__tests__C415_C415.py.snap | 0 ...8_comprehensions__tests__C416_C416.py.snap | 0 ...8_comprehensions__tests__C417_C417.py.snap | 0 .../ruff/src}/rules/flake8_datetimez/mod.rs | 0 .../ruff/src}/rules/flake8_datetimez/rules.rs | 0 ...e8_datetimez__tests__DTZ001_DTZ001.py.snap | 0 ...e8_datetimez__tests__DTZ002_DTZ002.py.snap | 0 ...e8_datetimez__tests__DTZ003_DTZ003.py.snap | 0 ...e8_datetimez__tests__DTZ004_DTZ004.py.snap | 0 ...e8_datetimez__tests__DTZ005_DTZ005.py.snap | 0 ...e8_datetimez__tests__DTZ006_DTZ006.py.snap | 0 ...e8_datetimez__tests__DTZ007_DTZ007.py.snap | 0 ...e8_datetimez__tests__DTZ011_DTZ011.py.snap | 0 ...e8_datetimez__tests__DTZ012_DTZ012.py.snap | 0 .../ruff/src}/rules/flake8_debugger/mod.rs | 0 .../ruff/src}/rules/flake8_debugger/rules.rs | 0 ..._flake8_debugger__tests__T100_T100.py.snap | 0 .../ruff/src}/rules/flake8_debugger/types.rs | 0 .../ruff/src}/rules/flake8_errmsg/mod.rs | 0 .../ruff/src}/rules/flake8_errmsg/rules.rs | 0 .../ruff/src}/rules/flake8_errmsg/settings.rs | 0 ...__rules__flake8_errmsg__tests__custom.snap | 0 ...rules__flake8_errmsg__tests__defaults.snap | 0 .../src}/rules/flake8_executable/helpers.rs | 0 .../ruff/src}/rules/flake8_executable/mod.rs | 0 .../src}/rules/flake8_executable/rules/mod.rs | 0 .../rules/shebang_missing.rs | 0 .../rules/shebang_newline.rs | 0 .../rules/shebang_not_executable.rs | 0 .../flake8_executable/rules/shebang_python.rs | 0 .../rules/shebang_whitespace.rs | 0 ...flake8_executable__tests__EXE001_1.py.snap | 0 ...flake8_executable__tests__EXE001_2.py.snap | 0 ...flake8_executable__tests__EXE001_3.py.snap | 0 ...flake8_executable__tests__EXE002_1.py.snap | 0 ...flake8_executable__tests__EXE002_2.py.snap | 0 ...flake8_executable__tests__EXE002_3.py.snap | 0 ...__flake8_executable__tests__EXE003.py.snap | 0 ...flake8_executable__tests__EXE004_1.py.snap | 0 ...flake8_executable__tests__EXE004_2.py.snap | 0 ...flake8_executable__tests__EXE004_3.py.snap | 0 ...flake8_executable__tests__EXE005_1.py.snap | 0 ...flake8_executable__tests__EXE005_2.py.snap | 0 ...flake8_executable__tests__EXE005_3.py.snap | 0 .../rules/flake8_implicit_str_concat/mod.rs | 0 .../rules/flake8_implicit_str_concat/rules.rs | 0 .../flake8_implicit_str_concat/settings.rs | 0 ...icit_str_concat__tests__ISC001_ISC.py.snap | 0 ...icit_str_concat__tests__ISC002_ISC.py.snap | 0 ...icit_str_concat__tests__ISC003_ISC.py.snap | 0 ...oncat__tests__multiline_ISC001_ISC.py.snap | 0 ...oncat__tests__multiline_ISC002_ISC.py.snap | 0 ...oncat__tests__multiline_ISC003_ISC.py.snap | 0 .../rules/flake8_import_conventions/mod.rs | 0 .../rules/flake8_import_conventions/rules.rs | 0 .../flake8_import_conventions/settings.rs | 0 ...ke8_import_conventions__tests__custom.snap | 0 ...8_import_conventions__tests__defaults.snap | 0 ...port_conventions__tests__from_imports.snap | 0 ..._conventions__tests__override_default.snap | 0 ...rt_conventions__tests__remove_default.snap | 0 .../src}/rules/flake8_logging_format/mod.rs | 0 .../src}/rules/flake8_logging_format/rules.rs | 0 ...flake8_logging_format__tests__G001.py.snap | 0 ...flake8_logging_format__tests__G002.py.snap | 0 ...flake8_logging_format__tests__G003.py.snap | 0 ...flake8_logging_format__tests__G004.py.snap | 0 ...flake8_logging_format__tests__G010.py.snap | 0 ...ake8_logging_format__tests__G101_1.py.snap | 0 ...ake8_logging_format__tests__G101_2.py.snap | 0 ...flake8_logging_format__tests__G201.py.snap | 0 ...flake8_logging_format__tests__G202.py.snap | 0 ..._tests__G_argparse_parser_error_ok.py.snap | 0 ..._logging_format__tests__G_extra_ok.py.snap | 0 ...rmat__tests__G_extra_str_format_ok.py.snap | 0 ...logging_format__tests__G_simple_ok.py.snap | 0 ...gging_format__tests__G_warnings_ok.py.snap | 0 .../rules/flake8_logging_format/violations.rs | 0 .../ruff/src}/rules/flake8_no_pep420/mod.rs | 0 .../ruff/src}/rules/flake8_no_pep420/rules.rs | 0 ...ke8_no_pep420__tests__test_fail_empty.snap | 2 +- ..._no_pep420__tests__test_fail_nonempty.snap | 2 +- ...8_no_pep420__tests__test_fail_shebang.snap | 2 +- ...flake8_no_pep420__tests__test_ignored.snap | 0 ...ake8_no_pep420__tests__test_pass_init.snap | 0 ...0__tests__test_pass_namespace_package.snap | 0 ...lake8_no_pep420__tests__test_pass_pyi.snap | 0 .../ruff/src}/rules/flake8_pie/mod.rs | 0 .../ruff/src}/rules/flake8_pie/rules.rs | 0 ...__flake8_pie__tests__PIE790_PIE790.py.snap | 0 ...__flake8_pie__tests__PIE794_PIE794.py.snap | 0 ...__flake8_pie__tests__PIE796_PIE796.py.snap | 0 ...__flake8_pie__tests__PIE800_PIE800.py.snap | 0 ...__flake8_pie__tests__PIE804_PIE804.py.snap | 0 ...__flake8_pie__tests__PIE807_PIE807.py.snap | 0 .../ruff/src}/rules/flake8_print/mod.rs | 0 .../ruff/src}/rules/flake8_print/rules/mod.rs | 0 .../rules/flake8_print/rules/print_call.rs | 0 ...es__flake8_print__tests__T201_T201.py.snap | 0 ...es__flake8_print__tests__T203_T203.py.snap | 0 .../src}/rules/flake8_pytest_style/mod.rs | 0 .../flake8_pytest_style/rules/assertion.rs | 0 .../rules/flake8_pytest_style/rules/fail.rs | 0 .../flake8_pytest_style/rules/fixture.rs | 0 .../flake8_pytest_style/rules/helpers.rs | 0 .../flake8_pytest_style/rules/imports.rs | 0 .../rules/flake8_pytest_style/rules/marks.rs | 0 .../rules/flake8_pytest_style/rules/mod.rs | 0 .../flake8_pytest_style/rules/parametrize.rs | 0 .../rules/flake8_pytest_style/rules/patch.rs | 0 .../rules/flake8_pytest_style/rules/raises.rs | 0 .../rules/unittest_assert.rs | 0 .../rules/flake8_pytest_style/settings.rs | 0 ...e8_pytest_style__tests__PT001_default.snap | 0 ...st_style__tests__PT001_no_parentheses.snap | 0 ...es__flake8_pytest_style__tests__PT002.snap | 0 ...es__flake8_pytest_style__tests__PT003.snap | 0 ...es__flake8_pytest_style__tests__PT004.snap | 0 ...es__flake8_pytest_style__tests__PT005.snap | 0 ...flake8_pytest_style__tests__PT006_csv.snap | 0 ...e8_pytest_style__tests__PT006_default.snap | 0 ...lake8_pytest_style__tests__PT006_list.snap | 0 ...est_style__tests__PT007_list_of_lists.snap | 0 ...st_style__tests__PT007_list_of_tuples.snap | 0 ...st_style__tests__PT007_tuple_of_lists.snap | 0 ...t_style__tests__PT007_tuple_of_tuples.snap | 0 ...es__flake8_pytest_style__tests__PT008.snap | 0 ...es__flake8_pytest_style__tests__PT009.snap | 0 ...es__flake8_pytest_style__tests__PT010.snap | 0 ...e8_pytest_style__tests__PT011_default.snap | 0 ..._tests__PT011_extend_broad_exceptions.snap | 0 ...tests__PT011_replace_broad_exceptions.snap | 0 ...es__flake8_pytest_style__tests__PT012.snap | 0 ...es__flake8_pytest_style__tests__PT013.snap | 0 ...es__flake8_pytest_style__tests__PT015.snap | 0 ...es__flake8_pytest_style__tests__PT016.snap | 0 ...es__flake8_pytest_style__tests__PT017.snap | 0 ...es__flake8_pytest_style__tests__PT018.snap | 0 ...es__flake8_pytest_style__tests__PT019.snap | 0 ...es__flake8_pytest_style__tests__PT020.snap | 0 ...es__flake8_pytest_style__tests__PT021.snap | 0 ...es__flake8_pytest_style__tests__PT022.snap | 0 ...e8_pytest_style__tests__PT023_default.snap | 0 ...st_style__tests__PT023_no_parentheses.snap | 0 ...es__flake8_pytest_style__tests__PT024.snap | 0 ...es__flake8_pytest_style__tests__PT025.snap | 0 ...es__flake8_pytest_style__tests__PT026.snap | 0 .../src}/rules/flake8_pytest_style/types.rs | 0 .../ruff/src}/rules/flake8_quotes/mod.rs | 0 .../ruff/src}/rules/flake8_quotes/rules.rs | 0 .../ruff/src}/rules/flake8_quotes/settings.rs | 0 ...ing_doubles_over_docstring_doubles.py.snap | 0 ...ubles_over_docstring_doubles_class.py.snap | 0 ...es_over_docstring_doubles_function.py.snap | 0 ...docstring_doubles_module_multiline.py.snap | 0 ...ocstring_doubles_module_singleline.py.snap | 0 ...ing_doubles_over_docstring_singles.py.snap | 0 ...ubles_over_docstring_singles_class.py.snap | 0 ...es_over_docstring_singles_function.py.snap | 0 ...docstring_singles_module_multiline.py.snap | 0 ...ocstring_singles_module_singleline.py.snap | 0 ...ing_singles_over_docstring_doubles.py.snap | 0 ...ngles_over_docstring_doubles_class.py.snap | 0 ...es_over_docstring_doubles_function.py.snap | 0 ...docstring_doubles_module_multiline.py.snap | 0 ...ocstring_doubles_module_singleline.py.snap | 0 ...ing_singles_over_docstring_singles.py.snap | 0 ...ngles_over_docstring_singles_class.py.snap | 0 ...es_over_docstring_singles_function.py.snap | 0 ...docstring_singles_module_multiline.py.snap | 0 ...ocstring_singles_module_singleline.py.snap | 0 ...ests__require_doubles_over_singles.py.snap | 0 ...quire_doubles_over_singles_escaped.py.snap | 0 ...uire_doubles_over_singles_implicit.py.snap | 0 ...bles_over_singles_multiline_string.py.snap | 0 ..._require_doubles_over_singles_noqa.py.snap | 0 ...quire_doubles_over_singles_wrapped.py.snap | 0 ...ests__require_singles_over_doubles.py.snap | 0 ...quire_singles_over_doubles_escaped.py.snap | 0 ...uire_singles_over_doubles_implicit.py.snap | 0 ...gles_over_doubles_multiline_string.py.snap | 0 ..._require_singles_over_doubles_noqa.py.snap | 0 ...quire_singles_over_doubles_wrapped.py.snap | 0 .../ruff/src}/rules/flake8_raise/mod.rs | 0 .../ruff/src}/rules/flake8_raise/rules/mod.rs | 0 .../unnecessary_paren_on_raise_exception.rs | 0 ...ry-paren-on-raise-exception_RSE102.py.snap | 0 .../ruff/src}/rules/flake8_return/branch.rs | 0 .../ruff/src}/rules/flake8_return/helpers.rs | 0 .../ruff/src}/rules/flake8_return/mod.rs | 0 .../ruff/src}/rules/flake8_return/rules.rs | 0 ...lake8_return__tests__RET501_RET501.py.snap | 0 ...lake8_return__tests__RET502_RET502.py.snap | 0 ...lake8_return__tests__RET503_RET503.py.snap | 0 ...lake8_return__tests__RET504_RET504.py.snap | 0 ...lake8_return__tests__RET505_RET505.py.snap | 0 ...lake8_return__tests__RET506_RET506.py.snap | 0 ...lake8_return__tests__RET507_RET507.py.snap | 0 ...lake8_return__tests__RET508_RET508.py.snap | 0 .../ruff/src}/rules/flake8_return/visitor.rs | 0 .../ruff/src}/rules/flake8_self/mod.rs | 0 .../ruff/src}/rules/flake8_self/rules/mod.rs | 0 .../rules/private_member_access.rs | 0 ...ests__private-member-access_SLF001.py.snap | 0 .../ruff/src}/rules/flake8_simplify/mod.rs | 0 .../flake8_simplify/rules/ast_bool_op.rs | 0 .../rules/flake8_simplify/rules/ast_expr.rs | 0 .../rules/flake8_simplify/rules/ast_for.rs | 0 .../rules/flake8_simplify/rules/ast_if.rs | 0 .../rules/flake8_simplify/rules/ast_ifexp.rs | 0 .../flake8_simplify/rules/ast_unary_op.rs | 0 .../rules/flake8_simplify/rules/ast_with.rs | 0 .../rules/flake8_simplify/rules/fix_if.rs | 0 .../rules/flake8_simplify/rules/fix_with.rs | 0 .../flake8_simplify/rules/key_in_dict.rs | 0 .../src}/rules/flake8_simplify/rules/mod.rs | 0 .../rules/open_file_with_context_handler.rs | 0 .../rules/return_in_try_except_finally.rs | 0 .../rules/use_contextlib_suppress.rs | 0 .../flake8_simplify/rules/yoda_conditions.rs | 0 ...ke8_simplify__tests__SIM101_SIM101.py.snap | 0 ...ke8_simplify__tests__SIM102_SIM102.py.snap | 0 ...ke8_simplify__tests__SIM103_SIM103.py.snap | 0 ...ke8_simplify__tests__SIM105_SIM105.py.snap | 0 ...ke8_simplify__tests__SIM107_SIM107.py.snap | 0 ...ke8_simplify__tests__SIM108_SIM108.py.snap | 0 ...ke8_simplify__tests__SIM109_SIM109.py.snap | 0 ...ke8_simplify__tests__SIM110_SIM110.py.snap | 0 ...ke8_simplify__tests__SIM111_SIM111.py.snap | 0 ...ke8_simplify__tests__SIM112_SIM112.py.snap | 0 ...ke8_simplify__tests__SIM115_SIM115.py.snap | 0 ...ke8_simplify__tests__SIM117_SIM117.py.snap | 0 ...ke8_simplify__tests__SIM118_SIM118.py.snap | 0 ...ke8_simplify__tests__SIM201_SIM201.py.snap | 0 ...ke8_simplify__tests__SIM202_SIM202.py.snap | 0 ...ke8_simplify__tests__SIM208_SIM208.py.snap | 0 ...ke8_simplify__tests__SIM210_SIM210.py.snap | 0 ...ke8_simplify__tests__SIM211_SIM211.py.snap | 0 ...ke8_simplify__tests__SIM212_SIM212.py.snap | 0 ...ke8_simplify__tests__SIM220_SIM220.py.snap | 0 ...ke8_simplify__tests__SIM221_SIM221.py.snap | 0 ...ke8_simplify__tests__SIM222_SIM222.py.snap | 0 ...ke8_simplify__tests__SIM223_SIM223.py.snap | 0 ...ke8_simplify__tests__SIM300_SIM300.py.snap | 0 ...ke8_simplify__tests__SIM401_SIM401.py.snap | 0 .../rules/flake8_tidy_imports/banned_api.rs | 0 .../src}/rules/flake8_tidy_imports/mod.rs | 0 .../src}/rules/flake8_tidy_imports/options.rs | 0 .../flake8_tidy_imports/relative_imports.rs | 0 ...api__tests__banned_api_true_positives.snap | 0 ...ative_imports__tests__ban_all_imports.snap | 0 ...ve_imports__tests__ban_parent_imports.snap | 0 .../rules/flake8_type_checking/helpers.rs | 0 .../src}/rules/flake8_type_checking/mod.rs | 0 .../rules/empty_type_checking_block.rs | 0 .../rules/flake8_type_checking/rules/mod.rs | 0 .../runtime_import_in_type_checking_block.rs | 0 .../rules/typing_only_runtime_import.rs | 0 .../rules/flake8_type_checking/settings.rs | 0 ...__empty-type-checking-block_TCH005.py.snap | 0 ..._type_checking__tests__exempt_modules.snap | 0 ...rt-in-type-checking-block_TCH004_1.py.snap | 0 ...rt-in-type-checking-block_TCH004_2.py.snap | 0 ...rt-in-type-checking-block_TCH004_3.py.snap | 0 ...rt-in-type-checking-block_TCH004_4.py.snap | 0 ...rt-in-type-checking-block_TCH004_5.py.snap | 0 ...rt-in-type-checking-block_TCH004_6.py.snap | 0 ...rt-in-type-checking-block_TCH004_7.py.snap | 0 ...rt-in-type-checking-block_TCH004_8.py.snap | 0 ...__flake8_type_checking__tests__strict.snap | 0 ...ing-only-first-party-import_TCH001.py.snap | 0 ...nly-standard-library-import_TCH003.py.snap | 0 ...ing-only-third-party-import_TCH002.py.snap | 0 ...ing-only-third-party-import_strict.py.snap | 0 .../rules/flake8_unused_arguments/helpers.rs | 0 .../src}/rules/flake8_unused_arguments/mod.rs | 0 .../rules/flake8_unused_arguments/rules.rs | 0 .../rules/flake8_unused_arguments/settings.rs | 0 ...nused_arguments__tests__ARG001_ARG.py.snap | 0 ...nused_arguments__tests__ARG002_ARG.py.snap | 0 ...nused_arguments__tests__ARG003_ARG.py.snap | 0 ...nused_arguments__tests__ARG004_ARG.py.snap | 0 ...nused_arguments__tests__ARG005_ARG.py.snap | 0 ...uments__tests__enforce_variadic_names.snap | 0 ...guments__tests__ignore_variadic_names.snap | 0 .../rules/flake8_unused_arguments/types.rs | 0 .../src}/rules/flake8_use_pathlib/helpers.rs | 0 .../ruff/src}/rules/flake8_use_pathlib/mod.rs | 0 ...e_pathlib__tests__PTH124_py_path_1.py.snap | 0 ...e_pathlib__tests__PTH124_py_path_2.py.snap | 0 ...ake8_use_pathlib__tests__full_name.py.snap | 0 ...ake8_use_pathlib__tests__import_as.py.snap | 0 ...e8_use_pathlib__tests__import_from.py.snap | 0 ...use_pathlib__tests__import_from_as.py.snap | 0 ...e8_use_pathlib__tests__use_pathlib.py.snap | 0 .../rules/flake8_use_pathlib/violations.rs | 0 .../ruff/src}/rules/isort/annotate.rs | 0 .../ruff/src}/rules/isort/categorize.rs | 0 .../ruff/src}/rules/isort/comments.rs | 0 .../ruff/src}/rules/isort/format.rs | 0 .../ruff/src}/rules/isort/helpers.rs | 0 {src => crates/ruff/src}/rules/isort/mod.rs | 0 .../ruff/src}/rules/isort/normalize.rs | 0 {src => crates/ruff/src}/rules/isort/order.rs | 0 .../rules/isort/rules/add_required_imports.rs | 0 .../ruff/src}/rules/isort/rules/mod.rs | 0 .../rules/isort/rules/organize_imports.rs | 0 .../ruff/src}/rules/isort/settings.rs | 0 ...tests__add_newline_before_comments.py.snap | 0 ...to_furthest_relative_imports_order.py.snap | 0 ...__isort__tests__combine_as_imports.py.snap | 0 ...bine_as_imports_combine_as_imports.py.snap | 0 ..._isort__tests__combine_import_from.py.snap | 0 ...ombined_required_imports_docstring.py.snap | 0 ...ed_required_imports_docstring_only.py.snap | 0 ...s__combined_required_imports_empty.py.snap | 0 ...uff__rules__isort__tests__comments.py.snap | 0 ..._isort__tests__deduplicate_imports.py.snap | 0 ...les__isort__tests__fit_line_length.py.snap | 0 ...rt__tests__fit_line_length_comment.py.snap | 0 ...orce_single_line_force_single_line.py.snap | 0 ..._tests__force_sort_within_sections.py.snap | 0 ...ections_force_sort_within_sections.py.snap | 0 ...__isort__tests__force_wrap_aliases.py.snap | 0 ...ce_wrap_aliases_force_wrap_aliases.py.snap | 0 ...les__isort__tests__forced_separate.py.snap | 0 ...t__tests__import_from_after_import.py.snap | 0 ...les__isort__tests__inline_comments.py.snap | 0 ...__isort__tests__insert_empty_lines.py.snap | 0 ..._isort__tests__insert_empty_lines.pyi.snap | 0 ...ules__isort__tests__leading_prefix.py.snap | 0 ...ts_lines_after_imports_class_after.py.snap | 0 ...rts_lines_after_imports_func_after.py.snap | 0 ..._lines_after_imports_nothing_after.py.snap | 0 ...isort__tests__magic_trailing_comma.py.snap | 0 ...rules__isort__tests__natural_order.py.snap | 0 ...les__isort__tests__no_lines_before.py.snap | 0 ...no_lines_before.py_no_lines_before.py.snap | 0 ...__tests__no_reorder_within_section.py.snap | 0 ..._rules__isort__tests__no_wrap_star.py.snap | 0 ...rules__isort__tests__order_by_type.py.snap | 0 ..._order_by_type_false_order_by_type.py.snap | 0 ..._order_by_type_with_custom_classes.py.snap | 0 ..._order_by_type_with_custom_classes.py.snap | 0 ...rder_by_type_with_custom_constants.py.snap | 0 ...rder_by_type_with_custom_constants.py.snap | 0 ...rder_by_type_with_custom_variables.py.snap | 0 ...rder_by_type_with_custom_variables.py.snap | 0 ...s__order_relative_imports_by_level.py.snap | 0 ...ort__tests__preserve_comment_order.py.snap | 0 ...isort__tests__preserve_import_star.py.snap | 0 ...isort__tests__preserve_indentation.py.snap | 0 ...rules__isort__tests__preserve_tabs.py.snap | 0 ...les__isort__tests__preserve_tabs_2.py.snap | 0 ...ort__tests__relative_imports_order.py.snap | 0 ...ort__tests__reorder_within_section.py.snap | 0 ...__tests__required_import_docstring.py.snap | 0 ...ts__required_import_docstring_only.py.snap | 0 ...sort__tests__required_import_empty.py.snap | 0 ..._tests__required_imports_docstring.py.snap | 0 ...s__required_imports_docstring_only.py.snap | 0 ...ort__tests__required_imports_empty.py.snap | 0 ...ests__separate_first_party_imports.py.snap | 0 ...rt__tests__separate_future_imports.py.snap | 0 ...sts__separate_local_folder_imports.py.snap | 0 ...ests__separate_third_party_imports.py.snap | 0 .../ruff__rules__isort__tests__skip.py.snap | 0 ...ff__rules__isort__tests__skip_file.py.snap | 0 ...isort__tests__sort_similar_imports.py.snap | 0 .../ruff__rules__isort__tests__split.py.snap | 0 ...railing_comma_magic_trailing_comma.py.snap | 0 ...__isort__tests__star_before_others.py.snap | 0 ...straight_required_import_docstring.py.snap | 0 ...ght_required_import_docstring_only.py.snap | 0 ...ts__straight_required_import_empty.py.snap | 0 ...les__isort__tests__trailing_suffix.py.snap | 0 ...rules__isort__tests__type_comments.py.snap | 0 .../ruff/src}/rules/isort/sorting.rs | 0 {src => crates/ruff/src}/rules/isort/split.rs | 0 {src => crates/ruff/src}/rules/isort/track.rs | 0 {src => crates/ruff/src}/rules/isort/types.rs | 0 {src => crates/ruff/src}/rules/mccabe/mod.rs | 0 .../ruff/src}/rules/mccabe/rules.rs | 0 .../ruff/src}/rules/mccabe/settings.rs | 0 ...ules__mccabe__tests__max_complexity_0.snap | 0 ...les__mccabe__tests__max_complexity_10.snap | 0 ...ules__mccabe__tests__max_complexity_3.snap | 0 {src => crates/ruff/src}/rules/mod.rs | 0 .../ruff/src}/rules/pandas_vet/fixes.rs | 0 .../ruff/src}/rules/pandas_vet/helpers.rs | 0 .../ruff/src}/rules/pandas_vet/mod.rs | 0 .../pandas_vet/rules/assignment_to_df.rs | 0 .../src}/rules/pandas_vet/rules/check_attr.rs | 0 .../src}/rules/pandas_vet/rules/check_call.rs | 0 .../pandas_vet/rules/inplace_argument.rs | 0 .../ruff/src}/rules/pandas_vet/rules/mod.rs | 0 .../src}/rules/pandas_vet/rules/pd_merge.rs | 0 ...es__pandas_vet__tests__PD002_PD002.py.snap | 0 .../ruff/src}/rules/pep8_naming/helpers.rs | 0 .../ruff/src}/rules/pep8_naming/mod.rs | 0 .../ruff/src}/rules/pep8_naming/rules.rs | 0 .../ruff/src}/rules/pep8_naming/settings.rs | 0 ...les__pep8_naming__tests__N801_N801.py.snap | 0 ...les__pep8_naming__tests__N802_N802.py.snap | 0 ...les__pep8_naming__tests__N803_N803.py.snap | 0 ...les__pep8_naming__tests__N804_N804.py.snap | 0 ...les__pep8_naming__tests__N805_N805.py.snap | 0 ...les__pep8_naming__tests__N806_N806.py.snap | 0 ...les__pep8_naming__tests__N807_N807.py.snap | 0 ...les__pep8_naming__tests__N811_N811.py.snap | 0 ...les__pep8_naming__tests__N812_N812.py.snap | 0 ...les__pep8_naming__tests__N813_N813.py.snap | 0 ...les__pep8_naming__tests__N814_N814.py.snap | 0 ...les__pep8_naming__tests__N815_N815.py.snap | 0 ...les__pep8_naming__tests__N816_N816.py.snap | 0 ...les__pep8_naming__tests__N817_N817.py.snap | 0 ...les__pep8_naming__tests__N818_N818.py.snap | 0 .../ruff/src}/rules/pycodestyle/helpers.rs | 0 .../src}/rules/pycodestyle/logical_lines.rs | 0 .../ruff/src}/rules/pycodestyle/mod.rs | 0 .../pycodestyle/rules/ambiguous_class_name.rs | 0 .../rules/ambiguous_function_name.rs | 0 .../rules/ambiguous_variable_name.rs | 0 .../pycodestyle/rules/do_not_assign_lambda.rs | 0 .../rules/do_not_use_bare_except.rs | 0 .../pycodestyle/rules/doc_line_too_long.rs | 0 .../src}/rules/pycodestyle/rules/errors.rs | 0 .../rules/extraneous_whitespace.rs | 0 .../src}/rules/pycodestyle/rules/imports.rs | 0 .../rules/pycodestyle/rules/indentation.rs | 0 .../rules/invalid_escape_sequence.rs | 0 .../rules/pycodestyle/rules/line_too_long.rs | 0 .../pycodestyle/rules/literal_comparisons.rs | 0 .../rules/mixed_spaces_and_tabs.rs | 0 .../ruff/src}/rules/pycodestyle/rules/mod.rs | 0 .../rules/no_newline_at_end_of_file.rs | 0 .../src}/rules/pycodestyle/rules/not_tests.rs | 0 .../rules/space_around_operator.rs | 0 .../pycodestyle/rules/type_comparison.rs | 0 .../ruff/src}/rules/pycodestyle/settings.rs | 0 ...les__pycodestyle__tests__E101_E101.py.snap | 0 ...ules__pycodestyle__tests__E111_E11.py.snap | 0 ...ules__pycodestyle__tests__E112_E11.py.snap | 0 ...ules__pycodestyle__tests__E113_E11.py.snap | 0 ...ules__pycodestyle__tests__E114_E11.py.snap | 0 ...ules__pycodestyle__tests__E115_E11.py.snap | 0 ...ules__pycodestyle__tests__E116_E11.py.snap | 0 ...ules__pycodestyle__tests__E117_E11.py.snap | 0 ...ules__pycodestyle__tests__E201_E20.py.snap | 0 ...ules__pycodestyle__tests__E202_E20.py.snap | 0 ...ules__pycodestyle__tests__E203_E20.py.snap | 0 ...ules__pycodestyle__tests__E221_E22.py.snap | 0 ...ules__pycodestyle__tests__E222_E22.py.snap | 0 ...ules__pycodestyle__tests__E223_E22.py.snap | 0 ...ules__pycodestyle__tests__E224_E22.py.snap | 0 ...ules__pycodestyle__tests__E401_E40.py.snap | 0 ...ules__pycodestyle__tests__E402_E40.py.snap | 0 ...les__pycodestyle__tests__E402_E402.py.snap | 0 ...les__pycodestyle__tests__E501_E501.py.snap | 0 ...les__pycodestyle__tests__E711_E711.py.snap | 0 ...les__pycodestyle__tests__E712_E712.py.snap | 0 ...les__pycodestyle__tests__E713_E713.py.snap | 0 ...les__pycodestyle__tests__E714_E714.py.snap | 0 ...les__pycodestyle__tests__E721_E721.py.snap | 0 ...les__pycodestyle__tests__E722_E722.py.snap | 0 ...les__pycodestyle__tests__E731_E731.py.snap | 0 ...les__pycodestyle__tests__E741_E741.py.snap | 0 ...les__pycodestyle__tests__E742_E742.py.snap | 0 ...les__pycodestyle__tests__E743_E743.py.snap | 0 ...les__pycodestyle__tests__E999_E999.py.snap | 0 ...s__pycodestyle__tests__W292_W292_0.py.snap | 0 ...s__pycodestyle__tests__W292_W292_1.py.snap | 0 ...s__pycodestyle__tests__W292_W292_2.py.snap | 0 ...s__pycodestyle__tests__W292_W292_3.py.snap | 0 ...s__pycodestyle__tests__W292_W292_4.py.snap | 0 ...s__pycodestyle__tests__W605_W605_0.py.snap | 0 ...s__pycodestyle__tests__W605_W605_1.py.snap | 0 ...pycodestyle__tests__constant_literals.snap | 0 ...s__pycodestyle__tests__max_doc_length.snap | 0 ...__pycodestyle__tests__task_tags_false.snap | 0 ...s__pycodestyle__tests__task_tags_true.snap | 0 .../ruff/src}/rules/pydocstyle/helpers.rs | 0 .../ruff/src}/rules/pydocstyle/mod.rs | 0 .../rules/pydocstyle/rules/backslashes.rs | 0 .../pydocstyle/rules/blank_after_summary.rs | 0 .../rules/blank_before_after_class.rs | 0 .../rules/blank_before_after_function.rs | 0 .../rules/pydocstyle/rules/capitalized.rs | 0 .../pydocstyle/rules/ends_with_period.rs | 0 .../pydocstyle/rules/ends_with_punctuation.rs | 0 .../src}/rules/pydocstyle/rules/if_needed.rs | 0 .../src}/rules/pydocstyle/rules/indent.rs | 0 .../ruff/src}/rules/pydocstyle/rules/mod.rs | 0 .../rules/multi_line_summary_start.rs | 0 .../rules/newline_after_last_paragraph.rs | 0 .../rules/pydocstyle/rules/no_signature.rs | 0 .../rules/no_surrounding_whitespace.rs | 0 .../pydocstyle/rules/non_imperative_mood.rs | 0 .../src}/rules/pydocstyle/rules/not_empty.rs | 0 .../rules/pydocstyle/rules/not_missing.rs | 0 .../src}/rules/pydocstyle/rules/one_liner.rs | 0 .../src}/rules/pydocstyle/rules/regexes.rs | 0 .../src}/rules/pydocstyle/rules/sections.rs | 0 .../pydocstyle/rules/starts_with_this.rs | 0 .../rules/pydocstyle/rules/triple_quotes.rs | 0 .../ruff/src}/rules/pydocstyle/settings.rs | 0 ...__rules__pydocstyle__tests__D100_D.py.snap | 0 ...__rules__pydocstyle__tests__D101_D.py.snap | 0 ...__rules__pydocstyle__tests__D102_D.py.snap | 0 ...es__pydocstyle__tests__D102_setter.py.snap | 0 ...__rules__pydocstyle__tests__D103_D.py.snap | 0 ...__rules__pydocstyle__tests__D104_D.py.snap | 0 ...cstyle__tests__D104_D104____init__.py.snap | 0 ...__rules__pydocstyle__tests__D105_D.py.snap | 0 ...__rules__pydocstyle__tests__D106_D.py.snap | 0 ...__rules__pydocstyle__tests__D107_D.py.snap | 0 ...__rules__pydocstyle__tests__D200_D.py.snap | 0 ...__rules__pydocstyle__tests__D201_D.py.snap | 0 ...__rules__pydocstyle__tests__D202_D.py.snap | 0 ...__rules__pydocstyle__tests__D203_D.py.snap | 0 ...__rules__pydocstyle__tests__D204_D.py.snap | 0 ...__rules__pydocstyle__tests__D205_D.py.snap | 0 ...__rules__pydocstyle__tests__D206_D.py.snap | 0 ...__rules__pydocstyle__tests__D207_D.py.snap | 0 ...__rules__pydocstyle__tests__D208_D.py.snap | 0 ...__rules__pydocstyle__tests__D209_D.py.snap | 0 ...__rules__pydocstyle__tests__D210_D.py.snap | 0 ...__rules__pydocstyle__tests__D211_D.py.snap | 0 ...__rules__pydocstyle__tests__D212_D.py.snap | 0 ...__rules__pydocstyle__tests__D213_D.py.snap | 0 ...__pydocstyle__tests__D214_sections.py.snap | 0 ...__pydocstyle__tests__D215_sections.py.snap | 0 ...__rules__pydocstyle__tests__D300_D.py.snap | 0 ...__rules__pydocstyle__tests__D301_D.py.snap | 0 ...__rules__pydocstyle__tests__D400_D.py.snap | 0 ...ules__pydocstyle__tests__D400_D400.py.snap | 0 ...ules__pydocstyle__tests__D401_D401.py.snap | 0 ...__rules__pydocstyle__tests__D402_D.py.snap | 0 ...__rules__pydocstyle__tests__D403_D.py.snap | 0 ...__rules__pydocstyle__tests__D404_D.py.snap | 0 ...__pydocstyle__tests__D405_sections.py.snap | 0 ...__pydocstyle__tests__D406_sections.py.snap | 0 ...__pydocstyle__tests__D407_sections.py.snap | 0 ...__pydocstyle__tests__D408_sections.py.snap | 0 ...__pydocstyle__tests__D409_sections.py.snap | 0 ...__pydocstyle__tests__D410_sections.py.snap | 0 ...__pydocstyle__tests__D411_sections.py.snap | 0 ...__pydocstyle__tests__D412_sections.py.snap | 0 ...__pydocstyle__tests__D413_sections.py.snap | 0 ...__pydocstyle__tests__D414_sections.py.snap | 0 ...__rules__pydocstyle__tests__D415_D.py.snap | 0 ...__rules__pydocstyle__tests__D416_D.py.snap | 0 ...ts__D417_canonical_google_examples.py.snap | 0 ...sts__D417_canonical_numpy_examples.py.snap | 0 ...__pydocstyle__tests__D417_sections.py.snap | 0 ...__rules__pydocstyle__tests__D418_D.py.snap | 0 ...__rules__pydocstyle__tests__D419_D.py.snap | 0 ...rules__pydocstyle__tests__d417_google.snap | 0 ..._rules__pydocstyle__tests__d417_numpy.snap | 0 ...__pydocstyle__tests__d417_unspecified.snap | 0 .../ruff/src}/rules/pyflakes/cformat.rs | 0 .../ruff/src}/rules/pyflakes/fixes.rs | 0 .../ruff/src}/rules/pyflakes/format.rs | 0 .../ruff/src}/rules/pyflakes/mod.rs | 0 .../src}/rules/pyflakes/rules/assert_tuple.rs | 0 .../pyflakes/rules/break_outside_loop.rs | 0 .../pyflakes/rules/continue_outside_loop.rs | 0 .../pyflakes/rules/default_except_not_last.rs | 0 .../rules/f_string_missing_placeholders.rs | 0 .../rules/forward_annotation_syntax_error.rs | 0 .../src}/rules/pyflakes/rules/if_tuple.rs | 0 .../ruff/src}/rules/pyflakes/rules/imports.rs | 0 .../rules/invalid_literal_comparisons.rs | 0 .../pyflakes/rules/invalid_print_syntax.rs | 0 .../ruff/src}/rules/pyflakes/rules/mod.rs | 0 .../pyflakes/rules/raise_not_implemented.rs | 0 .../pyflakes/rules/redefined_while_unused.rs | 0 .../rules/pyflakes/rules/repeated_keys.rs | 0 .../pyflakes/rules/return_outside_function.rs | 0 .../pyflakes/rules/starred_expressions.rs | 0 .../ruff/src}/rules/pyflakes/rules/strings.rs | 0 .../rules/pyflakes/rules/undefined_export.rs | 0 .../rules/pyflakes/rules/undefined_local.rs | 0 .../rules/pyflakes/rules/undefined_name.rs | 0 .../rules/pyflakes/rules/unused_annotation.rs | 0 .../rules/pyflakes/rules/unused_variable.rs | 0 .../pyflakes/rules/yield_outside_function.rs | 0 ...ules__pyflakes__tests__F401_F401_0.py.snap | 0 ...ules__pyflakes__tests__F401_F401_1.py.snap | 0 ...ules__pyflakes__tests__F401_F401_2.py.snap | 0 ...ules__pyflakes__tests__F401_F401_3.py.snap | 0 ...ules__pyflakes__tests__F401_F401_4.py.snap | 0 ...ules__pyflakes__tests__F401_F401_5.py.snap | 0 ...ules__pyflakes__tests__F401_F401_6.py.snap | 0 ...ules__pyflakes__tests__F401_F401_7.py.snap | 0 ...ules__pyflakes__tests__F401_F401_8.py.snap | 0 ..._rules__pyflakes__tests__F402_F402.py.snap | 0 ..._rules__pyflakes__tests__F403_F403.py.snap | 0 ..._rules__pyflakes__tests__F404_F404.py.snap | 0 ..._rules__pyflakes__tests__F405_F405.py.snap | 0 ..._rules__pyflakes__tests__F406_F406.py.snap | 0 ..._rules__pyflakes__tests__F407_F407.py.snap | 0 ..._rules__pyflakes__tests__F501_F50x.py.snap | 0 ..._rules__pyflakes__tests__F502_F502.py.snap | 0 ..._rules__pyflakes__tests__F502_F50x.py.snap | 0 ..._rules__pyflakes__tests__F503_F503.py.snap | 0 ..._rules__pyflakes__tests__F503_F50x.py.snap | 0 ..._rules__pyflakes__tests__F504_F504.py.snap | 0 ..._rules__pyflakes__tests__F504_F50x.py.snap | 0 ..._rules__pyflakes__tests__F505_F504.py.snap | 0 ..._rules__pyflakes__tests__F505_F50x.py.snap | 0 ..._rules__pyflakes__tests__F506_F50x.py.snap | 0 ..._rules__pyflakes__tests__F507_F50x.py.snap | 0 ..._rules__pyflakes__tests__F508_F50x.py.snap | 0 ..._rules__pyflakes__tests__F509_F50x.py.snap | 0 ..._rules__pyflakes__tests__F521_F521.py.snap | 0 ..._rules__pyflakes__tests__F522_F522.py.snap | 0 ..._rules__pyflakes__tests__F523_F523.py.snap | 0 ..._rules__pyflakes__tests__F524_F524.py.snap | 0 ..._rules__pyflakes__tests__F525_F525.py.snap | 0 ..._rules__pyflakes__tests__F541_F541.py.snap | 0 ..._rules__pyflakes__tests__F601_F601.py.snap | 0 ..._rules__pyflakes__tests__F602_F602.py.snap | 0 ..._rules__pyflakes__tests__F622_F622.py.snap | 0 ..._rules__pyflakes__tests__F631_F631.py.snap | 0 ..._rules__pyflakes__tests__F632_F632.py.snap | 0 ..._rules__pyflakes__tests__F633_F633.py.snap | 0 ..._rules__pyflakes__tests__F634_F634.py.snap | 0 ..._rules__pyflakes__tests__F701_F701.py.snap | 0 ..._rules__pyflakes__tests__F702_F702.py.snap | 0 ..._rules__pyflakes__tests__F704_F704.py.snap | 0 ..._rules__pyflakes__tests__F706_F706.py.snap | 0 ..._rules__pyflakes__tests__F707_F707.py.snap | 0 ..._rules__pyflakes__tests__F722_F722.py.snap | 0 ...ules__pyflakes__tests__F811_F811_0.py.snap | 0 ...ules__pyflakes__tests__F811_F811_1.py.snap | 0 ...les__pyflakes__tests__F811_F811_10.py.snap | 0 ...les__pyflakes__tests__F811_F811_11.py.snap | 0 ...les__pyflakes__tests__F811_F811_12.py.snap | 0 ...les__pyflakes__tests__F811_F811_13.py.snap | 0 ...les__pyflakes__tests__F811_F811_14.py.snap | 0 ...les__pyflakes__tests__F811_F811_15.py.snap | 0 ...les__pyflakes__tests__F811_F811_16.py.snap | 0 ...les__pyflakes__tests__F811_F811_17.py.snap | 0 ...les__pyflakes__tests__F811_F811_18.py.snap | 0 ...les__pyflakes__tests__F811_F811_19.py.snap | 0 ...ules__pyflakes__tests__F811_F811_2.py.snap | 0 ...les__pyflakes__tests__F811_F811_20.py.snap | 0 ...les__pyflakes__tests__F811_F811_21.py.snap | 0 ...ules__pyflakes__tests__F811_F811_3.py.snap | 0 ...ules__pyflakes__tests__F811_F811_4.py.snap | 0 ...ules__pyflakes__tests__F811_F811_5.py.snap | 0 ...ules__pyflakes__tests__F811_F811_6.py.snap | 0 ...ules__pyflakes__tests__F811_F811_7.py.snap | 0 ...ules__pyflakes__tests__F811_F811_8.py.snap | 0 ...ules__pyflakes__tests__F811_F811_9.py.snap | 0 ...ules__pyflakes__tests__F821_F821_0.py.snap | 0 ...ules__pyflakes__tests__F821_F821_1.py.snap | 0 ...ules__pyflakes__tests__F821_F821_2.py.snap | 0 ...ules__pyflakes__tests__F821_F821_3.py.snap | 0 ...ules__pyflakes__tests__F821_F821_4.py.snap | 0 ...ules__pyflakes__tests__F821_F821_5.py.snap | 0 ...ules__pyflakes__tests__F821_F821_6.py.snap | 0 ...ules__pyflakes__tests__F821_F821_7.py.snap | 0 ...les__pyflakes__tests__F821_F821_8.pyi.snap | 0 ...ules__pyflakes__tests__F822_F822_0.py.snap | 0 ...ules__pyflakes__tests__F822_F822_1.py.snap | 0 ..._rules__pyflakes__tests__F823_F823.py.snap | 0 ...ules__pyflakes__tests__F841_F841_0.py.snap | 0 ...ules__pyflakes__tests__F841_F841_1.py.snap | 0 ...ules__pyflakes__tests__F841_F841_2.py.snap | 0 ...ules__pyflakes__tests__F841_F841_3.py.snap | 0 ..._rules__pyflakes__tests__F842_F842.py.snap | 0 ..._rules__pyflakes__tests__F901_F901.py.snap | 0 ...es__pyflakes__tests__default_builtins.snap | 0 ...flakes__tests__default_typing_modules.snap | 0 ...ules__pyflakes__tests__extra_builtins.snap | 0 ...pyflakes__tests__extra_typing_modules.snap | 0 ...lakes__tests__f841_dummy_variable_rgx.snap | 0 ...__pyflakes__tests__future_annotations.snap | 0 .../ruff__rules__pyflakes__tests__init.snap | 0 ...yflakes__tests__multi_statement_lines.snap | 0 .../ruff/src}/rules/pygrep_hooks/mod.rs | 0 .../rules/pygrep_hooks/rules/blanket_noqa.rs | 0 .../pygrep_hooks/rules/blanket_type_ignore.rs | 0 .../pygrep_hooks/rules/deprecated_log_warn.rs | 0 .../ruff/src}/rules/pygrep_hooks/rules/mod.rs | 0 .../src}/rules/pygrep_hooks/rules/no_eval.rs | 0 ...grep_hooks__tests__PGH001_PGH001_0.py.snap | 0 ...grep_hooks__tests__PGH001_PGH001_1.py.snap | 0 ...grep_hooks__tests__PGH002_PGH002_0.py.snap | 0 ...grep_hooks__tests__PGH002_PGH002_1.py.snap | 0 ...grep_hooks__tests__PGH003_PGH003_0.py.snap | 0 ...grep_hooks__tests__PGH004_PGH004_0.py.snap | 0 {src => crates/ruff/src}/rules/pylint/mod.rs | 0 .../rules/pylint/rules/await_outside_async.rs | 0 .../pylint/rules/comparison_of_constant.rs | 0 .../pylint/rules/consider_using_sys_exit.rs | 0 .../rules/global_variable_not_assigned.rs | 0 .../rules/pylint/rules/invalid_all_format.rs | 0 .../rules/pylint/rules/invalid_all_object.rs | 0 .../pylint/rules/magic_value_comparison.rs | 0 .../rules/pylint/rules/merge_isinstance.rs | 0 .../ruff/src}/rules/pylint/rules/mod.rs | 0 .../pylint/rules/nonlocal_without_binding.rs | 0 .../pylint/rules/property_with_parameters.rs | 0 .../rules/pylint/rules/too_many_arguments.rs | 0 .../rules/pylint/rules/too_many_branches.rs | 0 .../rules/too_many_return_statements.rs | 0 .../rules/pylint/rules/too_many_statements.rs | 0 .../rules/unnecessary_direct_lambda_call.rs | 0 .../rules/pylint/rules/use_from_import.rs | 0 .../rules/used_prior_global_declaration.rs | 0 .../pylint/rules/useless_else_on_loop.rs | 0 .../pylint/rules/useless_import_alias.rs | 0 .../ruff/src}/rules/pylint/settings.rs | 0 ...nt__tests__PLC0414_import_aliasing.py.snap | 0 ...002_unnecessary_direct_lambda_call.py.snap | 0 ...__PLE0117_nonlocal_without_binding.py.snap | 0 ...0118_used_prior_global_declaration.py.snap | 0 ..._tests__PLE0604_invalid_all_object.py.snap | 0 ..._tests__PLE0605_invalid_all_format.py.snap | 0 ...tests__PLE1142_await_outside_async.py.snap | 0 ...ts__PLR0133_comparison_of_constant.py.snap | 0 ...__PLR0206_property_with_parameters.py.snap | 0 ...nt__tests__PLR0402_import_aliasing.py.snap | 0 ...PLR0911_too_many_return_statements.py.snap | 0 ...__tests__PLR0912_too_many_branches.py.snap | 0 ..._tests__PLR0913_too_many_arguments.py.snap | 0 ...tests__PLR0915_too_many_statements.py.snap | 0 ...LR1701_consider_merging_isinstance.py.snap | 0 ..._PLR1722_consider_using_sys_exit_0.py.snap | 0 ..._PLR1722_consider_using_sys_exit_1.py.snap | 0 ..._PLR1722_consider_using_sys_exit_2.py.snap | 0 ..._PLR1722_consider_using_sys_exit_3.py.snap | 0 ..._PLR1722_consider_using_sys_exit_4.py.snap | 0 ..._PLR1722_consider_using_sys_exit_5.py.snap | 0 ..._PLR1722_consider_using_sys_exit_6.py.snap | 0 ...ts__PLR2004_magic_value_comparison.py.snap | 0 ...ests__PLW0120_useless_else_on_loop.py.snap | 0 ...W0602_global_variable_not_assigned.py.snap | 0 ...ylint__tests__allow_magic_value_types.snap | 0 .../ruff__rules__pylint__tests__max_args.snap | 0 ..._tests__max_args_with_dummy_variables.snap | 0 ...f__rules__pylint__tests__max_branches.snap | 0 ..._pylint__tests__max_return_statements.snap | 0 ..._rules__pylint__tests__max_statements.snap | 0 .../ruff/src}/rules/pyupgrade/fixes.rs | 0 .../ruff/src}/rules/pyupgrade/helpers.rs | 0 .../ruff/src}/rules/pyupgrade/mod.rs | 0 ...convert_named_tuple_functional_to_class.rs | 0 .../convert_typed_dict_functional_to_class.rs | 0 .../pyupgrade/rules/datetime_utc_alias.rs | 0 .../rules/deprecated_unittest_alias.rs | 0 .../pyupgrade/rules/extraneous_parentheses.rs | 0 .../src}/rules/pyupgrade/rules/f_strings.rs | 0 .../rules/pyupgrade/rules/format_literals.rs | 0 .../rules/pyupgrade/rules/functools_cache.rs | 0 .../pyupgrade/rules/import_replacements.rs | 0 .../rules/lru_cache_without_parameters.rs | 0 .../ruff/src}/rules/pyupgrade/rules/mod.rs | 0 .../rules/pyupgrade/rules/native_literals.rs | 0 .../src}/rules/pyupgrade/rules/open_alias.rs | 0 .../rules/pyupgrade/rules/os_error_alias.rs | 0 .../pyupgrade/rules/outdated_version_block.rs | 0 .../rules/printf_string_formatting.rs | 0 .../pyupgrade/rules/quoted_annotation.rs | 0 .../pyupgrade/rules/redundant_open_modes.rs | 0 .../pyupgrade/rules/replace_stdout_stderr.rs | 0 .../rules/replace_universal_newlines.rs | 0 .../pyupgrade/rules/rewrite_c_element_tree.rs | 0 .../pyupgrade/rules/rewrite_mock_import.rs | 0 .../rules/rewrite_unicode_literal.rs | 0 .../pyupgrade/rules/rewrite_yield_from.rs | 0 .../src}/rules/pyupgrade/rules/super_args.rs | 0 .../rules/super_call_with_parameters.rs | 0 .../pyupgrade/rules/type_of_primitive.rs | 0 .../pyupgrade/rules/typing_text_str_alias.rs | 0 .../rules/unnecessary_builtin_import.rs | 0 .../rules/unnecessary_coding_comment.rs | 0 .../rules/unnecessary_encode_utf8.rs | 0 .../rules/unnecessary_future_import.rs | 0 .../rules/unpack_list_comprehension.rs | 0 .../pyupgrade/rules/use_pep585_annotation.rs | 0 .../pyupgrade/rules/use_pep604_annotation.rs | 0 .../pyupgrade/rules/useless_metaclass_type.rs | 0 .../rules/useless_object_inheritance.rs | 0 .../ruff/src}/rules/pyupgrade/settings.rs | 0 ...les__pyupgrade__tests__UP001_UP001.py.snap | 0 ...les__pyupgrade__tests__UP003_UP003.py.snap | 0 ...les__pyupgrade__tests__UP004_UP004.py.snap | 0 ...les__pyupgrade__tests__UP005_UP005.py.snap | 0 ...les__pyupgrade__tests__UP006_UP006.py.snap | 0 ...les__pyupgrade__tests__UP007_UP007.py.snap | 0 ...les__pyupgrade__tests__UP008_UP008.py.snap | 0 ...s__pyupgrade__tests__UP009_UP009_0.py.snap | 0 ...s__pyupgrade__tests__UP009_UP009_1.py.snap | 0 ...s__pyupgrade__tests__UP009_UP009_2.py.snap | 0 ...s__pyupgrade__tests__UP009_UP009_3.py.snap | 0 ...s__pyupgrade__tests__UP009_UP009_4.py.snap | 0 ...les__pyupgrade__tests__UP010_UP010.py.snap | 0 ...les__pyupgrade__tests__UP011_UP011.py.snap | 0 ...les__pyupgrade__tests__UP012_UP012.py.snap | 0 ...les__pyupgrade__tests__UP013_UP013.py.snap | 0 ...les__pyupgrade__tests__UP014_UP014.py.snap | 0 ...les__pyupgrade__tests__UP015_UP015.py.snap | 0 ...les__pyupgrade__tests__UP018_UP018.py.snap | 0 ...les__pyupgrade__tests__UP019_UP019.py.snap | 0 ...les__pyupgrade__tests__UP021_UP021.py.snap | 0 ...les__pyupgrade__tests__UP022_UP022.py.snap | 0 ...les__pyupgrade__tests__UP023_UP023.py.snap | 0 ...s__pyupgrade__tests__UP024_UP024_0.py.snap | 0 ...s__pyupgrade__tests__UP024_UP024_1.py.snap | 0 ...s__pyupgrade__tests__UP024_UP024_2.py.snap | 0 ...s__pyupgrade__tests__UP024_UP024_3.py.snap | 0 ...les__pyupgrade__tests__UP025_UP025.py.snap | 0 ...les__pyupgrade__tests__UP026_UP026.py.snap | 0 ...les__pyupgrade__tests__UP027_UP027.py.snap | 0 ...s__pyupgrade__tests__UP028_UP028_0.py.snap | 0 ...s__pyupgrade__tests__UP028_UP028_1.py.snap | 0 ...les__pyupgrade__tests__UP029_UP029.py.snap | 0 ...s__pyupgrade__tests__UP030_UP030_0.py.snap | 0 ...s__pyupgrade__tests__UP030_UP030_1.py.snap | 0 ...s__pyupgrade__tests__UP030_UP030_2.py.snap | 0 ...s__pyupgrade__tests__UP031_UP031_0.py.snap | 0 ...s__pyupgrade__tests__UP031_UP031_1.py.snap | 0 ...les__pyupgrade__tests__UP032_UP032.py.snap | 0 ...les__pyupgrade__tests__UP033_UP033.py.snap | 0 ...les__pyupgrade__tests__UP034_UP034.py.snap | 0 ...les__pyupgrade__tests__UP035_UP035.py.snap | 0 ...s__pyupgrade__tests__UP036_UP036_0.py.snap | 0 ...s__pyupgrade__tests__UP036_UP036_1.py.snap | 0 ...s__pyupgrade__tests__UP036_UP036_2.py.snap | 0 ...s__pyupgrade__tests__UP036_UP036_3.py.snap | 0 ...s__pyupgrade__tests__UP036_UP036_4.py.snap | 0 ...les__pyupgrade__tests__UP037_UP037.py.snap | 0 ...rade__tests__datetime_utc_alias_py311.snap | 0 ...tests__future_annotations_pep_585_p37.snap | 0 ...sts__future_annotations_pep_585_py310.snap | 0 ...tests__future_annotations_pep_604_p37.snap | 0 ...sts__future_annotations_pep_604_py310.snap | 0 .../ruff/src}/rules/pyupgrade/types.rs | 0 {src => crates/ruff/src}/rules/ruff/mod.rs | 0 .../ruff/rules/ambiguous_unicode_character.rs | 0 .../keyword_argument_before_star_argument.rs | 0 .../ruff/src}/rules/ruff/rules/mod.rs | 0 ..._of_concatenating_to_collection_literal.rs | 0 .../ruff/src}/rules/ruff/rules/unused_noqa.rs | 0 ..._rules__ruff__tests__RUF004_RUF004.py.snap | 0 ..._rules__ruff__tests__RUF005_RUF005.py.snap | 0 ...ruff__rules__ruff__tests__confusables.snap | 0 ...ruff__rules__ruff__tests__flake8_noqa.snap | 0 .../ruff__rules__ruff__tests__redirects.snap | 0 .../ruff__rules__ruff__tests__ruf100_0.snap | 0 .../ruff__rules__ruff__tests__ruf100_1.snap | 0 .../ruff__rules__ruff__tests__ruf100_2.snap | 0 .../ruff__rules__ruff__tests__ruff_noqa.snap | 0 .../ruff/src}/rules/tryceratops/mod.rs | 0 .../rules/error_instead_of_exception.rs | 0 .../ruff/src}/rules/tryceratops/rules/mod.rs | 0 .../tryceratops/rules/prefer_type_error.rs | 0 .../tryceratops/rules/raise_vanilla_args.rs | 0 .../tryceratops/rules/raise_vanilla_class.rs | 0 .../tryceratops/rules/raise_within_try.rs | 0 .../tryceratops/rules/reraise_no_cause.rs | 0 .../tryceratops/rules/try_consider_else.rs | 0 .../rules/tryceratops/rules/verbose_raise.rs | 0 ..._error-instead-of-exception_TRY400.py.snap | 0 ...s__tests__prefer-type-error_TRY004.py.snap | 0 ...__tests__raise-vanilla-args_TRY003.py.snap | 0 ..._tests__raise-vanilla-class_TRY002.py.snap | 0 ...ps__tests__raise-within-try_TRY301.py.snap | 0 ...ps__tests__reraise-no-cause_TRY200.py.snap | 0 ...s__tests__try-consider-else_TRY300.py.snap | 0 ...atops__tests__verbose-raise_TRY201.py.snap | 0 .../ruff/src}/rustpython_helpers.rs | 0 .../ruff/src}/settings/configuration.rs | 0 {src => crates/ruff/src}/settings/defaults.rs | 0 {src => crates/ruff/src}/settings/flags.rs | 0 {src => crates/ruff/src}/settings/hashable.rs | 0 {src => crates/ruff/src}/settings/mod.rs | 0 {src => crates/ruff/src}/settings/options.rs | 0 .../ruff/src}/settings/options_base.rs | 0 .../ruff/src}/settings/pyproject.rs | 0 .../ruff/src}/settings/rule_table.rs | 0 {src => crates/ruff/src}/settings/types.rs | 0 .../ruff/src}/source_code/generator.rs | 0 .../ruff/src}/source_code/indexer.rs | 0 .../ruff/src}/source_code/locator.rs | 0 {src => crates/ruff/src}/source_code/mod.rs | 0 .../ruff/src}/source_code/stylist.rs | 0 {src => crates/ruff/src}/test.rs | 0 {src => crates/ruff/src}/vendor/bytes.rs | 0 {src => crates/ruff/src}/vendor/mod.rs | 0 {src => crates/ruff/src}/vendor/str.rs | 0 {src => crates/ruff/src}/violation.rs | 0 {src => crates/ruff/src}/visibility.rs | 0 {ruff_cli => crates/ruff_cli}/Cargo.toml | 5 +- {ruff_cli => crates/ruff_cli}/src/args.rs | 0 {ruff_cli => crates/ruff_cli}/src/cache.rs | 0 {ruff_cli => crates/ruff_cli}/src/commands.rs | 0 .../ruff_cli}/src/commands/linter.rs | 0 .../ruff_cli}/src/diagnostics.rs | 0 .../ruff_cli}/src/iterators.rs | 0 {ruff_cli => crates/ruff_cli}/src/lib.rs | 0 {ruff_cli => crates/ruff_cli}/src/main.rs | 0 {ruff_cli => crates/ruff_cli}/src/printer.rs | 0 {ruff_cli => crates/ruff_cli}/src/resolve.rs | 0 .../tests/black_compatibility_test.rs | 19 +- .../ruff_cli}/tests/integration_test.rs | 0 {ruff_dev => crates/ruff_dev}/Cargo.toml | 2 +- .../ruff_dev}/src/generate_all.rs | 0 .../ruff_dev}/src/generate_cli_help.rs | 0 .../ruff_dev}/src/generate_json_schema.rs | 0 .../ruff_dev}/src/generate_options.rs | 0 .../ruff_dev}/src/generate_rules_table.rs | 0 {ruff_dev => crates/ruff_dev}/src/main.rs | 2 +- .../ruff_dev}/src/print_ast.rs | 0 .../ruff_dev}/src/print_cst.rs | 0 .../ruff_dev}/src/print_tokens.rs | 0 .../ruff_dev}/src/round_trip.rs | 0 {ruff_dev => crates/ruff_dev}/src/utils.rs | 0 .../ruff_macros}/Cargo.toml | 0 .../ruff_macros}/src/config.rs | 0 .../ruff_macros}/src/define_rule_mapping.rs | 0 .../src/derive_message_formats.rs | 0 .../ruff_macros}/src/lib.rs | 0 .../ruff_macros}/src/rule_code_prefix.rs | 0 .../ruff_macros}/src/rule_namespace.rs | 0 playground/README.md | 6 +- pyproject.toml | 2 +- scripts/add_plugin.py | 14 +- scripts/add_rule.py | 8 +- scripts/benchmarks/run.sh | 2 +- scripts/benchmarks/run_all.sh | 8 +- scripts/benchmarks/run_comparisons.sh | 10 +- scripts/benchmarks/run_plugins.sh | 72 ++++---- scripts/benchmarks/run_silent.sh | 8 +- scripts/benchmarks/setup.sh | 2 +- 1785 files changed, 314 insertions(+), 298 deletions(-) rename {flake8_to_ruff => crates/flake8_to_ruff}/Cargo.toml (87%) rename {flake8_to_ruff => crates/flake8_to_ruff}/README.md (100%) rename {flake8_to_ruff => crates/flake8_to_ruff}/examples/cryptography/pyproject.toml (100%) rename {flake8_to_ruff => crates/flake8_to_ruff}/examples/cryptography/setup.cfg (100%) rename {flake8_to_ruff => crates/flake8_to_ruff}/examples/jupyterhub.ini (100%) rename {flake8_to_ruff => crates/flake8_to_ruff}/examples/manim.ini (100%) rename {flake8_to_ruff => crates/flake8_to_ruff}/examples/poetry.ini (100%) rename {flake8_to_ruff => crates/flake8_to_ruff}/examples/python-discord.ini (100%) rename {flake8_to_ruff => crates/flake8_to_ruff}/examples/requests.ini (100%) rename {flake8_to_ruff => crates/flake8_to_ruff}/pyproject.toml (100%) rename {flake8_to_ruff => crates/flake8_to_ruff}/src/main.rs (100%) create mode 100644 crates/ruff/Cargo.toml rename {resources => crates/ruff/resources}/test/fixtures/README.md (100%) rename {resources => crates/ruff/resources}/test/fixtures/eradicate/ERA001.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/filesystem/excluded_file.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/filesystem/with_excluded_directory/__init__.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/filesystem/with_excluded_directory/migrations/__init__.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/filesystem/with_excluded_directory/migrations/migration.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/filesystem/with_excluded_file/other_excluded_file.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_2020/YTT101.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_2020/YTT102.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_2020/YTT103.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_2020/YTT201.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_2020/YTT202.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_2020/YTT203.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_2020/YTT204.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_2020/YTT301.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_2020/YTT302.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_2020/YTT303.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_annotations/allow_nested_overload.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_annotations/allow_overload.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_annotations/allow_star_arg_any.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_annotations/annotation_presence.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_annotations/mypy_init_return.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_annotations/suppress_dummy_args.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_annotations/suppress_none_returning.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bandit/S101.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bandit/S102.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bandit/S103.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bandit/S104.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bandit/S105.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bandit/S106.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bandit/S107.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bandit/S108.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bandit/S110.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bandit/S113.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bandit/S324.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bandit/S501.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bandit/S506.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bandit/S508.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bandit/S509.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bandit/S612.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bandit/S701.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_blind_except/BLE.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_boolean_trap/FBT.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B002.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B003.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B004.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B005.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B006_B008.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B007.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B008_extended.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B009_B010.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B011.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B012.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B013.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B014.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B015.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B016.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B017.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B018.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B019.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B020.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B021.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B022.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B023.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B024.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B025.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B026.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B027.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B904.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_bugbear/B905.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_builtins/A001.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_builtins/A002.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_builtins/A003.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_commas/COM81.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_comprehensions/C400.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_comprehensions/C401.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_comprehensions/C402.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_comprehensions/C403.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_comprehensions/C404.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_comprehensions/C405.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_comprehensions/C406.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_comprehensions/C408.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_comprehensions/C409.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_comprehensions/C410.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_comprehensions/C411.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_comprehensions/C413.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_comprehensions/C414.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_comprehensions/C415.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_comprehensions/C416.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_comprehensions/C417.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_datetimez/DTZ001.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_datetimez/DTZ002.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_datetimez/DTZ003.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_datetimez/DTZ004.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_datetimez/DTZ005.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_datetimez/DTZ006.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_datetimez/DTZ007.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_datetimez/DTZ011.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_datetimez/DTZ012.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_debugger/T100.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_errmsg/EM.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_executable/EXE001_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_executable/EXE001_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_executable/EXE001_3.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_executable/EXE002_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_executable/EXE002_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_executable/EXE002_3.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_executable/EXE003.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_executable/EXE004_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_executable/EXE004_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_executable/EXE004_3.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_executable/EXE005_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_executable/EXE005_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_executable/EXE005_3.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_implicit_str_concat/ISC.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_import_conventions/custom.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_import_conventions/defaults.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_import_conventions/from_imports.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_import_conventions/override_default.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_import_conventions/remove_default.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_logging_format/G001.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_logging_format/G002.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_logging_format/G003.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_logging_format/G004.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_logging_format/G010.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_logging_format/G101_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_logging_format/G101_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_logging_format/G201.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_logging_format/G202.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_logging_format/G_argparse_parser_error_ok.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_logging_format/G_extra_ok.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_logging_format/G_extra_str_format_ok.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_logging_format/G_simple_ok.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_logging_format/G_warnings_ok.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_no_pep420/test_fail_empty/example.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_no_pep420/test_fail_nonempty/example.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_no_pep420/test_fail_shebang/example.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_no_pep420/test_ignored/example.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_no_pep420/test_pass_init/__init__.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_no_pep420/test_pass_init/example.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_no_pep420/test_pass_namespace_package/example.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_no_pep420/test_pass_pyi/example.pyi (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pie/PIE790.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pie/PIE794.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pie/PIE796.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pie/PIE800.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pie/PIE804.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pie/PIE807.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_print/T201.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_print/T203.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT001.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT002.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT003.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT004.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT005.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT006.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT007.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT008.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT009.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT010.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT011.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT012.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT013.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT015.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT016.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT017.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT018.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT019.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT020.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT021.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT022.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT023.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT024.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT025.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_pytest_style/PT026.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/docstring_doubles.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/docstring_doubles_class.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/docstring_doubles_function.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/docstring_doubles_module_multiline.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/docstring_doubles_module_singleline.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/docstring_singles.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/docstring_singles_class.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/docstring_singles_function.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/docstring_singles_module_multiline.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/docstring_singles_module_singleline.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/doubles.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/doubles_escaped.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/doubles_implicit.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/doubles_multiline_string.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/doubles_noqa.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/doubles_wrapped.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/singles.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/singles_escaped.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/singles_implicit.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/singles_multiline_string.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/singles_noqa.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_quotes/singles_wrapped.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_raise/RSE102.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_return/RET501.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_return/RET502.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_return/RET503.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_return/RET504.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_return/RET505.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_return/RET506.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_return/RET507.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_return/RET508.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_self/SLF001.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM101.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM102.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM103.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM105.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM107.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM108.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM109.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM110.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM111.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM112.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM115.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM117.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM118.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM201.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM202.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM208.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM210.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM211.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM212.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM220.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM221.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM222.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM223.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM300.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_simplify/SIM401.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_tidy_imports/TID251.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_tidy_imports/TID251_false_positives.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_tidy_imports/TID252.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_type_checking/TCH001.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_type_checking/TCH002.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_type_checking/TCH003.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_type_checking/TCH004_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_type_checking/TCH004_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_type_checking/TCH004_3.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_type_checking/TCH004_4.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_type_checking/TCH004_5.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_type_checking/TCH004_6.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_type_checking/TCH004_7.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_type_checking/TCH004_8.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_type_checking/TCH005.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_type_checking/exempt_modules.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_type_checking/strict.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_unused_arguments/ARG.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_unused_arguments/ignore_variadic_names.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_use_pathlib/full_name.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_use_pathlib/import_as.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_use_pathlib/import_from.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_use_pathlib/import_from_as.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_use_pathlib/py_path_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_use_pathlib/py_path_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/flake8_use_pathlib/use_pathlib.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/add_newline_before_comments.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/combine_as_imports.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/combine_import_from.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/comments.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/deduplicate_imports.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/fit_line_length.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/fit_line_length_comment.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/force_single_line.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/force_sort_within_sections.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/force_wrap_aliases.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/forced_separate.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/import_from_after_import.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/inline_comments.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/insert_empty_lines.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/insert_empty_lines.pyi (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/leading_prefix.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/line_ending_crlf.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/line_ending_lf.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/lines_after_imports_class_after.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/lines_after_imports_func_after.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/lines_after_imports_nothing_after.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/magic_trailing_comma.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/natural_order.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/no_lines_before.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/no_reorder_within_section.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/no_wrap_star.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/order_by_type.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/order_by_type_with_custom_classes.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/order_by_type_with_custom_constants.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/order_by_type_with_custom_variables.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/order_relative_imports_by_level.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/preserve_comment_order.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/preserve_import_star.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/preserve_indentation.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/preserve_tabs.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/preserve_tabs_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/pyproject.toml (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/relative_imports_order.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/reorder_within_section.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/required_imports/comment.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/required_imports/docstring.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/required_imports/docstring_only.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/required_imports/docstring_with_continuation.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/required_imports/docstring_with_semicolon.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/required_imports/empty.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/required_imports/existing_import.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/separate_first_party_imports.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/separate_future_imports.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/separate_local_folder_imports.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/separate_third_party_imports.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/skip.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/skip_file.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/sort_similar_imports.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/split.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/star_before_others.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/trailing_suffix.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/isort/type_comments.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/mccabe/C901.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pandas_vet/PD002.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pep8_naming/N801.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pep8_naming/N802.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pep8_naming/N803.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pep8_naming/N804.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pep8_naming/N805.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pep8_naming/N806.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pep8_naming/N807.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pep8_naming/N811.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pep8_naming/N812.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pep8_naming/N813.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pep8_naming/N814.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pep8_naming/N815.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pep8_naming/N816.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pep8_naming/N817.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pep8_naming/N818.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E101.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E11.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E20.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E22.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E40.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E402.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E501.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E501_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E711.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E712.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E713.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E714.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E721.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E722.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E731.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E741.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E742.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E743.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/E999.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/W292_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/W292_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/W292_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/W292_3.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/W292_4.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/W505.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/W605_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/W605_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pycodestyle/constant_literals.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pydocstyle/D.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pydocstyle/D104/__init__.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pydocstyle/D400.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pydocstyle/D401.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pydocstyle/D417.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pydocstyle/canonical_google_examples.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pydocstyle/canonical_numpy_examples.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pydocstyle/sections.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pydocstyle/setter.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F401_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F401_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F401_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F401_3.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F401_4.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F401_5.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F401_6.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F401_7.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F401_8.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F402.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F403.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F404.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F405.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F406.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F407.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F502.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F503.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F504.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F50x.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F521.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F522.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F523.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F524.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F525.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F541.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F601.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F602.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F622.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F631.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F632.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F633.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F634.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F701.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F702.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F704.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F706.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F707.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F722.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_10.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_11.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_12.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_13.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_14.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_15.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_16.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_17.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_18.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_19.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_20.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_21.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_3.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_4.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_5.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_6.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_7.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_8.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F811_9.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F821_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F821_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F821_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F821_3.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F821_4.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F821_5.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F821_6.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F821_7.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F821_8.pyi (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F822_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F822_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F823.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F841_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F841_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F841_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F841_3.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F842.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/F901.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/__init__.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/builtins.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/future_annotations.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/multi_statement_lines.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyflakes/typing_modules.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pygrep-hooks/PGH001_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pygrep-hooks/PGH001_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pygrep-hooks/PGH002_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pygrep-hooks/PGH002_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pygrep-hooks/PGH003_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pygrep-hooks/PGH004_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/await_outside_async.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/comparison_of_constant.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/consider_merging_isinstance.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/consider_using_sys_exit_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/consider_using_sys_exit_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/consider_using_sys_exit_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/consider_using_sys_exit_3.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/consider_using_sys_exit_4.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/consider_using_sys_exit_5.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/consider_using_sys_exit_6.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/global_variable_not_assigned.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/import_aliasing.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/invalid_all_format.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/invalid_all_object.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/magic_value_comparison.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/misplaced_comparison_constant.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/nonlocal_without_binding.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/property_with_parameters.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/too_many_arguments.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/too_many_arguments_params.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/too_many_branches.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/too_many_branches_params.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/too_many_return_statements.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/too_many_return_statements_params.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/too_many_statements.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/too_many_statements_params.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/unnecessary_direct_lambda_call.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/used_prior_global_declaration.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pylint/useless_else_on_loop.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyproject.toml (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP001.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP003.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP004.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP005.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP006.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP007.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP008.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP009_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP009_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP009_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP009_3.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP009_4.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP010.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP011.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP012.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP013.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP014.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP015.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP017.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP018.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP019.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP020.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP021.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP022.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP023.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP024_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP024_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP024_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP024_3.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP025.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP026.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP027.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP028_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP028_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP029.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP030_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP030_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP030_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP031_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP031_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP032.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP033.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP034.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP035.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP036_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP036_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP036_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP036_3.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP036_4.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/UP037.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/pyupgrade/future_annotations.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/ruff/RUF004.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/ruff/RUF005.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/ruff/RUF100_0.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/ruff/RUF100_1.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/ruff/RUF100_2.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/ruff/confusables.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/ruff/flake8_noqa.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/ruff/redirects.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/ruff/ruff_noqa.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/tryceratops/TRY002.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/tryceratops/TRY003.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/tryceratops/TRY004.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/tryceratops/TRY200.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/tryceratops/TRY201.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/tryceratops/TRY300.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/tryceratops/TRY301.py (100%) rename {resources => crates/ruff/resources}/test/fixtures/tryceratops/TRY400.py (100%) rename {resources => crates/ruff/resources}/test/package/pyproject.toml (100%) rename {resources => crates/ruff/resources}/test/package/resources/ignored.py (100%) rename {resources => crates/ruff/resources}/test/package/src/package/__init__.py (100%) rename {resources => crates/ruff/resources}/test/package/src/package/app.py (100%) rename {resources => crates/ruff/resources}/test/package/src/package/core.py (100%) rename {resources => crates/ruff/resources}/test/project/.gitignore (100%) rename {resources => crates/ruff/resources}/test/project/README.md (100%) rename {resources => crates/ruff/resources}/test/project/examples/.dotfiles/pyproject.toml (100%) rename {resources => crates/ruff/resources}/test/project/examples/.dotfiles/script.py (100%) rename {resources => crates/ruff/resources}/test/project/examples/docs/docs/__init__.py (100%) rename {resources => crates/ruff/resources}/test/project/examples/docs/docs/concepts/__init__.py (100%) rename {resources => crates/ruff/resources}/test/project/examples/docs/docs/concepts/file.py (100%) rename {resources => crates/ruff/resources}/test/project/examples/docs/docs/file.py (100%) rename {resources => crates/ruff/resources}/test/project/examples/docs/ruff.toml (100%) rename {resources => crates/ruff/resources}/test/project/examples/excluded/script.py (100%) rename {resources => crates/ruff/resources}/test/project/project/__init__.py (100%) rename {resources => crates/ruff/resources}/test/project/project/file.py (100%) rename {resources => crates/ruff/resources}/test/project/project/import_file.py (100%) rename {resources => crates/ruff/resources}/test/project/pyproject.toml (100%) rename {resources => crates/ruff/resources}/test/project/python_modules/app/app/__init__.py (100%) rename {resources => crates/ruff/resources}/test/project/python_modules/app/app/app_file.py (100%) rename {resources => crates/ruff/resources}/test/project/python_modules/core/core/__init__.py (100%) rename {resources => crates/ruff/resources}/test/project/python_modules/core/core/core_file.py (100%) rename {src => crates/ruff/src}/assert_yaml_snapshot.rs (100%) rename {src => crates/ruff/src}/ast/branch_detection.rs (100%) rename {src => crates/ruff/src}/ast/cast.rs (100%) rename {src => crates/ruff/src}/ast/comparable.rs (100%) rename {src => crates/ruff/src}/ast/function_type.rs (100%) rename {src => crates/ruff/src}/ast/hashable.rs (100%) rename {src => crates/ruff/src}/ast/helpers.rs (100%) rename {src => crates/ruff/src}/ast/mod.rs (100%) rename {src => crates/ruff/src}/ast/operations.rs (100%) rename {src => crates/ruff/src}/ast/relocate.rs (100%) rename {src => crates/ruff/src}/ast/types.rs (100%) rename {src => crates/ruff/src}/ast/visitor.rs (100%) rename {src => crates/ruff/src}/ast/whitespace.rs (100%) rename {src => crates/ruff/src}/autofix/helpers.rs (100%) rename {src => crates/ruff/src}/autofix/mod.rs (100%) rename {src => crates/ruff/src}/cache.rs (100%) rename {src => crates/ruff/src}/checkers/ast.rs (100%) rename {src => crates/ruff/src}/checkers/filesystem.rs (100%) rename {src => crates/ruff/src}/checkers/imports.rs (100%) rename {src => crates/ruff/src}/checkers/logical_lines.rs (100%) rename {src => crates/ruff/src}/checkers/mod.rs (100%) rename {src => crates/ruff/src}/checkers/noqa.rs (100%) rename {src => crates/ruff/src}/checkers/physical_lines.rs (100%) rename {src => crates/ruff/src}/checkers/tokens.rs (100%) rename {src => crates/ruff/src}/cst/helpers.rs (100%) rename {src => crates/ruff/src}/cst/matchers.rs (100%) rename {src => crates/ruff/src}/cst/mod.rs (100%) rename {src => crates/ruff/src}/directives.rs (100%) rename {src => crates/ruff/src}/doc_lines.rs (100%) rename {src => crates/ruff/src}/docstrings/constants.rs (100%) rename {src => crates/ruff/src}/docstrings/definition.rs (100%) rename {src => crates/ruff/src}/docstrings/extraction.rs (100%) rename {src => crates/ruff/src}/docstrings/google.rs (100%) rename {src => crates/ruff/src}/docstrings/mod.rs (100%) rename {src => crates/ruff/src}/docstrings/numpy.rs (100%) rename {src => crates/ruff/src}/docstrings/sections.rs (100%) rename {src => crates/ruff/src}/docstrings/styles.rs (100%) rename {src => crates/ruff/src}/fix.rs (100%) rename {src => crates/ruff/src}/flake8_to_ruff/black.rs (100%) rename {src => crates/ruff/src}/flake8_to_ruff/converter.rs (100%) rename {src => crates/ruff/src}/flake8_to_ruff/external_config.rs (100%) rename {src => crates/ruff/src}/flake8_to_ruff/isort.rs (100%) rename {src => crates/ruff/src}/flake8_to_ruff/mod.rs (100%) rename {src => crates/ruff/src}/flake8_to_ruff/parser.rs (100%) rename {src => crates/ruff/src}/flake8_to_ruff/plugin.rs (100%) rename {src => crates/ruff/src}/flake8_to_ruff/pyproject.rs (100%) rename {src => crates/ruff/src}/fs.rs (100%) rename {src => crates/ruff/src}/lex/docstring_detection.rs (100%) rename {src => crates/ruff/src}/lex/mod.rs (100%) rename {src => crates/ruff/src}/lib.rs (100%) rename {src => crates/ruff/src}/lib_native.rs (100%) rename {src => crates/ruff/src}/lib_wasm.rs (100%) rename {src => crates/ruff/src}/linter.rs (100%) rename {src => crates/ruff/src}/logging.rs (100%) rename {src => crates/ruff/src}/message.rs (100%) rename {src => crates/ruff/src}/noqa.rs (100%) rename {src => crates/ruff/src}/packaging.rs (100%) rename {src => crates/ruff/src}/python/builtins.rs (100%) rename {src => crates/ruff/src}/python/future.rs (100%) rename {src => crates/ruff/src}/python/identifiers.rs (100%) rename {src => crates/ruff/src}/python/keyword.rs (100%) rename {src => crates/ruff/src}/python/mod.rs (100%) rename {src => crates/ruff/src}/python/string.rs (100%) rename {src => crates/ruff/src}/python/sys.rs (100%) rename {src => crates/ruff/src}/python/typing.rs (100%) rename {src => crates/ruff/src}/registry.rs (100%) rename {src => crates/ruff/src}/resolver.rs (100%) rename {src => crates/ruff/src}/rule_redirects.rs (100%) rename {src => crates/ruff/src}/rule_selector.rs (100%) rename {src => crates/ruff/src}/rules/eradicate/detection.rs (100%) rename {src => crates/ruff/src}/rules/eradicate/mod.rs (100%) rename {src => crates/ruff/src}/rules/eradicate/rules.rs (100%) rename {src => crates/ruff/src}/rules/eradicate/snapshots/ruff__rules__eradicate__tests__ERA001_ERA001.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_2020/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_2020/rules.rs (100%) rename {src => crates/ruff/src}/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT101_YTT101.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT102_YTT102.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT103_YTT103.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT201_YTT201.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT202_YTT202.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT203_YTT203.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT204_YTT204.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT301_YTT301.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT302_YTT302.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT303_YTT303.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_annotations/fixes.rs (100%) rename {src => crates/ruff/src}/rules/flake8_annotations/helpers.rs (100%) rename {src => crates/ruff/src}/rules/flake8_annotations/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_annotations/rules.rs (100%) rename {src => crates/ruff/src}/rules/flake8_annotations/settings.rs (100%) rename {src => crates/ruff/src}/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__allow_nested_overload.snap (100%) rename {src => crates/ruff/src}/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__allow_overload.snap (100%) rename {src => crates/ruff/src}/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__allow_star_arg_any.snap (100%) rename {src => crates/ruff/src}/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__defaults.snap (100%) rename {src => crates/ruff/src}/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__mypy_init_return.snap (100%) rename {src => crates/ruff/src}/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__suppress_dummy_args.snap (100%) rename {src => crates/ruff/src}/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__suppress_none_returning.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/helpers.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/assert_used.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/bad_file_permissions.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/exec_used.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/hardcoded_bind_all_interfaces.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/hardcoded_password_default.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/hardcoded_password_func_arg.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/hardcoded_password_string.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/hardcoded_tmp_directory.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/hashlib_insecure_hash_functions.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/jinja2_autoescape_false.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/logging_config_insecure_listen.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/request_with_no_cert_validation.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/request_without_timeout.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/snmp_insecure_version.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/snmp_weak_cryptography.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/try_except_pass.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/rules/unsafe_yaml_load.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/settings.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S101_S101.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S102_S102.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S103_S103.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S104_S104.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S105_S105.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S106_S106.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S107_S107.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S108_S108.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S108_extend.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S110_S110.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S110_typed.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S113_S113.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S324_S324.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S501_S501.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S506_S506.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S508_S508.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S509_S509.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S612_S612.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S701_S701.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_blind_except/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_blind_except/rules.rs (100%) rename {src => crates/ruff/src}/rules/flake8_blind_except/snapshots/ruff__rules__flake8_blind_except__tests__BLE001_BLE.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_boolean_trap/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_boolean_trap/rules.rs (100%) rename {src => crates/ruff/src}/rules/flake8_boolean_trap/snapshots/ruff__rules__flake8_boolean_trap__tests__FBT001_FBT.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_boolean_trap/snapshots/ruff__rules__flake8_boolean_trap__tests__FBT002_FBT.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_boolean_trap/snapshots/ruff__rules__flake8_boolean_trap__tests__FBT003_FBT.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/abstract_base_class.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/assert_false.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/assert_raises_exception.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/assignment_to_os_environ.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/cached_instance_method.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/cannot_raise_literal.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/duplicate_exceptions.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/f_string_docstring.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/function_call_argument_default.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/function_uses_loop_variable.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/getattr_with_constant.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/jump_statement_in_finally.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/loop_variable_overrides_iterator.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/mutable_argument_default.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/raise_without_from_inside_except.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/redundant_tuple_in_exception_handler.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/setattr_with_constant.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/star_arg_unpacking_after_keyword_arg.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/strip_with_multi_characters.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/unary_prefix_increment.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/unreliable_callable_check.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/unused_loop_control_variable.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/useless_comparison.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/useless_contextlib_suppress.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/useless_expression.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/rules/zip_without_explicit_strict.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/settings.rs (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B002_B002.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B003_B003.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B004_B004.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B005_B005.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B006_B006_B008.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B007_B007.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B008_B006_B008.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B009_B009_B010.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B010_B009_B010.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B011_B011.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B012_B012.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B013_B013.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B014_B014.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B015_B015.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B016_B016.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B017_B017.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B018_B018.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B019_B019.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B020_B020.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B021_B021.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B022_B022.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B023_B023.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B024_B024.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B025_B025.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B026_B026.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B027_B027.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B904_B904.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B905_B905.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__extend_immutable_calls.snap (100%) rename {src => crates/ruff/src}/rules/flake8_builtins/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_builtins/rules.rs (100%) rename {src => crates/ruff/src}/rules/flake8_builtins/settings.rs (100%) rename {src => crates/ruff/src}/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A001_A001.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A001_A001.py_builtins_ignorelist.snap (100%) rename {src => crates/ruff/src}/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A002_A002.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A002_A002.py_builtins_ignorelist.snap (100%) rename {src => crates/ruff/src}/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A003_A003.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A003_A003.py_builtins_ignorelist.snap (100%) rename {src => crates/ruff/src}/rules/flake8_builtins/types.rs (100%) rename {src => crates/ruff/src}/rules/flake8_commas/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_commas/rules.rs (100%) rename {src => crates/ruff/src}/rules/flake8_commas/snapshots/ruff__rules__flake8_commas__tests__COM81.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/fixes.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/helpers.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/unnecessary_call_around_sorted.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/unnecessary_collection_call.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/unnecessary_comprehension.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/unnecessary_double_cast_or_process.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/unnecessary_generator_dict.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/unnecessary_generator_list.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/unnecessary_generator_set.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/unnecessary_list_call.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_dict.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_set.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/unnecessary_literal_dict.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/unnecessary_literal_set.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/unnecessary_literal_within_list_call.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/unnecessary_literal_within_tuple_call.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/unnecessary_map.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/rules/unnecessary_subscript_reversal.rs (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C400_C400.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C401_C401.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C402_C402.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C403_C403.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C404_C404.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C405_C405.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C406_C406.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C408_C408.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C409_C409.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C410_C410.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C411_C411.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C413_C413.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C414_C414.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C415_C415.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C416_C416.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C417_C417.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_datetimez/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_datetimez/rules.rs (100%) rename {src => crates/ruff/src}/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ001_DTZ001.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ002_DTZ002.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ003_DTZ003.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ004_DTZ004.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ005_DTZ005.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ006_DTZ006.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ007_DTZ007.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ011_DTZ011.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ012_DTZ012.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_debugger/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_debugger/rules.rs (100%) rename {src => crates/ruff/src}/rules/flake8_debugger/snapshots/ruff__rules__flake8_debugger__tests__T100_T100.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_debugger/types.rs (100%) rename {src => crates/ruff/src}/rules/flake8_errmsg/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_errmsg/rules.rs (100%) rename {src => crates/ruff/src}/rules/flake8_errmsg/settings.rs (100%) rename {src => crates/ruff/src}/rules/flake8_errmsg/snapshots/ruff__rules__flake8_errmsg__tests__custom.snap (100%) rename {src => crates/ruff/src}/rules/flake8_errmsg/snapshots/ruff__rules__flake8_errmsg__tests__defaults.snap (100%) rename {src => crates/ruff/src}/rules/flake8_executable/helpers.rs (100%) rename {src => crates/ruff/src}/rules/flake8_executable/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_executable/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_executable/rules/shebang_missing.rs (100%) rename {src => crates/ruff/src}/rules/flake8_executable/rules/shebang_newline.rs (100%) rename {src => crates/ruff/src}/rules/flake8_executable/rules/shebang_not_executable.rs (100%) rename {src => crates/ruff/src}/rules/flake8_executable/rules/shebang_python.rs (100%) rename {src => crates/ruff/src}/rules/flake8_executable/rules/shebang_whitespace.rs (100%) rename {src => crates/ruff/src}/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE001_1.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE001_2.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE001_3.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE002_1.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE002_2.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE002_3.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE003.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE004_1.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE004_2.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE004_3.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE005_1.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE005_2.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE005_3.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_implicit_str_concat/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_implicit_str_concat/rules.rs (100%) rename {src => crates/ruff/src}/rules/flake8_implicit_str_concat/settings.rs (100%) rename {src => crates/ruff/src}/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__ISC001_ISC.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__ISC002_ISC.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__ISC003_ISC.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__multiline_ISC001_ISC.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__multiline_ISC002_ISC.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__multiline_ISC003_ISC.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_import_conventions/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_import_conventions/rules.rs (100%) rename {src => crates/ruff/src}/rules/flake8_import_conventions/settings.rs (100%) rename {src => crates/ruff/src}/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__custom.snap (100%) rename {src => crates/ruff/src}/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__defaults.snap (100%) rename {src => crates/ruff/src}/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__from_imports.snap (100%) rename {src => crates/ruff/src}/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__override_default.snap (100%) rename {src => crates/ruff/src}/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__remove_default.snap (100%) rename {src => crates/ruff/src}/rules/flake8_logging_format/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_logging_format/rules.rs (100%) rename {src => crates/ruff/src}/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G001.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G002.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G003.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G004.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G010.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G101_1.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G101_2.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G201.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G202.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_argparse_parser_error_ok.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_extra_ok.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_extra_str_format_ok.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_simple_ok.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_warnings_ok.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_logging_format/violations.rs (100%) rename {src => crates/ruff/src}/rules/flake8_no_pep420/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_no_pep420/rules.rs (100%) rename {src => crates/ruff/src}/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_empty.snap (81%) rename {src => crates/ruff/src}/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_nonempty.snap (81%) rename {src => crates/ruff/src}/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_shebang.snap (81%) rename {src => crates/ruff/src}/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_ignored.snap (100%) rename {src => crates/ruff/src}/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_pass_init.snap (100%) rename {src => crates/ruff/src}/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_pass_namespace_package.snap (100%) rename {src => crates/ruff/src}/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_pass_pyi.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pie/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_pie/rules.rs (100%) rename {src => crates/ruff/src}/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE790_PIE790.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE794_PIE794.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE796_PIE796.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE800_PIE800.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE804_PIE804.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE807_PIE807.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_print/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_print/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_print/rules/print_call.rs (100%) rename {src => crates/ruff/src}/rules/flake8_print/snapshots/ruff__rules__flake8_print__tests__T201_T201.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_print/snapshots/ruff__rules__flake8_print__tests__T203_T203.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/rules/assertion.rs (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/rules/fail.rs (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/rules/fixture.rs (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/rules/helpers.rs (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/rules/imports.rs (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/rules/marks.rs (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/rules/parametrize.rs (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/rules/patch.rs (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/rules/raises.rs (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/rules/unittest_assert.rs (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/settings.rs (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT001_default.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT001_no_parentheses.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT002.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT003.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT004.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT005.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT006_csv.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT006_default.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT006_list.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_list_of_lists.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_list_of_tuples.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_tuple_of_lists.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_tuple_of_tuples.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT008.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT009.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT010.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT011_default.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT011_extend_broad_exceptions.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT011_replace_broad_exceptions.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT012.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT013.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT015.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT016.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT017.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT018.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT019.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT020.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT021.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT022.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT023_default.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT023_no_parentheses.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT024.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT025.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT026.snap (100%) rename {src => crates/ruff/src}/rules/flake8_pytest_style/types.rs (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/rules.rs (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/settings.rs (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_class.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_function.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_module_multiline.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_module_singleline.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_class.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_function.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_module_multiline.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_module_singleline.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_class.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_function.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_module_multiline.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_module_singleline.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_class.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_function.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_module_multiline.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_module_singleline.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_escaped.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_implicit.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_multiline_string.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_noqa.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_wrapped.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_escaped.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_implicit.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_multiline_string.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_noqa.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_wrapped.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_raise/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_raise/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_raise/rules/unnecessary_paren_on_raise_exception.rs (100%) rename {src => crates/ruff/src}/rules/flake8_raise/snapshots/ruff__rules__flake8_raise__tests__unnecessary-paren-on-raise-exception_RSE102.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_return/branch.rs (100%) rename {src => crates/ruff/src}/rules/flake8_return/helpers.rs (100%) rename {src => crates/ruff/src}/rules/flake8_return/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_return/rules.rs (100%) rename {src => crates/ruff/src}/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET501_RET501.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET502_RET502.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET503_RET503.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET504_RET504.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET505_RET505.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET506_RET506.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET507_RET507.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET508_RET508.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_return/visitor.rs (100%) rename {src => crates/ruff/src}/rules/flake8_self/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_self/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_self/rules/private_member_access.rs (100%) rename {src => crates/ruff/src}/rules/flake8_self/snapshots/ruff__rules__flake8_self__tests__private-member-access_SLF001.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/rules/ast_bool_op.rs (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/rules/ast_expr.rs (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/rules/ast_for.rs (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/rules/ast_if.rs (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/rules/ast_ifexp.rs (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/rules/ast_unary_op.rs (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/rules/ast_with.rs (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/rules/fix_if.rs (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/rules/fix_with.rs (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/rules/key_in_dict.rs (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/rules/open_file_with_context_handler.rs (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/rules/return_in_try_except_finally.rs (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/rules/use_contextlib_suppress.rs (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/rules/yoda_conditions.rs (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM101_SIM101.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM102_SIM102.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM103_SIM103.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM105_SIM105.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM107_SIM107.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM108_SIM108.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM109_SIM109.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM110_SIM110.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM111_SIM111.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM112_SIM112.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM115_SIM115.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM117_SIM117.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM118_SIM118.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM201_SIM201.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM202_SIM202.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM208_SIM208.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM210_SIM210.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM211_SIM211.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM212_SIM212.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM220_SIM220.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM221_SIM221.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM222_SIM222.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM223_SIM223.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM300_SIM300.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM401_SIM401.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_tidy_imports/banned_api.rs (100%) rename {src => crates/ruff/src}/rules/flake8_tidy_imports/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_tidy_imports/options.rs (100%) rename {src => crates/ruff/src}/rules/flake8_tidy_imports/relative_imports.rs (100%) rename {src => crates/ruff/src}/rules/flake8_tidy_imports/snapshots/ruff__rules__flake8_tidy_imports__banned_api__tests__banned_api_true_positives.snap (100%) rename {src => crates/ruff/src}/rules/flake8_tidy_imports/snapshots/ruff__rules__flake8_tidy_imports__relative_imports__tests__ban_all_imports.snap (100%) rename {src => crates/ruff/src}/rules/flake8_tidy_imports/snapshots/ruff__rules__flake8_tidy_imports__relative_imports__tests__ban_parent_imports.snap (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/helpers.rs (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/rules/empty_type_checking_block.rs (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/rules/runtime_import_in_type_checking_block.rs (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/rules/typing_only_runtime_import.rs (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/settings.rs (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__empty-type-checking-block_TCH005.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__exempt_modules.snap (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_1.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_2.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_3.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_4.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_5.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_6.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_7.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_8.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__strict.snap (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-first-party-import_TCH001.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-standard-library-import_TCH003.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-third-party-import_TCH002.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-third-party-import_strict.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_unused_arguments/helpers.rs (100%) rename {src => crates/ruff/src}/rules/flake8_unused_arguments/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_unused_arguments/rules.rs (100%) rename {src => crates/ruff/src}/rules/flake8_unused_arguments/settings.rs (100%) rename {src => crates/ruff/src}/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG001_ARG.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG002_ARG.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG003_ARG.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG004_ARG.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG005_ARG.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__enforce_variadic_names.snap (100%) rename {src => crates/ruff/src}/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ignore_variadic_names.snap (100%) rename {src => crates/ruff/src}/rules/flake8_unused_arguments/types.rs (100%) rename {src => crates/ruff/src}/rules/flake8_use_pathlib/helpers.rs (100%) rename {src => crates/ruff/src}/rules/flake8_use_pathlib/mod.rs (100%) rename {src => crates/ruff/src}/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__PTH124_py_path_1.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__PTH124_py_path_2.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__full_name.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__import_as.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__import_from.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__import_from_as.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__use_pathlib.py.snap (100%) rename {src => crates/ruff/src}/rules/flake8_use_pathlib/violations.rs (100%) rename {src => crates/ruff/src}/rules/isort/annotate.rs (100%) rename {src => crates/ruff/src}/rules/isort/categorize.rs (100%) rename {src => crates/ruff/src}/rules/isort/comments.rs (100%) rename {src => crates/ruff/src}/rules/isort/format.rs (100%) rename {src => crates/ruff/src}/rules/isort/helpers.rs (100%) rename {src => crates/ruff/src}/rules/isort/mod.rs (100%) rename {src => crates/ruff/src}/rules/isort/normalize.rs (100%) rename {src => crates/ruff/src}/rules/isort/order.rs (100%) rename {src => crates/ruff/src}/rules/isort/rules/add_required_imports.rs (100%) rename {src => crates/ruff/src}/rules/isort/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/isort/rules/organize_imports.rs (100%) rename {src => crates/ruff/src}/rules/isort/settings.rs (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__add_newline_before_comments.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__closest_to_furthest_relative_imports_order.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__combine_as_imports.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__combine_as_imports_combine_as_imports.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__combine_import_from.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__combined_required_imports_docstring.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__combined_required_imports_docstring_only.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__combined_required_imports_empty.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__comments.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__deduplicate_imports.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__fit_line_length.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__fit_line_length_comment.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__force_single_line_force_single_line.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__force_sort_within_sections.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__force_sort_within_sections_force_sort_within_sections.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__force_wrap_aliases.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__force_wrap_aliases_force_wrap_aliases.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__forced_separate.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__import_from_after_import.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__inline_comments.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__insert_empty_lines.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__insert_empty_lines.pyi.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__leading_prefix.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__lines_after_imports_lines_after_imports_class_after.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__lines_after_imports_lines_after_imports_func_after.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__lines_after_imports_lines_after_imports_nothing_after.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__magic_trailing_comma.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__natural_order.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__no_lines_before.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__no_lines_before.py_no_lines_before.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__no_reorder_within_section.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__no_wrap_star.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_false_order_by_type.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_classes.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_classes_order_by_type_with_custom_classes.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_constants.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_constants_order_by_type_with_custom_constants.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_variables.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_variables_order_by_type_with_custom_variables.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__order_relative_imports_by_level.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__preserve_comment_order.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__preserve_import_star.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__preserve_indentation.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__preserve_tabs.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__preserve_tabs_2.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__relative_imports_order.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__reorder_within_section.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__required_import_docstring.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__required_import_docstring_only.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__required_import_empty.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__required_imports_docstring.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__required_imports_docstring_only.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__required_imports_empty.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__separate_first_party_imports.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__separate_future_imports.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__separate_local_folder_imports.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__separate_third_party_imports.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__skip.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__skip_file.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__sort_similar_imports.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__split.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__split_on_trailing_comma_magic_trailing_comma.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__star_before_others.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__straight_required_import_docstring.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__straight_required_import_docstring_only.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__straight_required_import_empty.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__trailing_suffix.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/snapshots/ruff__rules__isort__tests__type_comments.py.snap (100%) rename {src => crates/ruff/src}/rules/isort/sorting.rs (100%) rename {src => crates/ruff/src}/rules/isort/split.rs (100%) rename {src => crates/ruff/src}/rules/isort/track.rs (100%) rename {src => crates/ruff/src}/rules/isort/types.rs (100%) rename {src => crates/ruff/src}/rules/mccabe/mod.rs (100%) rename {src => crates/ruff/src}/rules/mccabe/rules.rs (100%) rename {src => crates/ruff/src}/rules/mccabe/settings.rs (100%) rename {src => crates/ruff/src}/rules/mccabe/snapshots/ruff__rules__mccabe__tests__max_complexity_0.snap (100%) rename {src => crates/ruff/src}/rules/mccabe/snapshots/ruff__rules__mccabe__tests__max_complexity_10.snap (100%) rename {src => crates/ruff/src}/rules/mccabe/snapshots/ruff__rules__mccabe__tests__max_complexity_3.snap (100%) rename {src => crates/ruff/src}/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/pandas_vet/fixes.rs (100%) rename {src => crates/ruff/src}/rules/pandas_vet/helpers.rs (100%) rename {src => crates/ruff/src}/rules/pandas_vet/mod.rs (100%) rename {src => crates/ruff/src}/rules/pandas_vet/rules/assignment_to_df.rs (100%) rename {src => crates/ruff/src}/rules/pandas_vet/rules/check_attr.rs (100%) rename {src => crates/ruff/src}/rules/pandas_vet/rules/check_call.rs (100%) rename {src => crates/ruff/src}/rules/pandas_vet/rules/inplace_argument.rs (100%) rename {src => crates/ruff/src}/rules/pandas_vet/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/pandas_vet/rules/pd_merge.rs (100%) rename {src => crates/ruff/src}/rules/pandas_vet/snapshots/ruff__rules__pandas_vet__tests__PD002_PD002.py.snap (100%) rename {src => crates/ruff/src}/rules/pep8_naming/helpers.rs (100%) rename {src => crates/ruff/src}/rules/pep8_naming/mod.rs (100%) rename {src => crates/ruff/src}/rules/pep8_naming/rules.rs (100%) rename {src => crates/ruff/src}/rules/pep8_naming/settings.rs (100%) rename {src => crates/ruff/src}/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N801_N801.py.snap (100%) rename {src => crates/ruff/src}/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N802_N802.py.snap (100%) rename {src => crates/ruff/src}/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N803_N803.py.snap (100%) rename {src => crates/ruff/src}/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N804_N804.py.snap (100%) rename {src => crates/ruff/src}/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N805_N805.py.snap (100%) rename {src => crates/ruff/src}/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N806_N806.py.snap (100%) rename {src => crates/ruff/src}/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N807_N807.py.snap (100%) rename {src => crates/ruff/src}/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N811_N811.py.snap (100%) rename {src => crates/ruff/src}/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N812_N812.py.snap (100%) rename {src => crates/ruff/src}/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N813_N813.py.snap (100%) rename {src => crates/ruff/src}/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N814_N814.py.snap (100%) rename {src => crates/ruff/src}/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N815_N815.py.snap (100%) rename {src => crates/ruff/src}/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N816_N816.py.snap (100%) rename {src => crates/ruff/src}/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N817_N817.py.snap (100%) rename {src => crates/ruff/src}/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N818_N818.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/helpers.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/logical_lines.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/mod.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/ambiguous_class_name.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/ambiguous_function_name.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/ambiguous_variable_name.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/do_not_assign_lambda.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/do_not_use_bare_except.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/doc_line_too_long.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/errors.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/extraneous_whitespace.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/imports.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/indentation.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/invalid_escape_sequence.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/line_too_long.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/literal_comparisons.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/mixed_spaces_and_tabs.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/no_newline_at_end_of_file.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/not_tests.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/space_around_operator.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/rules/type_comparison.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/settings.rs (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E101_E101.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E111_E11.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E112_E11.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E113_E11.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E114_E11.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E115_E11.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E116_E11.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E117_E11.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E201_E20.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E202_E20.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E203_E20.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E221_E22.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E222_E22.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E223_E22.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E224_E22.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E401_E40.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E402_E40.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E402_E402.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E501_E501.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E711_E711.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E712_E712.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E713_E713.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E714_E714.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E721_E721.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E722_E722.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E731_E731.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E741_E741.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E742_E742.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E743_E743.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E999_E999.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_1.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_2.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_3.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_4.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W605_W605_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W605_W605_1.py.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__constant_literals.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__max_doc_length.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__task_tags_false.snap (100%) rename {src => crates/ruff/src}/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__task_tags_true.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/helpers.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/mod.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/backslashes.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/blank_after_summary.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/blank_before_after_class.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/blank_before_after_function.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/capitalized.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/ends_with_period.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/ends_with_punctuation.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/if_needed.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/indent.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/multi_line_summary_start.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/newline_after_last_paragraph.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/no_signature.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/no_surrounding_whitespace.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/non_imperative_mood.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/not_empty.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/not_missing.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/one_liner.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/regexes.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/sections.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/starts_with_this.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/rules/triple_quotes.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/settings.rs (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D100_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D101_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D102_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D102_setter.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D103_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D104_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D104_D104____init__.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D105_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D106_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D107_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D200_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D201_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D202_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D203_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D204_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D205_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D206_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D207_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D208_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D209_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D210_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D211_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D212_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D213_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D214_sections.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D215_sections.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D300_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D301_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D400_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D400_D400.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D401_D401.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D402_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D403_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D404_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D405_sections.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D406_sections.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D407_sections.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D408_sections.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D409_sections.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D410_sections.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D411_sections.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D412_sections.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D413_sections.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D414_sections.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D415_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D416_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D417_canonical_google_examples.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D417_canonical_numpy_examples.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D417_sections.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D418_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D419_D.py.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__d417_google.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__d417_numpy.snap (100%) rename {src => crates/ruff/src}/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__d417_unspecified.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/cformat.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/fixes.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/format.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/mod.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/assert_tuple.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/break_outside_loop.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/continue_outside_loop.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/default_except_not_last.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/f_string_missing_placeholders.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/forward_annotation_syntax_error.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/if_tuple.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/imports.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/invalid_literal_comparisons.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/invalid_print_syntax.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/raise_not_implemented.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/redefined_while_unused.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/repeated_keys.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/return_outside_function.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/starred_expressions.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/strings.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/undefined_export.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/undefined_local.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/undefined_name.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/unused_annotation.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/unused_variable.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/rules/yield_outside_function.rs (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_1.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_2.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_3.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_4.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_5.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_6.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_7.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_8.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F402_F402.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F403_F403.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F404_F404.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F405_F405.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F406_F406.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F407_F407.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F501_F50x.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F502_F502.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F502_F50x.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F503_F503.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F503_F50x.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F504_F504.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F504_F50x.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F505_F504.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F505_F50x.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F506_F50x.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F507_F50x.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F508_F50x.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F509_F50x.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F521_F521.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F522_F522.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F523_F523.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F524_F524.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F525_F525.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F541_F541.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F601_F601.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F602_F602.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F622_F622.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F631_F631.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F632_F632.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F633_F633.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F634_F634.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F701_F701.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F702_F702.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F704_F704.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F706_F706.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F707_F707.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F722_F722.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_1.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_10.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_11.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_12.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_13.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_14.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_15.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_16.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_17.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_18.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_19.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_2.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_20.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_21.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_3.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_4.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_5.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_6.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_7.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_8.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_9.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_1.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_2.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_3.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_4.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_5.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_6.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_7.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_8.pyi.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F822_F822_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F822_F822_1.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F823_F823.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_1.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_2.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_3.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F842_F842.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F901_F901.py.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__default_builtins.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__default_typing_modules.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__extra_builtins.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__extra_typing_modules.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__f841_dummy_variable_rgx.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__future_annotations.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__init.snap (100%) rename {src => crates/ruff/src}/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__multi_statement_lines.snap (100%) rename {src => crates/ruff/src}/rules/pygrep_hooks/mod.rs (100%) rename {src => crates/ruff/src}/rules/pygrep_hooks/rules/blanket_noqa.rs (100%) rename {src => crates/ruff/src}/rules/pygrep_hooks/rules/blanket_type_ignore.rs (100%) rename {src => crates/ruff/src}/rules/pygrep_hooks/rules/deprecated_log_warn.rs (100%) rename {src => crates/ruff/src}/rules/pygrep_hooks/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/pygrep_hooks/rules/no_eval.rs (100%) rename {src => crates/ruff/src}/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH001_PGH001_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH001_PGH001_1.py.snap (100%) rename {src => crates/ruff/src}/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH002_PGH002_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH002_PGH002_1.py.snap (100%) rename {src => crates/ruff/src}/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH003_PGH003_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH004_PGH004_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/mod.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/await_outside_async.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/comparison_of_constant.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/consider_using_sys_exit.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/global_variable_not_assigned.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/invalid_all_format.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/invalid_all_object.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/magic_value_comparison.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/merge_isinstance.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/nonlocal_without_binding.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/property_with_parameters.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/too_many_arguments.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/too_many_branches.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/too_many_return_statements.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/too_many_statements.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/unnecessary_direct_lambda_call.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/use_from_import.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/used_prior_global_declaration.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/useless_else_on_loop.rs (100%) rename {src => crates/ruff/src}/rules/pylint/rules/useless_import_alias.rs (100%) rename {src => crates/ruff/src}/rules/pylint/settings.rs (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLC0414_import_aliasing.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLC3002_unnecessary_direct_lambda_call.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0117_nonlocal_without_binding.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0118_used_prior_global_declaration.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0604_invalid_all_object.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0605_invalid_all_format.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE1142_await_outside_async.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0133_comparison_of_constant.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0206_property_with_parameters.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0402_import_aliasing.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0911_too_many_return_statements.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0912_too_many_branches.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0913_too_many_arguments.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0915_too_many_statements.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1701_consider_merging_isinstance.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_1.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_2.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_3.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_4.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_5.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_6.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR2004_magic_value_comparison.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLW0120_useless_else_on_loop.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__PLW0602_global_variable_not_assigned.py.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__allow_magic_value_types.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__max_args.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__max_args_with_dummy_variables.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__max_branches.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__max_return_statements.snap (100%) rename {src => crates/ruff/src}/rules/pylint/snapshots/ruff__rules__pylint__tests__max_statements.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/fixes.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/helpers.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/mod.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/convert_named_tuple_functional_to_class.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/convert_typed_dict_functional_to_class.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/datetime_utc_alias.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/deprecated_unittest_alias.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/extraneous_parentheses.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/f_strings.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/format_literals.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/functools_cache.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/import_replacements.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/lru_cache_without_parameters.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/native_literals.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/open_alias.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/os_error_alias.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/outdated_version_block.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/printf_string_formatting.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/quoted_annotation.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/redundant_open_modes.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/replace_stdout_stderr.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/replace_universal_newlines.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/rewrite_c_element_tree.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/rewrite_mock_import.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/rewrite_unicode_literal.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/rewrite_yield_from.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/super_args.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/super_call_with_parameters.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/type_of_primitive.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/typing_text_str_alias.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/unnecessary_builtin_import.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/unnecessary_coding_comment.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/unnecessary_encode_utf8.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/unnecessary_future_import.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/unpack_list_comprehension.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/use_pep585_annotation.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/use_pep604_annotation.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/useless_metaclass_type.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/rules/useless_object_inheritance.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/settings.rs (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP001_UP001.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP003_UP003.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP004_UP004.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP005_UP005.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP006_UP006.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP007_UP007.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP008_UP008.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_1.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_2.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_3.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_4.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP010_UP010.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP011_UP011.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP012_UP012.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP013_UP013.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP014_UP014.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP015_UP015.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP018_UP018.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP019_UP019.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP021_UP021.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP022_UP022.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP023_UP023.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_1.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_2.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_3.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP025_UP025.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP026_UP026.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP027_UP027.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP028_UP028_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP028_UP028_1.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP029_UP029.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP030_UP030_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP030_UP030_1.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP030_UP030_2.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP031_UP031_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP031_UP031_1.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP032_UP032.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP033_UP033.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP034_UP034.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP035_UP035.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_0.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_1.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_2.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_3.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_4.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP037_UP037.py.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__datetime_utc_alias_py311.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_585_p37.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_585_py310.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_604_p37.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_604_py310.snap (100%) rename {src => crates/ruff/src}/rules/pyupgrade/types.rs (100%) rename {src => crates/ruff/src}/rules/ruff/mod.rs (100%) rename {src => crates/ruff/src}/rules/ruff/rules/ambiguous_unicode_character.rs (100%) rename {src => crates/ruff/src}/rules/ruff/rules/keyword_argument_before_star_argument.rs (100%) rename {src => crates/ruff/src}/rules/ruff/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/ruff/rules/unpack_instead_of_concatenating_to_collection_literal.rs (100%) rename {src => crates/ruff/src}/rules/ruff/rules/unused_noqa.rs (100%) rename {src => crates/ruff/src}/rules/ruff/snapshots/ruff__rules__ruff__tests__RUF004_RUF004.py.snap (100%) rename {src => crates/ruff/src}/rules/ruff/snapshots/ruff__rules__ruff__tests__RUF005_RUF005.py.snap (100%) rename {src => crates/ruff/src}/rules/ruff/snapshots/ruff__rules__ruff__tests__confusables.snap (100%) rename {src => crates/ruff/src}/rules/ruff/snapshots/ruff__rules__ruff__tests__flake8_noqa.snap (100%) rename {src => crates/ruff/src}/rules/ruff/snapshots/ruff__rules__ruff__tests__redirects.snap (100%) rename {src => crates/ruff/src}/rules/ruff/snapshots/ruff__rules__ruff__tests__ruf100_0.snap (100%) rename {src => crates/ruff/src}/rules/ruff/snapshots/ruff__rules__ruff__tests__ruf100_1.snap (100%) rename {src => crates/ruff/src}/rules/ruff/snapshots/ruff__rules__ruff__tests__ruf100_2.snap (100%) rename {src => crates/ruff/src}/rules/ruff/snapshots/ruff__rules__ruff__tests__ruff_noqa.snap (100%) rename {src => crates/ruff/src}/rules/tryceratops/mod.rs (100%) rename {src => crates/ruff/src}/rules/tryceratops/rules/error_instead_of_exception.rs (100%) rename {src => crates/ruff/src}/rules/tryceratops/rules/mod.rs (100%) rename {src => crates/ruff/src}/rules/tryceratops/rules/prefer_type_error.rs (100%) rename {src => crates/ruff/src}/rules/tryceratops/rules/raise_vanilla_args.rs (100%) rename {src => crates/ruff/src}/rules/tryceratops/rules/raise_vanilla_class.rs (100%) rename {src => crates/ruff/src}/rules/tryceratops/rules/raise_within_try.rs (100%) rename {src => crates/ruff/src}/rules/tryceratops/rules/reraise_no_cause.rs (100%) rename {src => crates/ruff/src}/rules/tryceratops/rules/try_consider_else.rs (100%) rename {src => crates/ruff/src}/rules/tryceratops/rules/verbose_raise.rs (100%) rename {src => crates/ruff/src}/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__error-instead-of-exception_TRY400.py.snap (100%) rename {src => crates/ruff/src}/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__prefer-type-error_TRY004.py.snap (100%) rename {src => crates/ruff/src}/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__raise-vanilla-args_TRY003.py.snap (100%) rename {src => crates/ruff/src}/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__raise-vanilla-class_TRY002.py.snap (100%) rename {src => crates/ruff/src}/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__raise-within-try_TRY301.py.snap (100%) rename {src => crates/ruff/src}/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__reraise-no-cause_TRY200.py.snap (100%) rename {src => crates/ruff/src}/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__try-consider-else_TRY300.py.snap (100%) rename {src => crates/ruff/src}/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__verbose-raise_TRY201.py.snap (100%) rename {src => crates/ruff/src}/rustpython_helpers.rs (100%) rename {src => crates/ruff/src}/settings/configuration.rs (100%) rename {src => crates/ruff/src}/settings/defaults.rs (100%) rename {src => crates/ruff/src}/settings/flags.rs (100%) rename {src => crates/ruff/src}/settings/hashable.rs (100%) rename {src => crates/ruff/src}/settings/mod.rs (100%) rename {src => crates/ruff/src}/settings/options.rs (100%) rename {src => crates/ruff/src}/settings/options_base.rs (100%) rename {src => crates/ruff/src}/settings/pyproject.rs (100%) rename {src => crates/ruff/src}/settings/rule_table.rs (100%) rename {src => crates/ruff/src}/settings/types.rs (100%) rename {src => crates/ruff/src}/source_code/generator.rs (100%) rename {src => crates/ruff/src}/source_code/indexer.rs (100%) rename {src => crates/ruff/src}/source_code/locator.rs (100%) rename {src => crates/ruff/src}/source_code/mod.rs (100%) rename {src => crates/ruff/src}/source_code/stylist.rs (100%) rename {src => crates/ruff/src}/test.rs (100%) rename {src => crates/ruff/src}/vendor/bytes.rs (100%) rename {src => crates/ruff/src}/vendor/mod.rs (100%) rename {src => crates/ruff/src}/vendor/str.rs (100%) rename {src => crates/ruff/src}/violation.rs (100%) rename {src => crates/ruff/src}/visibility.rs (100%) rename {ruff_cli => crates/ruff_cli}/Cargo.toml (93%) rename {ruff_cli => crates/ruff_cli}/src/args.rs (100%) rename {ruff_cli => crates/ruff_cli}/src/cache.rs (100%) rename {ruff_cli => crates/ruff_cli}/src/commands.rs (100%) rename {ruff_cli => crates/ruff_cli}/src/commands/linter.rs (100%) rename {ruff_cli => crates/ruff_cli}/src/diagnostics.rs (100%) rename {ruff_cli => crates/ruff_cli}/src/iterators.rs (100%) rename {ruff_cli => crates/ruff_cli}/src/lib.rs (100%) rename {ruff_cli => crates/ruff_cli}/src/main.rs (100%) rename {ruff_cli => crates/ruff_cli}/src/printer.rs (100%) rename {ruff_cli => crates/ruff_cli}/src/resolve.rs (100%) rename {ruff_cli => crates/ruff_cli}/tests/black_compatibility_test.rs (92%) rename {ruff_cli => crates/ruff_cli}/tests/integration_test.rs (100%) rename {ruff_dev => crates/ruff_dev}/Cargo.toml (97%) rename {ruff_dev => crates/ruff_dev}/src/generate_all.rs (100%) rename {ruff_dev => crates/ruff_dev}/src/generate_cli_help.rs (100%) rename {ruff_dev => crates/ruff_dev}/src/generate_json_schema.rs (100%) rename {ruff_dev => crates/ruff_dev}/src/generate_options.rs (100%) rename {ruff_dev => crates/ruff_dev}/src/generate_rules_table.rs (100%) rename {ruff_dev => crates/ruff_dev}/src/main.rs (99%) rename {ruff_dev => crates/ruff_dev}/src/print_ast.rs (100%) rename {ruff_dev => crates/ruff_dev}/src/print_cst.rs (100%) rename {ruff_dev => crates/ruff_dev}/src/print_tokens.rs (100%) rename {ruff_dev => crates/ruff_dev}/src/round_trip.rs (100%) rename {ruff_dev => crates/ruff_dev}/src/utils.rs (100%) rename {ruff_macros => crates/ruff_macros}/Cargo.toml (100%) rename {ruff_macros => crates/ruff_macros}/src/config.rs (100%) rename {ruff_macros => crates/ruff_macros}/src/define_rule_mapping.rs (100%) rename {ruff_macros => crates/ruff_macros}/src/derive_message_formats.rs (100%) rename {ruff_macros => crates/ruff_macros}/src/lib.rs (100%) rename {ruff_macros => crates/ruff_macros}/src/rule_code_prefix.rs (100%) rename {ruff_macros => crates/ruff_macros}/src/rule_namespace.rs (100%) diff --git a/.github/workflows/playground.yaml b/.github/workflows/playground.yaml index 02eea99203..a5c58fe03c 100644 --- a/.github/workflows/playground.yaml +++ b/.github/workflows/playground.yaml @@ -28,7 +28,7 @@ jobs: - uses: jetli/wasm-pack-action@v0.4.0 - uses: jetli/wasm-bindgen-action@v0.2.0 - name: "Run wasm-pack" - run: wasm-pack build --target web --out-dir playground/src/pkg . -- -p ruff + run: wasm-pack build --target web --out-dir ../../playground/src/pkg crates/ruff - name: "Install Node dependencies" run: npm ci working-directory: playground diff --git a/.gitignore b/.gitignore index a4673554d3..8a817cec8e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ # Local cache .ruff_cache -resources/test/cpython +crates/ruff/resources/test/cpython docs/ mkdocs.yml .overrides diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 466cb7a243..c221832915 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: language: rust types_or: [python, pyi] require_serial: true - exclude: ^resources + exclude: ^crates/ruff/resources - id: dev-generate-all name: dev-generate-all entry: cargo dev generate-all diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 869632d27c..6caf4152d9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -39,7 +39,7 @@ cargo install cargo-insta After cloning the repository, run Ruff locally with: ```shell -cargo run resources/test/fixtures --no-cache +cargo run crates/ruff/resources/test/fixtures --no-cache ``` Prior to opening a pull request, ensure that your code has been auto-formatted, @@ -75,38 +75,39 @@ prior to merging. At a high level, the steps involved in adding a new lint rule are as follows: -1. Create a file for your rule (e.g., `src/rules/flake8_bugbear/rules/abstract_base_class.rs`). +1. Create a file for your rule (e.g., `crates/ruff/src/rules/flake8_bugbear/rules/abstract_base_class.rs`). 2. In that file, define a violation struct. You can grep for `define_violation!` to see examples. -3. Map the violation struct to a rule code in `src/registry.rs` (e.g., `E402`). -4. Define the logic for triggering the violation in `src/checkers/ast.rs` (for AST-based checks), - `src/checkers/tokens.rs` (for token-based checks), `src/checkers/lines.rs` (for text-based - checks), or `src/checkers/filesystem.rs` (for filesystem-based checks). +3. Map the violation struct to a rule code in `crates/ruff/src/registry.rs` (e.g., `E402`). +4. Define the logic for triggering the violation in `crates/ruff/src/checkers/ast.rs` (for AST-based + checks), `crates/ruff/src/checkers/tokens.rs` (for token-based checks), `crates/ruff/src/checkers/lines.rs` + (for text-based checks), or `crates/ruff/src/checkers/filesystem.rs` (for filesystem-based + checks). 5. Add a test fixture. 6. Update the generated files (documentation and generated code). To define the violation, start by creating a dedicated file for your rule under the appropriate -rule linter (e.g., `src/rules/flake8_bugbear/rules/abstract_base_class.rs`). That file should +rule linter (e.g., `crates/ruff/src/rules/flake8_bugbear/rules/abstract_base_class.rs`). That file should contain a struct defined via `define_violation!`, along with a function that creates the violation -based on any required inputs. (Many of the existing examples live in `src/violations.rs`, but we're -looking to place new rules in their own files.) +based on any required inputs. (Many of the existing examples live in `crates/ruff/src/violations.rs`, +but we're looking to place new rules in their own files.) -To trigger the violation, you'll likely want to augment the logic in `src/checkers/ast.rs`, which -defines the Python AST visitor, responsible for iterating over the abstract syntax tree and +To trigger the violation, you'll likely want to augment the logic in `crates/ruff/src/checkers/ast.rs`, +which defines the Python AST visitor, responsible for iterating over the abstract syntax tree and collecting diagnostics as it goes. If you need to inspect the AST, you can run `cargo dev print-ast` with a Python file. Grep for the `Check::new` invocations to understand how other, similar rules are implemented. -To add a test fixture, create a file under `resources/test/fixtures/[linter]`, named to match -the code you defined earlier (e.g., `resources/test/fixtures/pycodestyle/E402.py`). This file should +To add a test fixture, create a file under `crates/ruff/resources/test/fixtures/[linter]`, named to match +the code you defined earlier (e.g., `crates/ruff/resources/test/fixtures/pycodestyle/E402.py`). This file should contain a variety of violations and non-violations designed to evaluate and demonstrate the behavior of your lint rule. Run `cargo dev generate-all` to generate the code for your new fixture. Then run Ruff -locally with (e.g.) `cargo run resources/test/fixtures/pycodestyle/E402.py --no-cache --select E402`. +locally with (e.g.) `cargo run crates/ruff/resources/test/fixtures/pycodestyle/E402.py --no-cache --select E402`. Once you're satisfied with the output, codify the behavior as a snapshot test by adding a new -`test_case` macro in the relevant `src/[linter]/mod.rs` file. Then, run `cargo test --all`. +`test_case` macro in the relevant `crates/ruff/src/[linter]/mod.rs` file. Then, run `cargo test --all`. Your test will fail, but you'll be prompted to follow-up with `cargo insta review`. Accept the generated snapshot, then commit the snapshot file alongside the rest of your changes. @@ -116,13 +117,13 @@ Finally, regenerate the documentation and generated code with `cargo dev generat Ruff's user-facing settings live in a few different places. -First, the command-line options are defined via the `Cli` struct in `src/cli.rs`. +First, the command-line options are defined via the `Cli` struct in `crates/ruff/src/cli.rs`. -Second, the `pyproject.toml` options are defined in `src/settings/options.rs` (via the `Options` -struct), `src/settings/configuration.rs` (via the `Configuration` struct), and `src/settings/mod.rs` -(via the `Settings` struct). These represent, respectively: the schema used to parse the -`pyproject.toml` file; an internal, intermediate representation; and the final, internal -representation used to power Ruff. +Second, the `pyproject.toml` options are defined in `crates/ruff/src/settings/options.rs` (via the +`Options` struct), `crates/ruff/src/settings/configuration.rs` (via the `Configuration` struct), and +`crates/ruff/src/settings/mod.rs` (via the `Settings` struct). These represent, respectively: the +schema used to parse the `pyproject.toml` file; an internal, intermediate representation; and the +final, internal representation used to power Ruff. To add a new configuration option, you'll likely want to modify these latter few files (along with `cli.rs`, if appropriate). If you want to pattern-match against an existing example, grep for @@ -130,11 +131,11 @@ To add a new configuration option, you'll likely want to modify these latter few variables (e.g., `_`). Note that plugin-specific configuration options are defined in their own modules (e.g., -`src/flake8_unused_arguments/settings.rs`). +`crates/ruff/src/flake8_unused_arguments/settings.rs`). You may also want to add the new configuration option to the `flake8-to-ruff` tool, which is responsible for converting `flake8` configuration files to Ruff's TOML format. This logic -lives in `flake8_to_ruff/src/converter.rs`. +lives in `crates/ruff/src/flake8_to_ruff/converter.rs`. Finally, regenerate the documentation and generated code with `cargo dev generate-all`. @@ -153,50 +154,50 @@ First, clone [CPython](https://github.com/python/cpython). It's a large and dive which makes it a good target for benchmarking. ```shell -git clone --branch 3.10 https://github.com/python/cpython.git resources/test/cpython +git clone --branch 3.10 https://github.com/python/cpython.git crates/ruff/resources/test/cpython ``` To benchmark the release build: ```shell cargo build --release && hyperfine --ignore-failure --warmup 10 \ - "./target/release/ruff ./resources/test/cpython/ --no-cache" \ - "./target/release/ruff ./resources/test/cpython/" + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/" -Benchmark 1: ./target/release/ruff ./resources/test/cpython/ --no-cache +Benchmark 1: ./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache Time (mean ± σ): 293.8 ms ± 3.2 ms [User: 2384.6 ms, System: 90.3 ms] Range (min … max): 289.9 ms … 301.6 ms 10 runs Warning: Ignoring non-zero exit code. -Benchmark 2: ./target/release/ruff ./resources/test/cpython/ +Benchmark 2: ./target/release/ruff ./crates/ruff/resources/test/cpython/ Time (mean ± σ): 48.0 ms ± 3.1 ms [User: 65.2 ms, System: 124.7 ms] Range (min … max): 45.0 ms … 66.7 ms 62 runs Warning: Ignoring non-zero exit code. Summary - './target/release/ruff ./resources/test/cpython/' ran - 6.12 ± 0.41 times faster than './target/release/ruff ./resources/test/cpython/ --no-cache' + './target/release/ruff ./crates/ruff/resources/test/cpython/' ran + 6.12 ± 0.41 times faster than './target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache' ``` To benchmark against the ecosystem's existing tools: ```shell hyperfine --ignore-failure --warmup 5 \ - "./target/release/ruff ./resources/test/cpython/ --no-cache" \ - "pyflakes resources/test/cpython" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache" \ + "pyflakes crates/ruff/resources/test/cpython" \ "autoflake --recursive --expand-star-imports --remove-all-unused-imports --remove-unused-variables --remove-duplicate-keys resources/test/cpython" \ - "pycodestyle resources/test/cpython" \ - "flake8 resources/test/cpython" + "pycodestyle crates/ruff/resources/test/cpython" \ + "flake8 crates/ruff/resources/test/cpython" -Benchmark 1: ./target/release/ruff ./resources/test/cpython/ --no-cache +Benchmark 1: ./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache Time (mean ± σ): 294.3 ms ± 3.3 ms [User: 2467.5 ms, System: 89.6 ms] Range (min … max): 291.1 ms … 302.8 ms 10 runs Warning: Ignoring non-zero exit code. -Benchmark 2: pyflakes resources/test/cpython +Benchmark 2: pyflakes crates/ruff/resources/test/cpython Time (mean ± σ): 15.786 s ± 0.143 s [User: 15.560 s, System: 0.214 s] Range (min … max): 15.640 s … 16.157 s 10 runs @@ -206,24 +207,24 @@ Benchmark 3: autoflake --recursive --expand-star-imports --remove-all-unused-imp Time (mean ± σ): 6.175 s ± 0.169 s [User: 54.102 s, System: 1.057 s] Range (min … max): 5.950 s … 6.391 s 10 runs -Benchmark 4: pycodestyle resources/test/cpython +Benchmark 4: pycodestyle crates/ruff/resources/test/cpython Time (mean ± σ): 46.921 s ± 0.508 s [User: 46.699 s, System: 0.202 s] Range (min … max): 46.171 s … 47.863 s 10 runs Warning: Ignoring non-zero exit code. -Benchmark 5: flake8 resources/test/cpython +Benchmark 5: flake8 crates/ruff/resources/test/cpython Time (mean ± σ): 12.260 s ± 0.321 s [User: 102.934 s, System: 1.230 s] Range (min … max): 11.848 s … 12.933 s 10 runs Warning: Ignoring non-zero exit code. Summary - './target/release/ruff ./resources/test/cpython/ --no-cache' ran + './target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache' ran 20.98 ± 0.62 times faster than 'autoflake --recursive --expand-star-imports --remove-all-unused-imports --remove-unused-variables --remove-duplicate-keys resources/test/cpython' - 41.66 ± 1.18 times faster than 'flake8 resources/test/cpython' - 53.64 ± 0.77 times faster than 'pyflakes resources/test/cpython' - 159.43 ± 2.48 times faster than 'pycodestyle resources/test/cpython' + 41.66 ± 1.18 times faster than 'flake8 crates/ruff/resources/test/cpython' + 53.64 ± 0.77 times faster than 'pyflakes crates/ruff/resources/test/cpython' + 159.43 ± 2.48 times faster than 'pycodestyle crates/ruff/resources/test/cpython' ``` You can run `poetry install` from `./scripts` to create a working environment for the above. All @@ -256,10 +257,10 @@ rm Lib/test/bad_coding.py \ Lib/test/test_typing.py ``` -Then, from `resources/test/cpython`, run: `time pylint -j 0 -E $(git ls-files '*.py')`. This +Then, from `crates/ruff/resources/test/cpython`, run: `time pylint -j 0 -E $(git ls-files '*.py')`. This will execute Pylint with maximum parallelism and only report errors. -To benchmark Pyupgrade, run the following from `resources/test/cpython`: +To benchmark Pyupgrade, run the following from `crates/ruff/resources/test/cpython`: ```shell hyperfine --ignore-failure --warmup 5 --prepare "git reset --hard HEAD" \ diff --git a/Cargo.lock b/Cargo.lock index 5c52832e86..c5e3b784ba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -61,9 +61,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" +checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" [[package]] name = "ascii" @@ -86,7 +86,7 @@ version = "2.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9834fcc22e0874394a010230586367d4a3e9f11b560f469262678547e1d2575e" dependencies = [ - "bstr 1.1.0", + "bstr 1.2.0", "doc-comment", "predicates", "predicates-core", @@ -175,9 +175,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45ea9b00a7b3f2988e9a65ad3917e62123c38dba709b666506207be96d1790b" +checksum = "b7f0778972c64420fdedc63f09919c8a88bda7b25135357fd25a5d9f3257e832" dependencies = [ "memchr", "once_cell", @@ -208,9 +208,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.0.78" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" [[package]] name = "cfg-if" @@ -406,7 +406,7 @@ dependencies = [ "encode_unicode", "lazy_static", "libc", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -550,9 +550,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.87" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b61a7545f753a88bcbe0a70de1fcc0221e10bfc752f576754fa91e663db1622e" +checksum = "bc831ee6a32dd495436e317595e639a587aa9907bef96fe6e6abc290ab6204e9" dependencies = [ "cc", "cxxbridge-flags", @@ -562,9 +562,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.87" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f464457d494b5ed6905c63b0c4704842aba319084a0a3561cdc1359536b53200" +checksum = "94331d54f1b1a8895cd81049f7eaaaef9d05a7dcb4d1fd08bf3ff0806246789d" dependencies = [ "cc", "codespan-reporting", @@ -577,15 +577,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.87" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43c7119ce3a3701ed81aca8410b9acf6fc399d2629d057b87e2efa4e63a3aaea" +checksum = "48dcd35ba14ca9b40d6e4b4b39961f23d835dbb8eed74565ded361d93e1feb8a" [[package]] name = "cxxbridge-macro" -version = "1.0.87" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e07508b90551e610910fa648a1878991d367064997a596135b86df30daf07e" +checksum = "81bbeb29798b407ccd82a3324ade1a7286e0d29851475990b612670f6f5124d2" dependencies = [ "proc-macro2", "quote", @@ -669,9 +669,9 @@ checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" [[package]] name = "either" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" [[package]] name = "ena" @@ -736,7 +736,7 @@ dependencies = [ "cfg-if", "libc", "redox_syscall", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -834,7 +834,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" dependencies = [ "aho-corasick", - "bstr 1.1.0", + "bstr 1.2.0", "fnv", "log", "regex", @@ -857,9 +857,9 @@ dependencies = [ [[package]] name = "heck" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" @@ -879,6 +879,12 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "856b5cb0902c2b6d65d5fd97dfa30f9b70c7538e770b98eab5ed52d8db923e01" + [[package]] name = "hexf-parse" version = "0.2.1" @@ -1003,24 +1009,24 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" +checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" dependencies = [ "libc", - "windows-sys", + "windows-sys 0.45.0", ] [[package]] name = "is-terminal" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi 0.3.0", "io-lifetimes", "rustix", - "windows-sys", + "windows-sys 0.45.0", ] [[package]] @@ -1055,9 +1061,9 @@ checksum = "72167d68f5fce3b8655487b8038691a3c9984ee769590f93f2a631f4ad64e4f5" [[package]] name = "js-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" dependencies = [ "wasm-bindgen", ] @@ -1268,7 +1274,7 @@ dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -1328,9 +1334,9 @@ dependencies = [ [[package]] name = "notify" -version = "5.0.0" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2c66da08abae1c024c01d635253e402341b4060a12e99b31c7594063bf490a" +checksum = "58ea850aa68a06e48fdb069c0ec44d0d64c8dbffa49bf3b6f7f0a901fdea1ba9" dependencies = [ "bitflags", "crossbeam-channel", @@ -1341,7 +1347,7 @@ dependencies = [ "libc", "mio", "walkdir", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -1446,15 +1452,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.6" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.45.0", ] [[package]] @@ -1724,9 +1730,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.50" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" +checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" dependencies = [ "unicode-ident", ] @@ -2030,16 +2036,16 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustix" -version = "0.36.7" +version = "0.36.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fdebc4b395b7fbb9ab11e462e20ed9051e7b16e42d24042c776eca0ac81b03" +checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644" dependencies = [ "bitflags", "errno", "io-lifetimes", "libc", "linux-raw-sys", - "windows-sys", + "windows-sys 0.45.0", ] [[package]] @@ -2254,9 +2260,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.91" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" +checksum = "7434af0dc1cbd59268aa98b4c22c131c0584d2232f6fb166efb993e2832e896a" dependencies = [ "itoa", "ryu", @@ -2265,9 +2271,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c68e921cef53841b8925c2abadd27c9b891d9613bdc43d6b823062866df38e8" +checksum = "0efd8caf556a6cebd3b285caf480045fcc1ac04f6bd786b09a6f11af30c4fcf4" dependencies = [ "serde", ] @@ -2536,9 +2542,9 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "titlecase" @@ -2574,9 +2580,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.18.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "729bfd096e40da9c001f778f5cdecbd2957929a24e10e5883d9392220a751581" +checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b" dependencies = [ "indexmap", "nom8", @@ -2755,9 +2761,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.2.2" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "422ee0de9031b5b948b97a8fc04e3aa35230001a722ddd27943e0be31564ce4c" +checksum = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79" [[package]] name = "version_check" @@ -2805,9 +2811,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -2815,9 +2821,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", "log", @@ -2830,9 +2836,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.33" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" +checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" dependencies = [ "cfg-if", "js-sys", @@ -2842,9 +2848,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2852,9 +2858,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ "proc-macro2", "quote", @@ -2865,15 +2871,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" [[package]] name = "wasm-bindgen-test" -version = "0.3.33" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d2fff962180c3fadf677438054b1db62bee4aa32af26a45388af07d1287e1d" +checksum = "6db36fc0f9fb209e88fb3642590ae0205bb5a56216dabd963ba15879fe53a30b" dependencies = [ "console_error_panic_hook", "js-sys", @@ -2885,9 +2891,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-test-macro" -version = "0.3.33" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4683da3dfc016f704c9f82cf401520c4f1cb3ee440f7f52b3d6ac29506a49ca7" +checksum = "0734759ae6b3b1717d661fe4f016efcfb9828f5edb4520c18eaee05af3b43be9" dependencies = [ "proc-macro2", "quote", @@ -2895,9 +2901,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" dependencies = [ "js-sys", "wasm-bindgen", @@ -2985,6 +2991,30 @@ dependencies = [ "windows_x86_64_msvc", ] +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.1" diff --git a/Cargo.toml b/Cargo.toml index f9a69585c7..6e17ef1f41 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,93 +1,6 @@ [workspace] -members = [ - "flake8_to_ruff", - "ruff_dev", - "ruff_cli", -] -default-members = [".", "ruff_cli"] - -[package] -name = "ruff" -version = "0.0.241" -authors = ["Charlie Marsh "] -edition = "2021" -rust-version = "1.65.0" -documentation = "https://github.com/charliermarsh/ruff" -homepage = "https://github.com/charliermarsh/ruff" -repository = "https://github.com/charliermarsh/ruff" -readme = "README.md" -license = "MIT" - -[lib] -name = "ruff" -crate-type = ["cdylib", "rlib"] -doctest = false - -[dependencies] -anyhow = { version = "1.0.66" } -bisection = { version = "0.1.0" } -bitflags = { version = "1.3.2" } -cfg-if = { version = "1.0.0" } -chrono = { version = "0.4.21", default-features = false, features = ["clock"] } -clap = { version = "4.0.1", features = ["derive", "env"] } -colored = { version = "2.0.0" } -dirs = { version = "4.0.0" } -fern = { version = "0.6.1" } -glob = { version = "0.3.0" } -globset = { version = "0.4.9" } -ignore = { version = "0.4.18" } -imperative = { version = "1.0.3" } -itertools = { version = "0.10.5" } -libcst = { git = "https://github.com/charliermarsh/LibCST", rev = "f2f0b7a487a8725d161fe8b3ed73a6758b21e177" } -log = { version = "0.4.17" } -natord = { version = "1.0.9" } -nohash-hasher = { version = "0.2.0" } -num-bigint = { version = "0.4.3" } -num-traits = "0.2.15" -once_cell = { version = "1.16.0" } -path-absolutize = { version = "3.0.14", features = ["once_cell_cache", "use_unix_paths_on_wasm"] } -regex = { version = "1.6.0" } -ruff_macros = { version = "0.0.241", path = "ruff_macros" } -rustc-hash = { version = "1.1.0" } -rustpython-ast = { features = ["unparse"], git = "https://github.com/RustPython/RustPython.git", rev = "adc23253e4b58980b407ba2760dbe61681d752fc" } -rustpython-common = { git = "https://github.com/RustPython/RustPython.git", rev = "adc23253e4b58980b407ba2760dbe61681d752fc" } -rustpython-parser = { features = ["lalrpop"], git = "https://github.com/RustPython/RustPython.git", rev = "adc23253e4b58980b407ba2760dbe61681d752fc" } -schemars = { version = "0.8.11" } -semver = { version = "1.0.16" } -serde = { version = "1.0.147", features = ["derive"] } -shellexpand = { version = "3.0.0" } -smallvec = { version = "1.10.0" } -strum = { version = "0.24.1", features = ["strum_macros"] } -strum_macros = { version = "0.24.3" } -textwrap = { version = "0.16.0" } -thiserror = { version = "1.0" } -titlecase = { version = "2.2.1" } -toml = { version = "0.6.0" } - -[features] -default = [] -logical_lines = [] - -# https://docs.rs/getrandom/0.2.7/getrandom/#webassembly-support -# For (future) wasm-pack support -[target.'cfg(all(target_family = "wasm", target_os = "unknown"))'.dependencies] -getrandom = { version = "0.2.7", features = ["js"] } -console_error_panic_hook = { version = "0.1.7" } -console_log = { version = "0.2.0" } -serde-wasm-bindgen = { version = "0.4" } -js-sys = { version = "0.3.60" } -wasm-bindgen = { version = "0.2.83" } - -[target.'cfg(not(target_family = "wasm"))'.dependencies] -is_executable = "1.0.1" - -[dev-dependencies] -insta = { version = "1.19.0", features = ["yaml", "redactions"] } -test-case = { version = "2.2.2" } -wasm-bindgen-test = { version = "0.3.33" } - -[target.'cfg(not(target_family = "wasm"))'.dev-dependencies] -criterion = { version = "0.4.0" } +members = ["crates/*"] +default-members = ["crates/ruff", "crates/ruff_cli"] [profile.release] panic = "abort" diff --git a/flake8_to_ruff/Cargo.toml b/crates/flake8_to_ruff/Cargo.toml similarity index 87% rename from flake8_to_ruff/Cargo.toml rename to crates/flake8_to_ruff/Cargo.toml index af699623fa..cccf016c91 100644 --- a/flake8_to_ruff/Cargo.toml +++ b/crates/flake8_to_ruff/Cargo.toml @@ -10,14 +10,10 @@ colored = { version = "2.0.0" } configparser = { version = "3.0.2" } once_cell = { version = "1.16.0" } regex = { version = "1.6.0" } -ruff = { path = "..", default-features = false } +ruff = { path = "../ruff", default-features = false } rustc-hash = { version = "1.1.0" } serde = { version = "1.0.147", features = ["derive"] } serde_json = { version = "1.0.87" } strum = { version = "0.24.1", features = ["strum_macros"] } strum_macros = { version = "0.24.3" } toml = { version = "0.6.0" } - -[dev-dependencies] - -[features] diff --git a/flake8_to_ruff/README.md b/crates/flake8_to_ruff/README.md similarity index 100% rename from flake8_to_ruff/README.md rename to crates/flake8_to_ruff/README.md diff --git a/flake8_to_ruff/examples/cryptography/pyproject.toml b/crates/flake8_to_ruff/examples/cryptography/pyproject.toml similarity index 100% rename from flake8_to_ruff/examples/cryptography/pyproject.toml rename to crates/flake8_to_ruff/examples/cryptography/pyproject.toml diff --git a/flake8_to_ruff/examples/cryptography/setup.cfg b/crates/flake8_to_ruff/examples/cryptography/setup.cfg similarity index 100% rename from flake8_to_ruff/examples/cryptography/setup.cfg rename to crates/flake8_to_ruff/examples/cryptography/setup.cfg diff --git a/flake8_to_ruff/examples/jupyterhub.ini b/crates/flake8_to_ruff/examples/jupyterhub.ini similarity index 100% rename from flake8_to_ruff/examples/jupyterhub.ini rename to crates/flake8_to_ruff/examples/jupyterhub.ini diff --git a/flake8_to_ruff/examples/manim.ini b/crates/flake8_to_ruff/examples/manim.ini similarity index 100% rename from flake8_to_ruff/examples/manim.ini rename to crates/flake8_to_ruff/examples/manim.ini diff --git a/flake8_to_ruff/examples/poetry.ini b/crates/flake8_to_ruff/examples/poetry.ini similarity index 100% rename from flake8_to_ruff/examples/poetry.ini rename to crates/flake8_to_ruff/examples/poetry.ini diff --git a/flake8_to_ruff/examples/python-discord.ini b/crates/flake8_to_ruff/examples/python-discord.ini similarity index 100% rename from flake8_to_ruff/examples/python-discord.ini rename to crates/flake8_to_ruff/examples/python-discord.ini diff --git a/flake8_to_ruff/examples/requests.ini b/crates/flake8_to_ruff/examples/requests.ini similarity index 100% rename from flake8_to_ruff/examples/requests.ini rename to crates/flake8_to_ruff/examples/requests.ini diff --git a/flake8_to_ruff/pyproject.toml b/crates/flake8_to_ruff/pyproject.toml similarity index 100% rename from flake8_to_ruff/pyproject.toml rename to crates/flake8_to_ruff/pyproject.toml diff --git a/flake8_to_ruff/src/main.rs b/crates/flake8_to_ruff/src/main.rs similarity index 100% rename from flake8_to_ruff/src/main.rs rename to crates/flake8_to_ruff/src/main.rs diff --git a/crates/ruff/Cargo.toml b/crates/ruff/Cargo.toml new file mode 100644 index 0000000000..c7f06ddd5b --- /dev/null +++ b/crates/ruff/Cargo.toml @@ -0,0 +1,82 @@ +[package] +name = "ruff" +version = "0.0.241" +authors = ["Charlie Marsh "] +edition = "2021" +rust-version = "1.65.0" +documentation = "https://github.com/charliermarsh/ruff" +homepage = "https://github.com/charliermarsh/ruff" +repository = "https://github.com/charliermarsh/ruff" +readme = "README.md" +license = "MIT" + +[lib] +name = "ruff" +crate-type = ["cdylib", "rlib"] +doctest = false + +[dependencies] +anyhow = { version = "1.0.66" } +bisection = { version = "0.1.0" } +bitflags = { version = "1.3.2" } +cfg-if = { version = "1.0.0" } +chrono = { version = "0.4.21", default-features = false, features = ["clock"] } +clap = { version = "4.0.1", features = ["derive", "env"] } +colored = { version = "2.0.0" } +dirs = { version = "4.0.0" } +fern = { version = "0.6.1" } +glob = { version = "0.3.0" } +globset = { version = "0.4.9" } +ignore = { version = "0.4.18" } +imperative = { version = "1.0.3" } +itertools = { version = "0.10.5" } +libcst = { git = "https://github.com/charliermarsh/LibCST", rev = "f2f0b7a487a8725d161fe8b3ed73a6758b21e177" } +log = { version = "0.4.17" } +natord = { version = "1.0.9" } +nohash-hasher = { version = "0.2.0" } +num-bigint = { version = "0.4.3" } +num-traits = "0.2.15" +once_cell = { version = "1.16.0" } +path-absolutize = { version = "3.0.14", features = ["once_cell_cache", "use_unix_paths_on_wasm"] } +regex = { version = "1.6.0" } +ruff_macros = { version = "0.0.241", path = "../ruff_macros" } +rustc-hash = { version = "1.1.0" } +rustpython-ast = { features = ["unparse"], git = "https://github.com/RustPython/RustPython.git", rev = "adc23253e4b58980b407ba2760dbe61681d752fc" } +rustpython-common = { git = "https://github.com/RustPython/RustPython.git", rev = "adc23253e4b58980b407ba2760dbe61681d752fc" } +rustpython-parser = { features = ["lalrpop"], git = "https://github.com/RustPython/RustPython.git", rev = "adc23253e4b58980b407ba2760dbe61681d752fc" } +schemars = { version = "0.8.11" } +semver = { version = "1.0.16" } +serde = { version = "1.0.147", features = ["derive"] } +shellexpand = { version = "3.0.0" } +smallvec = { version = "1.10.0" } +strum = { version = "0.24.1", features = ["strum_macros"] } +strum_macros = { version = "0.24.3" } +textwrap = { version = "0.16.0" } +thiserror = { version = "1.0" } +titlecase = { version = "2.2.1" } +toml = { version = "0.6.0" } + +# https://docs.rs/getrandom/0.2.7/getrandom/#webassembly-support +# For (future) wasm-pack support +[target.'cfg(all(target_family = "wasm", target_os = "unknown"))'.dependencies] +getrandom = { version = "0.2.7", features = ["js"] } +console_error_panic_hook = { version = "0.1.7" } +console_log = { version = "0.2.0" } +serde-wasm-bindgen = { version = "0.4" } +js-sys = { version = "0.3.60" } +wasm-bindgen = { version = "0.2.83" } + +[target.'cfg(not(target_family = "wasm"))'.dependencies] +is_executable = "1.0.1" + +[dev-dependencies] +insta = { version = "1.19.0", features = ["yaml", "redactions"] } +test-case = { version = "2.2.2" } +wasm-bindgen-test = { version = "0.3.33" } + +[target.'cfg(not(target_family = "wasm"))'.dev-dependencies] +criterion = { version = "0.4.0" } + +[features] +default = [] +logical_lines = [] diff --git a/resources/test/fixtures/README.md b/crates/ruff/resources/test/fixtures/README.md similarity index 100% rename from resources/test/fixtures/README.md rename to crates/ruff/resources/test/fixtures/README.md diff --git a/resources/test/fixtures/eradicate/ERA001.py b/crates/ruff/resources/test/fixtures/eradicate/ERA001.py similarity index 100% rename from resources/test/fixtures/eradicate/ERA001.py rename to crates/ruff/resources/test/fixtures/eradicate/ERA001.py diff --git a/resources/test/fixtures/filesystem/excluded_file.py b/crates/ruff/resources/test/fixtures/filesystem/excluded_file.py similarity index 100% rename from resources/test/fixtures/filesystem/excluded_file.py rename to crates/ruff/resources/test/fixtures/filesystem/excluded_file.py diff --git a/resources/test/fixtures/filesystem/with_excluded_directory/__init__.py b/crates/ruff/resources/test/fixtures/filesystem/with_excluded_directory/__init__.py similarity index 100% rename from resources/test/fixtures/filesystem/with_excluded_directory/__init__.py rename to crates/ruff/resources/test/fixtures/filesystem/with_excluded_directory/__init__.py diff --git a/resources/test/fixtures/filesystem/with_excluded_directory/migrations/__init__.py b/crates/ruff/resources/test/fixtures/filesystem/with_excluded_directory/migrations/__init__.py similarity index 100% rename from resources/test/fixtures/filesystem/with_excluded_directory/migrations/__init__.py rename to crates/ruff/resources/test/fixtures/filesystem/with_excluded_directory/migrations/__init__.py diff --git a/resources/test/fixtures/filesystem/with_excluded_directory/migrations/migration.py b/crates/ruff/resources/test/fixtures/filesystem/with_excluded_directory/migrations/migration.py similarity index 100% rename from resources/test/fixtures/filesystem/with_excluded_directory/migrations/migration.py rename to crates/ruff/resources/test/fixtures/filesystem/with_excluded_directory/migrations/migration.py diff --git a/resources/test/fixtures/filesystem/with_excluded_file/other_excluded_file.py b/crates/ruff/resources/test/fixtures/filesystem/with_excluded_file/other_excluded_file.py similarity index 100% rename from resources/test/fixtures/filesystem/with_excluded_file/other_excluded_file.py rename to crates/ruff/resources/test/fixtures/filesystem/with_excluded_file/other_excluded_file.py diff --git a/resources/test/fixtures/flake8_2020/YTT101.py b/crates/ruff/resources/test/fixtures/flake8_2020/YTT101.py similarity index 100% rename from resources/test/fixtures/flake8_2020/YTT101.py rename to crates/ruff/resources/test/fixtures/flake8_2020/YTT101.py diff --git a/resources/test/fixtures/flake8_2020/YTT102.py b/crates/ruff/resources/test/fixtures/flake8_2020/YTT102.py similarity index 100% rename from resources/test/fixtures/flake8_2020/YTT102.py rename to crates/ruff/resources/test/fixtures/flake8_2020/YTT102.py diff --git a/resources/test/fixtures/flake8_2020/YTT103.py b/crates/ruff/resources/test/fixtures/flake8_2020/YTT103.py similarity index 100% rename from resources/test/fixtures/flake8_2020/YTT103.py rename to crates/ruff/resources/test/fixtures/flake8_2020/YTT103.py diff --git a/resources/test/fixtures/flake8_2020/YTT201.py b/crates/ruff/resources/test/fixtures/flake8_2020/YTT201.py similarity index 100% rename from resources/test/fixtures/flake8_2020/YTT201.py rename to crates/ruff/resources/test/fixtures/flake8_2020/YTT201.py diff --git a/resources/test/fixtures/flake8_2020/YTT202.py b/crates/ruff/resources/test/fixtures/flake8_2020/YTT202.py similarity index 100% rename from resources/test/fixtures/flake8_2020/YTT202.py rename to crates/ruff/resources/test/fixtures/flake8_2020/YTT202.py diff --git a/resources/test/fixtures/flake8_2020/YTT203.py b/crates/ruff/resources/test/fixtures/flake8_2020/YTT203.py similarity index 100% rename from resources/test/fixtures/flake8_2020/YTT203.py rename to crates/ruff/resources/test/fixtures/flake8_2020/YTT203.py diff --git a/resources/test/fixtures/flake8_2020/YTT204.py b/crates/ruff/resources/test/fixtures/flake8_2020/YTT204.py similarity index 100% rename from resources/test/fixtures/flake8_2020/YTT204.py rename to crates/ruff/resources/test/fixtures/flake8_2020/YTT204.py diff --git a/resources/test/fixtures/flake8_2020/YTT301.py b/crates/ruff/resources/test/fixtures/flake8_2020/YTT301.py similarity index 100% rename from resources/test/fixtures/flake8_2020/YTT301.py rename to crates/ruff/resources/test/fixtures/flake8_2020/YTT301.py diff --git a/resources/test/fixtures/flake8_2020/YTT302.py b/crates/ruff/resources/test/fixtures/flake8_2020/YTT302.py similarity index 100% rename from resources/test/fixtures/flake8_2020/YTT302.py rename to crates/ruff/resources/test/fixtures/flake8_2020/YTT302.py diff --git a/resources/test/fixtures/flake8_2020/YTT303.py b/crates/ruff/resources/test/fixtures/flake8_2020/YTT303.py similarity index 100% rename from resources/test/fixtures/flake8_2020/YTT303.py rename to crates/ruff/resources/test/fixtures/flake8_2020/YTT303.py diff --git a/resources/test/fixtures/flake8_annotations/allow_nested_overload.py b/crates/ruff/resources/test/fixtures/flake8_annotations/allow_nested_overload.py similarity index 100% rename from resources/test/fixtures/flake8_annotations/allow_nested_overload.py rename to crates/ruff/resources/test/fixtures/flake8_annotations/allow_nested_overload.py diff --git a/resources/test/fixtures/flake8_annotations/allow_overload.py b/crates/ruff/resources/test/fixtures/flake8_annotations/allow_overload.py similarity index 100% rename from resources/test/fixtures/flake8_annotations/allow_overload.py rename to crates/ruff/resources/test/fixtures/flake8_annotations/allow_overload.py diff --git a/resources/test/fixtures/flake8_annotations/allow_star_arg_any.py b/crates/ruff/resources/test/fixtures/flake8_annotations/allow_star_arg_any.py similarity index 100% rename from resources/test/fixtures/flake8_annotations/allow_star_arg_any.py rename to crates/ruff/resources/test/fixtures/flake8_annotations/allow_star_arg_any.py diff --git a/resources/test/fixtures/flake8_annotations/annotation_presence.py b/crates/ruff/resources/test/fixtures/flake8_annotations/annotation_presence.py similarity index 100% rename from resources/test/fixtures/flake8_annotations/annotation_presence.py rename to crates/ruff/resources/test/fixtures/flake8_annotations/annotation_presence.py diff --git a/resources/test/fixtures/flake8_annotations/mypy_init_return.py b/crates/ruff/resources/test/fixtures/flake8_annotations/mypy_init_return.py similarity index 100% rename from resources/test/fixtures/flake8_annotations/mypy_init_return.py rename to crates/ruff/resources/test/fixtures/flake8_annotations/mypy_init_return.py diff --git a/resources/test/fixtures/flake8_annotations/suppress_dummy_args.py b/crates/ruff/resources/test/fixtures/flake8_annotations/suppress_dummy_args.py similarity index 100% rename from resources/test/fixtures/flake8_annotations/suppress_dummy_args.py rename to crates/ruff/resources/test/fixtures/flake8_annotations/suppress_dummy_args.py diff --git a/resources/test/fixtures/flake8_annotations/suppress_none_returning.py b/crates/ruff/resources/test/fixtures/flake8_annotations/suppress_none_returning.py similarity index 100% rename from resources/test/fixtures/flake8_annotations/suppress_none_returning.py rename to crates/ruff/resources/test/fixtures/flake8_annotations/suppress_none_returning.py diff --git a/resources/test/fixtures/flake8_bandit/S101.py b/crates/ruff/resources/test/fixtures/flake8_bandit/S101.py similarity index 100% rename from resources/test/fixtures/flake8_bandit/S101.py rename to crates/ruff/resources/test/fixtures/flake8_bandit/S101.py diff --git a/resources/test/fixtures/flake8_bandit/S102.py b/crates/ruff/resources/test/fixtures/flake8_bandit/S102.py similarity index 100% rename from resources/test/fixtures/flake8_bandit/S102.py rename to crates/ruff/resources/test/fixtures/flake8_bandit/S102.py diff --git a/resources/test/fixtures/flake8_bandit/S103.py b/crates/ruff/resources/test/fixtures/flake8_bandit/S103.py similarity index 100% rename from resources/test/fixtures/flake8_bandit/S103.py rename to crates/ruff/resources/test/fixtures/flake8_bandit/S103.py diff --git a/resources/test/fixtures/flake8_bandit/S104.py b/crates/ruff/resources/test/fixtures/flake8_bandit/S104.py similarity index 100% rename from resources/test/fixtures/flake8_bandit/S104.py rename to crates/ruff/resources/test/fixtures/flake8_bandit/S104.py diff --git a/resources/test/fixtures/flake8_bandit/S105.py b/crates/ruff/resources/test/fixtures/flake8_bandit/S105.py similarity index 100% rename from resources/test/fixtures/flake8_bandit/S105.py rename to crates/ruff/resources/test/fixtures/flake8_bandit/S105.py diff --git a/resources/test/fixtures/flake8_bandit/S106.py b/crates/ruff/resources/test/fixtures/flake8_bandit/S106.py similarity index 100% rename from resources/test/fixtures/flake8_bandit/S106.py rename to crates/ruff/resources/test/fixtures/flake8_bandit/S106.py diff --git a/resources/test/fixtures/flake8_bandit/S107.py b/crates/ruff/resources/test/fixtures/flake8_bandit/S107.py similarity index 100% rename from resources/test/fixtures/flake8_bandit/S107.py rename to crates/ruff/resources/test/fixtures/flake8_bandit/S107.py diff --git a/resources/test/fixtures/flake8_bandit/S108.py b/crates/ruff/resources/test/fixtures/flake8_bandit/S108.py similarity index 100% rename from resources/test/fixtures/flake8_bandit/S108.py rename to crates/ruff/resources/test/fixtures/flake8_bandit/S108.py diff --git a/resources/test/fixtures/flake8_bandit/S110.py b/crates/ruff/resources/test/fixtures/flake8_bandit/S110.py similarity index 100% rename from resources/test/fixtures/flake8_bandit/S110.py rename to crates/ruff/resources/test/fixtures/flake8_bandit/S110.py diff --git a/resources/test/fixtures/flake8_bandit/S113.py b/crates/ruff/resources/test/fixtures/flake8_bandit/S113.py similarity index 100% rename from resources/test/fixtures/flake8_bandit/S113.py rename to crates/ruff/resources/test/fixtures/flake8_bandit/S113.py diff --git a/resources/test/fixtures/flake8_bandit/S324.py b/crates/ruff/resources/test/fixtures/flake8_bandit/S324.py similarity index 100% rename from resources/test/fixtures/flake8_bandit/S324.py rename to crates/ruff/resources/test/fixtures/flake8_bandit/S324.py diff --git a/resources/test/fixtures/flake8_bandit/S501.py b/crates/ruff/resources/test/fixtures/flake8_bandit/S501.py similarity index 100% rename from resources/test/fixtures/flake8_bandit/S501.py rename to crates/ruff/resources/test/fixtures/flake8_bandit/S501.py diff --git a/resources/test/fixtures/flake8_bandit/S506.py b/crates/ruff/resources/test/fixtures/flake8_bandit/S506.py similarity index 100% rename from resources/test/fixtures/flake8_bandit/S506.py rename to crates/ruff/resources/test/fixtures/flake8_bandit/S506.py diff --git a/resources/test/fixtures/flake8_bandit/S508.py b/crates/ruff/resources/test/fixtures/flake8_bandit/S508.py similarity index 100% rename from resources/test/fixtures/flake8_bandit/S508.py rename to crates/ruff/resources/test/fixtures/flake8_bandit/S508.py diff --git a/resources/test/fixtures/flake8_bandit/S509.py b/crates/ruff/resources/test/fixtures/flake8_bandit/S509.py similarity index 100% rename from resources/test/fixtures/flake8_bandit/S509.py rename to crates/ruff/resources/test/fixtures/flake8_bandit/S509.py diff --git a/resources/test/fixtures/flake8_bandit/S612.py b/crates/ruff/resources/test/fixtures/flake8_bandit/S612.py similarity index 100% rename from resources/test/fixtures/flake8_bandit/S612.py rename to crates/ruff/resources/test/fixtures/flake8_bandit/S612.py diff --git a/resources/test/fixtures/flake8_bandit/S701.py b/crates/ruff/resources/test/fixtures/flake8_bandit/S701.py similarity index 100% rename from resources/test/fixtures/flake8_bandit/S701.py rename to crates/ruff/resources/test/fixtures/flake8_bandit/S701.py diff --git a/resources/test/fixtures/flake8_blind_except/BLE.py b/crates/ruff/resources/test/fixtures/flake8_blind_except/BLE.py similarity index 100% rename from resources/test/fixtures/flake8_blind_except/BLE.py rename to crates/ruff/resources/test/fixtures/flake8_blind_except/BLE.py diff --git a/resources/test/fixtures/flake8_boolean_trap/FBT.py b/crates/ruff/resources/test/fixtures/flake8_boolean_trap/FBT.py similarity index 100% rename from resources/test/fixtures/flake8_boolean_trap/FBT.py rename to crates/ruff/resources/test/fixtures/flake8_boolean_trap/FBT.py diff --git a/resources/test/fixtures/flake8_bugbear/B002.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B002.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B002.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B002.py diff --git a/resources/test/fixtures/flake8_bugbear/B003.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B003.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B003.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B003.py diff --git a/resources/test/fixtures/flake8_bugbear/B004.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B004.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B004.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B004.py diff --git a/resources/test/fixtures/flake8_bugbear/B005.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B005.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B005.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B005.py diff --git a/resources/test/fixtures/flake8_bugbear/B006_B008.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B006_B008.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B006_B008.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B006_B008.py diff --git a/resources/test/fixtures/flake8_bugbear/B007.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B007.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B007.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B007.py diff --git a/resources/test/fixtures/flake8_bugbear/B008_extended.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B008_extended.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B008_extended.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B008_extended.py diff --git a/resources/test/fixtures/flake8_bugbear/B009_B010.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B009_B010.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B009_B010.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B009_B010.py diff --git a/resources/test/fixtures/flake8_bugbear/B011.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B011.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B011.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B011.py diff --git a/resources/test/fixtures/flake8_bugbear/B012.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B012.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B012.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B012.py diff --git a/resources/test/fixtures/flake8_bugbear/B013.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B013.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B013.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B013.py diff --git a/resources/test/fixtures/flake8_bugbear/B014.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B014.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B014.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B014.py diff --git a/resources/test/fixtures/flake8_bugbear/B015.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B015.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B015.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B015.py diff --git a/resources/test/fixtures/flake8_bugbear/B016.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B016.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B016.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B016.py diff --git a/resources/test/fixtures/flake8_bugbear/B017.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B017.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B017.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B017.py diff --git a/resources/test/fixtures/flake8_bugbear/B018.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B018.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B018.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B018.py diff --git a/resources/test/fixtures/flake8_bugbear/B019.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B019.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B019.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B019.py diff --git a/resources/test/fixtures/flake8_bugbear/B020.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B020.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B020.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B020.py diff --git a/resources/test/fixtures/flake8_bugbear/B021.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B021.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B021.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B021.py diff --git a/resources/test/fixtures/flake8_bugbear/B022.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B022.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B022.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B022.py diff --git a/resources/test/fixtures/flake8_bugbear/B023.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B023.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B023.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B023.py diff --git a/resources/test/fixtures/flake8_bugbear/B024.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B024.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B024.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B024.py diff --git a/resources/test/fixtures/flake8_bugbear/B025.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B025.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B025.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B025.py diff --git a/resources/test/fixtures/flake8_bugbear/B026.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B026.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B026.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B026.py diff --git a/resources/test/fixtures/flake8_bugbear/B027.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B027.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B027.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B027.py diff --git a/resources/test/fixtures/flake8_bugbear/B904.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B904.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B904.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B904.py diff --git a/resources/test/fixtures/flake8_bugbear/B905.py b/crates/ruff/resources/test/fixtures/flake8_bugbear/B905.py similarity index 100% rename from resources/test/fixtures/flake8_bugbear/B905.py rename to crates/ruff/resources/test/fixtures/flake8_bugbear/B905.py diff --git a/resources/test/fixtures/flake8_builtins/A001.py b/crates/ruff/resources/test/fixtures/flake8_builtins/A001.py similarity index 100% rename from resources/test/fixtures/flake8_builtins/A001.py rename to crates/ruff/resources/test/fixtures/flake8_builtins/A001.py diff --git a/resources/test/fixtures/flake8_builtins/A002.py b/crates/ruff/resources/test/fixtures/flake8_builtins/A002.py similarity index 100% rename from resources/test/fixtures/flake8_builtins/A002.py rename to crates/ruff/resources/test/fixtures/flake8_builtins/A002.py diff --git a/resources/test/fixtures/flake8_builtins/A003.py b/crates/ruff/resources/test/fixtures/flake8_builtins/A003.py similarity index 100% rename from resources/test/fixtures/flake8_builtins/A003.py rename to crates/ruff/resources/test/fixtures/flake8_builtins/A003.py diff --git a/resources/test/fixtures/flake8_commas/COM81.py b/crates/ruff/resources/test/fixtures/flake8_commas/COM81.py similarity index 100% rename from resources/test/fixtures/flake8_commas/COM81.py rename to crates/ruff/resources/test/fixtures/flake8_commas/COM81.py diff --git a/resources/test/fixtures/flake8_comprehensions/C400.py b/crates/ruff/resources/test/fixtures/flake8_comprehensions/C400.py similarity index 100% rename from resources/test/fixtures/flake8_comprehensions/C400.py rename to crates/ruff/resources/test/fixtures/flake8_comprehensions/C400.py diff --git a/resources/test/fixtures/flake8_comprehensions/C401.py b/crates/ruff/resources/test/fixtures/flake8_comprehensions/C401.py similarity index 100% rename from resources/test/fixtures/flake8_comprehensions/C401.py rename to crates/ruff/resources/test/fixtures/flake8_comprehensions/C401.py diff --git a/resources/test/fixtures/flake8_comprehensions/C402.py b/crates/ruff/resources/test/fixtures/flake8_comprehensions/C402.py similarity index 100% rename from resources/test/fixtures/flake8_comprehensions/C402.py rename to crates/ruff/resources/test/fixtures/flake8_comprehensions/C402.py diff --git a/resources/test/fixtures/flake8_comprehensions/C403.py b/crates/ruff/resources/test/fixtures/flake8_comprehensions/C403.py similarity index 100% rename from resources/test/fixtures/flake8_comprehensions/C403.py rename to crates/ruff/resources/test/fixtures/flake8_comprehensions/C403.py diff --git a/resources/test/fixtures/flake8_comprehensions/C404.py b/crates/ruff/resources/test/fixtures/flake8_comprehensions/C404.py similarity index 100% rename from resources/test/fixtures/flake8_comprehensions/C404.py rename to crates/ruff/resources/test/fixtures/flake8_comprehensions/C404.py diff --git a/resources/test/fixtures/flake8_comprehensions/C405.py b/crates/ruff/resources/test/fixtures/flake8_comprehensions/C405.py similarity index 100% rename from resources/test/fixtures/flake8_comprehensions/C405.py rename to crates/ruff/resources/test/fixtures/flake8_comprehensions/C405.py diff --git a/resources/test/fixtures/flake8_comprehensions/C406.py b/crates/ruff/resources/test/fixtures/flake8_comprehensions/C406.py similarity index 100% rename from resources/test/fixtures/flake8_comprehensions/C406.py rename to crates/ruff/resources/test/fixtures/flake8_comprehensions/C406.py diff --git a/resources/test/fixtures/flake8_comprehensions/C408.py b/crates/ruff/resources/test/fixtures/flake8_comprehensions/C408.py similarity index 100% rename from resources/test/fixtures/flake8_comprehensions/C408.py rename to crates/ruff/resources/test/fixtures/flake8_comprehensions/C408.py diff --git a/resources/test/fixtures/flake8_comprehensions/C409.py b/crates/ruff/resources/test/fixtures/flake8_comprehensions/C409.py similarity index 100% rename from resources/test/fixtures/flake8_comprehensions/C409.py rename to crates/ruff/resources/test/fixtures/flake8_comprehensions/C409.py diff --git a/resources/test/fixtures/flake8_comprehensions/C410.py b/crates/ruff/resources/test/fixtures/flake8_comprehensions/C410.py similarity index 100% rename from resources/test/fixtures/flake8_comprehensions/C410.py rename to crates/ruff/resources/test/fixtures/flake8_comprehensions/C410.py diff --git a/resources/test/fixtures/flake8_comprehensions/C411.py b/crates/ruff/resources/test/fixtures/flake8_comprehensions/C411.py similarity index 100% rename from resources/test/fixtures/flake8_comprehensions/C411.py rename to crates/ruff/resources/test/fixtures/flake8_comprehensions/C411.py diff --git a/resources/test/fixtures/flake8_comprehensions/C413.py b/crates/ruff/resources/test/fixtures/flake8_comprehensions/C413.py similarity index 100% rename from resources/test/fixtures/flake8_comprehensions/C413.py rename to crates/ruff/resources/test/fixtures/flake8_comprehensions/C413.py diff --git a/resources/test/fixtures/flake8_comprehensions/C414.py b/crates/ruff/resources/test/fixtures/flake8_comprehensions/C414.py similarity index 100% rename from resources/test/fixtures/flake8_comprehensions/C414.py rename to crates/ruff/resources/test/fixtures/flake8_comprehensions/C414.py diff --git a/resources/test/fixtures/flake8_comprehensions/C415.py b/crates/ruff/resources/test/fixtures/flake8_comprehensions/C415.py similarity index 100% rename from resources/test/fixtures/flake8_comprehensions/C415.py rename to crates/ruff/resources/test/fixtures/flake8_comprehensions/C415.py diff --git a/resources/test/fixtures/flake8_comprehensions/C416.py b/crates/ruff/resources/test/fixtures/flake8_comprehensions/C416.py similarity index 100% rename from resources/test/fixtures/flake8_comprehensions/C416.py rename to crates/ruff/resources/test/fixtures/flake8_comprehensions/C416.py diff --git a/resources/test/fixtures/flake8_comprehensions/C417.py b/crates/ruff/resources/test/fixtures/flake8_comprehensions/C417.py similarity index 100% rename from resources/test/fixtures/flake8_comprehensions/C417.py rename to crates/ruff/resources/test/fixtures/flake8_comprehensions/C417.py diff --git a/resources/test/fixtures/flake8_datetimez/DTZ001.py b/crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ001.py similarity index 100% rename from resources/test/fixtures/flake8_datetimez/DTZ001.py rename to crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ001.py diff --git a/resources/test/fixtures/flake8_datetimez/DTZ002.py b/crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ002.py similarity index 100% rename from resources/test/fixtures/flake8_datetimez/DTZ002.py rename to crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ002.py diff --git a/resources/test/fixtures/flake8_datetimez/DTZ003.py b/crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ003.py similarity index 100% rename from resources/test/fixtures/flake8_datetimez/DTZ003.py rename to crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ003.py diff --git a/resources/test/fixtures/flake8_datetimez/DTZ004.py b/crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ004.py similarity index 100% rename from resources/test/fixtures/flake8_datetimez/DTZ004.py rename to crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ004.py diff --git a/resources/test/fixtures/flake8_datetimez/DTZ005.py b/crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ005.py similarity index 100% rename from resources/test/fixtures/flake8_datetimez/DTZ005.py rename to crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ005.py diff --git a/resources/test/fixtures/flake8_datetimez/DTZ006.py b/crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ006.py similarity index 100% rename from resources/test/fixtures/flake8_datetimez/DTZ006.py rename to crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ006.py diff --git a/resources/test/fixtures/flake8_datetimez/DTZ007.py b/crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ007.py similarity index 100% rename from resources/test/fixtures/flake8_datetimez/DTZ007.py rename to crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ007.py diff --git a/resources/test/fixtures/flake8_datetimez/DTZ011.py b/crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ011.py similarity index 100% rename from resources/test/fixtures/flake8_datetimez/DTZ011.py rename to crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ011.py diff --git a/resources/test/fixtures/flake8_datetimez/DTZ012.py b/crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ012.py similarity index 100% rename from resources/test/fixtures/flake8_datetimez/DTZ012.py rename to crates/ruff/resources/test/fixtures/flake8_datetimez/DTZ012.py diff --git a/resources/test/fixtures/flake8_debugger/T100.py b/crates/ruff/resources/test/fixtures/flake8_debugger/T100.py similarity index 100% rename from resources/test/fixtures/flake8_debugger/T100.py rename to crates/ruff/resources/test/fixtures/flake8_debugger/T100.py diff --git a/resources/test/fixtures/flake8_errmsg/EM.py b/crates/ruff/resources/test/fixtures/flake8_errmsg/EM.py similarity index 100% rename from resources/test/fixtures/flake8_errmsg/EM.py rename to crates/ruff/resources/test/fixtures/flake8_errmsg/EM.py diff --git a/resources/test/fixtures/flake8_executable/EXE001_1.py b/crates/ruff/resources/test/fixtures/flake8_executable/EXE001_1.py similarity index 100% rename from resources/test/fixtures/flake8_executable/EXE001_1.py rename to crates/ruff/resources/test/fixtures/flake8_executable/EXE001_1.py diff --git a/resources/test/fixtures/flake8_executable/EXE001_2.py b/crates/ruff/resources/test/fixtures/flake8_executable/EXE001_2.py similarity index 100% rename from resources/test/fixtures/flake8_executable/EXE001_2.py rename to crates/ruff/resources/test/fixtures/flake8_executable/EXE001_2.py diff --git a/resources/test/fixtures/flake8_executable/EXE001_3.py b/crates/ruff/resources/test/fixtures/flake8_executable/EXE001_3.py similarity index 100% rename from resources/test/fixtures/flake8_executable/EXE001_3.py rename to crates/ruff/resources/test/fixtures/flake8_executable/EXE001_3.py diff --git a/resources/test/fixtures/flake8_executable/EXE002_1.py b/crates/ruff/resources/test/fixtures/flake8_executable/EXE002_1.py similarity index 100% rename from resources/test/fixtures/flake8_executable/EXE002_1.py rename to crates/ruff/resources/test/fixtures/flake8_executable/EXE002_1.py diff --git a/resources/test/fixtures/flake8_executable/EXE002_2.py b/crates/ruff/resources/test/fixtures/flake8_executable/EXE002_2.py similarity index 100% rename from resources/test/fixtures/flake8_executable/EXE002_2.py rename to crates/ruff/resources/test/fixtures/flake8_executable/EXE002_2.py diff --git a/resources/test/fixtures/flake8_executable/EXE002_3.py b/crates/ruff/resources/test/fixtures/flake8_executable/EXE002_3.py similarity index 100% rename from resources/test/fixtures/flake8_executable/EXE002_3.py rename to crates/ruff/resources/test/fixtures/flake8_executable/EXE002_3.py diff --git a/resources/test/fixtures/flake8_executable/EXE003.py b/crates/ruff/resources/test/fixtures/flake8_executable/EXE003.py similarity index 100% rename from resources/test/fixtures/flake8_executable/EXE003.py rename to crates/ruff/resources/test/fixtures/flake8_executable/EXE003.py diff --git a/resources/test/fixtures/flake8_executable/EXE004_1.py b/crates/ruff/resources/test/fixtures/flake8_executable/EXE004_1.py similarity index 100% rename from resources/test/fixtures/flake8_executable/EXE004_1.py rename to crates/ruff/resources/test/fixtures/flake8_executable/EXE004_1.py diff --git a/resources/test/fixtures/flake8_executable/EXE004_2.py b/crates/ruff/resources/test/fixtures/flake8_executable/EXE004_2.py similarity index 100% rename from resources/test/fixtures/flake8_executable/EXE004_2.py rename to crates/ruff/resources/test/fixtures/flake8_executable/EXE004_2.py diff --git a/resources/test/fixtures/flake8_executable/EXE004_3.py b/crates/ruff/resources/test/fixtures/flake8_executable/EXE004_3.py similarity index 100% rename from resources/test/fixtures/flake8_executable/EXE004_3.py rename to crates/ruff/resources/test/fixtures/flake8_executable/EXE004_3.py diff --git a/resources/test/fixtures/flake8_executable/EXE005_1.py b/crates/ruff/resources/test/fixtures/flake8_executable/EXE005_1.py similarity index 100% rename from resources/test/fixtures/flake8_executable/EXE005_1.py rename to crates/ruff/resources/test/fixtures/flake8_executable/EXE005_1.py diff --git a/resources/test/fixtures/flake8_executable/EXE005_2.py b/crates/ruff/resources/test/fixtures/flake8_executable/EXE005_2.py similarity index 100% rename from resources/test/fixtures/flake8_executable/EXE005_2.py rename to crates/ruff/resources/test/fixtures/flake8_executable/EXE005_2.py diff --git a/resources/test/fixtures/flake8_executable/EXE005_3.py b/crates/ruff/resources/test/fixtures/flake8_executable/EXE005_3.py similarity index 100% rename from resources/test/fixtures/flake8_executable/EXE005_3.py rename to crates/ruff/resources/test/fixtures/flake8_executable/EXE005_3.py diff --git a/resources/test/fixtures/flake8_implicit_str_concat/ISC.py b/crates/ruff/resources/test/fixtures/flake8_implicit_str_concat/ISC.py similarity index 100% rename from resources/test/fixtures/flake8_implicit_str_concat/ISC.py rename to crates/ruff/resources/test/fixtures/flake8_implicit_str_concat/ISC.py diff --git a/resources/test/fixtures/flake8_import_conventions/custom.py b/crates/ruff/resources/test/fixtures/flake8_import_conventions/custom.py similarity index 100% rename from resources/test/fixtures/flake8_import_conventions/custom.py rename to crates/ruff/resources/test/fixtures/flake8_import_conventions/custom.py diff --git a/resources/test/fixtures/flake8_import_conventions/defaults.py b/crates/ruff/resources/test/fixtures/flake8_import_conventions/defaults.py similarity index 100% rename from resources/test/fixtures/flake8_import_conventions/defaults.py rename to crates/ruff/resources/test/fixtures/flake8_import_conventions/defaults.py diff --git a/resources/test/fixtures/flake8_import_conventions/from_imports.py b/crates/ruff/resources/test/fixtures/flake8_import_conventions/from_imports.py similarity index 100% rename from resources/test/fixtures/flake8_import_conventions/from_imports.py rename to crates/ruff/resources/test/fixtures/flake8_import_conventions/from_imports.py diff --git a/resources/test/fixtures/flake8_import_conventions/override_default.py b/crates/ruff/resources/test/fixtures/flake8_import_conventions/override_default.py similarity index 100% rename from resources/test/fixtures/flake8_import_conventions/override_default.py rename to crates/ruff/resources/test/fixtures/flake8_import_conventions/override_default.py diff --git a/resources/test/fixtures/flake8_import_conventions/remove_default.py b/crates/ruff/resources/test/fixtures/flake8_import_conventions/remove_default.py similarity index 100% rename from resources/test/fixtures/flake8_import_conventions/remove_default.py rename to crates/ruff/resources/test/fixtures/flake8_import_conventions/remove_default.py diff --git a/resources/test/fixtures/flake8_logging_format/G001.py b/crates/ruff/resources/test/fixtures/flake8_logging_format/G001.py similarity index 100% rename from resources/test/fixtures/flake8_logging_format/G001.py rename to crates/ruff/resources/test/fixtures/flake8_logging_format/G001.py diff --git a/resources/test/fixtures/flake8_logging_format/G002.py b/crates/ruff/resources/test/fixtures/flake8_logging_format/G002.py similarity index 100% rename from resources/test/fixtures/flake8_logging_format/G002.py rename to crates/ruff/resources/test/fixtures/flake8_logging_format/G002.py diff --git a/resources/test/fixtures/flake8_logging_format/G003.py b/crates/ruff/resources/test/fixtures/flake8_logging_format/G003.py similarity index 100% rename from resources/test/fixtures/flake8_logging_format/G003.py rename to crates/ruff/resources/test/fixtures/flake8_logging_format/G003.py diff --git a/resources/test/fixtures/flake8_logging_format/G004.py b/crates/ruff/resources/test/fixtures/flake8_logging_format/G004.py similarity index 100% rename from resources/test/fixtures/flake8_logging_format/G004.py rename to crates/ruff/resources/test/fixtures/flake8_logging_format/G004.py diff --git a/resources/test/fixtures/flake8_logging_format/G010.py b/crates/ruff/resources/test/fixtures/flake8_logging_format/G010.py similarity index 100% rename from resources/test/fixtures/flake8_logging_format/G010.py rename to crates/ruff/resources/test/fixtures/flake8_logging_format/G010.py diff --git a/resources/test/fixtures/flake8_logging_format/G101_1.py b/crates/ruff/resources/test/fixtures/flake8_logging_format/G101_1.py similarity index 100% rename from resources/test/fixtures/flake8_logging_format/G101_1.py rename to crates/ruff/resources/test/fixtures/flake8_logging_format/G101_1.py diff --git a/resources/test/fixtures/flake8_logging_format/G101_2.py b/crates/ruff/resources/test/fixtures/flake8_logging_format/G101_2.py similarity index 100% rename from resources/test/fixtures/flake8_logging_format/G101_2.py rename to crates/ruff/resources/test/fixtures/flake8_logging_format/G101_2.py diff --git a/resources/test/fixtures/flake8_logging_format/G201.py b/crates/ruff/resources/test/fixtures/flake8_logging_format/G201.py similarity index 100% rename from resources/test/fixtures/flake8_logging_format/G201.py rename to crates/ruff/resources/test/fixtures/flake8_logging_format/G201.py diff --git a/resources/test/fixtures/flake8_logging_format/G202.py b/crates/ruff/resources/test/fixtures/flake8_logging_format/G202.py similarity index 100% rename from resources/test/fixtures/flake8_logging_format/G202.py rename to crates/ruff/resources/test/fixtures/flake8_logging_format/G202.py diff --git a/resources/test/fixtures/flake8_logging_format/G_argparse_parser_error_ok.py b/crates/ruff/resources/test/fixtures/flake8_logging_format/G_argparse_parser_error_ok.py similarity index 100% rename from resources/test/fixtures/flake8_logging_format/G_argparse_parser_error_ok.py rename to crates/ruff/resources/test/fixtures/flake8_logging_format/G_argparse_parser_error_ok.py diff --git a/resources/test/fixtures/flake8_logging_format/G_extra_ok.py b/crates/ruff/resources/test/fixtures/flake8_logging_format/G_extra_ok.py similarity index 100% rename from resources/test/fixtures/flake8_logging_format/G_extra_ok.py rename to crates/ruff/resources/test/fixtures/flake8_logging_format/G_extra_ok.py diff --git a/resources/test/fixtures/flake8_logging_format/G_extra_str_format_ok.py b/crates/ruff/resources/test/fixtures/flake8_logging_format/G_extra_str_format_ok.py similarity index 100% rename from resources/test/fixtures/flake8_logging_format/G_extra_str_format_ok.py rename to crates/ruff/resources/test/fixtures/flake8_logging_format/G_extra_str_format_ok.py diff --git a/resources/test/fixtures/flake8_logging_format/G_simple_ok.py b/crates/ruff/resources/test/fixtures/flake8_logging_format/G_simple_ok.py similarity index 100% rename from resources/test/fixtures/flake8_logging_format/G_simple_ok.py rename to crates/ruff/resources/test/fixtures/flake8_logging_format/G_simple_ok.py diff --git a/resources/test/fixtures/flake8_logging_format/G_warnings_ok.py b/crates/ruff/resources/test/fixtures/flake8_logging_format/G_warnings_ok.py similarity index 100% rename from resources/test/fixtures/flake8_logging_format/G_warnings_ok.py rename to crates/ruff/resources/test/fixtures/flake8_logging_format/G_warnings_ok.py diff --git a/resources/test/fixtures/flake8_no_pep420/test_fail_empty/example.py b/crates/ruff/resources/test/fixtures/flake8_no_pep420/test_fail_empty/example.py similarity index 100% rename from resources/test/fixtures/flake8_no_pep420/test_fail_empty/example.py rename to crates/ruff/resources/test/fixtures/flake8_no_pep420/test_fail_empty/example.py diff --git a/resources/test/fixtures/flake8_no_pep420/test_fail_nonempty/example.py b/crates/ruff/resources/test/fixtures/flake8_no_pep420/test_fail_nonempty/example.py similarity index 100% rename from resources/test/fixtures/flake8_no_pep420/test_fail_nonempty/example.py rename to crates/ruff/resources/test/fixtures/flake8_no_pep420/test_fail_nonempty/example.py diff --git a/resources/test/fixtures/flake8_no_pep420/test_fail_shebang/example.py b/crates/ruff/resources/test/fixtures/flake8_no_pep420/test_fail_shebang/example.py similarity index 100% rename from resources/test/fixtures/flake8_no_pep420/test_fail_shebang/example.py rename to crates/ruff/resources/test/fixtures/flake8_no_pep420/test_fail_shebang/example.py diff --git a/resources/test/fixtures/flake8_no_pep420/test_ignored/example.py b/crates/ruff/resources/test/fixtures/flake8_no_pep420/test_ignored/example.py similarity index 100% rename from resources/test/fixtures/flake8_no_pep420/test_ignored/example.py rename to crates/ruff/resources/test/fixtures/flake8_no_pep420/test_ignored/example.py diff --git a/resources/test/fixtures/flake8_no_pep420/test_pass_init/__init__.py b/crates/ruff/resources/test/fixtures/flake8_no_pep420/test_pass_init/__init__.py similarity index 100% rename from resources/test/fixtures/flake8_no_pep420/test_pass_init/__init__.py rename to crates/ruff/resources/test/fixtures/flake8_no_pep420/test_pass_init/__init__.py diff --git a/resources/test/fixtures/flake8_no_pep420/test_pass_init/example.py b/crates/ruff/resources/test/fixtures/flake8_no_pep420/test_pass_init/example.py similarity index 100% rename from resources/test/fixtures/flake8_no_pep420/test_pass_init/example.py rename to crates/ruff/resources/test/fixtures/flake8_no_pep420/test_pass_init/example.py diff --git a/resources/test/fixtures/flake8_no_pep420/test_pass_namespace_package/example.py b/crates/ruff/resources/test/fixtures/flake8_no_pep420/test_pass_namespace_package/example.py similarity index 100% rename from resources/test/fixtures/flake8_no_pep420/test_pass_namespace_package/example.py rename to crates/ruff/resources/test/fixtures/flake8_no_pep420/test_pass_namespace_package/example.py diff --git a/resources/test/fixtures/flake8_no_pep420/test_pass_pyi/example.pyi b/crates/ruff/resources/test/fixtures/flake8_no_pep420/test_pass_pyi/example.pyi similarity index 100% rename from resources/test/fixtures/flake8_no_pep420/test_pass_pyi/example.pyi rename to crates/ruff/resources/test/fixtures/flake8_no_pep420/test_pass_pyi/example.pyi diff --git a/resources/test/fixtures/flake8_pie/PIE790.py b/crates/ruff/resources/test/fixtures/flake8_pie/PIE790.py similarity index 100% rename from resources/test/fixtures/flake8_pie/PIE790.py rename to crates/ruff/resources/test/fixtures/flake8_pie/PIE790.py diff --git a/resources/test/fixtures/flake8_pie/PIE794.py b/crates/ruff/resources/test/fixtures/flake8_pie/PIE794.py similarity index 100% rename from resources/test/fixtures/flake8_pie/PIE794.py rename to crates/ruff/resources/test/fixtures/flake8_pie/PIE794.py diff --git a/resources/test/fixtures/flake8_pie/PIE796.py b/crates/ruff/resources/test/fixtures/flake8_pie/PIE796.py similarity index 100% rename from resources/test/fixtures/flake8_pie/PIE796.py rename to crates/ruff/resources/test/fixtures/flake8_pie/PIE796.py diff --git a/resources/test/fixtures/flake8_pie/PIE800.py b/crates/ruff/resources/test/fixtures/flake8_pie/PIE800.py similarity index 100% rename from resources/test/fixtures/flake8_pie/PIE800.py rename to crates/ruff/resources/test/fixtures/flake8_pie/PIE800.py diff --git a/resources/test/fixtures/flake8_pie/PIE804.py b/crates/ruff/resources/test/fixtures/flake8_pie/PIE804.py similarity index 100% rename from resources/test/fixtures/flake8_pie/PIE804.py rename to crates/ruff/resources/test/fixtures/flake8_pie/PIE804.py diff --git a/resources/test/fixtures/flake8_pie/PIE807.py b/crates/ruff/resources/test/fixtures/flake8_pie/PIE807.py similarity index 100% rename from resources/test/fixtures/flake8_pie/PIE807.py rename to crates/ruff/resources/test/fixtures/flake8_pie/PIE807.py diff --git a/resources/test/fixtures/flake8_print/T201.py b/crates/ruff/resources/test/fixtures/flake8_print/T201.py similarity index 100% rename from resources/test/fixtures/flake8_print/T201.py rename to crates/ruff/resources/test/fixtures/flake8_print/T201.py diff --git a/resources/test/fixtures/flake8_print/T203.py b/crates/ruff/resources/test/fixtures/flake8_print/T203.py similarity index 100% rename from resources/test/fixtures/flake8_print/T203.py rename to crates/ruff/resources/test/fixtures/flake8_print/T203.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT001.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT001.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT001.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT001.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT002.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT002.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT002.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT002.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT003.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT003.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT003.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT003.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT004.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT004.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT004.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT004.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT005.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT005.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT005.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT005.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT006.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT006.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT006.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT006.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT007.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT007.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT007.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT007.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT008.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT008.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT008.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT008.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT009.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT009.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT009.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT009.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT010.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT010.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT010.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT010.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT011.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT011.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT011.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT011.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT012.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT012.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT012.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT012.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT013.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT013.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT013.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT013.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT015.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT015.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT015.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT015.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT016.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT016.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT016.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT016.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT017.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT017.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT017.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT017.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT018.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT018.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT018.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT018.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT019.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT019.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT019.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT019.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT020.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT020.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT020.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT020.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT021.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT021.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT021.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT021.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT022.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT022.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT022.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT022.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT023.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT023.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT023.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT023.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT024.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT024.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT024.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT024.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT025.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT025.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT025.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT025.py diff --git a/resources/test/fixtures/flake8_pytest_style/PT026.py b/crates/ruff/resources/test/fixtures/flake8_pytest_style/PT026.py similarity index 100% rename from resources/test/fixtures/flake8_pytest_style/PT026.py rename to crates/ruff/resources/test/fixtures/flake8_pytest_style/PT026.py diff --git a/resources/test/fixtures/flake8_quotes/docstring_doubles.py b/crates/ruff/resources/test/fixtures/flake8_quotes/docstring_doubles.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/docstring_doubles.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/docstring_doubles.py diff --git a/resources/test/fixtures/flake8_quotes/docstring_doubles_class.py b/crates/ruff/resources/test/fixtures/flake8_quotes/docstring_doubles_class.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/docstring_doubles_class.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/docstring_doubles_class.py diff --git a/resources/test/fixtures/flake8_quotes/docstring_doubles_function.py b/crates/ruff/resources/test/fixtures/flake8_quotes/docstring_doubles_function.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/docstring_doubles_function.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/docstring_doubles_function.py diff --git a/resources/test/fixtures/flake8_quotes/docstring_doubles_module_multiline.py b/crates/ruff/resources/test/fixtures/flake8_quotes/docstring_doubles_module_multiline.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/docstring_doubles_module_multiline.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/docstring_doubles_module_multiline.py diff --git a/resources/test/fixtures/flake8_quotes/docstring_doubles_module_singleline.py b/crates/ruff/resources/test/fixtures/flake8_quotes/docstring_doubles_module_singleline.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/docstring_doubles_module_singleline.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/docstring_doubles_module_singleline.py diff --git a/resources/test/fixtures/flake8_quotes/docstring_singles.py b/crates/ruff/resources/test/fixtures/flake8_quotes/docstring_singles.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/docstring_singles.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/docstring_singles.py diff --git a/resources/test/fixtures/flake8_quotes/docstring_singles_class.py b/crates/ruff/resources/test/fixtures/flake8_quotes/docstring_singles_class.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/docstring_singles_class.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/docstring_singles_class.py diff --git a/resources/test/fixtures/flake8_quotes/docstring_singles_function.py b/crates/ruff/resources/test/fixtures/flake8_quotes/docstring_singles_function.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/docstring_singles_function.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/docstring_singles_function.py diff --git a/resources/test/fixtures/flake8_quotes/docstring_singles_module_multiline.py b/crates/ruff/resources/test/fixtures/flake8_quotes/docstring_singles_module_multiline.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/docstring_singles_module_multiline.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/docstring_singles_module_multiline.py diff --git a/resources/test/fixtures/flake8_quotes/docstring_singles_module_singleline.py b/crates/ruff/resources/test/fixtures/flake8_quotes/docstring_singles_module_singleline.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/docstring_singles_module_singleline.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/docstring_singles_module_singleline.py diff --git a/resources/test/fixtures/flake8_quotes/doubles.py b/crates/ruff/resources/test/fixtures/flake8_quotes/doubles.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/doubles.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/doubles.py diff --git a/resources/test/fixtures/flake8_quotes/doubles_escaped.py b/crates/ruff/resources/test/fixtures/flake8_quotes/doubles_escaped.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/doubles_escaped.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/doubles_escaped.py diff --git a/resources/test/fixtures/flake8_quotes/doubles_implicit.py b/crates/ruff/resources/test/fixtures/flake8_quotes/doubles_implicit.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/doubles_implicit.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/doubles_implicit.py diff --git a/resources/test/fixtures/flake8_quotes/doubles_multiline_string.py b/crates/ruff/resources/test/fixtures/flake8_quotes/doubles_multiline_string.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/doubles_multiline_string.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/doubles_multiline_string.py diff --git a/resources/test/fixtures/flake8_quotes/doubles_noqa.py b/crates/ruff/resources/test/fixtures/flake8_quotes/doubles_noqa.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/doubles_noqa.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/doubles_noqa.py diff --git a/resources/test/fixtures/flake8_quotes/doubles_wrapped.py b/crates/ruff/resources/test/fixtures/flake8_quotes/doubles_wrapped.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/doubles_wrapped.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/doubles_wrapped.py diff --git a/resources/test/fixtures/flake8_quotes/singles.py b/crates/ruff/resources/test/fixtures/flake8_quotes/singles.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/singles.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/singles.py diff --git a/resources/test/fixtures/flake8_quotes/singles_escaped.py b/crates/ruff/resources/test/fixtures/flake8_quotes/singles_escaped.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/singles_escaped.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/singles_escaped.py diff --git a/resources/test/fixtures/flake8_quotes/singles_implicit.py b/crates/ruff/resources/test/fixtures/flake8_quotes/singles_implicit.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/singles_implicit.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/singles_implicit.py diff --git a/resources/test/fixtures/flake8_quotes/singles_multiline_string.py b/crates/ruff/resources/test/fixtures/flake8_quotes/singles_multiline_string.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/singles_multiline_string.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/singles_multiline_string.py diff --git a/resources/test/fixtures/flake8_quotes/singles_noqa.py b/crates/ruff/resources/test/fixtures/flake8_quotes/singles_noqa.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/singles_noqa.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/singles_noqa.py diff --git a/resources/test/fixtures/flake8_quotes/singles_wrapped.py b/crates/ruff/resources/test/fixtures/flake8_quotes/singles_wrapped.py similarity index 100% rename from resources/test/fixtures/flake8_quotes/singles_wrapped.py rename to crates/ruff/resources/test/fixtures/flake8_quotes/singles_wrapped.py diff --git a/resources/test/fixtures/flake8_raise/RSE102.py b/crates/ruff/resources/test/fixtures/flake8_raise/RSE102.py similarity index 100% rename from resources/test/fixtures/flake8_raise/RSE102.py rename to crates/ruff/resources/test/fixtures/flake8_raise/RSE102.py diff --git a/resources/test/fixtures/flake8_return/RET501.py b/crates/ruff/resources/test/fixtures/flake8_return/RET501.py similarity index 100% rename from resources/test/fixtures/flake8_return/RET501.py rename to crates/ruff/resources/test/fixtures/flake8_return/RET501.py diff --git a/resources/test/fixtures/flake8_return/RET502.py b/crates/ruff/resources/test/fixtures/flake8_return/RET502.py similarity index 100% rename from resources/test/fixtures/flake8_return/RET502.py rename to crates/ruff/resources/test/fixtures/flake8_return/RET502.py diff --git a/resources/test/fixtures/flake8_return/RET503.py b/crates/ruff/resources/test/fixtures/flake8_return/RET503.py similarity index 100% rename from resources/test/fixtures/flake8_return/RET503.py rename to crates/ruff/resources/test/fixtures/flake8_return/RET503.py diff --git a/resources/test/fixtures/flake8_return/RET504.py b/crates/ruff/resources/test/fixtures/flake8_return/RET504.py similarity index 100% rename from resources/test/fixtures/flake8_return/RET504.py rename to crates/ruff/resources/test/fixtures/flake8_return/RET504.py diff --git a/resources/test/fixtures/flake8_return/RET505.py b/crates/ruff/resources/test/fixtures/flake8_return/RET505.py similarity index 100% rename from resources/test/fixtures/flake8_return/RET505.py rename to crates/ruff/resources/test/fixtures/flake8_return/RET505.py diff --git a/resources/test/fixtures/flake8_return/RET506.py b/crates/ruff/resources/test/fixtures/flake8_return/RET506.py similarity index 100% rename from resources/test/fixtures/flake8_return/RET506.py rename to crates/ruff/resources/test/fixtures/flake8_return/RET506.py diff --git a/resources/test/fixtures/flake8_return/RET507.py b/crates/ruff/resources/test/fixtures/flake8_return/RET507.py similarity index 100% rename from resources/test/fixtures/flake8_return/RET507.py rename to crates/ruff/resources/test/fixtures/flake8_return/RET507.py diff --git a/resources/test/fixtures/flake8_return/RET508.py b/crates/ruff/resources/test/fixtures/flake8_return/RET508.py similarity index 100% rename from resources/test/fixtures/flake8_return/RET508.py rename to crates/ruff/resources/test/fixtures/flake8_return/RET508.py diff --git a/resources/test/fixtures/flake8_self/SLF001.py b/crates/ruff/resources/test/fixtures/flake8_self/SLF001.py similarity index 100% rename from resources/test/fixtures/flake8_self/SLF001.py rename to crates/ruff/resources/test/fixtures/flake8_self/SLF001.py diff --git a/resources/test/fixtures/flake8_simplify/SIM101.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM101.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM101.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM101.py diff --git a/resources/test/fixtures/flake8_simplify/SIM102.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM102.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM102.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM102.py diff --git a/resources/test/fixtures/flake8_simplify/SIM103.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM103.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM103.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM103.py diff --git a/resources/test/fixtures/flake8_simplify/SIM105.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM105.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM105.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM105.py diff --git a/resources/test/fixtures/flake8_simplify/SIM107.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM107.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM107.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM107.py diff --git a/resources/test/fixtures/flake8_simplify/SIM108.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM108.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM108.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM108.py diff --git a/resources/test/fixtures/flake8_simplify/SIM109.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM109.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM109.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM109.py diff --git a/resources/test/fixtures/flake8_simplify/SIM110.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM110.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM110.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM110.py diff --git a/resources/test/fixtures/flake8_simplify/SIM111.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM111.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM111.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM111.py diff --git a/resources/test/fixtures/flake8_simplify/SIM112.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM112.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM112.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM112.py diff --git a/resources/test/fixtures/flake8_simplify/SIM115.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM115.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM115.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM115.py diff --git a/resources/test/fixtures/flake8_simplify/SIM117.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM117.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM117.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM117.py diff --git a/resources/test/fixtures/flake8_simplify/SIM118.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM118.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM118.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM118.py diff --git a/resources/test/fixtures/flake8_simplify/SIM201.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM201.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM201.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM201.py diff --git a/resources/test/fixtures/flake8_simplify/SIM202.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM202.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM202.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM202.py diff --git a/resources/test/fixtures/flake8_simplify/SIM208.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM208.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM208.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM208.py diff --git a/resources/test/fixtures/flake8_simplify/SIM210.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM210.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM210.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM210.py diff --git a/resources/test/fixtures/flake8_simplify/SIM211.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM211.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM211.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM211.py diff --git a/resources/test/fixtures/flake8_simplify/SIM212.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM212.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM212.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM212.py diff --git a/resources/test/fixtures/flake8_simplify/SIM220.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM220.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM220.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM220.py diff --git a/resources/test/fixtures/flake8_simplify/SIM221.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM221.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM221.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM221.py diff --git a/resources/test/fixtures/flake8_simplify/SIM222.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM222.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM222.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM222.py diff --git a/resources/test/fixtures/flake8_simplify/SIM223.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM223.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM223.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM223.py diff --git a/resources/test/fixtures/flake8_simplify/SIM300.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM300.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM300.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM300.py diff --git a/resources/test/fixtures/flake8_simplify/SIM401.py b/crates/ruff/resources/test/fixtures/flake8_simplify/SIM401.py similarity index 100% rename from resources/test/fixtures/flake8_simplify/SIM401.py rename to crates/ruff/resources/test/fixtures/flake8_simplify/SIM401.py diff --git a/resources/test/fixtures/flake8_tidy_imports/TID251.py b/crates/ruff/resources/test/fixtures/flake8_tidy_imports/TID251.py similarity index 100% rename from resources/test/fixtures/flake8_tidy_imports/TID251.py rename to crates/ruff/resources/test/fixtures/flake8_tidy_imports/TID251.py diff --git a/resources/test/fixtures/flake8_tidy_imports/TID251_false_positives.py b/crates/ruff/resources/test/fixtures/flake8_tidy_imports/TID251_false_positives.py similarity index 100% rename from resources/test/fixtures/flake8_tidy_imports/TID251_false_positives.py rename to crates/ruff/resources/test/fixtures/flake8_tidy_imports/TID251_false_positives.py diff --git a/resources/test/fixtures/flake8_tidy_imports/TID252.py b/crates/ruff/resources/test/fixtures/flake8_tidy_imports/TID252.py similarity index 100% rename from resources/test/fixtures/flake8_tidy_imports/TID252.py rename to crates/ruff/resources/test/fixtures/flake8_tidy_imports/TID252.py diff --git a/resources/test/fixtures/flake8_type_checking/TCH001.py b/crates/ruff/resources/test/fixtures/flake8_type_checking/TCH001.py similarity index 100% rename from resources/test/fixtures/flake8_type_checking/TCH001.py rename to crates/ruff/resources/test/fixtures/flake8_type_checking/TCH001.py diff --git a/resources/test/fixtures/flake8_type_checking/TCH002.py b/crates/ruff/resources/test/fixtures/flake8_type_checking/TCH002.py similarity index 100% rename from resources/test/fixtures/flake8_type_checking/TCH002.py rename to crates/ruff/resources/test/fixtures/flake8_type_checking/TCH002.py diff --git a/resources/test/fixtures/flake8_type_checking/TCH003.py b/crates/ruff/resources/test/fixtures/flake8_type_checking/TCH003.py similarity index 100% rename from resources/test/fixtures/flake8_type_checking/TCH003.py rename to crates/ruff/resources/test/fixtures/flake8_type_checking/TCH003.py diff --git a/resources/test/fixtures/flake8_type_checking/TCH004_1.py b/crates/ruff/resources/test/fixtures/flake8_type_checking/TCH004_1.py similarity index 100% rename from resources/test/fixtures/flake8_type_checking/TCH004_1.py rename to crates/ruff/resources/test/fixtures/flake8_type_checking/TCH004_1.py diff --git a/resources/test/fixtures/flake8_type_checking/TCH004_2.py b/crates/ruff/resources/test/fixtures/flake8_type_checking/TCH004_2.py similarity index 100% rename from resources/test/fixtures/flake8_type_checking/TCH004_2.py rename to crates/ruff/resources/test/fixtures/flake8_type_checking/TCH004_2.py diff --git a/resources/test/fixtures/flake8_type_checking/TCH004_3.py b/crates/ruff/resources/test/fixtures/flake8_type_checking/TCH004_3.py similarity index 100% rename from resources/test/fixtures/flake8_type_checking/TCH004_3.py rename to crates/ruff/resources/test/fixtures/flake8_type_checking/TCH004_3.py diff --git a/resources/test/fixtures/flake8_type_checking/TCH004_4.py b/crates/ruff/resources/test/fixtures/flake8_type_checking/TCH004_4.py similarity index 100% rename from resources/test/fixtures/flake8_type_checking/TCH004_4.py rename to crates/ruff/resources/test/fixtures/flake8_type_checking/TCH004_4.py diff --git a/resources/test/fixtures/flake8_type_checking/TCH004_5.py b/crates/ruff/resources/test/fixtures/flake8_type_checking/TCH004_5.py similarity index 100% rename from resources/test/fixtures/flake8_type_checking/TCH004_5.py rename to crates/ruff/resources/test/fixtures/flake8_type_checking/TCH004_5.py diff --git a/resources/test/fixtures/flake8_type_checking/TCH004_6.py b/crates/ruff/resources/test/fixtures/flake8_type_checking/TCH004_6.py similarity index 100% rename from resources/test/fixtures/flake8_type_checking/TCH004_6.py rename to crates/ruff/resources/test/fixtures/flake8_type_checking/TCH004_6.py diff --git a/resources/test/fixtures/flake8_type_checking/TCH004_7.py b/crates/ruff/resources/test/fixtures/flake8_type_checking/TCH004_7.py similarity index 100% rename from resources/test/fixtures/flake8_type_checking/TCH004_7.py rename to crates/ruff/resources/test/fixtures/flake8_type_checking/TCH004_7.py diff --git a/resources/test/fixtures/flake8_type_checking/TCH004_8.py b/crates/ruff/resources/test/fixtures/flake8_type_checking/TCH004_8.py similarity index 100% rename from resources/test/fixtures/flake8_type_checking/TCH004_8.py rename to crates/ruff/resources/test/fixtures/flake8_type_checking/TCH004_8.py diff --git a/resources/test/fixtures/flake8_type_checking/TCH005.py b/crates/ruff/resources/test/fixtures/flake8_type_checking/TCH005.py similarity index 100% rename from resources/test/fixtures/flake8_type_checking/TCH005.py rename to crates/ruff/resources/test/fixtures/flake8_type_checking/TCH005.py diff --git a/resources/test/fixtures/flake8_type_checking/exempt_modules.py b/crates/ruff/resources/test/fixtures/flake8_type_checking/exempt_modules.py similarity index 100% rename from resources/test/fixtures/flake8_type_checking/exempt_modules.py rename to crates/ruff/resources/test/fixtures/flake8_type_checking/exempt_modules.py diff --git a/resources/test/fixtures/flake8_type_checking/strict.py b/crates/ruff/resources/test/fixtures/flake8_type_checking/strict.py similarity index 100% rename from resources/test/fixtures/flake8_type_checking/strict.py rename to crates/ruff/resources/test/fixtures/flake8_type_checking/strict.py diff --git a/resources/test/fixtures/flake8_unused_arguments/ARG.py b/crates/ruff/resources/test/fixtures/flake8_unused_arguments/ARG.py similarity index 100% rename from resources/test/fixtures/flake8_unused_arguments/ARG.py rename to crates/ruff/resources/test/fixtures/flake8_unused_arguments/ARG.py diff --git a/resources/test/fixtures/flake8_unused_arguments/ignore_variadic_names.py b/crates/ruff/resources/test/fixtures/flake8_unused_arguments/ignore_variadic_names.py similarity index 100% rename from resources/test/fixtures/flake8_unused_arguments/ignore_variadic_names.py rename to crates/ruff/resources/test/fixtures/flake8_unused_arguments/ignore_variadic_names.py diff --git a/resources/test/fixtures/flake8_use_pathlib/full_name.py b/crates/ruff/resources/test/fixtures/flake8_use_pathlib/full_name.py similarity index 100% rename from resources/test/fixtures/flake8_use_pathlib/full_name.py rename to crates/ruff/resources/test/fixtures/flake8_use_pathlib/full_name.py diff --git a/resources/test/fixtures/flake8_use_pathlib/import_as.py b/crates/ruff/resources/test/fixtures/flake8_use_pathlib/import_as.py similarity index 100% rename from resources/test/fixtures/flake8_use_pathlib/import_as.py rename to crates/ruff/resources/test/fixtures/flake8_use_pathlib/import_as.py diff --git a/resources/test/fixtures/flake8_use_pathlib/import_from.py b/crates/ruff/resources/test/fixtures/flake8_use_pathlib/import_from.py similarity index 100% rename from resources/test/fixtures/flake8_use_pathlib/import_from.py rename to crates/ruff/resources/test/fixtures/flake8_use_pathlib/import_from.py diff --git a/resources/test/fixtures/flake8_use_pathlib/import_from_as.py b/crates/ruff/resources/test/fixtures/flake8_use_pathlib/import_from_as.py similarity index 100% rename from resources/test/fixtures/flake8_use_pathlib/import_from_as.py rename to crates/ruff/resources/test/fixtures/flake8_use_pathlib/import_from_as.py diff --git a/resources/test/fixtures/flake8_use_pathlib/py_path_1.py b/crates/ruff/resources/test/fixtures/flake8_use_pathlib/py_path_1.py similarity index 100% rename from resources/test/fixtures/flake8_use_pathlib/py_path_1.py rename to crates/ruff/resources/test/fixtures/flake8_use_pathlib/py_path_1.py diff --git a/resources/test/fixtures/flake8_use_pathlib/py_path_2.py b/crates/ruff/resources/test/fixtures/flake8_use_pathlib/py_path_2.py similarity index 100% rename from resources/test/fixtures/flake8_use_pathlib/py_path_2.py rename to crates/ruff/resources/test/fixtures/flake8_use_pathlib/py_path_2.py diff --git a/resources/test/fixtures/flake8_use_pathlib/use_pathlib.py b/crates/ruff/resources/test/fixtures/flake8_use_pathlib/use_pathlib.py similarity index 100% rename from resources/test/fixtures/flake8_use_pathlib/use_pathlib.py rename to crates/ruff/resources/test/fixtures/flake8_use_pathlib/use_pathlib.py diff --git a/resources/test/fixtures/isort/add_newline_before_comments.py b/crates/ruff/resources/test/fixtures/isort/add_newline_before_comments.py similarity index 100% rename from resources/test/fixtures/isort/add_newline_before_comments.py rename to crates/ruff/resources/test/fixtures/isort/add_newline_before_comments.py diff --git a/resources/test/fixtures/isort/combine_as_imports.py b/crates/ruff/resources/test/fixtures/isort/combine_as_imports.py similarity index 100% rename from resources/test/fixtures/isort/combine_as_imports.py rename to crates/ruff/resources/test/fixtures/isort/combine_as_imports.py diff --git a/resources/test/fixtures/isort/combine_import_from.py b/crates/ruff/resources/test/fixtures/isort/combine_import_from.py similarity index 100% rename from resources/test/fixtures/isort/combine_import_from.py rename to crates/ruff/resources/test/fixtures/isort/combine_import_from.py diff --git a/resources/test/fixtures/isort/comments.py b/crates/ruff/resources/test/fixtures/isort/comments.py similarity index 100% rename from resources/test/fixtures/isort/comments.py rename to crates/ruff/resources/test/fixtures/isort/comments.py diff --git a/resources/test/fixtures/isort/deduplicate_imports.py b/crates/ruff/resources/test/fixtures/isort/deduplicate_imports.py similarity index 100% rename from resources/test/fixtures/isort/deduplicate_imports.py rename to crates/ruff/resources/test/fixtures/isort/deduplicate_imports.py diff --git a/resources/test/fixtures/isort/fit_line_length.py b/crates/ruff/resources/test/fixtures/isort/fit_line_length.py similarity index 100% rename from resources/test/fixtures/isort/fit_line_length.py rename to crates/ruff/resources/test/fixtures/isort/fit_line_length.py diff --git a/resources/test/fixtures/isort/fit_line_length_comment.py b/crates/ruff/resources/test/fixtures/isort/fit_line_length_comment.py similarity index 100% rename from resources/test/fixtures/isort/fit_line_length_comment.py rename to crates/ruff/resources/test/fixtures/isort/fit_line_length_comment.py diff --git a/resources/test/fixtures/isort/force_single_line.py b/crates/ruff/resources/test/fixtures/isort/force_single_line.py similarity index 100% rename from resources/test/fixtures/isort/force_single_line.py rename to crates/ruff/resources/test/fixtures/isort/force_single_line.py diff --git a/resources/test/fixtures/isort/force_sort_within_sections.py b/crates/ruff/resources/test/fixtures/isort/force_sort_within_sections.py similarity index 100% rename from resources/test/fixtures/isort/force_sort_within_sections.py rename to crates/ruff/resources/test/fixtures/isort/force_sort_within_sections.py diff --git a/resources/test/fixtures/isort/force_wrap_aliases.py b/crates/ruff/resources/test/fixtures/isort/force_wrap_aliases.py similarity index 100% rename from resources/test/fixtures/isort/force_wrap_aliases.py rename to crates/ruff/resources/test/fixtures/isort/force_wrap_aliases.py diff --git a/resources/test/fixtures/isort/forced_separate.py b/crates/ruff/resources/test/fixtures/isort/forced_separate.py similarity index 100% rename from resources/test/fixtures/isort/forced_separate.py rename to crates/ruff/resources/test/fixtures/isort/forced_separate.py diff --git a/resources/test/fixtures/isort/import_from_after_import.py b/crates/ruff/resources/test/fixtures/isort/import_from_after_import.py similarity index 100% rename from resources/test/fixtures/isort/import_from_after_import.py rename to crates/ruff/resources/test/fixtures/isort/import_from_after_import.py diff --git a/resources/test/fixtures/isort/inline_comments.py b/crates/ruff/resources/test/fixtures/isort/inline_comments.py similarity index 100% rename from resources/test/fixtures/isort/inline_comments.py rename to crates/ruff/resources/test/fixtures/isort/inline_comments.py diff --git a/resources/test/fixtures/isort/insert_empty_lines.py b/crates/ruff/resources/test/fixtures/isort/insert_empty_lines.py similarity index 100% rename from resources/test/fixtures/isort/insert_empty_lines.py rename to crates/ruff/resources/test/fixtures/isort/insert_empty_lines.py diff --git a/resources/test/fixtures/isort/insert_empty_lines.pyi b/crates/ruff/resources/test/fixtures/isort/insert_empty_lines.pyi similarity index 100% rename from resources/test/fixtures/isort/insert_empty_lines.pyi rename to crates/ruff/resources/test/fixtures/isort/insert_empty_lines.pyi diff --git a/resources/test/fixtures/isort/leading_prefix.py b/crates/ruff/resources/test/fixtures/isort/leading_prefix.py similarity index 100% rename from resources/test/fixtures/isort/leading_prefix.py rename to crates/ruff/resources/test/fixtures/isort/leading_prefix.py diff --git a/resources/test/fixtures/isort/line_ending_crlf.py b/crates/ruff/resources/test/fixtures/isort/line_ending_crlf.py similarity index 100% rename from resources/test/fixtures/isort/line_ending_crlf.py rename to crates/ruff/resources/test/fixtures/isort/line_ending_crlf.py diff --git a/resources/test/fixtures/isort/line_ending_lf.py b/crates/ruff/resources/test/fixtures/isort/line_ending_lf.py similarity index 100% rename from resources/test/fixtures/isort/line_ending_lf.py rename to crates/ruff/resources/test/fixtures/isort/line_ending_lf.py diff --git a/resources/test/fixtures/isort/lines_after_imports_class_after.py b/crates/ruff/resources/test/fixtures/isort/lines_after_imports_class_after.py similarity index 100% rename from resources/test/fixtures/isort/lines_after_imports_class_after.py rename to crates/ruff/resources/test/fixtures/isort/lines_after_imports_class_after.py diff --git a/resources/test/fixtures/isort/lines_after_imports_func_after.py b/crates/ruff/resources/test/fixtures/isort/lines_after_imports_func_after.py similarity index 100% rename from resources/test/fixtures/isort/lines_after_imports_func_after.py rename to crates/ruff/resources/test/fixtures/isort/lines_after_imports_func_after.py diff --git a/resources/test/fixtures/isort/lines_after_imports_nothing_after.py b/crates/ruff/resources/test/fixtures/isort/lines_after_imports_nothing_after.py similarity index 100% rename from resources/test/fixtures/isort/lines_after_imports_nothing_after.py rename to crates/ruff/resources/test/fixtures/isort/lines_after_imports_nothing_after.py diff --git a/resources/test/fixtures/isort/magic_trailing_comma.py b/crates/ruff/resources/test/fixtures/isort/magic_trailing_comma.py similarity index 100% rename from resources/test/fixtures/isort/magic_trailing_comma.py rename to crates/ruff/resources/test/fixtures/isort/magic_trailing_comma.py diff --git a/resources/test/fixtures/isort/natural_order.py b/crates/ruff/resources/test/fixtures/isort/natural_order.py similarity index 100% rename from resources/test/fixtures/isort/natural_order.py rename to crates/ruff/resources/test/fixtures/isort/natural_order.py diff --git a/resources/test/fixtures/isort/no_lines_before.py b/crates/ruff/resources/test/fixtures/isort/no_lines_before.py similarity index 100% rename from resources/test/fixtures/isort/no_lines_before.py rename to crates/ruff/resources/test/fixtures/isort/no_lines_before.py diff --git a/resources/test/fixtures/isort/no_reorder_within_section.py b/crates/ruff/resources/test/fixtures/isort/no_reorder_within_section.py similarity index 100% rename from resources/test/fixtures/isort/no_reorder_within_section.py rename to crates/ruff/resources/test/fixtures/isort/no_reorder_within_section.py diff --git a/resources/test/fixtures/isort/no_wrap_star.py b/crates/ruff/resources/test/fixtures/isort/no_wrap_star.py similarity index 100% rename from resources/test/fixtures/isort/no_wrap_star.py rename to crates/ruff/resources/test/fixtures/isort/no_wrap_star.py diff --git a/resources/test/fixtures/isort/order_by_type.py b/crates/ruff/resources/test/fixtures/isort/order_by_type.py similarity index 100% rename from resources/test/fixtures/isort/order_by_type.py rename to crates/ruff/resources/test/fixtures/isort/order_by_type.py diff --git a/resources/test/fixtures/isort/order_by_type_with_custom_classes.py b/crates/ruff/resources/test/fixtures/isort/order_by_type_with_custom_classes.py similarity index 100% rename from resources/test/fixtures/isort/order_by_type_with_custom_classes.py rename to crates/ruff/resources/test/fixtures/isort/order_by_type_with_custom_classes.py diff --git a/resources/test/fixtures/isort/order_by_type_with_custom_constants.py b/crates/ruff/resources/test/fixtures/isort/order_by_type_with_custom_constants.py similarity index 100% rename from resources/test/fixtures/isort/order_by_type_with_custom_constants.py rename to crates/ruff/resources/test/fixtures/isort/order_by_type_with_custom_constants.py diff --git a/resources/test/fixtures/isort/order_by_type_with_custom_variables.py b/crates/ruff/resources/test/fixtures/isort/order_by_type_with_custom_variables.py similarity index 100% rename from resources/test/fixtures/isort/order_by_type_with_custom_variables.py rename to crates/ruff/resources/test/fixtures/isort/order_by_type_with_custom_variables.py diff --git a/resources/test/fixtures/isort/order_relative_imports_by_level.py b/crates/ruff/resources/test/fixtures/isort/order_relative_imports_by_level.py similarity index 100% rename from resources/test/fixtures/isort/order_relative_imports_by_level.py rename to crates/ruff/resources/test/fixtures/isort/order_relative_imports_by_level.py diff --git a/resources/test/fixtures/isort/preserve_comment_order.py b/crates/ruff/resources/test/fixtures/isort/preserve_comment_order.py similarity index 100% rename from resources/test/fixtures/isort/preserve_comment_order.py rename to crates/ruff/resources/test/fixtures/isort/preserve_comment_order.py diff --git a/resources/test/fixtures/isort/preserve_import_star.py b/crates/ruff/resources/test/fixtures/isort/preserve_import_star.py similarity index 100% rename from resources/test/fixtures/isort/preserve_import_star.py rename to crates/ruff/resources/test/fixtures/isort/preserve_import_star.py diff --git a/resources/test/fixtures/isort/preserve_indentation.py b/crates/ruff/resources/test/fixtures/isort/preserve_indentation.py similarity index 100% rename from resources/test/fixtures/isort/preserve_indentation.py rename to crates/ruff/resources/test/fixtures/isort/preserve_indentation.py diff --git a/resources/test/fixtures/isort/preserve_tabs.py b/crates/ruff/resources/test/fixtures/isort/preserve_tabs.py similarity index 100% rename from resources/test/fixtures/isort/preserve_tabs.py rename to crates/ruff/resources/test/fixtures/isort/preserve_tabs.py diff --git a/resources/test/fixtures/isort/preserve_tabs_2.py b/crates/ruff/resources/test/fixtures/isort/preserve_tabs_2.py similarity index 100% rename from resources/test/fixtures/isort/preserve_tabs_2.py rename to crates/ruff/resources/test/fixtures/isort/preserve_tabs_2.py diff --git a/resources/test/fixtures/isort/pyproject.toml b/crates/ruff/resources/test/fixtures/isort/pyproject.toml similarity index 100% rename from resources/test/fixtures/isort/pyproject.toml rename to crates/ruff/resources/test/fixtures/isort/pyproject.toml diff --git a/resources/test/fixtures/isort/relative_imports_order.py b/crates/ruff/resources/test/fixtures/isort/relative_imports_order.py similarity index 100% rename from resources/test/fixtures/isort/relative_imports_order.py rename to crates/ruff/resources/test/fixtures/isort/relative_imports_order.py diff --git a/resources/test/fixtures/isort/reorder_within_section.py b/crates/ruff/resources/test/fixtures/isort/reorder_within_section.py similarity index 100% rename from resources/test/fixtures/isort/reorder_within_section.py rename to crates/ruff/resources/test/fixtures/isort/reorder_within_section.py diff --git a/resources/test/fixtures/isort/required_imports/comment.py b/crates/ruff/resources/test/fixtures/isort/required_imports/comment.py similarity index 100% rename from resources/test/fixtures/isort/required_imports/comment.py rename to crates/ruff/resources/test/fixtures/isort/required_imports/comment.py diff --git a/resources/test/fixtures/isort/required_imports/docstring.py b/crates/ruff/resources/test/fixtures/isort/required_imports/docstring.py similarity index 100% rename from resources/test/fixtures/isort/required_imports/docstring.py rename to crates/ruff/resources/test/fixtures/isort/required_imports/docstring.py diff --git a/resources/test/fixtures/isort/required_imports/docstring_only.py b/crates/ruff/resources/test/fixtures/isort/required_imports/docstring_only.py similarity index 100% rename from resources/test/fixtures/isort/required_imports/docstring_only.py rename to crates/ruff/resources/test/fixtures/isort/required_imports/docstring_only.py diff --git a/resources/test/fixtures/isort/required_imports/docstring_with_continuation.py b/crates/ruff/resources/test/fixtures/isort/required_imports/docstring_with_continuation.py similarity index 100% rename from resources/test/fixtures/isort/required_imports/docstring_with_continuation.py rename to crates/ruff/resources/test/fixtures/isort/required_imports/docstring_with_continuation.py diff --git a/resources/test/fixtures/isort/required_imports/docstring_with_semicolon.py b/crates/ruff/resources/test/fixtures/isort/required_imports/docstring_with_semicolon.py similarity index 100% rename from resources/test/fixtures/isort/required_imports/docstring_with_semicolon.py rename to crates/ruff/resources/test/fixtures/isort/required_imports/docstring_with_semicolon.py diff --git a/resources/test/fixtures/isort/required_imports/empty.py b/crates/ruff/resources/test/fixtures/isort/required_imports/empty.py similarity index 100% rename from resources/test/fixtures/isort/required_imports/empty.py rename to crates/ruff/resources/test/fixtures/isort/required_imports/empty.py diff --git a/resources/test/fixtures/isort/required_imports/existing_import.py b/crates/ruff/resources/test/fixtures/isort/required_imports/existing_import.py similarity index 100% rename from resources/test/fixtures/isort/required_imports/existing_import.py rename to crates/ruff/resources/test/fixtures/isort/required_imports/existing_import.py diff --git a/resources/test/fixtures/isort/separate_first_party_imports.py b/crates/ruff/resources/test/fixtures/isort/separate_first_party_imports.py similarity index 100% rename from resources/test/fixtures/isort/separate_first_party_imports.py rename to crates/ruff/resources/test/fixtures/isort/separate_first_party_imports.py diff --git a/resources/test/fixtures/isort/separate_future_imports.py b/crates/ruff/resources/test/fixtures/isort/separate_future_imports.py similarity index 100% rename from resources/test/fixtures/isort/separate_future_imports.py rename to crates/ruff/resources/test/fixtures/isort/separate_future_imports.py diff --git a/resources/test/fixtures/isort/separate_local_folder_imports.py b/crates/ruff/resources/test/fixtures/isort/separate_local_folder_imports.py similarity index 100% rename from resources/test/fixtures/isort/separate_local_folder_imports.py rename to crates/ruff/resources/test/fixtures/isort/separate_local_folder_imports.py diff --git a/resources/test/fixtures/isort/separate_third_party_imports.py b/crates/ruff/resources/test/fixtures/isort/separate_third_party_imports.py similarity index 100% rename from resources/test/fixtures/isort/separate_third_party_imports.py rename to crates/ruff/resources/test/fixtures/isort/separate_third_party_imports.py diff --git a/resources/test/fixtures/isort/skip.py b/crates/ruff/resources/test/fixtures/isort/skip.py similarity index 100% rename from resources/test/fixtures/isort/skip.py rename to crates/ruff/resources/test/fixtures/isort/skip.py diff --git a/resources/test/fixtures/isort/skip_file.py b/crates/ruff/resources/test/fixtures/isort/skip_file.py similarity index 100% rename from resources/test/fixtures/isort/skip_file.py rename to crates/ruff/resources/test/fixtures/isort/skip_file.py diff --git a/resources/test/fixtures/isort/sort_similar_imports.py b/crates/ruff/resources/test/fixtures/isort/sort_similar_imports.py similarity index 100% rename from resources/test/fixtures/isort/sort_similar_imports.py rename to crates/ruff/resources/test/fixtures/isort/sort_similar_imports.py diff --git a/resources/test/fixtures/isort/split.py b/crates/ruff/resources/test/fixtures/isort/split.py similarity index 100% rename from resources/test/fixtures/isort/split.py rename to crates/ruff/resources/test/fixtures/isort/split.py diff --git a/resources/test/fixtures/isort/star_before_others.py b/crates/ruff/resources/test/fixtures/isort/star_before_others.py similarity index 100% rename from resources/test/fixtures/isort/star_before_others.py rename to crates/ruff/resources/test/fixtures/isort/star_before_others.py diff --git a/resources/test/fixtures/isort/trailing_suffix.py b/crates/ruff/resources/test/fixtures/isort/trailing_suffix.py similarity index 100% rename from resources/test/fixtures/isort/trailing_suffix.py rename to crates/ruff/resources/test/fixtures/isort/trailing_suffix.py diff --git a/resources/test/fixtures/isort/type_comments.py b/crates/ruff/resources/test/fixtures/isort/type_comments.py similarity index 100% rename from resources/test/fixtures/isort/type_comments.py rename to crates/ruff/resources/test/fixtures/isort/type_comments.py diff --git a/resources/test/fixtures/mccabe/C901.py b/crates/ruff/resources/test/fixtures/mccabe/C901.py similarity index 100% rename from resources/test/fixtures/mccabe/C901.py rename to crates/ruff/resources/test/fixtures/mccabe/C901.py diff --git a/resources/test/fixtures/pandas_vet/PD002.py b/crates/ruff/resources/test/fixtures/pandas_vet/PD002.py similarity index 100% rename from resources/test/fixtures/pandas_vet/PD002.py rename to crates/ruff/resources/test/fixtures/pandas_vet/PD002.py diff --git a/resources/test/fixtures/pep8_naming/N801.py b/crates/ruff/resources/test/fixtures/pep8_naming/N801.py similarity index 100% rename from resources/test/fixtures/pep8_naming/N801.py rename to crates/ruff/resources/test/fixtures/pep8_naming/N801.py diff --git a/resources/test/fixtures/pep8_naming/N802.py b/crates/ruff/resources/test/fixtures/pep8_naming/N802.py similarity index 100% rename from resources/test/fixtures/pep8_naming/N802.py rename to crates/ruff/resources/test/fixtures/pep8_naming/N802.py diff --git a/resources/test/fixtures/pep8_naming/N803.py b/crates/ruff/resources/test/fixtures/pep8_naming/N803.py similarity index 100% rename from resources/test/fixtures/pep8_naming/N803.py rename to crates/ruff/resources/test/fixtures/pep8_naming/N803.py diff --git a/resources/test/fixtures/pep8_naming/N804.py b/crates/ruff/resources/test/fixtures/pep8_naming/N804.py similarity index 100% rename from resources/test/fixtures/pep8_naming/N804.py rename to crates/ruff/resources/test/fixtures/pep8_naming/N804.py diff --git a/resources/test/fixtures/pep8_naming/N805.py b/crates/ruff/resources/test/fixtures/pep8_naming/N805.py similarity index 100% rename from resources/test/fixtures/pep8_naming/N805.py rename to crates/ruff/resources/test/fixtures/pep8_naming/N805.py diff --git a/resources/test/fixtures/pep8_naming/N806.py b/crates/ruff/resources/test/fixtures/pep8_naming/N806.py similarity index 100% rename from resources/test/fixtures/pep8_naming/N806.py rename to crates/ruff/resources/test/fixtures/pep8_naming/N806.py diff --git a/resources/test/fixtures/pep8_naming/N807.py b/crates/ruff/resources/test/fixtures/pep8_naming/N807.py similarity index 100% rename from resources/test/fixtures/pep8_naming/N807.py rename to crates/ruff/resources/test/fixtures/pep8_naming/N807.py diff --git a/resources/test/fixtures/pep8_naming/N811.py b/crates/ruff/resources/test/fixtures/pep8_naming/N811.py similarity index 100% rename from resources/test/fixtures/pep8_naming/N811.py rename to crates/ruff/resources/test/fixtures/pep8_naming/N811.py diff --git a/resources/test/fixtures/pep8_naming/N812.py b/crates/ruff/resources/test/fixtures/pep8_naming/N812.py similarity index 100% rename from resources/test/fixtures/pep8_naming/N812.py rename to crates/ruff/resources/test/fixtures/pep8_naming/N812.py diff --git a/resources/test/fixtures/pep8_naming/N813.py b/crates/ruff/resources/test/fixtures/pep8_naming/N813.py similarity index 100% rename from resources/test/fixtures/pep8_naming/N813.py rename to crates/ruff/resources/test/fixtures/pep8_naming/N813.py diff --git a/resources/test/fixtures/pep8_naming/N814.py b/crates/ruff/resources/test/fixtures/pep8_naming/N814.py similarity index 100% rename from resources/test/fixtures/pep8_naming/N814.py rename to crates/ruff/resources/test/fixtures/pep8_naming/N814.py diff --git a/resources/test/fixtures/pep8_naming/N815.py b/crates/ruff/resources/test/fixtures/pep8_naming/N815.py similarity index 100% rename from resources/test/fixtures/pep8_naming/N815.py rename to crates/ruff/resources/test/fixtures/pep8_naming/N815.py diff --git a/resources/test/fixtures/pep8_naming/N816.py b/crates/ruff/resources/test/fixtures/pep8_naming/N816.py similarity index 100% rename from resources/test/fixtures/pep8_naming/N816.py rename to crates/ruff/resources/test/fixtures/pep8_naming/N816.py diff --git a/resources/test/fixtures/pep8_naming/N817.py b/crates/ruff/resources/test/fixtures/pep8_naming/N817.py similarity index 100% rename from resources/test/fixtures/pep8_naming/N817.py rename to crates/ruff/resources/test/fixtures/pep8_naming/N817.py diff --git a/resources/test/fixtures/pep8_naming/N818.py b/crates/ruff/resources/test/fixtures/pep8_naming/N818.py similarity index 100% rename from resources/test/fixtures/pep8_naming/N818.py rename to crates/ruff/resources/test/fixtures/pep8_naming/N818.py diff --git a/resources/test/fixtures/pycodestyle/E101.py b/crates/ruff/resources/test/fixtures/pycodestyle/E101.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E101.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E101.py diff --git a/resources/test/fixtures/pycodestyle/E11.py b/crates/ruff/resources/test/fixtures/pycodestyle/E11.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E11.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E11.py diff --git a/resources/test/fixtures/pycodestyle/E20.py b/crates/ruff/resources/test/fixtures/pycodestyle/E20.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E20.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E20.py diff --git a/resources/test/fixtures/pycodestyle/E22.py b/crates/ruff/resources/test/fixtures/pycodestyle/E22.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E22.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E22.py diff --git a/resources/test/fixtures/pycodestyle/E40.py b/crates/ruff/resources/test/fixtures/pycodestyle/E40.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E40.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E40.py diff --git a/resources/test/fixtures/pycodestyle/E402.py b/crates/ruff/resources/test/fixtures/pycodestyle/E402.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E402.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E402.py diff --git a/resources/test/fixtures/pycodestyle/E501.py b/crates/ruff/resources/test/fixtures/pycodestyle/E501.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E501.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E501.py diff --git a/resources/test/fixtures/pycodestyle/E501_1.py b/crates/ruff/resources/test/fixtures/pycodestyle/E501_1.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E501_1.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E501_1.py diff --git a/resources/test/fixtures/pycodestyle/E711.py b/crates/ruff/resources/test/fixtures/pycodestyle/E711.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E711.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E711.py diff --git a/resources/test/fixtures/pycodestyle/E712.py b/crates/ruff/resources/test/fixtures/pycodestyle/E712.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E712.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E712.py diff --git a/resources/test/fixtures/pycodestyle/E713.py b/crates/ruff/resources/test/fixtures/pycodestyle/E713.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E713.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E713.py diff --git a/resources/test/fixtures/pycodestyle/E714.py b/crates/ruff/resources/test/fixtures/pycodestyle/E714.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E714.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E714.py diff --git a/resources/test/fixtures/pycodestyle/E721.py b/crates/ruff/resources/test/fixtures/pycodestyle/E721.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E721.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E721.py diff --git a/resources/test/fixtures/pycodestyle/E722.py b/crates/ruff/resources/test/fixtures/pycodestyle/E722.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E722.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E722.py diff --git a/resources/test/fixtures/pycodestyle/E731.py b/crates/ruff/resources/test/fixtures/pycodestyle/E731.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E731.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E731.py diff --git a/resources/test/fixtures/pycodestyle/E741.py b/crates/ruff/resources/test/fixtures/pycodestyle/E741.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E741.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E741.py diff --git a/resources/test/fixtures/pycodestyle/E742.py b/crates/ruff/resources/test/fixtures/pycodestyle/E742.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E742.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E742.py diff --git a/resources/test/fixtures/pycodestyle/E743.py b/crates/ruff/resources/test/fixtures/pycodestyle/E743.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E743.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E743.py diff --git a/resources/test/fixtures/pycodestyle/E999.py b/crates/ruff/resources/test/fixtures/pycodestyle/E999.py similarity index 100% rename from resources/test/fixtures/pycodestyle/E999.py rename to crates/ruff/resources/test/fixtures/pycodestyle/E999.py diff --git a/resources/test/fixtures/pycodestyle/W292_0.py b/crates/ruff/resources/test/fixtures/pycodestyle/W292_0.py similarity index 100% rename from resources/test/fixtures/pycodestyle/W292_0.py rename to crates/ruff/resources/test/fixtures/pycodestyle/W292_0.py diff --git a/resources/test/fixtures/pycodestyle/W292_1.py b/crates/ruff/resources/test/fixtures/pycodestyle/W292_1.py similarity index 100% rename from resources/test/fixtures/pycodestyle/W292_1.py rename to crates/ruff/resources/test/fixtures/pycodestyle/W292_1.py diff --git a/resources/test/fixtures/pycodestyle/W292_2.py b/crates/ruff/resources/test/fixtures/pycodestyle/W292_2.py similarity index 100% rename from resources/test/fixtures/pycodestyle/W292_2.py rename to crates/ruff/resources/test/fixtures/pycodestyle/W292_2.py diff --git a/resources/test/fixtures/pycodestyle/W292_3.py b/crates/ruff/resources/test/fixtures/pycodestyle/W292_3.py similarity index 100% rename from resources/test/fixtures/pycodestyle/W292_3.py rename to crates/ruff/resources/test/fixtures/pycodestyle/W292_3.py diff --git a/resources/test/fixtures/pycodestyle/W292_4.py b/crates/ruff/resources/test/fixtures/pycodestyle/W292_4.py similarity index 100% rename from resources/test/fixtures/pycodestyle/W292_4.py rename to crates/ruff/resources/test/fixtures/pycodestyle/W292_4.py diff --git a/resources/test/fixtures/pycodestyle/W505.py b/crates/ruff/resources/test/fixtures/pycodestyle/W505.py similarity index 100% rename from resources/test/fixtures/pycodestyle/W505.py rename to crates/ruff/resources/test/fixtures/pycodestyle/W505.py diff --git a/resources/test/fixtures/pycodestyle/W605_0.py b/crates/ruff/resources/test/fixtures/pycodestyle/W605_0.py similarity index 100% rename from resources/test/fixtures/pycodestyle/W605_0.py rename to crates/ruff/resources/test/fixtures/pycodestyle/W605_0.py diff --git a/resources/test/fixtures/pycodestyle/W605_1.py b/crates/ruff/resources/test/fixtures/pycodestyle/W605_1.py similarity index 100% rename from resources/test/fixtures/pycodestyle/W605_1.py rename to crates/ruff/resources/test/fixtures/pycodestyle/W605_1.py diff --git a/resources/test/fixtures/pycodestyle/constant_literals.py b/crates/ruff/resources/test/fixtures/pycodestyle/constant_literals.py similarity index 100% rename from resources/test/fixtures/pycodestyle/constant_literals.py rename to crates/ruff/resources/test/fixtures/pycodestyle/constant_literals.py diff --git a/resources/test/fixtures/pydocstyle/D.py b/crates/ruff/resources/test/fixtures/pydocstyle/D.py similarity index 100% rename from resources/test/fixtures/pydocstyle/D.py rename to crates/ruff/resources/test/fixtures/pydocstyle/D.py diff --git a/resources/test/fixtures/pydocstyle/D104/__init__.py b/crates/ruff/resources/test/fixtures/pydocstyle/D104/__init__.py similarity index 100% rename from resources/test/fixtures/pydocstyle/D104/__init__.py rename to crates/ruff/resources/test/fixtures/pydocstyle/D104/__init__.py diff --git a/resources/test/fixtures/pydocstyle/D400.py b/crates/ruff/resources/test/fixtures/pydocstyle/D400.py similarity index 100% rename from resources/test/fixtures/pydocstyle/D400.py rename to crates/ruff/resources/test/fixtures/pydocstyle/D400.py diff --git a/resources/test/fixtures/pydocstyle/D401.py b/crates/ruff/resources/test/fixtures/pydocstyle/D401.py similarity index 100% rename from resources/test/fixtures/pydocstyle/D401.py rename to crates/ruff/resources/test/fixtures/pydocstyle/D401.py diff --git a/resources/test/fixtures/pydocstyle/D417.py b/crates/ruff/resources/test/fixtures/pydocstyle/D417.py similarity index 100% rename from resources/test/fixtures/pydocstyle/D417.py rename to crates/ruff/resources/test/fixtures/pydocstyle/D417.py diff --git a/resources/test/fixtures/pydocstyle/canonical_google_examples.py b/crates/ruff/resources/test/fixtures/pydocstyle/canonical_google_examples.py similarity index 100% rename from resources/test/fixtures/pydocstyle/canonical_google_examples.py rename to crates/ruff/resources/test/fixtures/pydocstyle/canonical_google_examples.py diff --git a/resources/test/fixtures/pydocstyle/canonical_numpy_examples.py b/crates/ruff/resources/test/fixtures/pydocstyle/canonical_numpy_examples.py similarity index 100% rename from resources/test/fixtures/pydocstyle/canonical_numpy_examples.py rename to crates/ruff/resources/test/fixtures/pydocstyle/canonical_numpy_examples.py diff --git a/resources/test/fixtures/pydocstyle/sections.py b/crates/ruff/resources/test/fixtures/pydocstyle/sections.py similarity index 100% rename from resources/test/fixtures/pydocstyle/sections.py rename to crates/ruff/resources/test/fixtures/pydocstyle/sections.py diff --git a/resources/test/fixtures/pydocstyle/setter.py b/crates/ruff/resources/test/fixtures/pydocstyle/setter.py similarity index 100% rename from resources/test/fixtures/pydocstyle/setter.py rename to crates/ruff/resources/test/fixtures/pydocstyle/setter.py diff --git a/resources/test/fixtures/pyflakes/F401_0.py b/crates/ruff/resources/test/fixtures/pyflakes/F401_0.py similarity index 100% rename from resources/test/fixtures/pyflakes/F401_0.py rename to crates/ruff/resources/test/fixtures/pyflakes/F401_0.py diff --git a/resources/test/fixtures/pyflakes/F401_1.py b/crates/ruff/resources/test/fixtures/pyflakes/F401_1.py similarity index 100% rename from resources/test/fixtures/pyflakes/F401_1.py rename to crates/ruff/resources/test/fixtures/pyflakes/F401_1.py diff --git a/resources/test/fixtures/pyflakes/F401_2.py b/crates/ruff/resources/test/fixtures/pyflakes/F401_2.py similarity index 100% rename from resources/test/fixtures/pyflakes/F401_2.py rename to crates/ruff/resources/test/fixtures/pyflakes/F401_2.py diff --git a/resources/test/fixtures/pyflakes/F401_3.py b/crates/ruff/resources/test/fixtures/pyflakes/F401_3.py similarity index 100% rename from resources/test/fixtures/pyflakes/F401_3.py rename to crates/ruff/resources/test/fixtures/pyflakes/F401_3.py diff --git a/resources/test/fixtures/pyflakes/F401_4.py b/crates/ruff/resources/test/fixtures/pyflakes/F401_4.py similarity index 100% rename from resources/test/fixtures/pyflakes/F401_4.py rename to crates/ruff/resources/test/fixtures/pyflakes/F401_4.py diff --git a/resources/test/fixtures/pyflakes/F401_5.py b/crates/ruff/resources/test/fixtures/pyflakes/F401_5.py similarity index 100% rename from resources/test/fixtures/pyflakes/F401_5.py rename to crates/ruff/resources/test/fixtures/pyflakes/F401_5.py diff --git a/resources/test/fixtures/pyflakes/F401_6.py b/crates/ruff/resources/test/fixtures/pyflakes/F401_6.py similarity index 100% rename from resources/test/fixtures/pyflakes/F401_6.py rename to crates/ruff/resources/test/fixtures/pyflakes/F401_6.py diff --git a/resources/test/fixtures/pyflakes/F401_7.py b/crates/ruff/resources/test/fixtures/pyflakes/F401_7.py similarity index 100% rename from resources/test/fixtures/pyflakes/F401_7.py rename to crates/ruff/resources/test/fixtures/pyflakes/F401_7.py diff --git a/resources/test/fixtures/pyflakes/F401_8.py b/crates/ruff/resources/test/fixtures/pyflakes/F401_8.py similarity index 100% rename from resources/test/fixtures/pyflakes/F401_8.py rename to crates/ruff/resources/test/fixtures/pyflakes/F401_8.py diff --git a/resources/test/fixtures/pyflakes/F402.py b/crates/ruff/resources/test/fixtures/pyflakes/F402.py similarity index 100% rename from resources/test/fixtures/pyflakes/F402.py rename to crates/ruff/resources/test/fixtures/pyflakes/F402.py diff --git a/resources/test/fixtures/pyflakes/F403.py b/crates/ruff/resources/test/fixtures/pyflakes/F403.py similarity index 100% rename from resources/test/fixtures/pyflakes/F403.py rename to crates/ruff/resources/test/fixtures/pyflakes/F403.py diff --git a/resources/test/fixtures/pyflakes/F404.py b/crates/ruff/resources/test/fixtures/pyflakes/F404.py similarity index 100% rename from resources/test/fixtures/pyflakes/F404.py rename to crates/ruff/resources/test/fixtures/pyflakes/F404.py diff --git a/resources/test/fixtures/pyflakes/F405.py b/crates/ruff/resources/test/fixtures/pyflakes/F405.py similarity index 100% rename from resources/test/fixtures/pyflakes/F405.py rename to crates/ruff/resources/test/fixtures/pyflakes/F405.py diff --git a/resources/test/fixtures/pyflakes/F406.py b/crates/ruff/resources/test/fixtures/pyflakes/F406.py similarity index 100% rename from resources/test/fixtures/pyflakes/F406.py rename to crates/ruff/resources/test/fixtures/pyflakes/F406.py diff --git a/resources/test/fixtures/pyflakes/F407.py b/crates/ruff/resources/test/fixtures/pyflakes/F407.py similarity index 100% rename from resources/test/fixtures/pyflakes/F407.py rename to crates/ruff/resources/test/fixtures/pyflakes/F407.py diff --git a/resources/test/fixtures/pyflakes/F502.py b/crates/ruff/resources/test/fixtures/pyflakes/F502.py similarity index 100% rename from resources/test/fixtures/pyflakes/F502.py rename to crates/ruff/resources/test/fixtures/pyflakes/F502.py diff --git a/resources/test/fixtures/pyflakes/F503.py b/crates/ruff/resources/test/fixtures/pyflakes/F503.py similarity index 100% rename from resources/test/fixtures/pyflakes/F503.py rename to crates/ruff/resources/test/fixtures/pyflakes/F503.py diff --git a/resources/test/fixtures/pyflakes/F504.py b/crates/ruff/resources/test/fixtures/pyflakes/F504.py similarity index 100% rename from resources/test/fixtures/pyflakes/F504.py rename to crates/ruff/resources/test/fixtures/pyflakes/F504.py diff --git a/resources/test/fixtures/pyflakes/F50x.py b/crates/ruff/resources/test/fixtures/pyflakes/F50x.py similarity index 100% rename from resources/test/fixtures/pyflakes/F50x.py rename to crates/ruff/resources/test/fixtures/pyflakes/F50x.py diff --git a/resources/test/fixtures/pyflakes/F521.py b/crates/ruff/resources/test/fixtures/pyflakes/F521.py similarity index 100% rename from resources/test/fixtures/pyflakes/F521.py rename to crates/ruff/resources/test/fixtures/pyflakes/F521.py diff --git a/resources/test/fixtures/pyflakes/F522.py b/crates/ruff/resources/test/fixtures/pyflakes/F522.py similarity index 100% rename from resources/test/fixtures/pyflakes/F522.py rename to crates/ruff/resources/test/fixtures/pyflakes/F522.py diff --git a/resources/test/fixtures/pyflakes/F523.py b/crates/ruff/resources/test/fixtures/pyflakes/F523.py similarity index 100% rename from resources/test/fixtures/pyflakes/F523.py rename to crates/ruff/resources/test/fixtures/pyflakes/F523.py diff --git a/resources/test/fixtures/pyflakes/F524.py b/crates/ruff/resources/test/fixtures/pyflakes/F524.py similarity index 100% rename from resources/test/fixtures/pyflakes/F524.py rename to crates/ruff/resources/test/fixtures/pyflakes/F524.py diff --git a/resources/test/fixtures/pyflakes/F525.py b/crates/ruff/resources/test/fixtures/pyflakes/F525.py similarity index 100% rename from resources/test/fixtures/pyflakes/F525.py rename to crates/ruff/resources/test/fixtures/pyflakes/F525.py diff --git a/resources/test/fixtures/pyflakes/F541.py b/crates/ruff/resources/test/fixtures/pyflakes/F541.py similarity index 100% rename from resources/test/fixtures/pyflakes/F541.py rename to crates/ruff/resources/test/fixtures/pyflakes/F541.py diff --git a/resources/test/fixtures/pyflakes/F601.py b/crates/ruff/resources/test/fixtures/pyflakes/F601.py similarity index 100% rename from resources/test/fixtures/pyflakes/F601.py rename to crates/ruff/resources/test/fixtures/pyflakes/F601.py diff --git a/resources/test/fixtures/pyflakes/F602.py b/crates/ruff/resources/test/fixtures/pyflakes/F602.py similarity index 100% rename from resources/test/fixtures/pyflakes/F602.py rename to crates/ruff/resources/test/fixtures/pyflakes/F602.py diff --git a/resources/test/fixtures/pyflakes/F622.py b/crates/ruff/resources/test/fixtures/pyflakes/F622.py similarity index 100% rename from resources/test/fixtures/pyflakes/F622.py rename to crates/ruff/resources/test/fixtures/pyflakes/F622.py diff --git a/resources/test/fixtures/pyflakes/F631.py b/crates/ruff/resources/test/fixtures/pyflakes/F631.py similarity index 100% rename from resources/test/fixtures/pyflakes/F631.py rename to crates/ruff/resources/test/fixtures/pyflakes/F631.py diff --git a/resources/test/fixtures/pyflakes/F632.py b/crates/ruff/resources/test/fixtures/pyflakes/F632.py similarity index 100% rename from resources/test/fixtures/pyflakes/F632.py rename to crates/ruff/resources/test/fixtures/pyflakes/F632.py diff --git a/resources/test/fixtures/pyflakes/F633.py b/crates/ruff/resources/test/fixtures/pyflakes/F633.py similarity index 100% rename from resources/test/fixtures/pyflakes/F633.py rename to crates/ruff/resources/test/fixtures/pyflakes/F633.py diff --git a/resources/test/fixtures/pyflakes/F634.py b/crates/ruff/resources/test/fixtures/pyflakes/F634.py similarity index 100% rename from resources/test/fixtures/pyflakes/F634.py rename to crates/ruff/resources/test/fixtures/pyflakes/F634.py diff --git a/resources/test/fixtures/pyflakes/F701.py b/crates/ruff/resources/test/fixtures/pyflakes/F701.py similarity index 100% rename from resources/test/fixtures/pyflakes/F701.py rename to crates/ruff/resources/test/fixtures/pyflakes/F701.py diff --git a/resources/test/fixtures/pyflakes/F702.py b/crates/ruff/resources/test/fixtures/pyflakes/F702.py similarity index 100% rename from resources/test/fixtures/pyflakes/F702.py rename to crates/ruff/resources/test/fixtures/pyflakes/F702.py diff --git a/resources/test/fixtures/pyflakes/F704.py b/crates/ruff/resources/test/fixtures/pyflakes/F704.py similarity index 100% rename from resources/test/fixtures/pyflakes/F704.py rename to crates/ruff/resources/test/fixtures/pyflakes/F704.py diff --git a/resources/test/fixtures/pyflakes/F706.py b/crates/ruff/resources/test/fixtures/pyflakes/F706.py similarity index 100% rename from resources/test/fixtures/pyflakes/F706.py rename to crates/ruff/resources/test/fixtures/pyflakes/F706.py diff --git a/resources/test/fixtures/pyflakes/F707.py b/crates/ruff/resources/test/fixtures/pyflakes/F707.py similarity index 100% rename from resources/test/fixtures/pyflakes/F707.py rename to crates/ruff/resources/test/fixtures/pyflakes/F707.py diff --git a/resources/test/fixtures/pyflakes/F722.py b/crates/ruff/resources/test/fixtures/pyflakes/F722.py similarity index 100% rename from resources/test/fixtures/pyflakes/F722.py rename to crates/ruff/resources/test/fixtures/pyflakes/F722.py diff --git a/resources/test/fixtures/pyflakes/F811_0.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_0.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_0.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_0.py diff --git a/resources/test/fixtures/pyflakes/F811_1.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_1.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_1.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_1.py diff --git a/resources/test/fixtures/pyflakes/F811_10.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_10.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_10.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_10.py diff --git a/resources/test/fixtures/pyflakes/F811_11.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_11.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_11.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_11.py diff --git a/resources/test/fixtures/pyflakes/F811_12.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_12.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_12.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_12.py diff --git a/resources/test/fixtures/pyflakes/F811_13.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_13.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_13.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_13.py diff --git a/resources/test/fixtures/pyflakes/F811_14.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_14.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_14.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_14.py diff --git a/resources/test/fixtures/pyflakes/F811_15.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_15.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_15.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_15.py diff --git a/resources/test/fixtures/pyflakes/F811_16.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_16.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_16.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_16.py diff --git a/resources/test/fixtures/pyflakes/F811_17.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_17.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_17.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_17.py diff --git a/resources/test/fixtures/pyflakes/F811_18.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_18.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_18.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_18.py diff --git a/resources/test/fixtures/pyflakes/F811_19.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_19.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_19.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_19.py diff --git a/resources/test/fixtures/pyflakes/F811_2.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_2.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_2.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_2.py diff --git a/resources/test/fixtures/pyflakes/F811_20.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_20.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_20.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_20.py diff --git a/resources/test/fixtures/pyflakes/F811_21.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_21.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_21.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_21.py diff --git a/resources/test/fixtures/pyflakes/F811_3.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_3.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_3.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_3.py diff --git a/resources/test/fixtures/pyflakes/F811_4.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_4.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_4.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_4.py diff --git a/resources/test/fixtures/pyflakes/F811_5.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_5.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_5.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_5.py diff --git a/resources/test/fixtures/pyflakes/F811_6.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_6.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_6.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_6.py diff --git a/resources/test/fixtures/pyflakes/F811_7.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_7.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_7.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_7.py diff --git a/resources/test/fixtures/pyflakes/F811_8.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_8.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_8.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_8.py diff --git a/resources/test/fixtures/pyflakes/F811_9.py b/crates/ruff/resources/test/fixtures/pyflakes/F811_9.py similarity index 100% rename from resources/test/fixtures/pyflakes/F811_9.py rename to crates/ruff/resources/test/fixtures/pyflakes/F811_9.py diff --git a/resources/test/fixtures/pyflakes/F821_0.py b/crates/ruff/resources/test/fixtures/pyflakes/F821_0.py similarity index 100% rename from resources/test/fixtures/pyflakes/F821_0.py rename to crates/ruff/resources/test/fixtures/pyflakes/F821_0.py diff --git a/resources/test/fixtures/pyflakes/F821_1.py b/crates/ruff/resources/test/fixtures/pyflakes/F821_1.py similarity index 100% rename from resources/test/fixtures/pyflakes/F821_1.py rename to crates/ruff/resources/test/fixtures/pyflakes/F821_1.py diff --git a/resources/test/fixtures/pyflakes/F821_2.py b/crates/ruff/resources/test/fixtures/pyflakes/F821_2.py similarity index 100% rename from resources/test/fixtures/pyflakes/F821_2.py rename to crates/ruff/resources/test/fixtures/pyflakes/F821_2.py diff --git a/resources/test/fixtures/pyflakes/F821_3.py b/crates/ruff/resources/test/fixtures/pyflakes/F821_3.py similarity index 100% rename from resources/test/fixtures/pyflakes/F821_3.py rename to crates/ruff/resources/test/fixtures/pyflakes/F821_3.py diff --git a/resources/test/fixtures/pyflakes/F821_4.py b/crates/ruff/resources/test/fixtures/pyflakes/F821_4.py similarity index 100% rename from resources/test/fixtures/pyflakes/F821_4.py rename to crates/ruff/resources/test/fixtures/pyflakes/F821_4.py diff --git a/resources/test/fixtures/pyflakes/F821_5.py b/crates/ruff/resources/test/fixtures/pyflakes/F821_5.py similarity index 100% rename from resources/test/fixtures/pyflakes/F821_5.py rename to crates/ruff/resources/test/fixtures/pyflakes/F821_5.py diff --git a/resources/test/fixtures/pyflakes/F821_6.py b/crates/ruff/resources/test/fixtures/pyflakes/F821_6.py similarity index 100% rename from resources/test/fixtures/pyflakes/F821_6.py rename to crates/ruff/resources/test/fixtures/pyflakes/F821_6.py diff --git a/resources/test/fixtures/pyflakes/F821_7.py b/crates/ruff/resources/test/fixtures/pyflakes/F821_7.py similarity index 100% rename from resources/test/fixtures/pyflakes/F821_7.py rename to crates/ruff/resources/test/fixtures/pyflakes/F821_7.py diff --git a/resources/test/fixtures/pyflakes/F821_8.pyi b/crates/ruff/resources/test/fixtures/pyflakes/F821_8.pyi similarity index 100% rename from resources/test/fixtures/pyflakes/F821_8.pyi rename to crates/ruff/resources/test/fixtures/pyflakes/F821_8.pyi diff --git a/resources/test/fixtures/pyflakes/F822_0.py b/crates/ruff/resources/test/fixtures/pyflakes/F822_0.py similarity index 100% rename from resources/test/fixtures/pyflakes/F822_0.py rename to crates/ruff/resources/test/fixtures/pyflakes/F822_0.py diff --git a/resources/test/fixtures/pyflakes/F822_1.py b/crates/ruff/resources/test/fixtures/pyflakes/F822_1.py similarity index 100% rename from resources/test/fixtures/pyflakes/F822_1.py rename to crates/ruff/resources/test/fixtures/pyflakes/F822_1.py diff --git a/resources/test/fixtures/pyflakes/F823.py b/crates/ruff/resources/test/fixtures/pyflakes/F823.py similarity index 100% rename from resources/test/fixtures/pyflakes/F823.py rename to crates/ruff/resources/test/fixtures/pyflakes/F823.py diff --git a/resources/test/fixtures/pyflakes/F841_0.py b/crates/ruff/resources/test/fixtures/pyflakes/F841_0.py similarity index 100% rename from resources/test/fixtures/pyflakes/F841_0.py rename to crates/ruff/resources/test/fixtures/pyflakes/F841_0.py diff --git a/resources/test/fixtures/pyflakes/F841_1.py b/crates/ruff/resources/test/fixtures/pyflakes/F841_1.py similarity index 100% rename from resources/test/fixtures/pyflakes/F841_1.py rename to crates/ruff/resources/test/fixtures/pyflakes/F841_1.py diff --git a/resources/test/fixtures/pyflakes/F841_2.py b/crates/ruff/resources/test/fixtures/pyflakes/F841_2.py similarity index 100% rename from resources/test/fixtures/pyflakes/F841_2.py rename to crates/ruff/resources/test/fixtures/pyflakes/F841_2.py diff --git a/resources/test/fixtures/pyflakes/F841_3.py b/crates/ruff/resources/test/fixtures/pyflakes/F841_3.py similarity index 100% rename from resources/test/fixtures/pyflakes/F841_3.py rename to crates/ruff/resources/test/fixtures/pyflakes/F841_3.py diff --git a/resources/test/fixtures/pyflakes/F842.py b/crates/ruff/resources/test/fixtures/pyflakes/F842.py similarity index 100% rename from resources/test/fixtures/pyflakes/F842.py rename to crates/ruff/resources/test/fixtures/pyflakes/F842.py diff --git a/resources/test/fixtures/pyflakes/F901.py b/crates/ruff/resources/test/fixtures/pyflakes/F901.py similarity index 100% rename from resources/test/fixtures/pyflakes/F901.py rename to crates/ruff/resources/test/fixtures/pyflakes/F901.py diff --git a/resources/test/fixtures/pyflakes/__init__.py b/crates/ruff/resources/test/fixtures/pyflakes/__init__.py similarity index 100% rename from resources/test/fixtures/pyflakes/__init__.py rename to crates/ruff/resources/test/fixtures/pyflakes/__init__.py diff --git a/resources/test/fixtures/pyflakes/builtins.py b/crates/ruff/resources/test/fixtures/pyflakes/builtins.py similarity index 100% rename from resources/test/fixtures/pyflakes/builtins.py rename to crates/ruff/resources/test/fixtures/pyflakes/builtins.py diff --git a/resources/test/fixtures/pyflakes/future_annotations.py b/crates/ruff/resources/test/fixtures/pyflakes/future_annotations.py similarity index 100% rename from resources/test/fixtures/pyflakes/future_annotations.py rename to crates/ruff/resources/test/fixtures/pyflakes/future_annotations.py diff --git a/resources/test/fixtures/pyflakes/multi_statement_lines.py b/crates/ruff/resources/test/fixtures/pyflakes/multi_statement_lines.py similarity index 100% rename from resources/test/fixtures/pyflakes/multi_statement_lines.py rename to crates/ruff/resources/test/fixtures/pyflakes/multi_statement_lines.py diff --git a/resources/test/fixtures/pyflakes/typing_modules.py b/crates/ruff/resources/test/fixtures/pyflakes/typing_modules.py similarity index 100% rename from resources/test/fixtures/pyflakes/typing_modules.py rename to crates/ruff/resources/test/fixtures/pyflakes/typing_modules.py diff --git a/resources/test/fixtures/pygrep-hooks/PGH001_0.py b/crates/ruff/resources/test/fixtures/pygrep-hooks/PGH001_0.py similarity index 100% rename from resources/test/fixtures/pygrep-hooks/PGH001_0.py rename to crates/ruff/resources/test/fixtures/pygrep-hooks/PGH001_0.py diff --git a/resources/test/fixtures/pygrep-hooks/PGH001_1.py b/crates/ruff/resources/test/fixtures/pygrep-hooks/PGH001_1.py similarity index 100% rename from resources/test/fixtures/pygrep-hooks/PGH001_1.py rename to crates/ruff/resources/test/fixtures/pygrep-hooks/PGH001_1.py diff --git a/resources/test/fixtures/pygrep-hooks/PGH002_0.py b/crates/ruff/resources/test/fixtures/pygrep-hooks/PGH002_0.py similarity index 100% rename from resources/test/fixtures/pygrep-hooks/PGH002_0.py rename to crates/ruff/resources/test/fixtures/pygrep-hooks/PGH002_0.py diff --git a/resources/test/fixtures/pygrep-hooks/PGH002_1.py b/crates/ruff/resources/test/fixtures/pygrep-hooks/PGH002_1.py similarity index 100% rename from resources/test/fixtures/pygrep-hooks/PGH002_1.py rename to crates/ruff/resources/test/fixtures/pygrep-hooks/PGH002_1.py diff --git a/resources/test/fixtures/pygrep-hooks/PGH003_0.py b/crates/ruff/resources/test/fixtures/pygrep-hooks/PGH003_0.py similarity index 100% rename from resources/test/fixtures/pygrep-hooks/PGH003_0.py rename to crates/ruff/resources/test/fixtures/pygrep-hooks/PGH003_0.py diff --git a/resources/test/fixtures/pygrep-hooks/PGH004_0.py b/crates/ruff/resources/test/fixtures/pygrep-hooks/PGH004_0.py similarity index 100% rename from resources/test/fixtures/pygrep-hooks/PGH004_0.py rename to crates/ruff/resources/test/fixtures/pygrep-hooks/PGH004_0.py diff --git a/resources/test/fixtures/pylint/await_outside_async.py b/crates/ruff/resources/test/fixtures/pylint/await_outside_async.py similarity index 100% rename from resources/test/fixtures/pylint/await_outside_async.py rename to crates/ruff/resources/test/fixtures/pylint/await_outside_async.py diff --git a/resources/test/fixtures/pylint/comparison_of_constant.py b/crates/ruff/resources/test/fixtures/pylint/comparison_of_constant.py similarity index 100% rename from resources/test/fixtures/pylint/comparison_of_constant.py rename to crates/ruff/resources/test/fixtures/pylint/comparison_of_constant.py diff --git a/resources/test/fixtures/pylint/consider_merging_isinstance.py b/crates/ruff/resources/test/fixtures/pylint/consider_merging_isinstance.py similarity index 100% rename from resources/test/fixtures/pylint/consider_merging_isinstance.py rename to crates/ruff/resources/test/fixtures/pylint/consider_merging_isinstance.py diff --git a/resources/test/fixtures/pylint/consider_using_sys_exit_0.py b/crates/ruff/resources/test/fixtures/pylint/consider_using_sys_exit_0.py similarity index 100% rename from resources/test/fixtures/pylint/consider_using_sys_exit_0.py rename to crates/ruff/resources/test/fixtures/pylint/consider_using_sys_exit_0.py diff --git a/resources/test/fixtures/pylint/consider_using_sys_exit_1.py b/crates/ruff/resources/test/fixtures/pylint/consider_using_sys_exit_1.py similarity index 100% rename from resources/test/fixtures/pylint/consider_using_sys_exit_1.py rename to crates/ruff/resources/test/fixtures/pylint/consider_using_sys_exit_1.py diff --git a/resources/test/fixtures/pylint/consider_using_sys_exit_2.py b/crates/ruff/resources/test/fixtures/pylint/consider_using_sys_exit_2.py similarity index 100% rename from resources/test/fixtures/pylint/consider_using_sys_exit_2.py rename to crates/ruff/resources/test/fixtures/pylint/consider_using_sys_exit_2.py diff --git a/resources/test/fixtures/pylint/consider_using_sys_exit_3.py b/crates/ruff/resources/test/fixtures/pylint/consider_using_sys_exit_3.py similarity index 100% rename from resources/test/fixtures/pylint/consider_using_sys_exit_3.py rename to crates/ruff/resources/test/fixtures/pylint/consider_using_sys_exit_3.py diff --git a/resources/test/fixtures/pylint/consider_using_sys_exit_4.py b/crates/ruff/resources/test/fixtures/pylint/consider_using_sys_exit_4.py similarity index 100% rename from resources/test/fixtures/pylint/consider_using_sys_exit_4.py rename to crates/ruff/resources/test/fixtures/pylint/consider_using_sys_exit_4.py diff --git a/resources/test/fixtures/pylint/consider_using_sys_exit_5.py b/crates/ruff/resources/test/fixtures/pylint/consider_using_sys_exit_5.py similarity index 100% rename from resources/test/fixtures/pylint/consider_using_sys_exit_5.py rename to crates/ruff/resources/test/fixtures/pylint/consider_using_sys_exit_5.py diff --git a/resources/test/fixtures/pylint/consider_using_sys_exit_6.py b/crates/ruff/resources/test/fixtures/pylint/consider_using_sys_exit_6.py similarity index 100% rename from resources/test/fixtures/pylint/consider_using_sys_exit_6.py rename to crates/ruff/resources/test/fixtures/pylint/consider_using_sys_exit_6.py diff --git a/resources/test/fixtures/pylint/global_variable_not_assigned.py b/crates/ruff/resources/test/fixtures/pylint/global_variable_not_assigned.py similarity index 100% rename from resources/test/fixtures/pylint/global_variable_not_assigned.py rename to crates/ruff/resources/test/fixtures/pylint/global_variable_not_assigned.py diff --git a/resources/test/fixtures/pylint/import_aliasing.py b/crates/ruff/resources/test/fixtures/pylint/import_aliasing.py similarity index 100% rename from resources/test/fixtures/pylint/import_aliasing.py rename to crates/ruff/resources/test/fixtures/pylint/import_aliasing.py diff --git a/resources/test/fixtures/pylint/invalid_all_format.py b/crates/ruff/resources/test/fixtures/pylint/invalid_all_format.py similarity index 100% rename from resources/test/fixtures/pylint/invalid_all_format.py rename to crates/ruff/resources/test/fixtures/pylint/invalid_all_format.py diff --git a/resources/test/fixtures/pylint/invalid_all_object.py b/crates/ruff/resources/test/fixtures/pylint/invalid_all_object.py similarity index 100% rename from resources/test/fixtures/pylint/invalid_all_object.py rename to crates/ruff/resources/test/fixtures/pylint/invalid_all_object.py diff --git a/resources/test/fixtures/pylint/magic_value_comparison.py b/crates/ruff/resources/test/fixtures/pylint/magic_value_comparison.py similarity index 100% rename from resources/test/fixtures/pylint/magic_value_comparison.py rename to crates/ruff/resources/test/fixtures/pylint/magic_value_comparison.py diff --git a/resources/test/fixtures/pylint/misplaced_comparison_constant.py b/crates/ruff/resources/test/fixtures/pylint/misplaced_comparison_constant.py similarity index 100% rename from resources/test/fixtures/pylint/misplaced_comparison_constant.py rename to crates/ruff/resources/test/fixtures/pylint/misplaced_comparison_constant.py diff --git a/resources/test/fixtures/pylint/nonlocal_without_binding.py b/crates/ruff/resources/test/fixtures/pylint/nonlocal_without_binding.py similarity index 100% rename from resources/test/fixtures/pylint/nonlocal_without_binding.py rename to crates/ruff/resources/test/fixtures/pylint/nonlocal_without_binding.py diff --git a/resources/test/fixtures/pylint/property_with_parameters.py b/crates/ruff/resources/test/fixtures/pylint/property_with_parameters.py similarity index 100% rename from resources/test/fixtures/pylint/property_with_parameters.py rename to crates/ruff/resources/test/fixtures/pylint/property_with_parameters.py diff --git a/resources/test/fixtures/pylint/too_many_arguments.py b/crates/ruff/resources/test/fixtures/pylint/too_many_arguments.py similarity index 100% rename from resources/test/fixtures/pylint/too_many_arguments.py rename to crates/ruff/resources/test/fixtures/pylint/too_many_arguments.py diff --git a/resources/test/fixtures/pylint/too_many_arguments_params.py b/crates/ruff/resources/test/fixtures/pylint/too_many_arguments_params.py similarity index 100% rename from resources/test/fixtures/pylint/too_many_arguments_params.py rename to crates/ruff/resources/test/fixtures/pylint/too_many_arguments_params.py diff --git a/resources/test/fixtures/pylint/too_many_branches.py b/crates/ruff/resources/test/fixtures/pylint/too_many_branches.py similarity index 100% rename from resources/test/fixtures/pylint/too_many_branches.py rename to crates/ruff/resources/test/fixtures/pylint/too_many_branches.py diff --git a/resources/test/fixtures/pylint/too_many_branches_params.py b/crates/ruff/resources/test/fixtures/pylint/too_many_branches_params.py similarity index 100% rename from resources/test/fixtures/pylint/too_many_branches_params.py rename to crates/ruff/resources/test/fixtures/pylint/too_many_branches_params.py diff --git a/resources/test/fixtures/pylint/too_many_return_statements.py b/crates/ruff/resources/test/fixtures/pylint/too_many_return_statements.py similarity index 100% rename from resources/test/fixtures/pylint/too_many_return_statements.py rename to crates/ruff/resources/test/fixtures/pylint/too_many_return_statements.py diff --git a/resources/test/fixtures/pylint/too_many_return_statements_params.py b/crates/ruff/resources/test/fixtures/pylint/too_many_return_statements_params.py similarity index 100% rename from resources/test/fixtures/pylint/too_many_return_statements_params.py rename to crates/ruff/resources/test/fixtures/pylint/too_many_return_statements_params.py diff --git a/resources/test/fixtures/pylint/too_many_statements.py b/crates/ruff/resources/test/fixtures/pylint/too_many_statements.py similarity index 100% rename from resources/test/fixtures/pylint/too_many_statements.py rename to crates/ruff/resources/test/fixtures/pylint/too_many_statements.py diff --git a/resources/test/fixtures/pylint/too_many_statements_params.py b/crates/ruff/resources/test/fixtures/pylint/too_many_statements_params.py similarity index 100% rename from resources/test/fixtures/pylint/too_many_statements_params.py rename to crates/ruff/resources/test/fixtures/pylint/too_many_statements_params.py diff --git a/resources/test/fixtures/pylint/unnecessary_direct_lambda_call.py b/crates/ruff/resources/test/fixtures/pylint/unnecessary_direct_lambda_call.py similarity index 100% rename from resources/test/fixtures/pylint/unnecessary_direct_lambda_call.py rename to crates/ruff/resources/test/fixtures/pylint/unnecessary_direct_lambda_call.py diff --git a/resources/test/fixtures/pylint/used_prior_global_declaration.py b/crates/ruff/resources/test/fixtures/pylint/used_prior_global_declaration.py similarity index 100% rename from resources/test/fixtures/pylint/used_prior_global_declaration.py rename to crates/ruff/resources/test/fixtures/pylint/used_prior_global_declaration.py diff --git a/resources/test/fixtures/pylint/useless_else_on_loop.py b/crates/ruff/resources/test/fixtures/pylint/useless_else_on_loop.py similarity index 100% rename from resources/test/fixtures/pylint/useless_else_on_loop.py rename to crates/ruff/resources/test/fixtures/pylint/useless_else_on_loop.py diff --git a/resources/test/fixtures/pyproject.toml b/crates/ruff/resources/test/fixtures/pyproject.toml similarity index 100% rename from resources/test/fixtures/pyproject.toml rename to crates/ruff/resources/test/fixtures/pyproject.toml diff --git a/resources/test/fixtures/pyupgrade/UP001.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP001.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP001.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP001.py diff --git a/resources/test/fixtures/pyupgrade/UP003.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP003.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP003.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP003.py diff --git a/resources/test/fixtures/pyupgrade/UP004.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP004.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP004.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP004.py diff --git a/resources/test/fixtures/pyupgrade/UP005.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP005.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP005.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP005.py diff --git a/resources/test/fixtures/pyupgrade/UP006.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP006.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP006.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP006.py diff --git a/resources/test/fixtures/pyupgrade/UP007.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP007.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP007.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP007.py diff --git a/resources/test/fixtures/pyupgrade/UP008.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP008.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP008.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP008.py diff --git a/resources/test/fixtures/pyupgrade/UP009_0.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP009_0.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP009_0.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP009_0.py diff --git a/resources/test/fixtures/pyupgrade/UP009_1.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP009_1.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP009_1.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP009_1.py diff --git a/resources/test/fixtures/pyupgrade/UP009_2.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP009_2.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP009_2.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP009_2.py diff --git a/resources/test/fixtures/pyupgrade/UP009_3.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP009_3.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP009_3.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP009_3.py diff --git a/resources/test/fixtures/pyupgrade/UP009_4.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP009_4.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP009_4.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP009_4.py diff --git a/resources/test/fixtures/pyupgrade/UP010.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP010.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP010.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP010.py diff --git a/resources/test/fixtures/pyupgrade/UP011.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP011.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP011.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP011.py diff --git a/resources/test/fixtures/pyupgrade/UP012.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP012.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP012.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP012.py diff --git a/resources/test/fixtures/pyupgrade/UP013.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP013.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP013.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP013.py diff --git a/resources/test/fixtures/pyupgrade/UP014.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP014.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP014.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP014.py diff --git a/resources/test/fixtures/pyupgrade/UP015.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP015.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP015.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP015.py diff --git a/resources/test/fixtures/pyupgrade/UP017.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP017.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP017.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP017.py diff --git a/resources/test/fixtures/pyupgrade/UP018.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP018.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP018.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP018.py diff --git a/resources/test/fixtures/pyupgrade/UP019.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP019.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP019.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP019.py diff --git a/resources/test/fixtures/pyupgrade/UP020.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP020.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP020.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP020.py diff --git a/resources/test/fixtures/pyupgrade/UP021.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP021.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP021.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP021.py diff --git a/resources/test/fixtures/pyupgrade/UP022.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP022.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP022.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP022.py diff --git a/resources/test/fixtures/pyupgrade/UP023.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP023.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP023.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP023.py diff --git a/resources/test/fixtures/pyupgrade/UP024_0.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP024_0.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP024_0.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP024_0.py diff --git a/resources/test/fixtures/pyupgrade/UP024_1.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP024_1.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP024_1.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP024_1.py diff --git a/resources/test/fixtures/pyupgrade/UP024_2.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP024_2.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP024_2.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP024_2.py diff --git a/resources/test/fixtures/pyupgrade/UP024_3.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP024_3.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP024_3.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP024_3.py diff --git a/resources/test/fixtures/pyupgrade/UP025.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP025.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP025.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP025.py diff --git a/resources/test/fixtures/pyupgrade/UP026.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP026.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP026.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP026.py diff --git a/resources/test/fixtures/pyupgrade/UP027.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP027.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP027.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP027.py diff --git a/resources/test/fixtures/pyupgrade/UP028_0.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP028_0.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP028_0.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP028_0.py diff --git a/resources/test/fixtures/pyupgrade/UP028_1.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP028_1.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP028_1.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP028_1.py diff --git a/resources/test/fixtures/pyupgrade/UP029.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP029.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP029.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP029.py diff --git a/resources/test/fixtures/pyupgrade/UP030_0.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP030_0.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP030_0.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP030_0.py diff --git a/resources/test/fixtures/pyupgrade/UP030_1.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP030_1.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP030_1.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP030_1.py diff --git a/resources/test/fixtures/pyupgrade/UP030_2.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP030_2.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP030_2.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP030_2.py diff --git a/resources/test/fixtures/pyupgrade/UP031_0.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP031_0.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP031_0.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP031_0.py diff --git a/resources/test/fixtures/pyupgrade/UP031_1.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP031_1.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP031_1.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP031_1.py diff --git a/resources/test/fixtures/pyupgrade/UP032.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP032.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP032.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP032.py diff --git a/resources/test/fixtures/pyupgrade/UP033.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP033.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP033.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP033.py diff --git a/resources/test/fixtures/pyupgrade/UP034.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP034.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP034.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP034.py diff --git a/resources/test/fixtures/pyupgrade/UP035.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP035.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP035.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP035.py diff --git a/resources/test/fixtures/pyupgrade/UP036_0.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP036_0.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP036_0.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP036_0.py diff --git a/resources/test/fixtures/pyupgrade/UP036_1.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP036_1.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP036_1.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP036_1.py diff --git a/resources/test/fixtures/pyupgrade/UP036_2.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP036_2.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP036_2.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP036_2.py diff --git a/resources/test/fixtures/pyupgrade/UP036_3.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP036_3.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP036_3.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP036_3.py diff --git a/resources/test/fixtures/pyupgrade/UP036_4.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP036_4.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP036_4.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP036_4.py diff --git a/resources/test/fixtures/pyupgrade/UP037.py b/crates/ruff/resources/test/fixtures/pyupgrade/UP037.py similarity index 100% rename from resources/test/fixtures/pyupgrade/UP037.py rename to crates/ruff/resources/test/fixtures/pyupgrade/UP037.py diff --git a/resources/test/fixtures/pyupgrade/future_annotations.py b/crates/ruff/resources/test/fixtures/pyupgrade/future_annotations.py similarity index 100% rename from resources/test/fixtures/pyupgrade/future_annotations.py rename to crates/ruff/resources/test/fixtures/pyupgrade/future_annotations.py diff --git a/resources/test/fixtures/ruff/RUF004.py b/crates/ruff/resources/test/fixtures/ruff/RUF004.py similarity index 100% rename from resources/test/fixtures/ruff/RUF004.py rename to crates/ruff/resources/test/fixtures/ruff/RUF004.py diff --git a/resources/test/fixtures/ruff/RUF005.py b/crates/ruff/resources/test/fixtures/ruff/RUF005.py similarity index 100% rename from resources/test/fixtures/ruff/RUF005.py rename to crates/ruff/resources/test/fixtures/ruff/RUF005.py diff --git a/resources/test/fixtures/ruff/RUF100_0.py b/crates/ruff/resources/test/fixtures/ruff/RUF100_0.py similarity index 100% rename from resources/test/fixtures/ruff/RUF100_0.py rename to crates/ruff/resources/test/fixtures/ruff/RUF100_0.py diff --git a/resources/test/fixtures/ruff/RUF100_1.py b/crates/ruff/resources/test/fixtures/ruff/RUF100_1.py similarity index 100% rename from resources/test/fixtures/ruff/RUF100_1.py rename to crates/ruff/resources/test/fixtures/ruff/RUF100_1.py diff --git a/resources/test/fixtures/ruff/RUF100_2.py b/crates/ruff/resources/test/fixtures/ruff/RUF100_2.py similarity index 100% rename from resources/test/fixtures/ruff/RUF100_2.py rename to crates/ruff/resources/test/fixtures/ruff/RUF100_2.py diff --git a/resources/test/fixtures/ruff/confusables.py b/crates/ruff/resources/test/fixtures/ruff/confusables.py similarity index 100% rename from resources/test/fixtures/ruff/confusables.py rename to crates/ruff/resources/test/fixtures/ruff/confusables.py diff --git a/resources/test/fixtures/ruff/flake8_noqa.py b/crates/ruff/resources/test/fixtures/ruff/flake8_noqa.py similarity index 100% rename from resources/test/fixtures/ruff/flake8_noqa.py rename to crates/ruff/resources/test/fixtures/ruff/flake8_noqa.py diff --git a/resources/test/fixtures/ruff/redirects.py b/crates/ruff/resources/test/fixtures/ruff/redirects.py similarity index 100% rename from resources/test/fixtures/ruff/redirects.py rename to crates/ruff/resources/test/fixtures/ruff/redirects.py diff --git a/resources/test/fixtures/ruff/ruff_noqa.py b/crates/ruff/resources/test/fixtures/ruff/ruff_noqa.py similarity index 100% rename from resources/test/fixtures/ruff/ruff_noqa.py rename to crates/ruff/resources/test/fixtures/ruff/ruff_noqa.py diff --git a/resources/test/fixtures/tryceratops/TRY002.py b/crates/ruff/resources/test/fixtures/tryceratops/TRY002.py similarity index 100% rename from resources/test/fixtures/tryceratops/TRY002.py rename to crates/ruff/resources/test/fixtures/tryceratops/TRY002.py diff --git a/resources/test/fixtures/tryceratops/TRY003.py b/crates/ruff/resources/test/fixtures/tryceratops/TRY003.py similarity index 100% rename from resources/test/fixtures/tryceratops/TRY003.py rename to crates/ruff/resources/test/fixtures/tryceratops/TRY003.py diff --git a/resources/test/fixtures/tryceratops/TRY004.py b/crates/ruff/resources/test/fixtures/tryceratops/TRY004.py similarity index 100% rename from resources/test/fixtures/tryceratops/TRY004.py rename to crates/ruff/resources/test/fixtures/tryceratops/TRY004.py diff --git a/resources/test/fixtures/tryceratops/TRY200.py b/crates/ruff/resources/test/fixtures/tryceratops/TRY200.py similarity index 100% rename from resources/test/fixtures/tryceratops/TRY200.py rename to crates/ruff/resources/test/fixtures/tryceratops/TRY200.py diff --git a/resources/test/fixtures/tryceratops/TRY201.py b/crates/ruff/resources/test/fixtures/tryceratops/TRY201.py similarity index 100% rename from resources/test/fixtures/tryceratops/TRY201.py rename to crates/ruff/resources/test/fixtures/tryceratops/TRY201.py diff --git a/resources/test/fixtures/tryceratops/TRY300.py b/crates/ruff/resources/test/fixtures/tryceratops/TRY300.py similarity index 100% rename from resources/test/fixtures/tryceratops/TRY300.py rename to crates/ruff/resources/test/fixtures/tryceratops/TRY300.py diff --git a/resources/test/fixtures/tryceratops/TRY301.py b/crates/ruff/resources/test/fixtures/tryceratops/TRY301.py similarity index 100% rename from resources/test/fixtures/tryceratops/TRY301.py rename to crates/ruff/resources/test/fixtures/tryceratops/TRY301.py diff --git a/resources/test/fixtures/tryceratops/TRY400.py b/crates/ruff/resources/test/fixtures/tryceratops/TRY400.py similarity index 100% rename from resources/test/fixtures/tryceratops/TRY400.py rename to crates/ruff/resources/test/fixtures/tryceratops/TRY400.py diff --git a/resources/test/package/pyproject.toml b/crates/ruff/resources/test/package/pyproject.toml similarity index 100% rename from resources/test/package/pyproject.toml rename to crates/ruff/resources/test/package/pyproject.toml diff --git a/resources/test/package/resources/ignored.py b/crates/ruff/resources/test/package/resources/ignored.py similarity index 100% rename from resources/test/package/resources/ignored.py rename to crates/ruff/resources/test/package/resources/ignored.py diff --git a/resources/test/package/src/package/__init__.py b/crates/ruff/resources/test/package/src/package/__init__.py similarity index 100% rename from resources/test/package/src/package/__init__.py rename to crates/ruff/resources/test/package/src/package/__init__.py diff --git a/resources/test/package/src/package/app.py b/crates/ruff/resources/test/package/src/package/app.py similarity index 100% rename from resources/test/package/src/package/app.py rename to crates/ruff/resources/test/package/src/package/app.py diff --git a/resources/test/package/src/package/core.py b/crates/ruff/resources/test/package/src/package/core.py similarity index 100% rename from resources/test/package/src/package/core.py rename to crates/ruff/resources/test/package/src/package/core.py diff --git a/resources/test/project/.gitignore b/crates/ruff/resources/test/project/.gitignore similarity index 100% rename from resources/test/project/.gitignore rename to crates/ruff/resources/test/project/.gitignore diff --git a/resources/test/project/README.md b/crates/ruff/resources/test/project/README.md similarity index 100% rename from resources/test/project/README.md rename to crates/ruff/resources/test/project/README.md diff --git a/resources/test/project/examples/.dotfiles/pyproject.toml b/crates/ruff/resources/test/project/examples/.dotfiles/pyproject.toml similarity index 100% rename from resources/test/project/examples/.dotfiles/pyproject.toml rename to crates/ruff/resources/test/project/examples/.dotfiles/pyproject.toml diff --git a/resources/test/project/examples/.dotfiles/script.py b/crates/ruff/resources/test/project/examples/.dotfiles/script.py similarity index 100% rename from resources/test/project/examples/.dotfiles/script.py rename to crates/ruff/resources/test/project/examples/.dotfiles/script.py diff --git a/resources/test/project/examples/docs/docs/__init__.py b/crates/ruff/resources/test/project/examples/docs/docs/__init__.py similarity index 100% rename from resources/test/project/examples/docs/docs/__init__.py rename to crates/ruff/resources/test/project/examples/docs/docs/__init__.py diff --git a/resources/test/project/examples/docs/docs/concepts/__init__.py b/crates/ruff/resources/test/project/examples/docs/docs/concepts/__init__.py similarity index 100% rename from resources/test/project/examples/docs/docs/concepts/__init__.py rename to crates/ruff/resources/test/project/examples/docs/docs/concepts/__init__.py diff --git a/resources/test/project/examples/docs/docs/concepts/file.py b/crates/ruff/resources/test/project/examples/docs/docs/concepts/file.py similarity index 100% rename from resources/test/project/examples/docs/docs/concepts/file.py rename to crates/ruff/resources/test/project/examples/docs/docs/concepts/file.py diff --git a/resources/test/project/examples/docs/docs/file.py b/crates/ruff/resources/test/project/examples/docs/docs/file.py similarity index 100% rename from resources/test/project/examples/docs/docs/file.py rename to crates/ruff/resources/test/project/examples/docs/docs/file.py diff --git a/resources/test/project/examples/docs/ruff.toml b/crates/ruff/resources/test/project/examples/docs/ruff.toml similarity index 100% rename from resources/test/project/examples/docs/ruff.toml rename to crates/ruff/resources/test/project/examples/docs/ruff.toml diff --git a/resources/test/project/examples/excluded/script.py b/crates/ruff/resources/test/project/examples/excluded/script.py similarity index 100% rename from resources/test/project/examples/excluded/script.py rename to crates/ruff/resources/test/project/examples/excluded/script.py diff --git a/resources/test/project/project/__init__.py b/crates/ruff/resources/test/project/project/__init__.py similarity index 100% rename from resources/test/project/project/__init__.py rename to crates/ruff/resources/test/project/project/__init__.py diff --git a/resources/test/project/project/file.py b/crates/ruff/resources/test/project/project/file.py similarity index 100% rename from resources/test/project/project/file.py rename to crates/ruff/resources/test/project/project/file.py diff --git a/resources/test/project/project/import_file.py b/crates/ruff/resources/test/project/project/import_file.py similarity index 100% rename from resources/test/project/project/import_file.py rename to crates/ruff/resources/test/project/project/import_file.py diff --git a/resources/test/project/pyproject.toml b/crates/ruff/resources/test/project/pyproject.toml similarity index 100% rename from resources/test/project/pyproject.toml rename to crates/ruff/resources/test/project/pyproject.toml diff --git a/resources/test/project/python_modules/app/app/__init__.py b/crates/ruff/resources/test/project/python_modules/app/app/__init__.py similarity index 100% rename from resources/test/project/python_modules/app/app/__init__.py rename to crates/ruff/resources/test/project/python_modules/app/app/__init__.py diff --git a/resources/test/project/python_modules/app/app/app_file.py b/crates/ruff/resources/test/project/python_modules/app/app/app_file.py similarity index 100% rename from resources/test/project/python_modules/app/app/app_file.py rename to crates/ruff/resources/test/project/python_modules/app/app/app_file.py diff --git a/resources/test/project/python_modules/core/core/__init__.py b/crates/ruff/resources/test/project/python_modules/core/core/__init__.py similarity index 100% rename from resources/test/project/python_modules/core/core/__init__.py rename to crates/ruff/resources/test/project/python_modules/core/core/__init__.py diff --git a/resources/test/project/python_modules/core/core/core_file.py b/crates/ruff/resources/test/project/python_modules/core/core/core_file.py similarity index 100% rename from resources/test/project/python_modules/core/core/core_file.py rename to crates/ruff/resources/test/project/python_modules/core/core/core_file.py diff --git a/src/assert_yaml_snapshot.rs b/crates/ruff/src/assert_yaml_snapshot.rs similarity index 100% rename from src/assert_yaml_snapshot.rs rename to crates/ruff/src/assert_yaml_snapshot.rs diff --git a/src/ast/branch_detection.rs b/crates/ruff/src/ast/branch_detection.rs similarity index 100% rename from src/ast/branch_detection.rs rename to crates/ruff/src/ast/branch_detection.rs diff --git a/src/ast/cast.rs b/crates/ruff/src/ast/cast.rs similarity index 100% rename from src/ast/cast.rs rename to crates/ruff/src/ast/cast.rs diff --git a/src/ast/comparable.rs b/crates/ruff/src/ast/comparable.rs similarity index 100% rename from src/ast/comparable.rs rename to crates/ruff/src/ast/comparable.rs diff --git a/src/ast/function_type.rs b/crates/ruff/src/ast/function_type.rs similarity index 100% rename from src/ast/function_type.rs rename to crates/ruff/src/ast/function_type.rs diff --git a/src/ast/hashable.rs b/crates/ruff/src/ast/hashable.rs similarity index 100% rename from src/ast/hashable.rs rename to crates/ruff/src/ast/hashable.rs diff --git a/src/ast/helpers.rs b/crates/ruff/src/ast/helpers.rs similarity index 100% rename from src/ast/helpers.rs rename to crates/ruff/src/ast/helpers.rs diff --git a/src/ast/mod.rs b/crates/ruff/src/ast/mod.rs similarity index 100% rename from src/ast/mod.rs rename to crates/ruff/src/ast/mod.rs diff --git a/src/ast/operations.rs b/crates/ruff/src/ast/operations.rs similarity index 100% rename from src/ast/operations.rs rename to crates/ruff/src/ast/operations.rs diff --git a/src/ast/relocate.rs b/crates/ruff/src/ast/relocate.rs similarity index 100% rename from src/ast/relocate.rs rename to crates/ruff/src/ast/relocate.rs diff --git a/src/ast/types.rs b/crates/ruff/src/ast/types.rs similarity index 100% rename from src/ast/types.rs rename to crates/ruff/src/ast/types.rs diff --git a/src/ast/visitor.rs b/crates/ruff/src/ast/visitor.rs similarity index 100% rename from src/ast/visitor.rs rename to crates/ruff/src/ast/visitor.rs diff --git a/src/ast/whitespace.rs b/crates/ruff/src/ast/whitespace.rs similarity index 100% rename from src/ast/whitespace.rs rename to crates/ruff/src/ast/whitespace.rs diff --git a/src/autofix/helpers.rs b/crates/ruff/src/autofix/helpers.rs similarity index 100% rename from src/autofix/helpers.rs rename to crates/ruff/src/autofix/helpers.rs diff --git a/src/autofix/mod.rs b/crates/ruff/src/autofix/mod.rs similarity index 100% rename from src/autofix/mod.rs rename to crates/ruff/src/autofix/mod.rs diff --git a/src/cache.rs b/crates/ruff/src/cache.rs similarity index 100% rename from src/cache.rs rename to crates/ruff/src/cache.rs diff --git a/src/checkers/ast.rs b/crates/ruff/src/checkers/ast.rs similarity index 100% rename from src/checkers/ast.rs rename to crates/ruff/src/checkers/ast.rs diff --git a/src/checkers/filesystem.rs b/crates/ruff/src/checkers/filesystem.rs similarity index 100% rename from src/checkers/filesystem.rs rename to crates/ruff/src/checkers/filesystem.rs diff --git a/src/checkers/imports.rs b/crates/ruff/src/checkers/imports.rs similarity index 100% rename from src/checkers/imports.rs rename to crates/ruff/src/checkers/imports.rs diff --git a/src/checkers/logical_lines.rs b/crates/ruff/src/checkers/logical_lines.rs similarity index 100% rename from src/checkers/logical_lines.rs rename to crates/ruff/src/checkers/logical_lines.rs diff --git a/src/checkers/mod.rs b/crates/ruff/src/checkers/mod.rs similarity index 100% rename from src/checkers/mod.rs rename to crates/ruff/src/checkers/mod.rs diff --git a/src/checkers/noqa.rs b/crates/ruff/src/checkers/noqa.rs similarity index 100% rename from src/checkers/noqa.rs rename to crates/ruff/src/checkers/noqa.rs diff --git a/src/checkers/physical_lines.rs b/crates/ruff/src/checkers/physical_lines.rs similarity index 100% rename from src/checkers/physical_lines.rs rename to crates/ruff/src/checkers/physical_lines.rs diff --git a/src/checkers/tokens.rs b/crates/ruff/src/checkers/tokens.rs similarity index 100% rename from src/checkers/tokens.rs rename to crates/ruff/src/checkers/tokens.rs diff --git a/src/cst/helpers.rs b/crates/ruff/src/cst/helpers.rs similarity index 100% rename from src/cst/helpers.rs rename to crates/ruff/src/cst/helpers.rs diff --git a/src/cst/matchers.rs b/crates/ruff/src/cst/matchers.rs similarity index 100% rename from src/cst/matchers.rs rename to crates/ruff/src/cst/matchers.rs diff --git a/src/cst/mod.rs b/crates/ruff/src/cst/mod.rs similarity index 100% rename from src/cst/mod.rs rename to crates/ruff/src/cst/mod.rs diff --git a/src/directives.rs b/crates/ruff/src/directives.rs similarity index 100% rename from src/directives.rs rename to crates/ruff/src/directives.rs diff --git a/src/doc_lines.rs b/crates/ruff/src/doc_lines.rs similarity index 100% rename from src/doc_lines.rs rename to crates/ruff/src/doc_lines.rs diff --git a/src/docstrings/constants.rs b/crates/ruff/src/docstrings/constants.rs similarity index 100% rename from src/docstrings/constants.rs rename to crates/ruff/src/docstrings/constants.rs diff --git a/src/docstrings/definition.rs b/crates/ruff/src/docstrings/definition.rs similarity index 100% rename from src/docstrings/definition.rs rename to crates/ruff/src/docstrings/definition.rs diff --git a/src/docstrings/extraction.rs b/crates/ruff/src/docstrings/extraction.rs similarity index 100% rename from src/docstrings/extraction.rs rename to crates/ruff/src/docstrings/extraction.rs diff --git a/src/docstrings/google.rs b/crates/ruff/src/docstrings/google.rs similarity index 100% rename from src/docstrings/google.rs rename to crates/ruff/src/docstrings/google.rs diff --git a/src/docstrings/mod.rs b/crates/ruff/src/docstrings/mod.rs similarity index 100% rename from src/docstrings/mod.rs rename to crates/ruff/src/docstrings/mod.rs diff --git a/src/docstrings/numpy.rs b/crates/ruff/src/docstrings/numpy.rs similarity index 100% rename from src/docstrings/numpy.rs rename to crates/ruff/src/docstrings/numpy.rs diff --git a/src/docstrings/sections.rs b/crates/ruff/src/docstrings/sections.rs similarity index 100% rename from src/docstrings/sections.rs rename to crates/ruff/src/docstrings/sections.rs diff --git a/src/docstrings/styles.rs b/crates/ruff/src/docstrings/styles.rs similarity index 100% rename from src/docstrings/styles.rs rename to crates/ruff/src/docstrings/styles.rs diff --git a/src/fix.rs b/crates/ruff/src/fix.rs similarity index 100% rename from src/fix.rs rename to crates/ruff/src/fix.rs diff --git a/src/flake8_to_ruff/black.rs b/crates/ruff/src/flake8_to_ruff/black.rs similarity index 100% rename from src/flake8_to_ruff/black.rs rename to crates/ruff/src/flake8_to_ruff/black.rs diff --git a/src/flake8_to_ruff/converter.rs b/crates/ruff/src/flake8_to_ruff/converter.rs similarity index 100% rename from src/flake8_to_ruff/converter.rs rename to crates/ruff/src/flake8_to_ruff/converter.rs diff --git a/src/flake8_to_ruff/external_config.rs b/crates/ruff/src/flake8_to_ruff/external_config.rs similarity index 100% rename from src/flake8_to_ruff/external_config.rs rename to crates/ruff/src/flake8_to_ruff/external_config.rs diff --git a/src/flake8_to_ruff/isort.rs b/crates/ruff/src/flake8_to_ruff/isort.rs similarity index 100% rename from src/flake8_to_ruff/isort.rs rename to crates/ruff/src/flake8_to_ruff/isort.rs diff --git a/src/flake8_to_ruff/mod.rs b/crates/ruff/src/flake8_to_ruff/mod.rs similarity index 100% rename from src/flake8_to_ruff/mod.rs rename to crates/ruff/src/flake8_to_ruff/mod.rs diff --git a/src/flake8_to_ruff/parser.rs b/crates/ruff/src/flake8_to_ruff/parser.rs similarity index 100% rename from src/flake8_to_ruff/parser.rs rename to crates/ruff/src/flake8_to_ruff/parser.rs diff --git a/src/flake8_to_ruff/plugin.rs b/crates/ruff/src/flake8_to_ruff/plugin.rs similarity index 100% rename from src/flake8_to_ruff/plugin.rs rename to crates/ruff/src/flake8_to_ruff/plugin.rs diff --git a/src/flake8_to_ruff/pyproject.rs b/crates/ruff/src/flake8_to_ruff/pyproject.rs similarity index 100% rename from src/flake8_to_ruff/pyproject.rs rename to crates/ruff/src/flake8_to_ruff/pyproject.rs diff --git a/src/fs.rs b/crates/ruff/src/fs.rs similarity index 100% rename from src/fs.rs rename to crates/ruff/src/fs.rs diff --git a/src/lex/docstring_detection.rs b/crates/ruff/src/lex/docstring_detection.rs similarity index 100% rename from src/lex/docstring_detection.rs rename to crates/ruff/src/lex/docstring_detection.rs diff --git a/src/lex/mod.rs b/crates/ruff/src/lex/mod.rs similarity index 100% rename from src/lex/mod.rs rename to crates/ruff/src/lex/mod.rs diff --git a/src/lib.rs b/crates/ruff/src/lib.rs similarity index 100% rename from src/lib.rs rename to crates/ruff/src/lib.rs diff --git a/src/lib_native.rs b/crates/ruff/src/lib_native.rs similarity index 100% rename from src/lib_native.rs rename to crates/ruff/src/lib_native.rs diff --git a/src/lib_wasm.rs b/crates/ruff/src/lib_wasm.rs similarity index 100% rename from src/lib_wasm.rs rename to crates/ruff/src/lib_wasm.rs diff --git a/src/linter.rs b/crates/ruff/src/linter.rs similarity index 100% rename from src/linter.rs rename to crates/ruff/src/linter.rs diff --git a/src/logging.rs b/crates/ruff/src/logging.rs similarity index 100% rename from src/logging.rs rename to crates/ruff/src/logging.rs diff --git a/src/message.rs b/crates/ruff/src/message.rs similarity index 100% rename from src/message.rs rename to crates/ruff/src/message.rs diff --git a/src/noqa.rs b/crates/ruff/src/noqa.rs similarity index 100% rename from src/noqa.rs rename to crates/ruff/src/noqa.rs diff --git a/src/packaging.rs b/crates/ruff/src/packaging.rs similarity index 100% rename from src/packaging.rs rename to crates/ruff/src/packaging.rs diff --git a/src/python/builtins.rs b/crates/ruff/src/python/builtins.rs similarity index 100% rename from src/python/builtins.rs rename to crates/ruff/src/python/builtins.rs diff --git a/src/python/future.rs b/crates/ruff/src/python/future.rs similarity index 100% rename from src/python/future.rs rename to crates/ruff/src/python/future.rs diff --git a/src/python/identifiers.rs b/crates/ruff/src/python/identifiers.rs similarity index 100% rename from src/python/identifiers.rs rename to crates/ruff/src/python/identifiers.rs diff --git a/src/python/keyword.rs b/crates/ruff/src/python/keyword.rs similarity index 100% rename from src/python/keyword.rs rename to crates/ruff/src/python/keyword.rs diff --git a/src/python/mod.rs b/crates/ruff/src/python/mod.rs similarity index 100% rename from src/python/mod.rs rename to crates/ruff/src/python/mod.rs diff --git a/src/python/string.rs b/crates/ruff/src/python/string.rs similarity index 100% rename from src/python/string.rs rename to crates/ruff/src/python/string.rs diff --git a/src/python/sys.rs b/crates/ruff/src/python/sys.rs similarity index 100% rename from src/python/sys.rs rename to crates/ruff/src/python/sys.rs diff --git a/src/python/typing.rs b/crates/ruff/src/python/typing.rs similarity index 100% rename from src/python/typing.rs rename to crates/ruff/src/python/typing.rs diff --git a/src/registry.rs b/crates/ruff/src/registry.rs similarity index 100% rename from src/registry.rs rename to crates/ruff/src/registry.rs diff --git a/src/resolver.rs b/crates/ruff/src/resolver.rs similarity index 100% rename from src/resolver.rs rename to crates/ruff/src/resolver.rs diff --git a/src/rule_redirects.rs b/crates/ruff/src/rule_redirects.rs similarity index 100% rename from src/rule_redirects.rs rename to crates/ruff/src/rule_redirects.rs diff --git a/src/rule_selector.rs b/crates/ruff/src/rule_selector.rs similarity index 100% rename from src/rule_selector.rs rename to crates/ruff/src/rule_selector.rs diff --git a/src/rules/eradicate/detection.rs b/crates/ruff/src/rules/eradicate/detection.rs similarity index 100% rename from src/rules/eradicate/detection.rs rename to crates/ruff/src/rules/eradicate/detection.rs diff --git a/src/rules/eradicate/mod.rs b/crates/ruff/src/rules/eradicate/mod.rs similarity index 100% rename from src/rules/eradicate/mod.rs rename to crates/ruff/src/rules/eradicate/mod.rs diff --git a/src/rules/eradicate/rules.rs b/crates/ruff/src/rules/eradicate/rules.rs similarity index 100% rename from src/rules/eradicate/rules.rs rename to crates/ruff/src/rules/eradicate/rules.rs diff --git a/src/rules/eradicate/snapshots/ruff__rules__eradicate__tests__ERA001_ERA001.py.snap b/crates/ruff/src/rules/eradicate/snapshots/ruff__rules__eradicate__tests__ERA001_ERA001.py.snap similarity index 100% rename from src/rules/eradicate/snapshots/ruff__rules__eradicate__tests__ERA001_ERA001.py.snap rename to crates/ruff/src/rules/eradicate/snapshots/ruff__rules__eradicate__tests__ERA001_ERA001.py.snap diff --git a/src/rules/flake8_2020/mod.rs b/crates/ruff/src/rules/flake8_2020/mod.rs similarity index 100% rename from src/rules/flake8_2020/mod.rs rename to crates/ruff/src/rules/flake8_2020/mod.rs diff --git a/src/rules/flake8_2020/rules.rs b/crates/ruff/src/rules/flake8_2020/rules.rs similarity index 100% rename from src/rules/flake8_2020/rules.rs rename to crates/ruff/src/rules/flake8_2020/rules.rs diff --git a/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT101_YTT101.py.snap b/crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT101_YTT101.py.snap similarity index 100% rename from src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT101_YTT101.py.snap rename to crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT101_YTT101.py.snap diff --git a/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT102_YTT102.py.snap b/crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT102_YTT102.py.snap similarity index 100% rename from src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT102_YTT102.py.snap rename to crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT102_YTT102.py.snap diff --git a/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT103_YTT103.py.snap b/crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT103_YTT103.py.snap similarity index 100% rename from src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT103_YTT103.py.snap rename to crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT103_YTT103.py.snap diff --git a/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT201_YTT201.py.snap b/crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT201_YTT201.py.snap similarity index 100% rename from src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT201_YTT201.py.snap rename to crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT201_YTT201.py.snap diff --git a/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT202_YTT202.py.snap b/crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT202_YTT202.py.snap similarity index 100% rename from src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT202_YTT202.py.snap rename to crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT202_YTT202.py.snap diff --git a/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT203_YTT203.py.snap b/crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT203_YTT203.py.snap similarity index 100% rename from src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT203_YTT203.py.snap rename to crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT203_YTT203.py.snap diff --git a/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT204_YTT204.py.snap b/crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT204_YTT204.py.snap similarity index 100% rename from src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT204_YTT204.py.snap rename to crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT204_YTT204.py.snap diff --git a/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT301_YTT301.py.snap b/crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT301_YTT301.py.snap similarity index 100% rename from src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT301_YTT301.py.snap rename to crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT301_YTT301.py.snap diff --git a/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT302_YTT302.py.snap b/crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT302_YTT302.py.snap similarity index 100% rename from src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT302_YTT302.py.snap rename to crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT302_YTT302.py.snap diff --git a/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT303_YTT303.py.snap b/crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT303_YTT303.py.snap similarity index 100% rename from src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT303_YTT303.py.snap rename to crates/ruff/src/rules/flake8_2020/snapshots/ruff__rules__flake8_2020__tests__YTT303_YTT303.py.snap diff --git a/src/rules/flake8_annotations/fixes.rs b/crates/ruff/src/rules/flake8_annotations/fixes.rs similarity index 100% rename from src/rules/flake8_annotations/fixes.rs rename to crates/ruff/src/rules/flake8_annotations/fixes.rs diff --git a/src/rules/flake8_annotations/helpers.rs b/crates/ruff/src/rules/flake8_annotations/helpers.rs similarity index 100% rename from src/rules/flake8_annotations/helpers.rs rename to crates/ruff/src/rules/flake8_annotations/helpers.rs diff --git a/src/rules/flake8_annotations/mod.rs b/crates/ruff/src/rules/flake8_annotations/mod.rs similarity index 100% rename from src/rules/flake8_annotations/mod.rs rename to crates/ruff/src/rules/flake8_annotations/mod.rs diff --git a/src/rules/flake8_annotations/rules.rs b/crates/ruff/src/rules/flake8_annotations/rules.rs similarity index 100% rename from src/rules/flake8_annotations/rules.rs rename to crates/ruff/src/rules/flake8_annotations/rules.rs diff --git a/src/rules/flake8_annotations/settings.rs b/crates/ruff/src/rules/flake8_annotations/settings.rs similarity index 100% rename from src/rules/flake8_annotations/settings.rs rename to crates/ruff/src/rules/flake8_annotations/settings.rs diff --git a/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__allow_nested_overload.snap b/crates/ruff/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__allow_nested_overload.snap similarity index 100% rename from src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__allow_nested_overload.snap rename to crates/ruff/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__allow_nested_overload.snap diff --git a/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__allow_overload.snap b/crates/ruff/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__allow_overload.snap similarity index 100% rename from src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__allow_overload.snap rename to crates/ruff/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__allow_overload.snap diff --git a/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__allow_star_arg_any.snap b/crates/ruff/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__allow_star_arg_any.snap similarity index 100% rename from src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__allow_star_arg_any.snap rename to crates/ruff/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__allow_star_arg_any.snap diff --git a/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__defaults.snap b/crates/ruff/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__defaults.snap similarity index 100% rename from src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__defaults.snap rename to crates/ruff/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__defaults.snap diff --git a/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__mypy_init_return.snap b/crates/ruff/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__mypy_init_return.snap similarity index 100% rename from src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__mypy_init_return.snap rename to crates/ruff/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__mypy_init_return.snap diff --git a/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__suppress_dummy_args.snap b/crates/ruff/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__suppress_dummy_args.snap similarity index 100% rename from src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__suppress_dummy_args.snap rename to crates/ruff/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__suppress_dummy_args.snap diff --git a/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__suppress_none_returning.snap b/crates/ruff/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__suppress_none_returning.snap similarity index 100% rename from src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__suppress_none_returning.snap rename to crates/ruff/src/rules/flake8_annotations/snapshots/ruff__rules__flake8_annotations__tests__suppress_none_returning.snap diff --git a/src/rules/flake8_bandit/helpers.rs b/crates/ruff/src/rules/flake8_bandit/helpers.rs similarity index 100% rename from src/rules/flake8_bandit/helpers.rs rename to crates/ruff/src/rules/flake8_bandit/helpers.rs diff --git a/src/rules/flake8_bandit/mod.rs b/crates/ruff/src/rules/flake8_bandit/mod.rs similarity index 100% rename from src/rules/flake8_bandit/mod.rs rename to crates/ruff/src/rules/flake8_bandit/mod.rs diff --git a/src/rules/flake8_bandit/rules/assert_used.rs b/crates/ruff/src/rules/flake8_bandit/rules/assert_used.rs similarity index 100% rename from src/rules/flake8_bandit/rules/assert_used.rs rename to crates/ruff/src/rules/flake8_bandit/rules/assert_used.rs diff --git a/src/rules/flake8_bandit/rules/bad_file_permissions.rs b/crates/ruff/src/rules/flake8_bandit/rules/bad_file_permissions.rs similarity index 100% rename from src/rules/flake8_bandit/rules/bad_file_permissions.rs rename to crates/ruff/src/rules/flake8_bandit/rules/bad_file_permissions.rs diff --git a/src/rules/flake8_bandit/rules/exec_used.rs b/crates/ruff/src/rules/flake8_bandit/rules/exec_used.rs similarity index 100% rename from src/rules/flake8_bandit/rules/exec_used.rs rename to crates/ruff/src/rules/flake8_bandit/rules/exec_used.rs diff --git a/src/rules/flake8_bandit/rules/hardcoded_bind_all_interfaces.rs b/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_bind_all_interfaces.rs similarity index 100% rename from src/rules/flake8_bandit/rules/hardcoded_bind_all_interfaces.rs rename to crates/ruff/src/rules/flake8_bandit/rules/hardcoded_bind_all_interfaces.rs diff --git a/src/rules/flake8_bandit/rules/hardcoded_password_default.rs b/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_default.rs similarity index 100% rename from src/rules/flake8_bandit/rules/hardcoded_password_default.rs rename to crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_default.rs diff --git a/src/rules/flake8_bandit/rules/hardcoded_password_func_arg.rs b/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_func_arg.rs similarity index 100% rename from src/rules/flake8_bandit/rules/hardcoded_password_func_arg.rs rename to crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_func_arg.rs diff --git a/src/rules/flake8_bandit/rules/hardcoded_password_string.rs b/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_string.rs similarity index 100% rename from src/rules/flake8_bandit/rules/hardcoded_password_string.rs rename to crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_string.rs diff --git a/src/rules/flake8_bandit/rules/hardcoded_tmp_directory.rs b/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_tmp_directory.rs similarity index 100% rename from src/rules/flake8_bandit/rules/hardcoded_tmp_directory.rs rename to crates/ruff/src/rules/flake8_bandit/rules/hardcoded_tmp_directory.rs diff --git a/src/rules/flake8_bandit/rules/hashlib_insecure_hash_functions.rs b/crates/ruff/src/rules/flake8_bandit/rules/hashlib_insecure_hash_functions.rs similarity index 100% rename from src/rules/flake8_bandit/rules/hashlib_insecure_hash_functions.rs rename to crates/ruff/src/rules/flake8_bandit/rules/hashlib_insecure_hash_functions.rs diff --git a/src/rules/flake8_bandit/rules/jinja2_autoescape_false.rs b/crates/ruff/src/rules/flake8_bandit/rules/jinja2_autoescape_false.rs similarity index 100% rename from src/rules/flake8_bandit/rules/jinja2_autoescape_false.rs rename to crates/ruff/src/rules/flake8_bandit/rules/jinja2_autoescape_false.rs diff --git a/src/rules/flake8_bandit/rules/logging_config_insecure_listen.rs b/crates/ruff/src/rules/flake8_bandit/rules/logging_config_insecure_listen.rs similarity index 100% rename from src/rules/flake8_bandit/rules/logging_config_insecure_listen.rs rename to crates/ruff/src/rules/flake8_bandit/rules/logging_config_insecure_listen.rs diff --git a/src/rules/flake8_bandit/rules/mod.rs b/crates/ruff/src/rules/flake8_bandit/rules/mod.rs similarity index 100% rename from src/rules/flake8_bandit/rules/mod.rs rename to crates/ruff/src/rules/flake8_bandit/rules/mod.rs diff --git a/src/rules/flake8_bandit/rules/request_with_no_cert_validation.rs b/crates/ruff/src/rules/flake8_bandit/rules/request_with_no_cert_validation.rs similarity index 100% rename from src/rules/flake8_bandit/rules/request_with_no_cert_validation.rs rename to crates/ruff/src/rules/flake8_bandit/rules/request_with_no_cert_validation.rs diff --git a/src/rules/flake8_bandit/rules/request_without_timeout.rs b/crates/ruff/src/rules/flake8_bandit/rules/request_without_timeout.rs similarity index 100% rename from src/rules/flake8_bandit/rules/request_without_timeout.rs rename to crates/ruff/src/rules/flake8_bandit/rules/request_without_timeout.rs diff --git a/src/rules/flake8_bandit/rules/snmp_insecure_version.rs b/crates/ruff/src/rules/flake8_bandit/rules/snmp_insecure_version.rs similarity index 100% rename from src/rules/flake8_bandit/rules/snmp_insecure_version.rs rename to crates/ruff/src/rules/flake8_bandit/rules/snmp_insecure_version.rs diff --git a/src/rules/flake8_bandit/rules/snmp_weak_cryptography.rs b/crates/ruff/src/rules/flake8_bandit/rules/snmp_weak_cryptography.rs similarity index 100% rename from src/rules/flake8_bandit/rules/snmp_weak_cryptography.rs rename to crates/ruff/src/rules/flake8_bandit/rules/snmp_weak_cryptography.rs diff --git a/src/rules/flake8_bandit/rules/try_except_pass.rs b/crates/ruff/src/rules/flake8_bandit/rules/try_except_pass.rs similarity index 100% rename from src/rules/flake8_bandit/rules/try_except_pass.rs rename to crates/ruff/src/rules/flake8_bandit/rules/try_except_pass.rs diff --git a/src/rules/flake8_bandit/rules/unsafe_yaml_load.rs b/crates/ruff/src/rules/flake8_bandit/rules/unsafe_yaml_load.rs similarity index 100% rename from src/rules/flake8_bandit/rules/unsafe_yaml_load.rs rename to crates/ruff/src/rules/flake8_bandit/rules/unsafe_yaml_load.rs diff --git a/src/rules/flake8_bandit/settings.rs b/crates/ruff/src/rules/flake8_bandit/settings.rs similarity index 100% rename from src/rules/flake8_bandit/settings.rs rename to crates/ruff/src/rules/flake8_bandit/settings.rs diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S101_S101.py.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S101_S101.py.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S101_S101.py.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S101_S101.py.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S102_S102.py.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S102_S102.py.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S102_S102.py.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S102_S102.py.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S103_S103.py.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S103_S103.py.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S103_S103.py.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S103_S103.py.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S104_S104.py.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S104_S104.py.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S104_S104.py.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S104_S104.py.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S105_S105.py.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S105_S105.py.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S105_S105.py.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S105_S105.py.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S106_S106.py.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S106_S106.py.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S106_S106.py.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S106_S106.py.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S107_S107.py.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S107_S107.py.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S107_S107.py.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S107_S107.py.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S108_S108.py.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S108_S108.py.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S108_S108.py.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S108_S108.py.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S108_extend.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S108_extend.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S108_extend.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S108_extend.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S110_S110.py.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S110_S110.py.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S110_S110.py.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S110_S110.py.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S110_typed.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S110_typed.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S110_typed.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S110_typed.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S113_S113.py.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S113_S113.py.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S113_S113.py.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S113_S113.py.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S324_S324.py.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S324_S324.py.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S324_S324.py.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S324_S324.py.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S501_S501.py.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S501_S501.py.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S501_S501.py.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S501_S501.py.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S506_S506.py.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S506_S506.py.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S506_S506.py.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S506_S506.py.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S508_S508.py.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S508_S508.py.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S508_S508.py.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S508_S508.py.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S509_S509.py.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S509_S509.py.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S509_S509.py.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S509_S509.py.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S612_S612.py.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S612_S612.py.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S612_S612.py.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S612_S612.py.snap diff --git a/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S701_S701.py.snap b/crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S701_S701.py.snap similarity index 100% rename from src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S701_S701.py.snap rename to crates/ruff/src/rules/flake8_bandit/snapshots/ruff__rules__flake8_bandit__tests__S701_S701.py.snap diff --git a/src/rules/flake8_blind_except/mod.rs b/crates/ruff/src/rules/flake8_blind_except/mod.rs similarity index 100% rename from src/rules/flake8_blind_except/mod.rs rename to crates/ruff/src/rules/flake8_blind_except/mod.rs diff --git a/src/rules/flake8_blind_except/rules.rs b/crates/ruff/src/rules/flake8_blind_except/rules.rs similarity index 100% rename from src/rules/flake8_blind_except/rules.rs rename to crates/ruff/src/rules/flake8_blind_except/rules.rs diff --git a/src/rules/flake8_blind_except/snapshots/ruff__rules__flake8_blind_except__tests__BLE001_BLE.py.snap b/crates/ruff/src/rules/flake8_blind_except/snapshots/ruff__rules__flake8_blind_except__tests__BLE001_BLE.py.snap similarity index 100% rename from src/rules/flake8_blind_except/snapshots/ruff__rules__flake8_blind_except__tests__BLE001_BLE.py.snap rename to crates/ruff/src/rules/flake8_blind_except/snapshots/ruff__rules__flake8_blind_except__tests__BLE001_BLE.py.snap diff --git a/src/rules/flake8_boolean_trap/mod.rs b/crates/ruff/src/rules/flake8_boolean_trap/mod.rs similarity index 100% rename from src/rules/flake8_boolean_trap/mod.rs rename to crates/ruff/src/rules/flake8_boolean_trap/mod.rs diff --git a/src/rules/flake8_boolean_trap/rules.rs b/crates/ruff/src/rules/flake8_boolean_trap/rules.rs similarity index 100% rename from src/rules/flake8_boolean_trap/rules.rs rename to crates/ruff/src/rules/flake8_boolean_trap/rules.rs diff --git a/src/rules/flake8_boolean_trap/snapshots/ruff__rules__flake8_boolean_trap__tests__FBT001_FBT.py.snap b/crates/ruff/src/rules/flake8_boolean_trap/snapshots/ruff__rules__flake8_boolean_trap__tests__FBT001_FBT.py.snap similarity index 100% rename from src/rules/flake8_boolean_trap/snapshots/ruff__rules__flake8_boolean_trap__tests__FBT001_FBT.py.snap rename to crates/ruff/src/rules/flake8_boolean_trap/snapshots/ruff__rules__flake8_boolean_trap__tests__FBT001_FBT.py.snap diff --git a/src/rules/flake8_boolean_trap/snapshots/ruff__rules__flake8_boolean_trap__tests__FBT002_FBT.py.snap b/crates/ruff/src/rules/flake8_boolean_trap/snapshots/ruff__rules__flake8_boolean_trap__tests__FBT002_FBT.py.snap similarity index 100% rename from src/rules/flake8_boolean_trap/snapshots/ruff__rules__flake8_boolean_trap__tests__FBT002_FBT.py.snap rename to crates/ruff/src/rules/flake8_boolean_trap/snapshots/ruff__rules__flake8_boolean_trap__tests__FBT002_FBT.py.snap diff --git a/src/rules/flake8_boolean_trap/snapshots/ruff__rules__flake8_boolean_trap__tests__FBT003_FBT.py.snap b/crates/ruff/src/rules/flake8_boolean_trap/snapshots/ruff__rules__flake8_boolean_trap__tests__FBT003_FBT.py.snap similarity index 100% rename from src/rules/flake8_boolean_trap/snapshots/ruff__rules__flake8_boolean_trap__tests__FBT003_FBT.py.snap rename to crates/ruff/src/rules/flake8_boolean_trap/snapshots/ruff__rules__flake8_boolean_trap__tests__FBT003_FBT.py.snap diff --git a/src/rules/flake8_bugbear/mod.rs b/crates/ruff/src/rules/flake8_bugbear/mod.rs similarity index 100% rename from src/rules/flake8_bugbear/mod.rs rename to crates/ruff/src/rules/flake8_bugbear/mod.rs diff --git a/src/rules/flake8_bugbear/rules/abstract_base_class.rs b/crates/ruff/src/rules/flake8_bugbear/rules/abstract_base_class.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/abstract_base_class.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/abstract_base_class.rs diff --git a/src/rules/flake8_bugbear/rules/assert_false.rs b/crates/ruff/src/rules/flake8_bugbear/rules/assert_false.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/assert_false.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/assert_false.rs diff --git a/src/rules/flake8_bugbear/rules/assert_raises_exception.rs b/crates/ruff/src/rules/flake8_bugbear/rules/assert_raises_exception.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/assert_raises_exception.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/assert_raises_exception.rs diff --git a/src/rules/flake8_bugbear/rules/assignment_to_os_environ.rs b/crates/ruff/src/rules/flake8_bugbear/rules/assignment_to_os_environ.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/assignment_to_os_environ.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/assignment_to_os_environ.rs diff --git a/src/rules/flake8_bugbear/rules/cached_instance_method.rs b/crates/ruff/src/rules/flake8_bugbear/rules/cached_instance_method.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/cached_instance_method.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/cached_instance_method.rs diff --git a/src/rules/flake8_bugbear/rules/cannot_raise_literal.rs b/crates/ruff/src/rules/flake8_bugbear/rules/cannot_raise_literal.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/cannot_raise_literal.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/cannot_raise_literal.rs diff --git a/src/rules/flake8_bugbear/rules/duplicate_exceptions.rs b/crates/ruff/src/rules/flake8_bugbear/rules/duplicate_exceptions.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/duplicate_exceptions.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/duplicate_exceptions.rs diff --git a/src/rules/flake8_bugbear/rules/f_string_docstring.rs b/crates/ruff/src/rules/flake8_bugbear/rules/f_string_docstring.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/f_string_docstring.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/f_string_docstring.rs diff --git a/src/rules/flake8_bugbear/rules/function_call_argument_default.rs b/crates/ruff/src/rules/flake8_bugbear/rules/function_call_argument_default.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/function_call_argument_default.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/function_call_argument_default.rs diff --git a/src/rules/flake8_bugbear/rules/function_uses_loop_variable.rs b/crates/ruff/src/rules/flake8_bugbear/rules/function_uses_loop_variable.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/function_uses_loop_variable.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/function_uses_loop_variable.rs diff --git a/src/rules/flake8_bugbear/rules/getattr_with_constant.rs b/crates/ruff/src/rules/flake8_bugbear/rules/getattr_with_constant.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/getattr_with_constant.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/getattr_with_constant.rs diff --git a/src/rules/flake8_bugbear/rules/jump_statement_in_finally.rs b/crates/ruff/src/rules/flake8_bugbear/rules/jump_statement_in_finally.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/jump_statement_in_finally.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/jump_statement_in_finally.rs diff --git a/src/rules/flake8_bugbear/rules/loop_variable_overrides_iterator.rs b/crates/ruff/src/rules/flake8_bugbear/rules/loop_variable_overrides_iterator.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/loop_variable_overrides_iterator.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/loop_variable_overrides_iterator.rs diff --git a/src/rules/flake8_bugbear/rules/mod.rs b/crates/ruff/src/rules/flake8_bugbear/rules/mod.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/mod.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/mod.rs diff --git a/src/rules/flake8_bugbear/rules/mutable_argument_default.rs b/crates/ruff/src/rules/flake8_bugbear/rules/mutable_argument_default.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/mutable_argument_default.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/mutable_argument_default.rs diff --git a/src/rules/flake8_bugbear/rules/raise_without_from_inside_except.rs b/crates/ruff/src/rules/flake8_bugbear/rules/raise_without_from_inside_except.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/raise_without_from_inside_except.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/raise_without_from_inside_except.rs diff --git a/src/rules/flake8_bugbear/rules/redundant_tuple_in_exception_handler.rs b/crates/ruff/src/rules/flake8_bugbear/rules/redundant_tuple_in_exception_handler.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/redundant_tuple_in_exception_handler.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/redundant_tuple_in_exception_handler.rs diff --git a/src/rules/flake8_bugbear/rules/setattr_with_constant.rs b/crates/ruff/src/rules/flake8_bugbear/rules/setattr_with_constant.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/setattr_with_constant.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/setattr_with_constant.rs diff --git a/src/rules/flake8_bugbear/rules/star_arg_unpacking_after_keyword_arg.rs b/crates/ruff/src/rules/flake8_bugbear/rules/star_arg_unpacking_after_keyword_arg.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/star_arg_unpacking_after_keyword_arg.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/star_arg_unpacking_after_keyword_arg.rs diff --git a/src/rules/flake8_bugbear/rules/strip_with_multi_characters.rs b/crates/ruff/src/rules/flake8_bugbear/rules/strip_with_multi_characters.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/strip_with_multi_characters.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/strip_with_multi_characters.rs diff --git a/src/rules/flake8_bugbear/rules/unary_prefix_increment.rs b/crates/ruff/src/rules/flake8_bugbear/rules/unary_prefix_increment.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/unary_prefix_increment.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/unary_prefix_increment.rs diff --git a/src/rules/flake8_bugbear/rules/unreliable_callable_check.rs b/crates/ruff/src/rules/flake8_bugbear/rules/unreliable_callable_check.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/unreliable_callable_check.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/unreliable_callable_check.rs diff --git a/src/rules/flake8_bugbear/rules/unused_loop_control_variable.rs b/crates/ruff/src/rules/flake8_bugbear/rules/unused_loop_control_variable.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/unused_loop_control_variable.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/unused_loop_control_variable.rs diff --git a/src/rules/flake8_bugbear/rules/useless_comparison.rs b/crates/ruff/src/rules/flake8_bugbear/rules/useless_comparison.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/useless_comparison.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/useless_comparison.rs diff --git a/src/rules/flake8_bugbear/rules/useless_contextlib_suppress.rs b/crates/ruff/src/rules/flake8_bugbear/rules/useless_contextlib_suppress.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/useless_contextlib_suppress.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/useless_contextlib_suppress.rs diff --git a/src/rules/flake8_bugbear/rules/useless_expression.rs b/crates/ruff/src/rules/flake8_bugbear/rules/useless_expression.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/useless_expression.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/useless_expression.rs diff --git a/src/rules/flake8_bugbear/rules/zip_without_explicit_strict.rs b/crates/ruff/src/rules/flake8_bugbear/rules/zip_without_explicit_strict.rs similarity index 100% rename from src/rules/flake8_bugbear/rules/zip_without_explicit_strict.rs rename to crates/ruff/src/rules/flake8_bugbear/rules/zip_without_explicit_strict.rs diff --git a/src/rules/flake8_bugbear/settings.rs b/crates/ruff/src/rules/flake8_bugbear/settings.rs similarity index 100% rename from src/rules/flake8_bugbear/settings.rs rename to crates/ruff/src/rules/flake8_bugbear/settings.rs diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B002_B002.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B002_B002.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B002_B002.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B002_B002.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B003_B003.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B003_B003.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B003_B003.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B003_B003.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B004_B004.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B004_B004.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B004_B004.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B004_B004.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B005_B005.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B005_B005.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B005_B005.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B005_B005.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B006_B006_B008.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B006_B006_B008.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B006_B006_B008.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B006_B006_B008.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B007_B007.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B007_B007.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B007_B007.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B007_B007.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B008_B006_B008.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B008_B006_B008.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B008_B006_B008.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B008_B006_B008.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B009_B009_B010.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B009_B009_B010.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B009_B009_B010.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B009_B009_B010.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B010_B009_B010.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B010_B009_B010.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B010_B009_B010.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B010_B009_B010.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B011_B011.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B011_B011.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B011_B011.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B011_B011.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B012_B012.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B012_B012.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B012_B012.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B012_B012.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B013_B013.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B013_B013.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B013_B013.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B013_B013.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B014_B014.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B014_B014.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B014_B014.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B014_B014.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B015_B015.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B015_B015.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B015_B015.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B015_B015.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B016_B016.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B016_B016.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B016_B016.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B016_B016.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B017_B017.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B017_B017.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B017_B017.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B017_B017.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B018_B018.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B018_B018.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B018_B018.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B018_B018.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B019_B019.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B019_B019.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B019_B019.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B019_B019.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B020_B020.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B020_B020.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B020_B020.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B020_B020.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B021_B021.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B021_B021.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B021_B021.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B021_B021.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B022_B022.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B022_B022.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B022_B022.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B022_B022.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B023_B023.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B023_B023.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B023_B023.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B023_B023.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B024_B024.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B024_B024.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B024_B024.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B024_B024.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B025_B025.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B025_B025.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B025_B025.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B025_B025.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B026_B026.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B026_B026.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B026_B026.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B026_B026.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B027_B027.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B027_B027.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B027_B027.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B027_B027.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B904_B904.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B904_B904.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B904_B904.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B904_B904.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B905_B905.py.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B905_B905.py.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B905_B905.py.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__B905_B905.py.snap diff --git a/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__extend_immutable_calls.snap b/crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__extend_immutable_calls.snap similarity index 100% rename from src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__extend_immutable_calls.snap rename to crates/ruff/src/rules/flake8_bugbear/snapshots/ruff__rules__flake8_bugbear__tests__extend_immutable_calls.snap diff --git a/src/rules/flake8_builtins/mod.rs b/crates/ruff/src/rules/flake8_builtins/mod.rs similarity index 100% rename from src/rules/flake8_builtins/mod.rs rename to crates/ruff/src/rules/flake8_builtins/mod.rs diff --git a/src/rules/flake8_builtins/rules.rs b/crates/ruff/src/rules/flake8_builtins/rules.rs similarity index 100% rename from src/rules/flake8_builtins/rules.rs rename to crates/ruff/src/rules/flake8_builtins/rules.rs diff --git a/src/rules/flake8_builtins/settings.rs b/crates/ruff/src/rules/flake8_builtins/settings.rs similarity index 100% rename from src/rules/flake8_builtins/settings.rs rename to crates/ruff/src/rules/flake8_builtins/settings.rs diff --git a/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A001_A001.py.snap b/crates/ruff/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A001_A001.py.snap similarity index 100% rename from src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A001_A001.py.snap rename to crates/ruff/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A001_A001.py.snap diff --git a/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A001_A001.py_builtins_ignorelist.snap b/crates/ruff/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A001_A001.py_builtins_ignorelist.snap similarity index 100% rename from src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A001_A001.py_builtins_ignorelist.snap rename to crates/ruff/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A001_A001.py_builtins_ignorelist.snap diff --git a/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A002_A002.py.snap b/crates/ruff/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A002_A002.py.snap similarity index 100% rename from src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A002_A002.py.snap rename to crates/ruff/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A002_A002.py.snap diff --git a/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A002_A002.py_builtins_ignorelist.snap b/crates/ruff/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A002_A002.py_builtins_ignorelist.snap similarity index 100% rename from src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A002_A002.py_builtins_ignorelist.snap rename to crates/ruff/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A002_A002.py_builtins_ignorelist.snap diff --git a/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A003_A003.py.snap b/crates/ruff/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A003_A003.py.snap similarity index 100% rename from src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A003_A003.py.snap rename to crates/ruff/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A003_A003.py.snap diff --git a/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A003_A003.py_builtins_ignorelist.snap b/crates/ruff/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A003_A003.py_builtins_ignorelist.snap similarity index 100% rename from src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A003_A003.py_builtins_ignorelist.snap rename to crates/ruff/src/rules/flake8_builtins/snapshots/ruff__rules__flake8_builtins__tests__A003_A003.py_builtins_ignorelist.snap diff --git a/src/rules/flake8_builtins/types.rs b/crates/ruff/src/rules/flake8_builtins/types.rs similarity index 100% rename from src/rules/flake8_builtins/types.rs rename to crates/ruff/src/rules/flake8_builtins/types.rs diff --git a/src/rules/flake8_commas/mod.rs b/crates/ruff/src/rules/flake8_commas/mod.rs similarity index 100% rename from src/rules/flake8_commas/mod.rs rename to crates/ruff/src/rules/flake8_commas/mod.rs diff --git a/src/rules/flake8_commas/rules.rs b/crates/ruff/src/rules/flake8_commas/rules.rs similarity index 100% rename from src/rules/flake8_commas/rules.rs rename to crates/ruff/src/rules/flake8_commas/rules.rs diff --git a/src/rules/flake8_commas/snapshots/ruff__rules__flake8_commas__tests__COM81.py.snap b/crates/ruff/src/rules/flake8_commas/snapshots/ruff__rules__flake8_commas__tests__COM81.py.snap similarity index 100% rename from src/rules/flake8_commas/snapshots/ruff__rules__flake8_commas__tests__COM81.py.snap rename to crates/ruff/src/rules/flake8_commas/snapshots/ruff__rules__flake8_commas__tests__COM81.py.snap diff --git a/src/rules/flake8_comprehensions/fixes.rs b/crates/ruff/src/rules/flake8_comprehensions/fixes.rs similarity index 100% rename from src/rules/flake8_comprehensions/fixes.rs rename to crates/ruff/src/rules/flake8_comprehensions/fixes.rs diff --git a/src/rules/flake8_comprehensions/mod.rs b/crates/ruff/src/rules/flake8_comprehensions/mod.rs similarity index 100% rename from src/rules/flake8_comprehensions/mod.rs rename to crates/ruff/src/rules/flake8_comprehensions/mod.rs diff --git a/src/rules/flake8_comprehensions/rules/helpers.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/helpers.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/helpers.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/helpers.rs diff --git a/src/rules/flake8_comprehensions/rules/mod.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/mod.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/mod.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/mod.rs diff --git a/src/rules/flake8_comprehensions/rules/unnecessary_call_around_sorted.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_call_around_sorted.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/unnecessary_call_around_sorted.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_call_around_sorted.rs diff --git a/src/rules/flake8_comprehensions/rules/unnecessary_collection_call.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_collection_call.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/unnecessary_collection_call.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_collection_call.rs diff --git a/src/rules/flake8_comprehensions/rules/unnecessary_comprehension.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_comprehension.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/unnecessary_comprehension.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_comprehension.rs diff --git a/src/rules/flake8_comprehensions/rules/unnecessary_double_cast_or_process.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_double_cast_or_process.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/unnecessary_double_cast_or_process.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_double_cast_or_process.rs diff --git a/src/rules/flake8_comprehensions/rules/unnecessary_generator_dict.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_dict.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/unnecessary_generator_dict.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_dict.rs diff --git a/src/rules/flake8_comprehensions/rules/unnecessary_generator_list.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_list.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/unnecessary_generator_list.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_list.rs diff --git a/src/rules/flake8_comprehensions/rules/unnecessary_generator_set.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_set.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/unnecessary_generator_set.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_set.rs diff --git a/src/rules/flake8_comprehensions/rules/unnecessary_list_call.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_call.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/unnecessary_list_call.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_call.rs diff --git a/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_dict.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_dict.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_dict.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_dict.rs diff --git a/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_set.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_set.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_set.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_set.rs diff --git a/src/rules/flake8_comprehensions/rules/unnecessary_literal_dict.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_literal_dict.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/unnecessary_literal_dict.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_literal_dict.rs diff --git a/src/rules/flake8_comprehensions/rules/unnecessary_literal_set.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_literal_set.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/unnecessary_literal_set.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_literal_set.rs diff --git a/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_list_call.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_list_call.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/unnecessary_literal_within_list_call.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_list_call.rs diff --git a/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_tuple_call.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_tuple_call.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/unnecessary_literal_within_tuple_call.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_tuple_call.rs diff --git a/src/rules/flake8_comprehensions/rules/unnecessary_map.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_map.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/unnecessary_map.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_map.rs diff --git a/src/rules/flake8_comprehensions/rules/unnecessary_subscript_reversal.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_subscript_reversal.rs similarity index 100% rename from src/rules/flake8_comprehensions/rules/unnecessary_subscript_reversal.rs rename to crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_subscript_reversal.rs diff --git a/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C400_C400.py.snap b/crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C400_C400.py.snap similarity index 100% rename from src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C400_C400.py.snap rename to crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C400_C400.py.snap diff --git a/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C401_C401.py.snap b/crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C401_C401.py.snap similarity index 100% rename from src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C401_C401.py.snap rename to crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C401_C401.py.snap diff --git a/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C402_C402.py.snap b/crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C402_C402.py.snap similarity index 100% rename from src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C402_C402.py.snap rename to crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C402_C402.py.snap diff --git a/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C403_C403.py.snap b/crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C403_C403.py.snap similarity index 100% rename from src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C403_C403.py.snap rename to crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C403_C403.py.snap diff --git a/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C404_C404.py.snap b/crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C404_C404.py.snap similarity index 100% rename from src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C404_C404.py.snap rename to crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C404_C404.py.snap diff --git a/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C405_C405.py.snap b/crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C405_C405.py.snap similarity index 100% rename from src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C405_C405.py.snap rename to crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C405_C405.py.snap diff --git a/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C406_C406.py.snap b/crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C406_C406.py.snap similarity index 100% rename from src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C406_C406.py.snap rename to crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C406_C406.py.snap diff --git a/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C408_C408.py.snap b/crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C408_C408.py.snap similarity index 100% rename from src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C408_C408.py.snap rename to crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C408_C408.py.snap diff --git a/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C409_C409.py.snap b/crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C409_C409.py.snap similarity index 100% rename from src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C409_C409.py.snap rename to crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C409_C409.py.snap diff --git a/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C410_C410.py.snap b/crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C410_C410.py.snap similarity index 100% rename from src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C410_C410.py.snap rename to crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C410_C410.py.snap diff --git a/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C411_C411.py.snap b/crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C411_C411.py.snap similarity index 100% rename from src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C411_C411.py.snap rename to crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C411_C411.py.snap diff --git a/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C413_C413.py.snap b/crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C413_C413.py.snap similarity index 100% rename from src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C413_C413.py.snap rename to crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C413_C413.py.snap diff --git a/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C414_C414.py.snap b/crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C414_C414.py.snap similarity index 100% rename from src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C414_C414.py.snap rename to crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C414_C414.py.snap diff --git a/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C415_C415.py.snap b/crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C415_C415.py.snap similarity index 100% rename from src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C415_C415.py.snap rename to crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C415_C415.py.snap diff --git a/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C416_C416.py.snap b/crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C416_C416.py.snap similarity index 100% rename from src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C416_C416.py.snap rename to crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C416_C416.py.snap diff --git a/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C417_C417.py.snap b/crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C417_C417.py.snap similarity index 100% rename from src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C417_C417.py.snap rename to crates/ruff/src/rules/flake8_comprehensions/snapshots/ruff__rules__flake8_comprehensions__tests__C417_C417.py.snap diff --git a/src/rules/flake8_datetimez/mod.rs b/crates/ruff/src/rules/flake8_datetimez/mod.rs similarity index 100% rename from src/rules/flake8_datetimez/mod.rs rename to crates/ruff/src/rules/flake8_datetimez/mod.rs diff --git a/src/rules/flake8_datetimez/rules.rs b/crates/ruff/src/rules/flake8_datetimez/rules.rs similarity index 100% rename from src/rules/flake8_datetimez/rules.rs rename to crates/ruff/src/rules/flake8_datetimez/rules.rs diff --git a/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ001_DTZ001.py.snap b/crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ001_DTZ001.py.snap similarity index 100% rename from src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ001_DTZ001.py.snap rename to crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ001_DTZ001.py.snap diff --git a/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ002_DTZ002.py.snap b/crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ002_DTZ002.py.snap similarity index 100% rename from src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ002_DTZ002.py.snap rename to crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ002_DTZ002.py.snap diff --git a/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ003_DTZ003.py.snap b/crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ003_DTZ003.py.snap similarity index 100% rename from src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ003_DTZ003.py.snap rename to crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ003_DTZ003.py.snap diff --git a/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ004_DTZ004.py.snap b/crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ004_DTZ004.py.snap similarity index 100% rename from src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ004_DTZ004.py.snap rename to crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ004_DTZ004.py.snap diff --git a/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ005_DTZ005.py.snap b/crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ005_DTZ005.py.snap similarity index 100% rename from src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ005_DTZ005.py.snap rename to crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ005_DTZ005.py.snap diff --git a/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ006_DTZ006.py.snap b/crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ006_DTZ006.py.snap similarity index 100% rename from src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ006_DTZ006.py.snap rename to crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ006_DTZ006.py.snap diff --git a/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ007_DTZ007.py.snap b/crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ007_DTZ007.py.snap similarity index 100% rename from src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ007_DTZ007.py.snap rename to crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ007_DTZ007.py.snap diff --git a/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ011_DTZ011.py.snap b/crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ011_DTZ011.py.snap similarity index 100% rename from src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ011_DTZ011.py.snap rename to crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ011_DTZ011.py.snap diff --git a/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ012_DTZ012.py.snap b/crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ012_DTZ012.py.snap similarity index 100% rename from src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ012_DTZ012.py.snap rename to crates/ruff/src/rules/flake8_datetimez/snapshots/ruff__rules__flake8_datetimez__tests__DTZ012_DTZ012.py.snap diff --git a/src/rules/flake8_debugger/mod.rs b/crates/ruff/src/rules/flake8_debugger/mod.rs similarity index 100% rename from src/rules/flake8_debugger/mod.rs rename to crates/ruff/src/rules/flake8_debugger/mod.rs diff --git a/src/rules/flake8_debugger/rules.rs b/crates/ruff/src/rules/flake8_debugger/rules.rs similarity index 100% rename from src/rules/flake8_debugger/rules.rs rename to crates/ruff/src/rules/flake8_debugger/rules.rs diff --git a/src/rules/flake8_debugger/snapshots/ruff__rules__flake8_debugger__tests__T100_T100.py.snap b/crates/ruff/src/rules/flake8_debugger/snapshots/ruff__rules__flake8_debugger__tests__T100_T100.py.snap similarity index 100% rename from src/rules/flake8_debugger/snapshots/ruff__rules__flake8_debugger__tests__T100_T100.py.snap rename to crates/ruff/src/rules/flake8_debugger/snapshots/ruff__rules__flake8_debugger__tests__T100_T100.py.snap diff --git a/src/rules/flake8_debugger/types.rs b/crates/ruff/src/rules/flake8_debugger/types.rs similarity index 100% rename from src/rules/flake8_debugger/types.rs rename to crates/ruff/src/rules/flake8_debugger/types.rs diff --git a/src/rules/flake8_errmsg/mod.rs b/crates/ruff/src/rules/flake8_errmsg/mod.rs similarity index 100% rename from src/rules/flake8_errmsg/mod.rs rename to crates/ruff/src/rules/flake8_errmsg/mod.rs diff --git a/src/rules/flake8_errmsg/rules.rs b/crates/ruff/src/rules/flake8_errmsg/rules.rs similarity index 100% rename from src/rules/flake8_errmsg/rules.rs rename to crates/ruff/src/rules/flake8_errmsg/rules.rs diff --git a/src/rules/flake8_errmsg/settings.rs b/crates/ruff/src/rules/flake8_errmsg/settings.rs similarity index 100% rename from src/rules/flake8_errmsg/settings.rs rename to crates/ruff/src/rules/flake8_errmsg/settings.rs diff --git a/src/rules/flake8_errmsg/snapshots/ruff__rules__flake8_errmsg__tests__custom.snap b/crates/ruff/src/rules/flake8_errmsg/snapshots/ruff__rules__flake8_errmsg__tests__custom.snap similarity index 100% rename from src/rules/flake8_errmsg/snapshots/ruff__rules__flake8_errmsg__tests__custom.snap rename to crates/ruff/src/rules/flake8_errmsg/snapshots/ruff__rules__flake8_errmsg__tests__custom.snap diff --git a/src/rules/flake8_errmsg/snapshots/ruff__rules__flake8_errmsg__tests__defaults.snap b/crates/ruff/src/rules/flake8_errmsg/snapshots/ruff__rules__flake8_errmsg__tests__defaults.snap similarity index 100% rename from src/rules/flake8_errmsg/snapshots/ruff__rules__flake8_errmsg__tests__defaults.snap rename to crates/ruff/src/rules/flake8_errmsg/snapshots/ruff__rules__flake8_errmsg__tests__defaults.snap diff --git a/src/rules/flake8_executable/helpers.rs b/crates/ruff/src/rules/flake8_executable/helpers.rs similarity index 100% rename from src/rules/flake8_executable/helpers.rs rename to crates/ruff/src/rules/flake8_executable/helpers.rs diff --git a/src/rules/flake8_executable/mod.rs b/crates/ruff/src/rules/flake8_executable/mod.rs similarity index 100% rename from src/rules/flake8_executable/mod.rs rename to crates/ruff/src/rules/flake8_executable/mod.rs diff --git a/src/rules/flake8_executable/rules/mod.rs b/crates/ruff/src/rules/flake8_executable/rules/mod.rs similarity index 100% rename from src/rules/flake8_executable/rules/mod.rs rename to crates/ruff/src/rules/flake8_executable/rules/mod.rs diff --git a/src/rules/flake8_executable/rules/shebang_missing.rs b/crates/ruff/src/rules/flake8_executable/rules/shebang_missing.rs similarity index 100% rename from src/rules/flake8_executable/rules/shebang_missing.rs rename to crates/ruff/src/rules/flake8_executable/rules/shebang_missing.rs diff --git a/src/rules/flake8_executable/rules/shebang_newline.rs b/crates/ruff/src/rules/flake8_executable/rules/shebang_newline.rs similarity index 100% rename from src/rules/flake8_executable/rules/shebang_newline.rs rename to crates/ruff/src/rules/flake8_executable/rules/shebang_newline.rs diff --git a/src/rules/flake8_executable/rules/shebang_not_executable.rs b/crates/ruff/src/rules/flake8_executable/rules/shebang_not_executable.rs similarity index 100% rename from src/rules/flake8_executable/rules/shebang_not_executable.rs rename to crates/ruff/src/rules/flake8_executable/rules/shebang_not_executable.rs diff --git a/src/rules/flake8_executable/rules/shebang_python.rs b/crates/ruff/src/rules/flake8_executable/rules/shebang_python.rs similarity index 100% rename from src/rules/flake8_executable/rules/shebang_python.rs rename to crates/ruff/src/rules/flake8_executable/rules/shebang_python.rs diff --git a/src/rules/flake8_executable/rules/shebang_whitespace.rs b/crates/ruff/src/rules/flake8_executable/rules/shebang_whitespace.rs similarity index 100% rename from src/rules/flake8_executable/rules/shebang_whitespace.rs rename to crates/ruff/src/rules/flake8_executable/rules/shebang_whitespace.rs diff --git a/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE001_1.py.snap b/crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE001_1.py.snap similarity index 100% rename from src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE001_1.py.snap rename to crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE001_1.py.snap diff --git a/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE001_2.py.snap b/crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE001_2.py.snap similarity index 100% rename from src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE001_2.py.snap rename to crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE001_2.py.snap diff --git a/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE001_3.py.snap b/crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE001_3.py.snap similarity index 100% rename from src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE001_3.py.snap rename to crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE001_3.py.snap diff --git a/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE002_1.py.snap b/crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE002_1.py.snap similarity index 100% rename from src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE002_1.py.snap rename to crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE002_1.py.snap diff --git a/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE002_2.py.snap b/crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE002_2.py.snap similarity index 100% rename from src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE002_2.py.snap rename to crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE002_2.py.snap diff --git a/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE002_3.py.snap b/crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE002_3.py.snap similarity index 100% rename from src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE002_3.py.snap rename to crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE002_3.py.snap diff --git a/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE003.py.snap b/crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE003.py.snap similarity index 100% rename from src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE003.py.snap rename to crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE003.py.snap diff --git a/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE004_1.py.snap b/crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE004_1.py.snap similarity index 100% rename from src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE004_1.py.snap rename to crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE004_1.py.snap diff --git a/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE004_2.py.snap b/crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE004_2.py.snap similarity index 100% rename from src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE004_2.py.snap rename to crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE004_2.py.snap diff --git a/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE004_3.py.snap b/crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE004_3.py.snap similarity index 100% rename from src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE004_3.py.snap rename to crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE004_3.py.snap diff --git a/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE005_1.py.snap b/crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE005_1.py.snap similarity index 100% rename from src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE005_1.py.snap rename to crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE005_1.py.snap diff --git a/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE005_2.py.snap b/crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE005_2.py.snap similarity index 100% rename from src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE005_2.py.snap rename to crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE005_2.py.snap diff --git a/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE005_3.py.snap b/crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE005_3.py.snap similarity index 100% rename from src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE005_3.py.snap rename to crates/ruff/src/rules/flake8_executable/snapshots/ruff__rules__flake8_executable__tests__EXE005_3.py.snap diff --git a/src/rules/flake8_implicit_str_concat/mod.rs b/crates/ruff/src/rules/flake8_implicit_str_concat/mod.rs similarity index 100% rename from src/rules/flake8_implicit_str_concat/mod.rs rename to crates/ruff/src/rules/flake8_implicit_str_concat/mod.rs diff --git a/src/rules/flake8_implicit_str_concat/rules.rs b/crates/ruff/src/rules/flake8_implicit_str_concat/rules.rs similarity index 100% rename from src/rules/flake8_implicit_str_concat/rules.rs rename to crates/ruff/src/rules/flake8_implicit_str_concat/rules.rs diff --git a/src/rules/flake8_implicit_str_concat/settings.rs b/crates/ruff/src/rules/flake8_implicit_str_concat/settings.rs similarity index 100% rename from src/rules/flake8_implicit_str_concat/settings.rs rename to crates/ruff/src/rules/flake8_implicit_str_concat/settings.rs diff --git a/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__ISC001_ISC.py.snap b/crates/ruff/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__ISC001_ISC.py.snap similarity index 100% rename from src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__ISC001_ISC.py.snap rename to crates/ruff/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__ISC001_ISC.py.snap diff --git a/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__ISC002_ISC.py.snap b/crates/ruff/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__ISC002_ISC.py.snap similarity index 100% rename from src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__ISC002_ISC.py.snap rename to crates/ruff/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__ISC002_ISC.py.snap diff --git a/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__ISC003_ISC.py.snap b/crates/ruff/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__ISC003_ISC.py.snap similarity index 100% rename from src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__ISC003_ISC.py.snap rename to crates/ruff/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__ISC003_ISC.py.snap diff --git a/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__multiline_ISC001_ISC.py.snap b/crates/ruff/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__multiline_ISC001_ISC.py.snap similarity index 100% rename from src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__multiline_ISC001_ISC.py.snap rename to crates/ruff/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__multiline_ISC001_ISC.py.snap diff --git a/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__multiline_ISC002_ISC.py.snap b/crates/ruff/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__multiline_ISC002_ISC.py.snap similarity index 100% rename from src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__multiline_ISC002_ISC.py.snap rename to crates/ruff/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__multiline_ISC002_ISC.py.snap diff --git a/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__multiline_ISC003_ISC.py.snap b/crates/ruff/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__multiline_ISC003_ISC.py.snap similarity index 100% rename from src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__multiline_ISC003_ISC.py.snap rename to crates/ruff/src/rules/flake8_implicit_str_concat/snapshots/ruff__rules__flake8_implicit_str_concat__tests__multiline_ISC003_ISC.py.snap diff --git a/src/rules/flake8_import_conventions/mod.rs b/crates/ruff/src/rules/flake8_import_conventions/mod.rs similarity index 100% rename from src/rules/flake8_import_conventions/mod.rs rename to crates/ruff/src/rules/flake8_import_conventions/mod.rs diff --git a/src/rules/flake8_import_conventions/rules.rs b/crates/ruff/src/rules/flake8_import_conventions/rules.rs similarity index 100% rename from src/rules/flake8_import_conventions/rules.rs rename to crates/ruff/src/rules/flake8_import_conventions/rules.rs diff --git a/src/rules/flake8_import_conventions/settings.rs b/crates/ruff/src/rules/flake8_import_conventions/settings.rs similarity index 100% rename from src/rules/flake8_import_conventions/settings.rs rename to crates/ruff/src/rules/flake8_import_conventions/settings.rs diff --git a/src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__custom.snap b/crates/ruff/src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__custom.snap similarity index 100% rename from src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__custom.snap rename to crates/ruff/src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__custom.snap diff --git a/src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__defaults.snap b/crates/ruff/src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__defaults.snap similarity index 100% rename from src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__defaults.snap rename to crates/ruff/src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__defaults.snap diff --git a/src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__from_imports.snap b/crates/ruff/src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__from_imports.snap similarity index 100% rename from src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__from_imports.snap rename to crates/ruff/src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__from_imports.snap diff --git a/src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__override_default.snap b/crates/ruff/src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__override_default.snap similarity index 100% rename from src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__override_default.snap rename to crates/ruff/src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__override_default.snap diff --git a/src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__remove_default.snap b/crates/ruff/src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__remove_default.snap similarity index 100% rename from src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__remove_default.snap rename to crates/ruff/src/rules/flake8_import_conventions/snapshots/ruff__rules__flake8_import_conventions__tests__remove_default.snap diff --git a/src/rules/flake8_logging_format/mod.rs b/crates/ruff/src/rules/flake8_logging_format/mod.rs similarity index 100% rename from src/rules/flake8_logging_format/mod.rs rename to crates/ruff/src/rules/flake8_logging_format/mod.rs diff --git a/src/rules/flake8_logging_format/rules.rs b/crates/ruff/src/rules/flake8_logging_format/rules.rs similarity index 100% rename from src/rules/flake8_logging_format/rules.rs rename to crates/ruff/src/rules/flake8_logging_format/rules.rs diff --git a/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G001.py.snap b/crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G001.py.snap similarity index 100% rename from src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G001.py.snap rename to crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G001.py.snap diff --git a/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G002.py.snap b/crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G002.py.snap similarity index 100% rename from src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G002.py.snap rename to crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G002.py.snap diff --git a/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G003.py.snap b/crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G003.py.snap similarity index 100% rename from src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G003.py.snap rename to crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G003.py.snap diff --git a/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G004.py.snap b/crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G004.py.snap similarity index 100% rename from src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G004.py.snap rename to crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G004.py.snap diff --git a/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G010.py.snap b/crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G010.py.snap similarity index 100% rename from src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G010.py.snap rename to crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G010.py.snap diff --git a/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G101_1.py.snap b/crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G101_1.py.snap similarity index 100% rename from src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G101_1.py.snap rename to crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G101_1.py.snap diff --git a/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G101_2.py.snap b/crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G101_2.py.snap similarity index 100% rename from src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G101_2.py.snap rename to crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G101_2.py.snap diff --git a/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G201.py.snap b/crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G201.py.snap similarity index 100% rename from src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G201.py.snap rename to crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G201.py.snap diff --git a/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G202.py.snap b/crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G202.py.snap similarity index 100% rename from src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G202.py.snap rename to crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G202.py.snap diff --git a/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_argparse_parser_error_ok.py.snap b/crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_argparse_parser_error_ok.py.snap similarity index 100% rename from src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_argparse_parser_error_ok.py.snap rename to crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_argparse_parser_error_ok.py.snap diff --git a/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_extra_ok.py.snap b/crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_extra_ok.py.snap similarity index 100% rename from src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_extra_ok.py.snap rename to crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_extra_ok.py.snap diff --git a/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_extra_str_format_ok.py.snap b/crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_extra_str_format_ok.py.snap similarity index 100% rename from src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_extra_str_format_ok.py.snap rename to crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_extra_str_format_ok.py.snap diff --git a/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_simple_ok.py.snap b/crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_simple_ok.py.snap similarity index 100% rename from src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_simple_ok.py.snap rename to crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_simple_ok.py.snap diff --git a/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_warnings_ok.py.snap b/crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_warnings_ok.py.snap similarity index 100% rename from src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_warnings_ok.py.snap rename to crates/ruff/src/rules/flake8_logging_format/snapshots/ruff__rules__flake8_logging_format__tests__G_warnings_ok.py.snap diff --git a/src/rules/flake8_logging_format/violations.rs b/crates/ruff/src/rules/flake8_logging_format/violations.rs similarity index 100% rename from src/rules/flake8_logging_format/violations.rs rename to crates/ruff/src/rules/flake8_logging_format/violations.rs diff --git a/src/rules/flake8_no_pep420/mod.rs b/crates/ruff/src/rules/flake8_no_pep420/mod.rs similarity index 100% rename from src/rules/flake8_no_pep420/mod.rs rename to crates/ruff/src/rules/flake8_no_pep420/mod.rs diff --git a/src/rules/flake8_no_pep420/rules.rs b/crates/ruff/src/rules/flake8_no_pep420/rules.rs similarity index 100% rename from src/rules/flake8_no_pep420/rules.rs rename to crates/ruff/src/rules/flake8_no_pep420/rules.rs diff --git a/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_empty.snap b/crates/ruff/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_empty.snap similarity index 81% rename from src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_empty.snap rename to crates/ruff/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_empty.snap index 3e45d9cd19..3014b3b07d 100644 --- a/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_empty.snap +++ b/crates/ruff/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_empty.snap @@ -1,5 +1,5 @@ --- -source: src/rules/flake8_no_pep420/mod.rs +source: crates/ruff/src/rules/flake8_no_pep420/mod.rs expression: diagnostics --- - kind: diff --git a/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_nonempty.snap b/crates/ruff/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_nonempty.snap similarity index 81% rename from src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_nonempty.snap rename to crates/ruff/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_nonempty.snap index 9f08942058..2a18c0978c 100644 --- a/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_nonempty.snap +++ b/crates/ruff/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_nonempty.snap @@ -1,5 +1,5 @@ --- -source: src/rules/flake8_no_pep420/mod.rs +source: crates/ruff/src/rules/flake8_no_pep420/mod.rs expression: diagnostics --- - kind: diff --git a/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_shebang.snap b/crates/ruff/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_shebang.snap similarity index 81% rename from src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_shebang.snap rename to crates/ruff/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_shebang.snap index c00c75380b..3f911eac83 100644 --- a/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_shebang.snap +++ b/crates/ruff/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_fail_shebang.snap @@ -1,5 +1,5 @@ --- -source: src/rules/flake8_no_pep420/mod.rs +source: crates/ruff/src/rules/flake8_no_pep420/mod.rs expression: diagnostics --- - kind: diff --git a/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_ignored.snap b/crates/ruff/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_ignored.snap similarity index 100% rename from src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_ignored.snap rename to crates/ruff/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_ignored.snap diff --git a/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_pass_init.snap b/crates/ruff/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_pass_init.snap similarity index 100% rename from src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_pass_init.snap rename to crates/ruff/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_pass_init.snap diff --git a/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_pass_namespace_package.snap b/crates/ruff/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_pass_namespace_package.snap similarity index 100% rename from src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_pass_namespace_package.snap rename to crates/ruff/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_pass_namespace_package.snap diff --git a/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_pass_pyi.snap b/crates/ruff/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_pass_pyi.snap similarity index 100% rename from src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_pass_pyi.snap rename to crates/ruff/src/rules/flake8_no_pep420/snapshots/ruff__rules__flake8_no_pep420__tests__test_pass_pyi.snap diff --git a/src/rules/flake8_pie/mod.rs b/crates/ruff/src/rules/flake8_pie/mod.rs similarity index 100% rename from src/rules/flake8_pie/mod.rs rename to crates/ruff/src/rules/flake8_pie/mod.rs diff --git a/src/rules/flake8_pie/rules.rs b/crates/ruff/src/rules/flake8_pie/rules.rs similarity index 100% rename from src/rules/flake8_pie/rules.rs rename to crates/ruff/src/rules/flake8_pie/rules.rs diff --git a/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE790_PIE790.py.snap b/crates/ruff/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE790_PIE790.py.snap similarity index 100% rename from src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE790_PIE790.py.snap rename to crates/ruff/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE790_PIE790.py.snap diff --git a/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE794_PIE794.py.snap b/crates/ruff/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE794_PIE794.py.snap similarity index 100% rename from src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE794_PIE794.py.snap rename to crates/ruff/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE794_PIE794.py.snap diff --git a/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE796_PIE796.py.snap b/crates/ruff/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE796_PIE796.py.snap similarity index 100% rename from src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE796_PIE796.py.snap rename to crates/ruff/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE796_PIE796.py.snap diff --git a/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE800_PIE800.py.snap b/crates/ruff/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE800_PIE800.py.snap similarity index 100% rename from src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE800_PIE800.py.snap rename to crates/ruff/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE800_PIE800.py.snap diff --git a/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE804_PIE804.py.snap b/crates/ruff/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE804_PIE804.py.snap similarity index 100% rename from src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE804_PIE804.py.snap rename to crates/ruff/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE804_PIE804.py.snap diff --git a/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE807_PIE807.py.snap b/crates/ruff/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE807_PIE807.py.snap similarity index 100% rename from src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE807_PIE807.py.snap rename to crates/ruff/src/rules/flake8_pie/snapshots/ruff__rules__flake8_pie__tests__PIE807_PIE807.py.snap diff --git a/src/rules/flake8_print/mod.rs b/crates/ruff/src/rules/flake8_print/mod.rs similarity index 100% rename from src/rules/flake8_print/mod.rs rename to crates/ruff/src/rules/flake8_print/mod.rs diff --git a/src/rules/flake8_print/rules/mod.rs b/crates/ruff/src/rules/flake8_print/rules/mod.rs similarity index 100% rename from src/rules/flake8_print/rules/mod.rs rename to crates/ruff/src/rules/flake8_print/rules/mod.rs diff --git a/src/rules/flake8_print/rules/print_call.rs b/crates/ruff/src/rules/flake8_print/rules/print_call.rs similarity index 100% rename from src/rules/flake8_print/rules/print_call.rs rename to crates/ruff/src/rules/flake8_print/rules/print_call.rs diff --git a/src/rules/flake8_print/snapshots/ruff__rules__flake8_print__tests__T201_T201.py.snap b/crates/ruff/src/rules/flake8_print/snapshots/ruff__rules__flake8_print__tests__T201_T201.py.snap similarity index 100% rename from src/rules/flake8_print/snapshots/ruff__rules__flake8_print__tests__T201_T201.py.snap rename to crates/ruff/src/rules/flake8_print/snapshots/ruff__rules__flake8_print__tests__T201_T201.py.snap diff --git a/src/rules/flake8_print/snapshots/ruff__rules__flake8_print__tests__T203_T203.py.snap b/crates/ruff/src/rules/flake8_print/snapshots/ruff__rules__flake8_print__tests__T203_T203.py.snap similarity index 100% rename from src/rules/flake8_print/snapshots/ruff__rules__flake8_print__tests__T203_T203.py.snap rename to crates/ruff/src/rules/flake8_print/snapshots/ruff__rules__flake8_print__tests__T203_T203.py.snap diff --git a/src/rules/flake8_pytest_style/mod.rs b/crates/ruff/src/rules/flake8_pytest_style/mod.rs similarity index 100% rename from src/rules/flake8_pytest_style/mod.rs rename to crates/ruff/src/rules/flake8_pytest_style/mod.rs diff --git a/src/rules/flake8_pytest_style/rules/assertion.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/assertion.rs similarity index 100% rename from src/rules/flake8_pytest_style/rules/assertion.rs rename to crates/ruff/src/rules/flake8_pytest_style/rules/assertion.rs diff --git a/src/rules/flake8_pytest_style/rules/fail.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/fail.rs similarity index 100% rename from src/rules/flake8_pytest_style/rules/fail.rs rename to crates/ruff/src/rules/flake8_pytest_style/rules/fail.rs diff --git a/src/rules/flake8_pytest_style/rules/fixture.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/fixture.rs similarity index 100% rename from src/rules/flake8_pytest_style/rules/fixture.rs rename to crates/ruff/src/rules/flake8_pytest_style/rules/fixture.rs diff --git a/src/rules/flake8_pytest_style/rules/helpers.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/helpers.rs similarity index 100% rename from src/rules/flake8_pytest_style/rules/helpers.rs rename to crates/ruff/src/rules/flake8_pytest_style/rules/helpers.rs diff --git a/src/rules/flake8_pytest_style/rules/imports.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/imports.rs similarity index 100% rename from src/rules/flake8_pytest_style/rules/imports.rs rename to crates/ruff/src/rules/flake8_pytest_style/rules/imports.rs diff --git a/src/rules/flake8_pytest_style/rules/marks.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/marks.rs similarity index 100% rename from src/rules/flake8_pytest_style/rules/marks.rs rename to crates/ruff/src/rules/flake8_pytest_style/rules/marks.rs diff --git a/src/rules/flake8_pytest_style/rules/mod.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/mod.rs similarity index 100% rename from src/rules/flake8_pytest_style/rules/mod.rs rename to crates/ruff/src/rules/flake8_pytest_style/rules/mod.rs diff --git a/src/rules/flake8_pytest_style/rules/parametrize.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/parametrize.rs similarity index 100% rename from src/rules/flake8_pytest_style/rules/parametrize.rs rename to crates/ruff/src/rules/flake8_pytest_style/rules/parametrize.rs diff --git a/src/rules/flake8_pytest_style/rules/patch.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/patch.rs similarity index 100% rename from src/rules/flake8_pytest_style/rules/patch.rs rename to crates/ruff/src/rules/flake8_pytest_style/rules/patch.rs diff --git a/src/rules/flake8_pytest_style/rules/raises.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/raises.rs similarity index 100% rename from src/rules/flake8_pytest_style/rules/raises.rs rename to crates/ruff/src/rules/flake8_pytest_style/rules/raises.rs diff --git a/src/rules/flake8_pytest_style/rules/unittest_assert.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/unittest_assert.rs similarity index 100% rename from src/rules/flake8_pytest_style/rules/unittest_assert.rs rename to crates/ruff/src/rules/flake8_pytest_style/rules/unittest_assert.rs diff --git a/src/rules/flake8_pytest_style/settings.rs b/crates/ruff/src/rules/flake8_pytest_style/settings.rs similarity index 100% rename from src/rules/flake8_pytest_style/settings.rs rename to crates/ruff/src/rules/flake8_pytest_style/settings.rs diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT001_default.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT001_default.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT001_default.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT001_default.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT001_no_parentheses.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT001_no_parentheses.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT001_no_parentheses.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT001_no_parentheses.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT002.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT002.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT002.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT002.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT003.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT003.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT003.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT003.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT004.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT004.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT004.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT004.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT005.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT005.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT005.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT005.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT006_csv.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT006_csv.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT006_csv.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT006_csv.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT006_default.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT006_default.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT006_default.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT006_default.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT006_list.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT006_list.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT006_list.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT006_list.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_list_of_lists.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_list_of_lists.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_list_of_lists.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_list_of_lists.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_list_of_tuples.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_list_of_tuples.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_list_of_tuples.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_list_of_tuples.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_tuple_of_lists.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_tuple_of_lists.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_tuple_of_lists.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_tuple_of_lists.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_tuple_of_tuples.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_tuple_of_tuples.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_tuple_of_tuples.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT007_tuple_of_tuples.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT008.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT008.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT008.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT008.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT009.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT009.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT009.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT009.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT010.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT010.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT010.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT010.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT011_default.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT011_default.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT011_default.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT011_default.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT011_extend_broad_exceptions.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT011_extend_broad_exceptions.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT011_extend_broad_exceptions.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT011_extend_broad_exceptions.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT011_replace_broad_exceptions.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT011_replace_broad_exceptions.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT011_replace_broad_exceptions.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT011_replace_broad_exceptions.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT012.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT012.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT012.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT012.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT013.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT013.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT013.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT013.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT015.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT015.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT015.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT015.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT016.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT016.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT016.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT016.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT017.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT017.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT017.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT017.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT018.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT018.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT018.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT018.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT019.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT019.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT019.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT019.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT020.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT020.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT020.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT020.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT021.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT021.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT021.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT021.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT022.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT022.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT022.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT022.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT023_default.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT023_default.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT023_default.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT023_default.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT023_no_parentheses.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT023_no_parentheses.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT023_no_parentheses.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT023_no_parentheses.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT024.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT024.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT024.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT024.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT025.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT025.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT025.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT025.snap diff --git a/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT026.snap b/crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT026.snap similarity index 100% rename from src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT026.snap rename to crates/ruff/src/rules/flake8_pytest_style/snapshots/ruff__rules__flake8_pytest_style__tests__PT026.snap diff --git a/src/rules/flake8_pytest_style/types.rs b/crates/ruff/src/rules/flake8_pytest_style/types.rs similarity index 100% rename from src/rules/flake8_pytest_style/types.rs rename to crates/ruff/src/rules/flake8_pytest_style/types.rs diff --git a/src/rules/flake8_quotes/mod.rs b/crates/ruff/src/rules/flake8_quotes/mod.rs similarity index 100% rename from src/rules/flake8_quotes/mod.rs rename to crates/ruff/src/rules/flake8_quotes/mod.rs diff --git a/src/rules/flake8_quotes/rules.rs b/crates/ruff/src/rules/flake8_quotes/rules.rs similarity index 100% rename from src/rules/flake8_quotes/rules.rs rename to crates/ruff/src/rules/flake8_quotes/rules.rs diff --git a/src/rules/flake8_quotes/settings.rs b/crates/ruff/src/rules/flake8_quotes/settings.rs similarity index 100% rename from src/rules/flake8_quotes/settings.rs rename to crates/ruff/src/rules/flake8_quotes/settings.rs diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_class.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_class.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_class.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_class.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_function.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_function.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_function.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_function.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_module_multiline.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_module_multiline.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_module_multiline.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_module_multiline.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_module_singleline.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_module_singleline.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_module_singleline.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_doubles_module_singleline.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_class.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_class.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_class.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_class.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_function.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_function.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_function.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_function.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_module_multiline.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_module_multiline.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_module_multiline.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_module_multiline.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_module_singleline.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_module_singleline.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_module_singleline.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_doubles_over_docstring_singles_module_singleline.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_class.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_class.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_class.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_class.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_function.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_function.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_function.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_function.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_module_multiline.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_module_multiline.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_module_multiline.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_module_multiline.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_module_singleline.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_module_singleline.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_module_singleline.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_doubles_module_singleline.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_class.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_class.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_class.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_class.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_function.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_function.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_function.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_function.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_module_multiline.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_module_multiline.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_module_multiline.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_module_multiline.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_module_singleline.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_module_singleline.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_module_singleline.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_docstring_singles_over_docstring_singles_module_singleline.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_escaped.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_escaped.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_escaped.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_escaped.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_implicit.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_implicit.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_implicit.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_implicit.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_multiline_string.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_multiline_string.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_multiline_string.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_multiline_string.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_noqa.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_noqa.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_noqa.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_noqa.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_wrapped.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_wrapped.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_wrapped.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_doubles_over_singles_wrapped.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_escaped.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_escaped.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_escaped.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_escaped.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_implicit.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_implicit.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_implicit.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_implicit.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_multiline_string.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_multiline_string.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_multiline_string.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_multiline_string.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_noqa.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_noqa.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_noqa.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_noqa.py.snap diff --git a/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_wrapped.py.snap b/crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_wrapped.py.snap similarity index 100% rename from src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_wrapped.py.snap rename to crates/ruff/src/rules/flake8_quotes/snapshots/ruff__rules__flake8_quotes__tests__require_singles_over_doubles_wrapped.py.snap diff --git a/src/rules/flake8_raise/mod.rs b/crates/ruff/src/rules/flake8_raise/mod.rs similarity index 100% rename from src/rules/flake8_raise/mod.rs rename to crates/ruff/src/rules/flake8_raise/mod.rs diff --git a/src/rules/flake8_raise/rules/mod.rs b/crates/ruff/src/rules/flake8_raise/rules/mod.rs similarity index 100% rename from src/rules/flake8_raise/rules/mod.rs rename to crates/ruff/src/rules/flake8_raise/rules/mod.rs diff --git a/src/rules/flake8_raise/rules/unnecessary_paren_on_raise_exception.rs b/crates/ruff/src/rules/flake8_raise/rules/unnecessary_paren_on_raise_exception.rs similarity index 100% rename from src/rules/flake8_raise/rules/unnecessary_paren_on_raise_exception.rs rename to crates/ruff/src/rules/flake8_raise/rules/unnecessary_paren_on_raise_exception.rs diff --git a/src/rules/flake8_raise/snapshots/ruff__rules__flake8_raise__tests__unnecessary-paren-on-raise-exception_RSE102.py.snap b/crates/ruff/src/rules/flake8_raise/snapshots/ruff__rules__flake8_raise__tests__unnecessary-paren-on-raise-exception_RSE102.py.snap similarity index 100% rename from src/rules/flake8_raise/snapshots/ruff__rules__flake8_raise__tests__unnecessary-paren-on-raise-exception_RSE102.py.snap rename to crates/ruff/src/rules/flake8_raise/snapshots/ruff__rules__flake8_raise__tests__unnecessary-paren-on-raise-exception_RSE102.py.snap diff --git a/src/rules/flake8_return/branch.rs b/crates/ruff/src/rules/flake8_return/branch.rs similarity index 100% rename from src/rules/flake8_return/branch.rs rename to crates/ruff/src/rules/flake8_return/branch.rs diff --git a/src/rules/flake8_return/helpers.rs b/crates/ruff/src/rules/flake8_return/helpers.rs similarity index 100% rename from src/rules/flake8_return/helpers.rs rename to crates/ruff/src/rules/flake8_return/helpers.rs diff --git a/src/rules/flake8_return/mod.rs b/crates/ruff/src/rules/flake8_return/mod.rs similarity index 100% rename from src/rules/flake8_return/mod.rs rename to crates/ruff/src/rules/flake8_return/mod.rs diff --git a/src/rules/flake8_return/rules.rs b/crates/ruff/src/rules/flake8_return/rules.rs similarity index 100% rename from src/rules/flake8_return/rules.rs rename to crates/ruff/src/rules/flake8_return/rules.rs diff --git a/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET501_RET501.py.snap b/crates/ruff/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET501_RET501.py.snap similarity index 100% rename from src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET501_RET501.py.snap rename to crates/ruff/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET501_RET501.py.snap diff --git a/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET502_RET502.py.snap b/crates/ruff/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET502_RET502.py.snap similarity index 100% rename from src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET502_RET502.py.snap rename to crates/ruff/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET502_RET502.py.snap diff --git a/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET503_RET503.py.snap b/crates/ruff/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET503_RET503.py.snap similarity index 100% rename from src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET503_RET503.py.snap rename to crates/ruff/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET503_RET503.py.snap diff --git a/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET504_RET504.py.snap b/crates/ruff/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET504_RET504.py.snap similarity index 100% rename from src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET504_RET504.py.snap rename to crates/ruff/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET504_RET504.py.snap diff --git a/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET505_RET505.py.snap b/crates/ruff/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET505_RET505.py.snap similarity index 100% rename from src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET505_RET505.py.snap rename to crates/ruff/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET505_RET505.py.snap diff --git a/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET506_RET506.py.snap b/crates/ruff/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET506_RET506.py.snap similarity index 100% rename from src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET506_RET506.py.snap rename to crates/ruff/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET506_RET506.py.snap diff --git a/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET507_RET507.py.snap b/crates/ruff/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET507_RET507.py.snap similarity index 100% rename from src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET507_RET507.py.snap rename to crates/ruff/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET507_RET507.py.snap diff --git a/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET508_RET508.py.snap b/crates/ruff/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET508_RET508.py.snap similarity index 100% rename from src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET508_RET508.py.snap rename to crates/ruff/src/rules/flake8_return/snapshots/ruff__rules__flake8_return__tests__RET508_RET508.py.snap diff --git a/src/rules/flake8_return/visitor.rs b/crates/ruff/src/rules/flake8_return/visitor.rs similarity index 100% rename from src/rules/flake8_return/visitor.rs rename to crates/ruff/src/rules/flake8_return/visitor.rs diff --git a/src/rules/flake8_self/mod.rs b/crates/ruff/src/rules/flake8_self/mod.rs similarity index 100% rename from src/rules/flake8_self/mod.rs rename to crates/ruff/src/rules/flake8_self/mod.rs diff --git a/src/rules/flake8_self/rules/mod.rs b/crates/ruff/src/rules/flake8_self/rules/mod.rs similarity index 100% rename from src/rules/flake8_self/rules/mod.rs rename to crates/ruff/src/rules/flake8_self/rules/mod.rs diff --git a/src/rules/flake8_self/rules/private_member_access.rs b/crates/ruff/src/rules/flake8_self/rules/private_member_access.rs similarity index 100% rename from src/rules/flake8_self/rules/private_member_access.rs rename to crates/ruff/src/rules/flake8_self/rules/private_member_access.rs diff --git a/src/rules/flake8_self/snapshots/ruff__rules__flake8_self__tests__private-member-access_SLF001.py.snap b/crates/ruff/src/rules/flake8_self/snapshots/ruff__rules__flake8_self__tests__private-member-access_SLF001.py.snap similarity index 100% rename from src/rules/flake8_self/snapshots/ruff__rules__flake8_self__tests__private-member-access_SLF001.py.snap rename to crates/ruff/src/rules/flake8_self/snapshots/ruff__rules__flake8_self__tests__private-member-access_SLF001.py.snap diff --git a/src/rules/flake8_simplify/mod.rs b/crates/ruff/src/rules/flake8_simplify/mod.rs similarity index 100% rename from src/rules/flake8_simplify/mod.rs rename to crates/ruff/src/rules/flake8_simplify/mod.rs diff --git a/src/rules/flake8_simplify/rules/ast_bool_op.rs b/crates/ruff/src/rules/flake8_simplify/rules/ast_bool_op.rs similarity index 100% rename from src/rules/flake8_simplify/rules/ast_bool_op.rs rename to crates/ruff/src/rules/flake8_simplify/rules/ast_bool_op.rs diff --git a/src/rules/flake8_simplify/rules/ast_expr.rs b/crates/ruff/src/rules/flake8_simplify/rules/ast_expr.rs similarity index 100% rename from src/rules/flake8_simplify/rules/ast_expr.rs rename to crates/ruff/src/rules/flake8_simplify/rules/ast_expr.rs diff --git a/src/rules/flake8_simplify/rules/ast_for.rs b/crates/ruff/src/rules/flake8_simplify/rules/ast_for.rs similarity index 100% rename from src/rules/flake8_simplify/rules/ast_for.rs rename to crates/ruff/src/rules/flake8_simplify/rules/ast_for.rs diff --git a/src/rules/flake8_simplify/rules/ast_if.rs b/crates/ruff/src/rules/flake8_simplify/rules/ast_if.rs similarity index 100% rename from src/rules/flake8_simplify/rules/ast_if.rs rename to crates/ruff/src/rules/flake8_simplify/rules/ast_if.rs diff --git a/src/rules/flake8_simplify/rules/ast_ifexp.rs b/crates/ruff/src/rules/flake8_simplify/rules/ast_ifexp.rs similarity index 100% rename from src/rules/flake8_simplify/rules/ast_ifexp.rs rename to crates/ruff/src/rules/flake8_simplify/rules/ast_ifexp.rs diff --git a/src/rules/flake8_simplify/rules/ast_unary_op.rs b/crates/ruff/src/rules/flake8_simplify/rules/ast_unary_op.rs similarity index 100% rename from src/rules/flake8_simplify/rules/ast_unary_op.rs rename to crates/ruff/src/rules/flake8_simplify/rules/ast_unary_op.rs diff --git a/src/rules/flake8_simplify/rules/ast_with.rs b/crates/ruff/src/rules/flake8_simplify/rules/ast_with.rs similarity index 100% rename from src/rules/flake8_simplify/rules/ast_with.rs rename to crates/ruff/src/rules/flake8_simplify/rules/ast_with.rs diff --git a/src/rules/flake8_simplify/rules/fix_if.rs b/crates/ruff/src/rules/flake8_simplify/rules/fix_if.rs similarity index 100% rename from src/rules/flake8_simplify/rules/fix_if.rs rename to crates/ruff/src/rules/flake8_simplify/rules/fix_if.rs diff --git a/src/rules/flake8_simplify/rules/fix_with.rs b/crates/ruff/src/rules/flake8_simplify/rules/fix_with.rs similarity index 100% rename from src/rules/flake8_simplify/rules/fix_with.rs rename to crates/ruff/src/rules/flake8_simplify/rules/fix_with.rs diff --git a/src/rules/flake8_simplify/rules/key_in_dict.rs b/crates/ruff/src/rules/flake8_simplify/rules/key_in_dict.rs similarity index 100% rename from src/rules/flake8_simplify/rules/key_in_dict.rs rename to crates/ruff/src/rules/flake8_simplify/rules/key_in_dict.rs diff --git a/src/rules/flake8_simplify/rules/mod.rs b/crates/ruff/src/rules/flake8_simplify/rules/mod.rs similarity index 100% rename from src/rules/flake8_simplify/rules/mod.rs rename to crates/ruff/src/rules/flake8_simplify/rules/mod.rs diff --git a/src/rules/flake8_simplify/rules/open_file_with_context_handler.rs b/crates/ruff/src/rules/flake8_simplify/rules/open_file_with_context_handler.rs similarity index 100% rename from src/rules/flake8_simplify/rules/open_file_with_context_handler.rs rename to crates/ruff/src/rules/flake8_simplify/rules/open_file_with_context_handler.rs diff --git a/src/rules/flake8_simplify/rules/return_in_try_except_finally.rs b/crates/ruff/src/rules/flake8_simplify/rules/return_in_try_except_finally.rs similarity index 100% rename from src/rules/flake8_simplify/rules/return_in_try_except_finally.rs rename to crates/ruff/src/rules/flake8_simplify/rules/return_in_try_except_finally.rs diff --git a/src/rules/flake8_simplify/rules/use_contextlib_suppress.rs b/crates/ruff/src/rules/flake8_simplify/rules/use_contextlib_suppress.rs similarity index 100% rename from src/rules/flake8_simplify/rules/use_contextlib_suppress.rs rename to crates/ruff/src/rules/flake8_simplify/rules/use_contextlib_suppress.rs diff --git a/src/rules/flake8_simplify/rules/yoda_conditions.rs b/crates/ruff/src/rules/flake8_simplify/rules/yoda_conditions.rs similarity index 100% rename from src/rules/flake8_simplify/rules/yoda_conditions.rs rename to crates/ruff/src/rules/flake8_simplify/rules/yoda_conditions.rs diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM101_SIM101.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM101_SIM101.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM101_SIM101.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM101_SIM101.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM102_SIM102.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM102_SIM102.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM102_SIM102.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM102_SIM102.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM103_SIM103.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM103_SIM103.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM103_SIM103.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM103_SIM103.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM105_SIM105.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM105_SIM105.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM105_SIM105.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM105_SIM105.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM107_SIM107.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM107_SIM107.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM107_SIM107.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM107_SIM107.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM108_SIM108.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM108_SIM108.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM108_SIM108.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM108_SIM108.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM109_SIM109.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM109_SIM109.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM109_SIM109.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM109_SIM109.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM110_SIM110.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM110_SIM110.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM110_SIM110.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM110_SIM110.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM111_SIM111.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM111_SIM111.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM111_SIM111.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM111_SIM111.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM112_SIM112.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM112_SIM112.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM112_SIM112.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM112_SIM112.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM115_SIM115.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM115_SIM115.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM115_SIM115.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM115_SIM115.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM117_SIM117.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM117_SIM117.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM117_SIM117.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM117_SIM117.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM118_SIM118.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM118_SIM118.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM118_SIM118.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM118_SIM118.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM201_SIM201.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM201_SIM201.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM201_SIM201.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM201_SIM201.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM202_SIM202.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM202_SIM202.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM202_SIM202.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM202_SIM202.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM208_SIM208.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM208_SIM208.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM208_SIM208.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM208_SIM208.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM210_SIM210.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM210_SIM210.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM210_SIM210.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM210_SIM210.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM211_SIM211.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM211_SIM211.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM211_SIM211.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM211_SIM211.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM212_SIM212.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM212_SIM212.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM212_SIM212.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM212_SIM212.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM220_SIM220.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM220_SIM220.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM220_SIM220.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM220_SIM220.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM221_SIM221.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM221_SIM221.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM221_SIM221.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM221_SIM221.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM222_SIM222.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM222_SIM222.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM222_SIM222.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM222_SIM222.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM223_SIM223.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM223_SIM223.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM223_SIM223.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM223_SIM223.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM300_SIM300.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM300_SIM300.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM300_SIM300.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM300_SIM300.py.snap diff --git a/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM401_SIM401.py.snap b/crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM401_SIM401.py.snap similarity index 100% rename from src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM401_SIM401.py.snap rename to crates/ruff/src/rules/flake8_simplify/snapshots/ruff__rules__flake8_simplify__tests__SIM401_SIM401.py.snap diff --git a/src/rules/flake8_tidy_imports/banned_api.rs b/crates/ruff/src/rules/flake8_tidy_imports/banned_api.rs similarity index 100% rename from src/rules/flake8_tidy_imports/banned_api.rs rename to crates/ruff/src/rules/flake8_tidy_imports/banned_api.rs diff --git a/src/rules/flake8_tidy_imports/mod.rs b/crates/ruff/src/rules/flake8_tidy_imports/mod.rs similarity index 100% rename from src/rules/flake8_tidy_imports/mod.rs rename to crates/ruff/src/rules/flake8_tidy_imports/mod.rs diff --git a/src/rules/flake8_tidy_imports/options.rs b/crates/ruff/src/rules/flake8_tidy_imports/options.rs similarity index 100% rename from src/rules/flake8_tidy_imports/options.rs rename to crates/ruff/src/rules/flake8_tidy_imports/options.rs diff --git a/src/rules/flake8_tidy_imports/relative_imports.rs b/crates/ruff/src/rules/flake8_tidy_imports/relative_imports.rs similarity index 100% rename from src/rules/flake8_tidy_imports/relative_imports.rs rename to crates/ruff/src/rules/flake8_tidy_imports/relative_imports.rs diff --git a/src/rules/flake8_tidy_imports/snapshots/ruff__rules__flake8_tidy_imports__banned_api__tests__banned_api_true_positives.snap b/crates/ruff/src/rules/flake8_tidy_imports/snapshots/ruff__rules__flake8_tidy_imports__banned_api__tests__banned_api_true_positives.snap similarity index 100% rename from src/rules/flake8_tidy_imports/snapshots/ruff__rules__flake8_tidy_imports__banned_api__tests__banned_api_true_positives.snap rename to crates/ruff/src/rules/flake8_tidy_imports/snapshots/ruff__rules__flake8_tidy_imports__banned_api__tests__banned_api_true_positives.snap diff --git a/src/rules/flake8_tidy_imports/snapshots/ruff__rules__flake8_tidy_imports__relative_imports__tests__ban_all_imports.snap b/crates/ruff/src/rules/flake8_tidy_imports/snapshots/ruff__rules__flake8_tidy_imports__relative_imports__tests__ban_all_imports.snap similarity index 100% rename from src/rules/flake8_tidy_imports/snapshots/ruff__rules__flake8_tidy_imports__relative_imports__tests__ban_all_imports.snap rename to crates/ruff/src/rules/flake8_tidy_imports/snapshots/ruff__rules__flake8_tidy_imports__relative_imports__tests__ban_all_imports.snap diff --git a/src/rules/flake8_tidy_imports/snapshots/ruff__rules__flake8_tidy_imports__relative_imports__tests__ban_parent_imports.snap b/crates/ruff/src/rules/flake8_tidy_imports/snapshots/ruff__rules__flake8_tidy_imports__relative_imports__tests__ban_parent_imports.snap similarity index 100% rename from src/rules/flake8_tidy_imports/snapshots/ruff__rules__flake8_tidy_imports__relative_imports__tests__ban_parent_imports.snap rename to crates/ruff/src/rules/flake8_tidy_imports/snapshots/ruff__rules__flake8_tidy_imports__relative_imports__tests__ban_parent_imports.snap diff --git a/src/rules/flake8_type_checking/helpers.rs b/crates/ruff/src/rules/flake8_type_checking/helpers.rs similarity index 100% rename from src/rules/flake8_type_checking/helpers.rs rename to crates/ruff/src/rules/flake8_type_checking/helpers.rs diff --git a/src/rules/flake8_type_checking/mod.rs b/crates/ruff/src/rules/flake8_type_checking/mod.rs similarity index 100% rename from src/rules/flake8_type_checking/mod.rs rename to crates/ruff/src/rules/flake8_type_checking/mod.rs diff --git a/src/rules/flake8_type_checking/rules/empty_type_checking_block.rs b/crates/ruff/src/rules/flake8_type_checking/rules/empty_type_checking_block.rs similarity index 100% rename from src/rules/flake8_type_checking/rules/empty_type_checking_block.rs rename to crates/ruff/src/rules/flake8_type_checking/rules/empty_type_checking_block.rs diff --git a/src/rules/flake8_type_checking/rules/mod.rs b/crates/ruff/src/rules/flake8_type_checking/rules/mod.rs similarity index 100% rename from src/rules/flake8_type_checking/rules/mod.rs rename to crates/ruff/src/rules/flake8_type_checking/rules/mod.rs diff --git a/src/rules/flake8_type_checking/rules/runtime_import_in_type_checking_block.rs b/crates/ruff/src/rules/flake8_type_checking/rules/runtime_import_in_type_checking_block.rs similarity index 100% rename from src/rules/flake8_type_checking/rules/runtime_import_in_type_checking_block.rs rename to crates/ruff/src/rules/flake8_type_checking/rules/runtime_import_in_type_checking_block.rs diff --git a/src/rules/flake8_type_checking/rules/typing_only_runtime_import.rs b/crates/ruff/src/rules/flake8_type_checking/rules/typing_only_runtime_import.rs similarity index 100% rename from src/rules/flake8_type_checking/rules/typing_only_runtime_import.rs rename to crates/ruff/src/rules/flake8_type_checking/rules/typing_only_runtime_import.rs diff --git a/src/rules/flake8_type_checking/settings.rs b/crates/ruff/src/rules/flake8_type_checking/settings.rs similarity index 100% rename from src/rules/flake8_type_checking/settings.rs rename to crates/ruff/src/rules/flake8_type_checking/settings.rs diff --git a/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__empty-type-checking-block_TCH005.py.snap b/crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__empty-type-checking-block_TCH005.py.snap similarity index 100% rename from src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__empty-type-checking-block_TCH005.py.snap rename to crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__empty-type-checking-block_TCH005.py.snap diff --git a/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__exempt_modules.snap b/crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__exempt_modules.snap similarity index 100% rename from src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__exempt_modules.snap rename to crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__exempt_modules.snap diff --git a/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_1.py.snap b/crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_1.py.snap similarity index 100% rename from src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_1.py.snap rename to crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_1.py.snap diff --git a/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_2.py.snap b/crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_2.py.snap similarity index 100% rename from src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_2.py.snap rename to crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_2.py.snap diff --git a/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_3.py.snap b/crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_3.py.snap similarity index 100% rename from src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_3.py.snap rename to crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_3.py.snap diff --git a/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_4.py.snap b/crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_4.py.snap similarity index 100% rename from src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_4.py.snap rename to crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_4.py.snap diff --git a/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_5.py.snap b/crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_5.py.snap similarity index 100% rename from src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_5.py.snap rename to crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_5.py.snap diff --git a/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_6.py.snap b/crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_6.py.snap similarity index 100% rename from src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_6.py.snap rename to crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_6.py.snap diff --git a/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_7.py.snap b/crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_7.py.snap similarity index 100% rename from src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_7.py.snap rename to crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_7.py.snap diff --git a/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_8.py.snap b/crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_8.py.snap similarity index 100% rename from src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_8.py.snap rename to crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__runtime-import-in-type-checking-block_TCH004_8.py.snap diff --git a/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__strict.snap b/crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__strict.snap similarity index 100% rename from src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__strict.snap rename to crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__strict.snap diff --git a/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-first-party-import_TCH001.py.snap b/crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-first-party-import_TCH001.py.snap similarity index 100% rename from src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-first-party-import_TCH001.py.snap rename to crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-first-party-import_TCH001.py.snap diff --git a/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-standard-library-import_TCH003.py.snap b/crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-standard-library-import_TCH003.py.snap similarity index 100% rename from src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-standard-library-import_TCH003.py.snap rename to crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-standard-library-import_TCH003.py.snap diff --git a/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-third-party-import_TCH002.py.snap b/crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-third-party-import_TCH002.py.snap similarity index 100% rename from src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-third-party-import_TCH002.py.snap rename to crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-third-party-import_TCH002.py.snap diff --git a/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-third-party-import_strict.py.snap b/crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-third-party-import_strict.py.snap similarity index 100% rename from src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-third-party-import_strict.py.snap rename to crates/ruff/src/rules/flake8_type_checking/snapshots/ruff__rules__flake8_type_checking__tests__typing-only-third-party-import_strict.py.snap diff --git a/src/rules/flake8_unused_arguments/helpers.rs b/crates/ruff/src/rules/flake8_unused_arguments/helpers.rs similarity index 100% rename from src/rules/flake8_unused_arguments/helpers.rs rename to crates/ruff/src/rules/flake8_unused_arguments/helpers.rs diff --git a/src/rules/flake8_unused_arguments/mod.rs b/crates/ruff/src/rules/flake8_unused_arguments/mod.rs similarity index 100% rename from src/rules/flake8_unused_arguments/mod.rs rename to crates/ruff/src/rules/flake8_unused_arguments/mod.rs diff --git a/src/rules/flake8_unused_arguments/rules.rs b/crates/ruff/src/rules/flake8_unused_arguments/rules.rs similarity index 100% rename from src/rules/flake8_unused_arguments/rules.rs rename to crates/ruff/src/rules/flake8_unused_arguments/rules.rs diff --git a/src/rules/flake8_unused_arguments/settings.rs b/crates/ruff/src/rules/flake8_unused_arguments/settings.rs similarity index 100% rename from src/rules/flake8_unused_arguments/settings.rs rename to crates/ruff/src/rules/flake8_unused_arguments/settings.rs diff --git a/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG001_ARG.py.snap b/crates/ruff/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG001_ARG.py.snap similarity index 100% rename from src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG001_ARG.py.snap rename to crates/ruff/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG001_ARG.py.snap diff --git a/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG002_ARG.py.snap b/crates/ruff/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG002_ARG.py.snap similarity index 100% rename from src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG002_ARG.py.snap rename to crates/ruff/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG002_ARG.py.snap diff --git a/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG003_ARG.py.snap b/crates/ruff/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG003_ARG.py.snap similarity index 100% rename from src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG003_ARG.py.snap rename to crates/ruff/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG003_ARG.py.snap diff --git a/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG004_ARG.py.snap b/crates/ruff/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG004_ARG.py.snap similarity index 100% rename from src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG004_ARG.py.snap rename to crates/ruff/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG004_ARG.py.snap diff --git a/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG005_ARG.py.snap b/crates/ruff/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG005_ARG.py.snap similarity index 100% rename from src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG005_ARG.py.snap rename to crates/ruff/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ARG005_ARG.py.snap diff --git a/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__enforce_variadic_names.snap b/crates/ruff/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__enforce_variadic_names.snap similarity index 100% rename from src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__enforce_variadic_names.snap rename to crates/ruff/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__enforce_variadic_names.snap diff --git a/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ignore_variadic_names.snap b/crates/ruff/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ignore_variadic_names.snap similarity index 100% rename from src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ignore_variadic_names.snap rename to crates/ruff/src/rules/flake8_unused_arguments/snapshots/ruff__rules__flake8_unused_arguments__tests__ignore_variadic_names.snap diff --git a/src/rules/flake8_unused_arguments/types.rs b/crates/ruff/src/rules/flake8_unused_arguments/types.rs similarity index 100% rename from src/rules/flake8_unused_arguments/types.rs rename to crates/ruff/src/rules/flake8_unused_arguments/types.rs diff --git a/src/rules/flake8_use_pathlib/helpers.rs b/crates/ruff/src/rules/flake8_use_pathlib/helpers.rs similarity index 100% rename from src/rules/flake8_use_pathlib/helpers.rs rename to crates/ruff/src/rules/flake8_use_pathlib/helpers.rs diff --git a/src/rules/flake8_use_pathlib/mod.rs b/crates/ruff/src/rules/flake8_use_pathlib/mod.rs similarity index 100% rename from src/rules/flake8_use_pathlib/mod.rs rename to crates/ruff/src/rules/flake8_use_pathlib/mod.rs diff --git a/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__PTH124_py_path_1.py.snap b/crates/ruff/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__PTH124_py_path_1.py.snap similarity index 100% rename from src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__PTH124_py_path_1.py.snap rename to crates/ruff/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__PTH124_py_path_1.py.snap diff --git a/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__PTH124_py_path_2.py.snap b/crates/ruff/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__PTH124_py_path_2.py.snap similarity index 100% rename from src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__PTH124_py_path_2.py.snap rename to crates/ruff/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__PTH124_py_path_2.py.snap diff --git a/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__full_name.py.snap b/crates/ruff/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__full_name.py.snap similarity index 100% rename from src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__full_name.py.snap rename to crates/ruff/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__full_name.py.snap diff --git a/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__import_as.py.snap b/crates/ruff/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__import_as.py.snap similarity index 100% rename from src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__import_as.py.snap rename to crates/ruff/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__import_as.py.snap diff --git a/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__import_from.py.snap b/crates/ruff/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__import_from.py.snap similarity index 100% rename from src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__import_from.py.snap rename to crates/ruff/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__import_from.py.snap diff --git a/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__import_from_as.py.snap b/crates/ruff/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__import_from_as.py.snap similarity index 100% rename from src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__import_from_as.py.snap rename to crates/ruff/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__import_from_as.py.snap diff --git a/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__use_pathlib.py.snap b/crates/ruff/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__use_pathlib.py.snap similarity index 100% rename from src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__use_pathlib.py.snap rename to crates/ruff/src/rules/flake8_use_pathlib/snapshots/ruff__rules__flake8_use_pathlib__tests__use_pathlib.py.snap diff --git a/src/rules/flake8_use_pathlib/violations.rs b/crates/ruff/src/rules/flake8_use_pathlib/violations.rs similarity index 100% rename from src/rules/flake8_use_pathlib/violations.rs rename to crates/ruff/src/rules/flake8_use_pathlib/violations.rs diff --git a/src/rules/isort/annotate.rs b/crates/ruff/src/rules/isort/annotate.rs similarity index 100% rename from src/rules/isort/annotate.rs rename to crates/ruff/src/rules/isort/annotate.rs diff --git a/src/rules/isort/categorize.rs b/crates/ruff/src/rules/isort/categorize.rs similarity index 100% rename from src/rules/isort/categorize.rs rename to crates/ruff/src/rules/isort/categorize.rs diff --git a/src/rules/isort/comments.rs b/crates/ruff/src/rules/isort/comments.rs similarity index 100% rename from src/rules/isort/comments.rs rename to crates/ruff/src/rules/isort/comments.rs diff --git a/src/rules/isort/format.rs b/crates/ruff/src/rules/isort/format.rs similarity index 100% rename from src/rules/isort/format.rs rename to crates/ruff/src/rules/isort/format.rs diff --git a/src/rules/isort/helpers.rs b/crates/ruff/src/rules/isort/helpers.rs similarity index 100% rename from src/rules/isort/helpers.rs rename to crates/ruff/src/rules/isort/helpers.rs diff --git a/src/rules/isort/mod.rs b/crates/ruff/src/rules/isort/mod.rs similarity index 100% rename from src/rules/isort/mod.rs rename to crates/ruff/src/rules/isort/mod.rs diff --git a/src/rules/isort/normalize.rs b/crates/ruff/src/rules/isort/normalize.rs similarity index 100% rename from src/rules/isort/normalize.rs rename to crates/ruff/src/rules/isort/normalize.rs diff --git a/src/rules/isort/order.rs b/crates/ruff/src/rules/isort/order.rs similarity index 100% rename from src/rules/isort/order.rs rename to crates/ruff/src/rules/isort/order.rs diff --git a/src/rules/isort/rules/add_required_imports.rs b/crates/ruff/src/rules/isort/rules/add_required_imports.rs similarity index 100% rename from src/rules/isort/rules/add_required_imports.rs rename to crates/ruff/src/rules/isort/rules/add_required_imports.rs diff --git a/src/rules/isort/rules/mod.rs b/crates/ruff/src/rules/isort/rules/mod.rs similarity index 100% rename from src/rules/isort/rules/mod.rs rename to crates/ruff/src/rules/isort/rules/mod.rs diff --git a/src/rules/isort/rules/organize_imports.rs b/crates/ruff/src/rules/isort/rules/organize_imports.rs similarity index 100% rename from src/rules/isort/rules/organize_imports.rs rename to crates/ruff/src/rules/isort/rules/organize_imports.rs diff --git a/src/rules/isort/settings.rs b/crates/ruff/src/rules/isort/settings.rs similarity index 100% rename from src/rules/isort/settings.rs rename to crates/ruff/src/rules/isort/settings.rs diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__add_newline_before_comments.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__add_newline_before_comments.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__add_newline_before_comments.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__add_newline_before_comments.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__closest_to_furthest_relative_imports_order.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__closest_to_furthest_relative_imports_order.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__closest_to_furthest_relative_imports_order.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__closest_to_furthest_relative_imports_order.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__combine_as_imports.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__combine_as_imports.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__combine_as_imports.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__combine_as_imports.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__combine_as_imports_combine_as_imports.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__combine_as_imports_combine_as_imports.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__combine_as_imports_combine_as_imports.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__combine_as_imports_combine_as_imports.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__combine_import_from.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__combine_import_from.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__combine_import_from.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__combine_import_from.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__combined_required_imports_docstring.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__combined_required_imports_docstring.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__combined_required_imports_docstring.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__combined_required_imports_docstring.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__combined_required_imports_docstring_only.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__combined_required_imports_docstring_only.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__combined_required_imports_docstring_only.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__combined_required_imports_docstring_only.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__combined_required_imports_empty.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__combined_required_imports_empty.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__combined_required_imports_empty.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__combined_required_imports_empty.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__comments.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__comments.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__comments.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__comments.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__deduplicate_imports.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__deduplicate_imports.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__deduplicate_imports.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__deduplicate_imports.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__fit_line_length.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__fit_line_length.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__fit_line_length.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__fit_line_length.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__fit_line_length_comment.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__fit_line_length_comment.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__fit_line_length_comment.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__fit_line_length_comment.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__force_single_line_force_single_line.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__force_single_line_force_single_line.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__force_single_line_force_single_line.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__force_single_line_force_single_line.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__force_sort_within_sections.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__force_sort_within_sections.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__force_sort_within_sections.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__force_sort_within_sections.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__force_sort_within_sections_force_sort_within_sections.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__force_sort_within_sections_force_sort_within_sections.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__force_sort_within_sections_force_sort_within_sections.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__force_sort_within_sections_force_sort_within_sections.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__force_wrap_aliases.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__force_wrap_aliases.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__force_wrap_aliases.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__force_wrap_aliases.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__force_wrap_aliases_force_wrap_aliases.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__force_wrap_aliases_force_wrap_aliases.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__force_wrap_aliases_force_wrap_aliases.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__force_wrap_aliases_force_wrap_aliases.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__forced_separate.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__forced_separate.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__forced_separate.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__forced_separate.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__import_from_after_import.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__import_from_after_import.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__import_from_after_import.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__import_from_after_import.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__inline_comments.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__inline_comments.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__inline_comments.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__inline_comments.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__insert_empty_lines.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__insert_empty_lines.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__insert_empty_lines.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__insert_empty_lines.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__insert_empty_lines.pyi.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__insert_empty_lines.pyi.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__insert_empty_lines.pyi.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__insert_empty_lines.pyi.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__leading_prefix.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__leading_prefix.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__leading_prefix.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__leading_prefix.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__lines_after_imports_lines_after_imports_class_after.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__lines_after_imports_lines_after_imports_class_after.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__lines_after_imports_lines_after_imports_class_after.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__lines_after_imports_lines_after_imports_class_after.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__lines_after_imports_lines_after_imports_func_after.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__lines_after_imports_lines_after_imports_func_after.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__lines_after_imports_lines_after_imports_func_after.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__lines_after_imports_lines_after_imports_func_after.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__lines_after_imports_lines_after_imports_nothing_after.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__lines_after_imports_lines_after_imports_nothing_after.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__lines_after_imports_lines_after_imports_nothing_after.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__lines_after_imports_lines_after_imports_nothing_after.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__magic_trailing_comma.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__magic_trailing_comma.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__magic_trailing_comma.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__magic_trailing_comma.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__natural_order.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__natural_order.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__natural_order.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__natural_order.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__no_lines_before.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__no_lines_before.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__no_lines_before.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__no_lines_before.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__no_lines_before.py_no_lines_before.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__no_lines_before.py_no_lines_before.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__no_lines_before.py_no_lines_before.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__no_lines_before.py_no_lines_before.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__no_reorder_within_section.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__no_reorder_within_section.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__no_reorder_within_section.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__no_reorder_within_section.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__no_wrap_star.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__no_wrap_star.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__no_wrap_star.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__no_wrap_star.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_false_order_by_type.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_false_order_by_type.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_false_order_by_type.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_false_order_by_type.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_classes.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_classes.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_classes.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_classes.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_classes_order_by_type_with_custom_classes.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_classes_order_by_type_with_custom_classes.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_classes_order_by_type_with_custom_classes.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_classes_order_by_type_with_custom_classes.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_constants.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_constants.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_constants.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_constants.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_constants_order_by_type_with_custom_constants.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_constants_order_by_type_with_custom_constants.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_constants_order_by_type_with_custom_constants.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_constants_order_by_type_with_custom_constants.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_variables.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_variables.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_variables.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_variables.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_variables_order_by_type_with_custom_variables.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_variables_order_by_type_with_custom_variables.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_variables_order_by_type_with_custom_variables.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_by_type_with_custom_variables_order_by_type_with_custom_variables.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__order_relative_imports_by_level.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_relative_imports_by_level.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__order_relative_imports_by_level.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__order_relative_imports_by_level.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_comment_order.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_comment_order.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_comment_order.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_comment_order.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_import_star.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_import_star.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_import_star.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_import_star.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_indentation.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_indentation.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_indentation.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_indentation.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_tabs.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_tabs.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_tabs.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_tabs.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_tabs_2.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_tabs_2.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_tabs_2.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__preserve_tabs_2.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__relative_imports_order.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__relative_imports_order.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__relative_imports_order.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__relative_imports_order.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__reorder_within_section.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__reorder_within_section.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__reorder_within_section.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__reorder_within_section.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__required_import_docstring.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__required_import_docstring.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__required_import_docstring.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__required_import_docstring.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__required_import_docstring_only.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__required_import_docstring_only.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__required_import_docstring_only.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__required_import_docstring_only.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__required_import_empty.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__required_import_empty.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__required_import_empty.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__required_import_empty.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__required_imports_docstring.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__required_imports_docstring.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__required_imports_docstring.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__required_imports_docstring.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__required_imports_docstring_only.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__required_imports_docstring_only.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__required_imports_docstring_only.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__required_imports_docstring_only.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__required_imports_empty.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__required_imports_empty.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__required_imports_empty.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__required_imports_empty.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__separate_first_party_imports.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__separate_first_party_imports.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__separate_first_party_imports.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__separate_first_party_imports.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__separate_future_imports.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__separate_future_imports.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__separate_future_imports.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__separate_future_imports.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__separate_local_folder_imports.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__separate_local_folder_imports.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__separate_local_folder_imports.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__separate_local_folder_imports.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__separate_third_party_imports.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__separate_third_party_imports.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__separate_third_party_imports.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__separate_third_party_imports.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__skip.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__skip.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__skip.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__skip.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__skip_file.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__skip_file.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__skip_file.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__skip_file.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__sort_similar_imports.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__sort_similar_imports.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__sort_similar_imports.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__sort_similar_imports.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__split.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__split.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__split.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__split.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__split_on_trailing_comma_magic_trailing_comma.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__split_on_trailing_comma_magic_trailing_comma.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__split_on_trailing_comma_magic_trailing_comma.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__split_on_trailing_comma_magic_trailing_comma.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__star_before_others.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__star_before_others.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__star_before_others.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__star_before_others.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__straight_required_import_docstring.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__straight_required_import_docstring.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__straight_required_import_docstring.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__straight_required_import_docstring.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__straight_required_import_docstring_only.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__straight_required_import_docstring_only.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__straight_required_import_docstring_only.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__straight_required_import_docstring_only.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__straight_required_import_empty.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__straight_required_import_empty.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__straight_required_import_empty.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__straight_required_import_empty.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__trailing_suffix.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__trailing_suffix.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__trailing_suffix.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__trailing_suffix.py.snap diff --git a/src/rules/isort/snapshots/ruff__rules__isort__tests__type_comments.py.snap b/crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__type_comments.py.snap similarity index 100% rename from src/rules/isort/snapshots/ruff__rules__isort__tests__type_comments.py.snap rename to crates/ruff/src/rules/isort/snapshots/ruff__rules__isort__tests__type_comments.py.snap diff --git a/src/rules/isort/sorting.rs b/crates/ruff/src/rules/isort/sorting.rs similarity index 100% rename from src/rules/isort/sorting.rs rename to crates/ruff/src/rules/isort/sorting.rs diff --git a/src/rules/isort/split.rs b/crates/ruff/src/rules/isort/split.rs similarity index 100% rename from src/rules/isort/split.rs rename to crates/ruff/src/rules/isort/split.rs diff --git a/src/rules/isort/track.rs b/crates/ruff/src/rules/isort/track.rs similarity index 100% rename from src/rules/isort/track.rs rename to crates/ruff/src/rules/isort/track.rs diff --git a/src/rules/isort/types.rs b/crates/ruff/src/rules/isort/types.rs similarity index 100% rename from src/rules/isort/types.rs rename to crates/ruff/src/rules/isort/types.rs diff --git a/src/rules/mccabe/mod.rs b/crates/ruff/src/rules/mccabe/mod.rs similarity index 100% rename from src/rules/mccabe/mod.rs rename to crates/ruff/src/rules/mccabe/mod.rs diff --git a/src/rules/mccabe/rules.rs b/crates/ruff/src/rules/mccabe/rules.rs similarity index 100% rename from src/rules/mccabe/rules.rs rename to crates/ruff/src/rules/mccabe/rules.rs diff --git a/src/rules/mccabe/settings.rs b/crates/ruff/src/rules/mccabe/settings.rs similarity index 100% rename from src/rules/mccabe/settings.rs rename to crates/ruff/src/rules/mccabe/settings.rs diff --git a/src/rules/mccabe/snapshots/ruff__rules__mccabe__tests__max_complexity_0.snap b/crates/ruff/src/rules/mccabe/snapshots/ruff__rules__mccabe__tests__max_complexity_0.snap similarity index 100% rename from src/rules/mccabe/snapshots/ruff__rules__mccabe__tests__max_complexity_0.snap rename to crates/ruff/src/rules/mccabe/snapshots/ruff__rules__mccabe__tests__max_complexity_0.snap diff --git a/src/rules/mccabe/snapshots/ruff__rules__mccabe__tests__max_complexity_10.snap b/crates/ruff/src/rules/mccabe/snapshots/ruff__rules__mccabe__tests__max_complexity_10.snap similarity index 100% rename from src/rules/mccabe/snapshots/ruff__rules__mccabe__tests__max_complexity_10.snap rename to crates/ruff/src/rules/mccabe/snapshots/ruff__rules__mccabe__tests__max_complexity_10.snap diff --git a/src/rules/mccabe/snapshots/ruff__rules__mccabe__tests__max_complexity_3.snap b/crates/ruff/src/rules/mccabe/snapshots/ruff__rules__mccabe__tests__max_complexity_3.snap similarity index 100% rename from src/rules/mccabe/snapshots/ruff__rules__mccabe__tests__max_complexity_3.snap rename to crates/ruff/src/rules/mccabe/snapshots/ruff__rules__mccabe__tests__max_complexity_3.snap diff --git a/src/rules/mod.rs b/crates/ruff/src/rules/mod.rs similarity index 100% rename from src/rules/mod.rs rename to crates/ruff/src/rules/mod.rs diff --git a/src/rules/pandas_vet/fixes.rs b/crates/ruff/src/rules/pandas_vet/fixes.rs similarity index 100% rename from src/rules/pandas_vet/fixes.rs rename to crates/ruff/src/rules/pandas_vet/fixes.rs diff --git a/src/rules/pandas_vet/helpers.rs b/crates/ruff/src/rules/pandas_vet/helpers.rs similarity index 100% rename from src/rules/pandas_vet/helpers.rs rename to crates/ruff/src/rules/pandas_vet/helpers.rs diff --git a/src/rules/pandas_vet/mod.rs b/crates/ruff/src/rules/pandas_vet/mod.rs similarity index 100% rename from src/rules/pandas_vet/mod.rs rename to crates/ruff/src/rules/pandas_vet/mod.rs diff --git a/src/rules/pandas_vet/rules/assignment_to_df.rs b/crates/ruff/src/rules/pandas_vet/rules/assignment_to_df.rs similarity index 100% rename from src/rules/pandas_vet/rules/assignment_to_df.rs rename to crates/ruff/src/rules/pandas_vet/rules/assignment_to_df.rs diff --git a/src/rules/pandas_vet/rules/check_attr.rs b/crates/ruff/src/rules/pandas_vet/rules/check_attr.rs similarity index 100% rename from src/rules/pandas_vet/rules/check_attr.rs rename to crates/ruff/src/rules/pandas_vet/rules/check_attr.rs diff --git a/src/rules/pandas_vet/rules/check_call.rs b/crates/ruff/src/rules/pandas_vet/rules/check_call.rs similarity index 100% rename from src/rules/pandas_vet/rules/check_call.rs rename to crates/ruff/src/rules/pandas_vet/rules/check_call.rs diff --git a/src/rules/pandas_vet/rules/inplace_argument.rs b/crates/ruff/src/rules/pandas_vet/rules/inplace_argument.rs similarity index 100% rename from src/rules/pandas_vet/rules/inplace_argument.rs rename to crates/ruff/src/rules/pandas_vet/rules/inplace_argument.rs diff --git a/src/rules/pandas_vet/rules/mod.rs b/crates/ruff/src/rules/pandas_vet/rules/mod.rs similarity index 100% rename from src/rules/pandas_vet/rules/mod.rs rename to crates/ruff/src/rules/pandas_vet/rules/mod.rs diff --git a/src/rules/pandas_vet/rules/pd_merge.rs b/crates/ruff/src/rules/pandas_vet/rules/pd_merge.rs similarity index 100% rename from src/rules/pandas_vet/rules/pd_merge.rs rename to crates/ruff/src/rules/pandas_vet/rules/pd_merge.rs diff --git a/src/rules/pandas_vet/snapshots/ruff__rules__pandas_vet__tests__PD002_PD002.py.snap b/crates/ruff/src/rules/pandas_vet/snapshots/ruff__rules__pandas_vet__tests__PD002_PD002.py.snap similarity index 100% rename from src/rules/pandas_vet/snapshots/ruff__rules__pandas_vet__tests__PD002_PD002.py.snap rename to crates/ruff/src/rules/pandas_vet/snapshots/ruff__rules__pandas_vet__tests__PD002_PD002.py.snap diff --git a/src/rules/pep8_naming/helpers.rs b/crates/ruff/src/rules/pep8_naming/helpers.rs similarity index 100% rename from src/rules/pep8_naming/helpers.rs rename to crates/ruff/src/rules/pep8_naming/helpers.rs diff --git a/src/rules/pep8_naming/mod.rs b/crates/ruff/src/rules/pep8_naming/mod.rs similarity index 100% rename from src/rules/pep8_naming/mod.rs rename to crates/ruff/src/rules/pep8_naming/mod.rs diff --git a/src/rules/pep8_naming/rules.rs b/crates/ruff/src/rules/pep8_naming/rules.rs similarity index 100% rename from src/rules/pep8_naming/rules.rs rename to crates/ruff/src/rules/pep8_naming/rules.rs diff --git a/src/rules/pep8_naming/settings.rs b/crates/ruff/src/rules/pep8_naming/settings.rs similarity index 100% rename from src/rules/pep8_naming/settings.rs rename to crates/ruff/src/rules/pep8_naming/settings.rs diff --git a/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N801_N801.py.snap b/crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N801_N801.py.snap similarity index 100% rename from src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N801_N801.py.snap rename to crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N801_N801.py.snap diff --git a/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N802_N802.py.snap b/crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N802_N802.py.snap similarity index 100% rename from src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N802_N802.py.snap rename to crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N802_N802.py.snap diff --git a/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N803_N803.py.snap b/crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N803_N803.py.snap similarity index 100% rename from src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N803_N803.py.snap rename to crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N803_N803.py.snap diff --git a/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N804_N804.py.snap b/crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N804_N804.py.snap similarity index 100% rename from src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N804_N804.py.snap rename to crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N804_N804.py.snap diff --git a/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N805_N805.py.snap b/crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N805_N805.py.snap similarity index 100% rename from src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N805_N805.py.snap rename to crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N805_N805.py.snap diff --git a/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N806_N806.py.snap b/crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N806_N806.py.snap similarity index 100% rename from src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N806_N806.py.snap rename to crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N806_N806.py.snap diff --git a/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N807_N807.py.snap b/crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N807_N807.py.snap similarity index 100% rename from src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N807_N807.py.snap rename to crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N807_N807.py.snap diff --git a/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N811_N811.py.snap b/crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N811_N811.py.snap similarity index 100% rename from src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N811_N811.py.snap rename to crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N811_N811.py.snap diff --git a/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N812_N812.py.snap b/crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N812_N812.py.snap similarity index 100% rename from src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N812_N812.py.snap rename to crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N812_N812.py.snap diff --git a/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N813_N813.py.snap b/crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N813_N813.py.snap similarity index 100% rename from src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N813_N813.py.snap rename to crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N813_N813.py.snap diff --git a/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N814_N814.py.snap b/crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N814_N814.py.snap similarity index 100% rename from src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N814_N814.py.snap rename to crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N814_N814.py.snap diff --git a/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N815_N815.py.snap b/crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N815_N815.py.snap similarity index 100% rename from src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N815_N815.py.snap rename to crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N815_N815.py.snap diff --git a/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N816_N816.py.snap b/crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N816_N816.py.snap similarity index 100% rename from src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N816_N816.py.snap rename to crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N816_N816.py.snap diff --git a/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N817_N817.py.snap b/crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N817_N817.py.snap similarity index 100% rename from src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N817_N817.py.snap rename to crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N817_N817.py.snap diff --git a/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N818_N818.py.snap b/crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N818_N818.py.snap similarity index 100% rename from src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N818_N818.py.snap rename to crates/ruff/src/rules/pep8_naming/snapshots/ruff__rules__pep8_naming__tests__N818_N818.py.snap diff --git a/src/rules/pycodestyle/helpers.rs b/crates/ruff/src/rules/pycodestyle/helpers.rs similarity index 100% rename from src/rules/pycodestyle/helpers.rs rename to crates/ruff/src/rules/pycodestyle/helpers.rs diff --git a/src/rules/pycodestyle/logical_lines.rs b/crates/ruff/src/rules/pycodestyle/logical_lines.rs similarity index 100% rename from src/rules/pycodestyle/logical_lines.rs rename to crates/ruff/src/rules/pycodestyle/logical_lines.rs diff --git a/src/rules/pycodestyle/mod.rs b/crates/ruff/src/rules/pycodestyle/mod.rs similarity index 100% rename from src/rules/pycodestyle/mod.rs rename to crates/ruff/src/rules/pycodestyle/mod.rs diff --git a/src/rules/pycodestyle/rules/ambiguous_class_name.rs b/crates/ruff/src/rules/pycodestyle/rules/ambiguous_class_name.rs similarity index 100% rename from src/rules/pycodestyle/rules/ambiguous_class_name.rs rename to crates/ruff/src/rules/pycodestyle/rules/ambiguous_class_name.rs diff --git a/src/rules/pycodestyle/rules/ambiguous_function_name.rs b/crates/ruff/src/rules/pycodestyle/rules/ambiguous_function_name.rs similarity index 100% rename from src/rules/pycodestyle/rules/ambiguous_function_name.rs rename to crates/ruff/src/rules/pycodestyle/rules/ambiguous_function_name.rs diff --git a/src/rules/pycodestyle/rules/ambiguous_variable_name.rs b/crates/ruff/src/rules/pycodestyle/rules/ambiguous_variable_name.rs similarity index 100% rename from src/rules/pycodestyle/rules/ambiguous_variable_name.rs rename to crates/ruff/src/rules/pycodestyle/rules/ambiguous_variable_name.rs diff --git a/src/rules/pycodestyle/rules/do_not_assign_lambda.rs b/crates/ruff/src/rules/pycodestyle/rules/do_not_assign_lambda.rs similarity index 100% rename from src/rules/pycodestyle/rules/do_not_assign_lambda.rs rename to crates/ruff/src/rules/pycodestyle/rules/do_not_assign_lambda.rs diff --git a/src/rules/pycodestyle/rules/do_not_use_bare_except.rs b/crates/ruff/src/rules/pycodestyle/rules/do_not_use_bare_except.rs similarity index 100% rename from src/rules/pycodestyle/rules/do_not_use_bare_except.rs rename to crates/ruff/src/rules/pycodestyle/rules/do_not_use_bare_except.rs diff --git a/src/rules/pycodestyle/rules/doc_line_too_long.rs b/crates/ruff/src/rules/pycodestyle/rules/doc_line_too_long.rs similarity index 100% rename from src/rules/pycodestyle/rules/doc_line_too_long.rs rename to crates/ruff/src/rules/pycodestyle/rules/doc_line_too_long.rs diff --git a/src/rules/pycodestyle/rules/errors.rs b/crates/ruff/src/rules/pycodestyle/rules/errors.rs similarity index 100% rename from src/rules/pycodestyle/rules/errors.rs rename to crates/ruff/src/rules/pycodestyle/rules/errors.rs diff --git a/src/rules/pycodestyle/rules/extraneous_whitespace.rs b/crates/ruff/src/rules/pycodestyle/rules/extraneous_whitespace.rs similarity index 100% rename from src/rules/pycodestyle/rules/extraneous_whitespace.rs rename to crates/ruff/src/rules/pycodestyle/rules/extraneous_whitespace.rs diff --git a/src/rules/pycodestyle/rules/imports.rs b/crates/ruff/src/rules/pycodestyle/rules/imports.rs similarity index 100% rename from src/rules/pycodestyle/rules/imports.rs rename to crates/ruff/src/rules/pycodestyle/rules/imports.rs diff --git a/src/rules/pycodestyle/rules/indentation.rs b/crates/ruff/src/rules/pycodestyle/rules/indentation.rs similarity index 100% rename from src/rules/pycodestyle/rules/indentation.rs rename to crates/ruff/src/rules/pycodestyle/rules/indentation.rs diff --git a/src/rules/pycodestyle/rules/invalid_escape_sequence.rs b/crates/ruff/src/rules/pycodestyle/rules/invalid_escape_sequence.rs similarity index 100% rename from src/rules/pycodestyle/rules/invalid_escape_sequence.rs rename to crates/ruff/src/rules/pycodestyle/rules/invalid_escape_sequence.rs diff --git a/src/rules/pycodestyle/rules/line_too_long.rs b/crates/ruff/src/rules/pycodestyle/rules/line_too_long.rs similarity index 100% rename from src/rules/pycodestyle/rules/line_too_long.rs rename to crates/ruff/src/rules/pycodestyle/rules/line_too_long.rs diff --git a/src/rules/pycodestyle/rules/literal_comparisons.rs b/crates/ruff/src/rules/pycodestyle/rules/literal_comparisons.rs similarity index 100% rename from src/rules/pycodestyle/rules/literal_comparisons.rs rename to crates/ruff/src/rules/pycodestyle/rules/literal_comparisons.rs diff --git a/src/rules/pycodestyle/rules/mixed_spaces_and_tabs.rs b/crates/ruff/src/rules/pycodestyle/rules/mixed_spaces_and_tabs.rs similarity index 100% rename from src/rules/pycodestyle/rules/mixed_spaces_and_tabs.rs rename to crates/ruff/src/rules/pycodestyle/rules/mixed_spaces_and_tabs.rs diff --git a/src/rules/pycodestyle/rules/mod.rs b/crates/ruff/src/rules/pycodestyle/rules/mod.rs similarity index 100% rename from src/rules/pycodestyle/rules/mod.rs rename to crates/ruff/src/rules/pycodestyle/rules/mod.rs diff --git a/src/rules/pycodestyle/rules/no_newline_at_end_of_file.rs b/crates/ruff/src/rules/pycodestyle/rules/no_newline_at_end_of_file.rs similarity index 100% rename from src/rules/pycodestyle/rules/no_newline_at_end_of_file.rs rename to crates/ruff/src/rules/pycodestyle/rules/no_newline_at_end_of_file.rs diff --git a/src/rules/pycodestyle/rules/not_tests.rs b/crates/ruff/src/rules/pycodestyle/rules/not_tests.rs similarity index 100% rename from src/rules/pycodestyle/rules/not_tests.rs rename to crates/ruff/src/rules/pycodestyle/rules/not_tests.rs diff --git a/src/rules/pycodestyle/rules/space_around_operator.rs b/crates/ruff/src/rules/pycodestyle/rules/space_around_operator.rs similarity index 100% rename from src/rules/pycodestyle/rules/space_around_operator.rs rename to crates/ruff/src/rules/pycodestyle/rules/space_around_operator.rs diff --git a/src/rules/pycodestyle/rules/type_comparison.rs b/crates/ruff/src/rules/pycodestyle/rules/type_comparison.rs similarity index 100% rename from src/rules/pycodestyle/rules/type_comparison.rs rename to crates/ruff/src/rules/pycodestyle/rules/type_comparison.rs diff --git a/src/rules/pycodestyle/settings.rs b/crates/ruff/src/rules/pycodestyle/settings.rs similarity index 100% rename from src/rules/pycodestyle/settings.rs rename to crates/ruff/src/rules/pycodestyle/settings.rs diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E101_E101.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E101_E101.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E101_E101.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E101_E101.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E111_E11.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E111_E11.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E111_E11.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E111_E11.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E112_E11.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E112_E11.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E112_E11.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E112_E11.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E113_E11.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E113_E11.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E113_E11.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E113_E11.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E114_E11.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E114_E11.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E114_E11.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E114_E11.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E115_E11.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E115_E11.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E115_E11.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E115_E11.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E116_E11.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E116_E11.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E116_E11.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E116_E11.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E117_E11.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E117_E11.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E117_E11.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E117_E11.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E201_E20.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E201_E20.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E201_E20.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E201_E20.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E202_E20.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E202_E20.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E202_E20.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E202_E20.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E203_E20.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E203_E20.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E203_E20.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E203_E20.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E221_E22.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E221_E22.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E221_E22.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E221_E22.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E222_E22.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E222_E22.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E222_E22.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E222_E22.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E223_E22.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E223_E22.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E223_E22.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E223_E22.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E224_E22.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E224_E22.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E224_E22.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E224_E22.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E401_E40.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E401_E40.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E401_E40.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E401_E40.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E402_E40.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E402_E40.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E402_E40.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E402_E40.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E402_E402.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E402_E402.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E402_E402.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E402_E402.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E501_E501.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E501_E501.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E501_E501.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E501_E501.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E711_E711.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E711_E711.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E711_E711.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E711_E711.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E712_E712.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E712_E712.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E712_E712.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E712_E712.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E713_E713.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E713_E713.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E713_E713.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E713_E713.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E714_E714.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E714_E714.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E714_E714.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E714_E714.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E721_E721.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E721_E721.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E721_E721.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E721_E721.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E722_E722.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E722_E722.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E722_E722.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E722_E722.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E731_E731.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E731_E731.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E731_E731.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E731_E731.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E741_E741.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E741_E741.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E741_E741.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E741_E741.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E742_E742.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E742_E742.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E742_E742.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E742_E742.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E743_E743.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E743_E743.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E743_E743.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E743_E743.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E999_E999.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E999_E999.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E999_E999.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__E999_E999.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_0.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_0.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_0.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_0.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_1.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_1.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_1.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_1.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_2.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_2.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_2.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_2.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_3.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_3.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_3.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_3.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_4.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_4.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_4.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W292_W292_4.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W605_W605_0.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W605_W605_0.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W605_W605_0.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W605_W605_0.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W605_W605_1.py.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W605_W605_1.py.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W605_W605_1.py.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__W605_W605_1.py.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__constant_literals.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__constant_literals.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__constant_literals.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__constant_literals.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__max_doc_length.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__max_doc_length.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__max_doc_length.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__max_doc_length.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__task_tags_false.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__task_tags_false.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__task_tags_false.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__task_tags_false.snap diff --git a/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__task_tags_true.snap b/crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__task_tags_true.snap similarity index 100% rename from src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__task_tags_true.snap rename to crates/ruff/src/rules/pycodestyle/snapshots/ruff__rules__pycodestyle__tests__task_tags_true.snap diff --git a/src/rules/pydocstyle/helpers.rs b/crates/ruff/src/rules/pydocstyle/helpers.rs similarity index 100% rename from src/rules/pydocstyle/helpers.rs rename to crates/ruff/src/rules/pydocstyle/helpers.rs diff --git a/src/rules/pydocstyle/mod.rs b/crates/ruff/src/rules/pydocstyle/mod.rs similarity index 100% rename from src/rules/pydocstyle/mod.rs rename to crates/ruff/src/rules/pydocstyle/mod.rs diff --git a/src/rules/pydocstyle/rules/backslashes.rs b/crates/ruff/src/rules/pydocstyle/rules/backslashes.rs similarity index 100% rename from src/rules/pydocstyle/rules/backslashes.rs rename to crates/ruff/src/rules/pydocstyle/rules/backslashes.rs diff --git a/src/rules/pydocstyle/rules/blank_after_summary.rs b/crates/ruff/src/rules/pydocstyle/rules/blank_after_summary.rs similarity index 100% rename from src/rules/pydocstyle/rules/blank_after_summary.rs rename to crates/ruff/src/rules/pydocstyle/rules/blank_after_summary.rs diff --git a/src/rules/pydocstyle/rules/blank_before_after_class.rs b/crates/ruff/src/rules/pydocstyle/rules/blank_before_after_class.rs similarity index 100% rename from src/rules/pydocstyle/rules/blank_before_after_class.rs rename to crates/ruff/src/rules/pydocstyle/rules/blank_before_after_class.rs diff --git a/src/rules/pydocstyle/rules/blank_before_after_function.rs b/crates/ruff/src/rules/pydocstyle/rules/blank_before_after_function.rs similarity index 100% rename from src/rules/pydocstyle/rules/blank_before_after_function.rs rename to crates/ruff/src/rules/pydocstyle/rules/blank_before_after_function.rs diff --git a/src/rules/pydocstyle/rules/capitalized.rs b/crates/ruff/src/rules/pydocstyle/rules/capitalized.rs similarity index 100% rename from src/rules/pydocstyle/rules/capitalized.rs rename to crates/ruff/src/rules/pydocstyle/rules/capitalized.rs diff --git a/src/rules/pydocstyle/rules/ends_with_period.rs b/crates/ruff/src/rules/pydocstyle/rules/ends_with_period.rs similarity index 100% rename from src/rules/pydocstyle/rules/ends_with_period.rs rename to crates/ruff/src/rules/pydocstyle/rules/ends_with_period.rs diff --git a/src/rules/pydocstyle/rules/ends_with_punctuation.rs b/crates/ruff/src/rules/pydocstyle/rules/ends_with_punctuation.rs similarity index 100% rename from src/rules/pydocstyle/rules/ends_with_punctuation.rs rename to crates/ruff/src/rules/pydocstyle/rules/ends_with_punctuation.rs diff --git a/src/rules/pydocstyle/rules/if_needed.rs b/crates/ruff/src/rules/pydocstyle/rules/if_needed.rs similarity index 100% rename from src/rules/pydocstyle/rules/if_needed.rs rename to crates/ruff/src/rules/pydocstyle/rules/if_needed.rs diff --git a/src/rules/pydocstyle/rules/indent.rs b/crates/ruff/src/rules/pydocstyle/rules/indent.rs similarity index 100% rename from src/rules/pydocstyle/rules/indent.rs rename to crates/ruff/src/rules/pydocstyle/rules/indent.rs diff --git a/src/rules/pydocstyle/rules/mod.rs b/crates/ruff/src/rules/pydocstyle/rules/mod.rs similarity index 100% rename from src/rules/pydocstyle/rules/mod.rs rename to crates/ruff/src/rules/pydocstyle/rules/mod.rs diff --git a/src/rules/pydocstyle/rules/multi_line_summary_start.rs b/crates/ruff/src/rules/pydocstyle/rules/multi_line_summary_start.rs similarity index 100% rename from src/rules/pydocstyle/rules/multi_line_summary_start.rs rename to crates/ruff/src/rules/pydocstyle/rules/multi_line_summary_start.rs diff --git a/src/rules/pydocstyle/rules/newline_after_last_paragraph.rs b/crates/ruff/src/rules/pydocstyle/rules/newline_after_last_paragraph.rs similarity index 100% rename from src/rules/pydocstyle/rules/newline_after_last_paragraph.rs rename to crates/ruff/src/rules/pydocstyle/rules/newline_after_last_paragraph.rs diff --git a/src/rules/pydocstyle/rules/no_signature.rs b/crates/ruff/src/rules/pydocstyle/rules/no_signature.rs similarity index 100% rename from src/rules/pydocstyle/rules/no_signature.rs rename to crates/ruff/src/rules/pydocstyle/rules/no_signature.rs diff --git a/src/rules/pydocstyle/rules/no_surrounding_whitespace.rs b/crates/ruff/src/rules/pydocstyle/rules/no_surrounding_whitespace.rs similarity index 100% rename from src/rules/pydocstyle/rules/no_surrounding_whitespace.rs rename to crates/ruff/src/rules/pydocstyle/rules/no_surrounding_whitespace.rs diff --git a/src/rules/pydocstyle/rules/non_imperative_mood.rs b/crates/ruff/src/rules/pydocstyle/rules/non_imperative_mood.rs similarity index 100% rename from src/rules/pydocstyle/rules/non_imperative_mood.rs rename to crates/ruff/src/rules/pydocstyle/rules/non_imperative_mood.rs diff --git a/src/rules/pydocstyle/rules/not_empty.rs b/crates/ruff/src/rules/pydocstyle/rules/not_empty.rs similarity index 100% rename from src/rules/pydocstyle/rules/not_empty.rs rename to crates/ruff/src/rules/pydocstyle/rules/not_empty.rs diff --git a/src/rules/pydocstyle/rules/not_missing.rs b/crates/ruff/src/rules/pydocstyle/rules/not_missing.rs similarity index 100% rename from src/rules/pydocstyle/rules/not_missing.rs rename to crates/ruff/src/rules/pydocstyle/rules/not_missing.rs diff --git a/src/rules/pydocstyle/rules/one_liner.rs b/crates/ruff/src/rules/pydocstyle/rules/one_liner.rs similarity index 100% rename from src/rules/pydocstyle/rules/one_liner.rs rename to crates/ruff/src/rules/pydocstyle/rules/one_liner.rs diff --git a/src/rules/pydocstyle/rules/regexes.rs b/crates/ruff/src/rules/pydocstyle/rules/regexes.rs similarity index 100% rename from src/rules/pydocstyle/rules/regexes.rs rename to crates/ruff/src/rules/pydocstyle/rules/regexes.rs diff --git a/src/rules/pydocstyle/rules/sections.rs b/crates/ruff/src/rules/pydocstyle/rules/sections.rs similarity index 100% rename from src/rules/pydocstyle/rules/sections.rs rename to crates/ruff/src/rules/pydocstyle/rules/sections.rs diff --git a/src/rules/pydocstyle/rules/starts_with_this.rs b/crates/ruff/src/rules/pydocstyle/rules/starts_with_this.rs similarity index 100% rename from src/rules/pydocstyle/rules/starts_with_this.rs rename to crates/ruff/src/rules/pydocstyle/rules/starts_with_this.rs diff --git a/src/rules/pydocstyle/rules/triple_quotes.rs b/crates/ruff/src/rules/pydocstyle/rules/triple_quotes.rs similarity index 100% rename from src/rules/pydocstyle/rules/triple_quotes.rs rename to crates/ruff/src/rules/pydocstyle/rules/triple_quotes.rs diff --git a/src/rules/pydocstyle/settings.rs b/crates/ruff/src/rules/pydocstyle/settings.rs similarity index 100% rename from src/rules/pydocstyle/settings.rs rename to crates/ruff/src/rules/pydocstyle/settings.rs diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D100_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D100_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D100_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D100_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D101_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D101_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D101_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D101_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D102_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D102_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D102_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D102_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D102_setter.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D102_setter.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D102_setter.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D102_setter.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D103_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D103_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D103_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D103_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D104_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D104_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D104_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D104_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D104_D104____init__.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D104_D104____init__.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D104_D104____init__.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D104_D104____init__.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D105_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D105_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D105_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D105_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D106_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D106_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D106_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D106_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D107_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D107_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D107_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D107_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D200_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D200_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D200_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D200_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D201_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D201_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D201_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D201_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D202_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D202_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D202_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D202_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D203_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D203_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D203_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D203_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D204_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D204_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D204_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D204_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D205_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D205_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D205_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D205_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D206_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D206_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D206_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D206_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D207_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D207_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D207_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D207_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D208_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D208_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D208_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D208_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D209_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D209_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D209_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D209_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D210_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D210_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D210_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D210_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D211_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D211_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D211_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D211_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D212_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D212_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D212_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D212_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D213_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D213_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D213_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D213_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D214_sections.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D214_sections.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D214_sections.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D214_sections.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D215_sections.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D215_sections.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D215_sections.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D215_sections.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D300_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D300_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D300_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D300_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D301_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D301_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D301_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D301_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D400_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D400_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D400_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D400_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D400_D400.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D400_D400.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D400_D400.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D400_D400.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D401_D401.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D401_D401.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D401_D401.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D401_D401.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D402_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D402_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D402_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D402_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D403_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D403_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D403_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D403_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D404_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D404_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D404_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D404_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D405_sections.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D405_sections.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D405_sections.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D405_sections.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D406_sections.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D406_sections.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D406_sections.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D406_sections.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D407_sections.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D407_sections.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D407_sections.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D407_sections.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D408_sections.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D408_sections.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D408_sections.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D408_sections.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D409_sections.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D409_sections.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D409_sections.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D409_sections.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D410_sections.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D410_sections.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D410_sections.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D410_sections.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D411_sections.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D411_sections.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D411_sections.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D411_sections.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D412_sections.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D412_sections.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D412_sections.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D412_sections.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D413_sections.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D413_sections.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D413_sections.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D413_sections.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D414_sections.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D414_sections.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D414_sections.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D414_sections.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D415_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D415_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D415_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D415_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D416_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D416_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D416_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D416_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D417_canonical_google_examples.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D417_canonical_google_examples.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D417_canonical_google_examples.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D417_canonical_google_examples.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D417_canonical_numpy_examples.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D417_canonical_numpy_examples.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D417_canonical_numpy_examples.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D417_canonical_numpy_examples.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D417_sections.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D417_sections.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D417_sections.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D417_sections.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D418_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D418_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D418_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D418_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D419_D.py.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D419_D.py.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D419_D.py.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__D419_D.py.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__d417_google.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__d417_google.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__d417_google.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__d417_google.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__d417_numpy.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__d417_numpy.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__d417_numpy.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__d417_numpy.snap diff --git a/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__d417_unspecified.snap b/crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__d417_unspecified.snap similarity index 100% rename from src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__d417_unspecified.snap rename to crates/ruff/src/rules/pydocstyle/snapshots/ruff__rules__pydocstyle__tests__d417_unspecified.snap diff --git a/src/rules/pyflakes/cformat.rs b/crates/ruff/src/rules/pyflakes/cformat.rs similarity index 100% rename from src/rules/pyflakes/cformat.rs rename to crates/ruff/src/rules/pyflakes/cformat.rs diff --git a/src/rules/pyflakes/fixes.rs b/crates/ruff/src/rules/pyflakes/fixes.rs similarity index 100% rename from src/rules/pyflakes/fixes.rs rename to crates/ruff/src/rules/pyflakes/fixes.rs diff --git a/src/rules/pyflakes/format.rs b/crates/ruff/src/rules/pyflakes/format.rs similarity index 100% rename from src/rules/pyflakes/format.rs rename to crates/ruff/src/rules/pyflakes/format.rs diff --git a/src/rules/pyflakes/mod.rs b/crates/ruff/src/rules/pyflakes/mod.rs similarity index 100% rename from src/rules/pyflakes/mod.rs rename to crates/ruff/src/rules/pyflakes/mod.rs diff --git a/src/rules/pyflakes/rules/assert_tuple.rs b/crates/ruff/src/rules/pyflakes/rules/assert_tuple.rs similarity index 100% rename from src/rules/pyflakes/rules/assert_tuple.rs rename to crates/ruff/src/rules/pyflakes/rules/assert_tuple.rs diff --git a/src/rules/pyflakes/rules/break_outside_loop.rs b/crates/ruff/src/rules/pyflakes/rules/break_outside_loop.rs similarity index 100% rename from src/rules/pyflakes/rules/break_outside_loop.rs rename to crates/ruff/src/rules/pyflakes/rules/break_outside_loop.rs diff --git a/src/rules/pyflakes/rules/continue_outside_loop.rs b/crates/ruff/src/rules/pyflakes/rules/continue_outside_loop.rs similarity index 100% rename from src/rules/pyflakes/rules/continue_outside_loop.rs rename to crates/ruff/src/rules/pyflakes/rules/continue_outside_loop.rs diff --git a/src/rules/pyflakes/rules/default_except_not_last.rs b/crates/ruff/src/rules/pyflakes/rules/default_except_not_last.rs similarity index 100% rename from src/rules/pyflakes/rules/default_except_not_last.rs rename to crates/ruff/src/rules/pyflakes/rules/default_except_not_last.rs diff --git a/src/rules/pyflakes/rules/f_string_missing_placeholders.rs b/crates/ruff/src/rules/pyflakes/rules/f_string_missing_placeholders.rs similarity index 100% rename from src/rules/pyflakes/rules/f_string_missing_placeholders.rs rename to crates/ruff/src/rules/pyflakes/rules/f_string_missing_placeholders.rs diff --git a/src/rules/pyflakes/rules/forward_annotation_syntax_error.rs b/crates/ruff/src/rules/pyflakes/rules/forward_annotation_syntax_error.rs similarity index 100% rename from src/rules/pyflakes/rules/forward_annotation_syntax_error.rs rename to crates/ruff/src/rules/pyflakes/rules/forward_annotation_syntax_error.rs diff --git a/src/rules/pyflakes/rules/if_tuple.rs b/crates/ruff/src/rules/pyflakes/rules/if_tuple.rs similarity index 100% rename from src/rules/pyflakes/rules/if_tuple.rs rename to crates/ruff/src/rules/pyflakes/rules/if_tuple.rs diff --git a/src/rules/pyflakes/rules/imports.rs b/crates/ruff/src/rules/pyflakes/rules/imports.rs similarity index 100% rename from src/rules/pyflakes/rules/imports.rs rename to crates/ruff/src/rules/pyflakes/rules/imports.rs diff --git a/src/rules/pyflakes/rules/invalid_literal_comparisons.rs b/crates/ruff/src/rules/pyflakes/rules/invalid_literal_comparisons.rs similarity index 100% rename from src/rules/pyflakes/rules/invalid_literal_comparisons.rs rename to crates/ruff/src/rules/pyflakes/rules/invalid_literal_comparisons.rs diff --git a/src/rules/pyflakes/rules/invalid_print_syntax.rs b/crates/ruff/src/rules/pyflakes/rules/invalid_print_syntax.rs similarity index 100% rename from src/rules/pyflakes/rules/invalid_print_syntax.rs rename to crates/ruff/src/rules/pyflakes/rules/invalid_print_syntax.rs diff --git a/src/rules/pyflakes/rules/mod.rs b/crates/ruff/src/rules/pyflakes/rules/mod.rs similarity index 100% rename from src/rules/pyflakes/rules/mod.rs rename to crates/ruff/src/rules/pyflakes/rules/mod.rs diff --git a/src/rules/pyflakes/rules/raise_not_implemented.rs b/crates/ruff/src/rules/pyflakes/rules/raise_not_implemented.rs similarity index 100% rename from src/rules/pyflakes/rules/raise_not_implemented.rs rename to crates/ruff/src/rules/pyflakes/rules/raise_not_implemented.rs diff --git a/src/rules/pyflakes/rules/redefined_while_unused.rs b/crates/ruff/src/rules/pyflakes/rules/redefined_while_unused.rs similarity index 100% rename from src/rules/pyflakes/rules/redefined_while_unused.rs rename to crates/ruff/src/rules/pyflakes/rules/redefined_while_unused.rs diff --git a/src/rules/pyflakes/rules/repeated_keys.rs b/crates/ruff/src/rules/pyflakes/rules/repeated_keys.rs similarity index 100% rename from src/rules/pyflakes/rules/repeated_keys.rs rename to crates/ruff/src/rules/pyflakes/rules/repeated_keys.rs diff --git a/src/rules/pyflakes/rules/return_outside_function.rs b/crates/ruff/src/rules/pyflakes/rules/return_outside_function.rs similarity index 100% rename from src/rules/pyflakes/rules/return_outside_function.rs rename to crates/ruff/src/rules/pyflakes/rules/return_outside_function.rs diff --git a/src/rules/pyflakes/rules/starred_expressions.rs b/crates/ruff/src/rules/pyflakes/rules/starred_expressions.rs similarity index 100% rename from src/rules/pyflakes/rules/starred_expressions.rs rename to crates/ruff/src/rules/pyflakes/rules/starred_expressions.rs diff --git a/src/rules/pyflakes/rules/strings.rs b/crates/ruff/src/rules/pyflakes/rules/strings.rs similarity index 100% rename from src/rules/pyflakes/rules/strings.rs rename to crates/ruff/src/rules/pyflakes/rules/strings.rs diff --git a/src/rules/pyflakes/rules/undefined_export.rs b/crates/ruff/src/rules/pyflakes/rules/undefined_export.rs similarity index 100% rename from src/rules/pyflakes/rules/undefined_export.rs rename to crates/ruff/src/rules/pyflakes/rules/undefined_export.rs diff --git a/src/rules/pyflakes/rules/undefined_local.rs b/crates/ruff/src/rules/pyflakes/rules/undefined_local.rs similarity index 100% rename from src/rules/pyflakes/rules/undefined_local.rs rename to crates/ruff/src/rules/pyflakes/rules/undefined_local.rs diff --git a/src/rules/pyflakes/rules/undefined_name.rs b/crates/ruff/src/rules/pyflakes/rules/undefined_name.rs similarity index 100% rename from src/rules/pyflakes/rules/undefined_name.rs rename to crates/ruff/src/rules/pyflakes/rules/undefined_name.rs diff --git a/src/rules/pyflakes/rules/unused_annotation.rs b/crates/ruff/src/rules/pyflakes/rules/unused_annotation.rs similarity index 100% rename from src/rules/pyflakes/rules/unused_annotation.rs rename to crates/ruff/src/rules/pyflakes/rules/unused_annotation.rs diff --git a/src/rules/pyflakes/rules/unused_variable.rs b/crates/ruff/src/rules/pyflakes/rules/unused_variable.rs similarity index 100% rename from src/rules/pyflakes/rules/unused_variable.rs rename to crates/ruff/src/rules/pyflakes/rules/unused_variable.rs diff --git a/src/rules/pyflakes/rules/yield_outside_function.rs b/crates/ruff/src/rules/pyflakes/rules/yield_outside_function.rs similarity index 100% rename from src/rules/pyflakes/rules/yield_outside_function.rs rename to crates/ruff/src/rules/pyflakes/rules/yield_outside_function.rs diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_0.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_0.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_0.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_0.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_1.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_1.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_1.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_1.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_2.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_2.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_2.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_2.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_3.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_3.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_3.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_3.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_4.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_4.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_4.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_4.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_5.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_5.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_5.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_5.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_6.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_6.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_6.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_6.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_7.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_7.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_7.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_7.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_8.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_8.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_8.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F401_F401_8.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F402_F402.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F402_F402.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F402_F402.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F402_F402.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F403_F403.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F403_F403.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F403_F403.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F403_F403.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F404_F404.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F404_F404.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F404_F404.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F404_F404.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F405_F405.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F405_F405.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F405_F405.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F405_F405.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F406_F406.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F406_F406.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F406_F406.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F406_F406.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F407_F407.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F407_F407.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F407_F407.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F407_F407.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F501_F50x.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F501_F50x.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F501_F50x.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F501_F50x.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F502_F502.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F502_F502.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F502_F502.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F502_F502.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F502_F50x.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F502_F50x.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F502_F50x.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F502_F50x.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F503_F503.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F503_F503.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F503_F503.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F503_F503.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F503_F50x.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F503_F50x.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F503_F50x.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F503_F50x.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F504_F504.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F504_F504.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F504_F504.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F504_F504.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F504_F50x.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F504_F50x.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F504_F50x.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F504_F50x.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F505_F504.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F505_F504.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F505_F504.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F505_F504.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F505_F50x.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F505_F50x.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F505_F50x.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F505_F50x.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F506_F50x.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F506_F50x.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F506_F50x.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F506_F50x.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F507_F50x.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F507_F50x.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F507_F50x.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F507_F50x.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F508_F50x.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F508_F50x.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F508_F50x.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F508_F50x.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F509_F50x.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F509_F50x.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F509_F50x.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F509_F50x.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F521_F521.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F521_F521.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F521_F521.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F521_F521.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F522_F522.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F522_F522.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F522_F522.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F522_F522.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F523_F523.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F523_F523.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F523_F523.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F523_F523.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F524_F524.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F524_F524.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F524_F524.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F524_F524.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F525_F525.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F525_F525.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F525_F525.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F525_F525.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F541_F541.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F541_F541.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F541_F541.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F541_F541.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F601_F601.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F601_F601.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F601_F601.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F601_F601.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F602_F602.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F602_F602.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F602_F602.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F602_F602.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F622_F622.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F622_F622.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F622_F622.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F622_F622.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F631_F631.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F631_F631.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F631_F631.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F631_F631.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F632_F632.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F632_F632.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F632_F632.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F632_F632.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F633_F633.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F633_F633.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F633_F633.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F633_F633.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F634_F634.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F634_F634.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F634_F634.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F634_F634.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F701_F701.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F701_F701.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F701_F701.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F701_F701.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F702_F702.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F702_F702.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F702_F702.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F702_F702.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F704_F704.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F704_F704.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F704_F704.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F704_F704.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F706_F706.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F706_F706.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F706_F706.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F706_F706.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F707_F707.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F707_F707.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F707_F707.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F707_F707.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F722_F722.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F722_F722.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F722_F722.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F722_F722.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_0.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_0.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_0.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_0.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_1.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_1.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_1.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_1.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_10.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_10.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_10.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_10.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_11.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_11.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_11.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_11.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_12.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_12.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_12.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_12.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_13.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_13.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_13.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_13.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_14.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_14.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_14.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_14.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_15.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_15.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_15.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_15.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_16.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_16.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_16.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_16.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_17.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_17.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_17.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_17.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_18.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_18.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_18.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_18.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_19.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_19.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_19.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_19.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_2.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_2.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_2.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_2.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_20.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_20.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_20.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_20.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_21.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_21.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_21.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_21.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_3.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_3.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_3.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_3.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_4.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_4.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_4.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_4.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_5.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_5.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_5.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_5.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_6.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_6.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_6.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_6.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_7.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_7.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_7.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_7.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_8.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_8.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_8.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_8.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_9.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_9.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_9.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F811_F811_9.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_0.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_0.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_0.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_0.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_1.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_1.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_1.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_1.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_2.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_2.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_2.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_2.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_3.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_3.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_3.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_3.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_4.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_4.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_4.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_4.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_5.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_5.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_5.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_5.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_6.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_6.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_6.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_6.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_7.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_7.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_7.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_7.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_8.pyi.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_8.pyi.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_8.pyi.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F821_F821_8.pyi.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F822_F822_0.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F822_F822_0.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F822_F822_0.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F822_F822_0.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F822_F822_1.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F822_F822_1.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F822_F822_1.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F822_F822_1.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F823_F823.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F823_F823.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F823_F823.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F823_F823.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_0.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_0.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_0.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_0.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_1.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_1.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_1.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_1.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_2.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_2.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_2.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_2.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_3.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_3.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_3.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F841_F841_3.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F842_F842.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F842_F842.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F842_F842.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F842_F842.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F901_F901.py.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F901_F901.py.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F901_F901.py.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__F901_F901.py.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__default_builtins.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__default_builtins.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__default_builtins.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__default_builtins.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__default_typing_modules.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__default_typing_modules.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__default_typing_modules.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__default_typing_modules.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__extra_builtins.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__extra_builtins.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__extra_builtins.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__extra_builtins.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__extra_typing_modules.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__extra_typing_modules.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__extra_typing_modules.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__extra_typing_modules.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__f841_dummy_variable_rgx.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__f841_dummy_variable_rgx.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__f841_dummy_variable_rgx.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__f841_dummy_variable_rgx.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__future_annotations.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__future_annotations.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__future_annotations.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__future_annotations.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__init.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__init.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__init.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__init.snap diff --git a/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__multi_statement_lines.snap b/crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__multi_statement_lines.snap similarity index 100% rename from src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__multi_statement_lines.snap rename to crates/ruff/src/rules/pyflakes/snapshots/ruff__rules__pyflakes__tests__multi_statement_lines.snap diff --git a/src/rules/pygrep_hooks/mod.rs b/crates/ruff/src/rules/pygrep_hooks/mod.rs similarity index 100% rename from src/rules/pygrep_hooks/mod.rs rename to crates/ruff/src/rules/pygrep_hooks/mod.rs diff --git a/src/rules/pygrep_hooks/rules/blanket_noqa.rs b/crates/ruff/src/rules/pygrep_hooks/rules/blanket_noqa.rs similarity index 100% rename from src/rules/pygrep_hooks/rules/blanket_noqa.rs rename to crates/ruff/src/rules/pygrep_hooks/rules/blanket_noqa.rs diff --git a/src/rules/pygrep_hooks/rules/blanket_type_ignore.rs b/crates/ruff/src/rules/pygrep_hooks/rules/blanket_type_ignore.rs similarity index 100% rename from src/rules/pygrep_hooks/rules/blanket_type_ignore.rs rename to crates/ruff/src/rules/pygrep_hooks/rules/blanket_type_ignore.rs diff --git a/src/rules/pygrep_hooks/rules/deprecated_log_warn.rs b/crates/ruff/src/rules/pygrep_hooks/rules/deprecated_log_warn.rs similarity index 100% rename from src/rules/pygrep_hooks/rules/deprecated_log_warn.rs rename to crates/ruff/src/rules/pygrep_hooks/rules/deprecated_log_warn.rs diff --git a/src/rules/pygrep_hooks/rules/mod.rs b/crates/ruff/src/rules/pygrep_hooks/rules/mod.rs similarity index 100% rename from src/rules/pygrep_hooks/rules/mod.rs rename to crates/ruff/src/rules/pygrep_hooks/rules/mod.rs diff --git a/src/rules/pygrep_hooks/rules/no_eval.rs b/crates/ruff/src/rules/pygrep_hooks/rules/no_eval.rs similarity index 100% rename from src/rules/pygrep_hooks/rules/no_eval.rs rename to crates/ruff/src/rules/pygrep_hooks/rules/no_eval.rs diff --git a/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH001_PGH001_0.py.snap b/crates/ruff/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH001_PGH001_0.py.snap similarity index 100% rename from src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH001_PGH001_0.py.snap rename to crates/ruff/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH001_PGH001_0.py.snap diff --git a/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH001_PGH001_1.py.snap b/crates/ruff/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH001_PGH001_1.py.snap similarity index 100% rename from src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH001_PGH001_1.py.snap rename to crates/ruff/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH001_PGH001_1.py.snap diff --git a/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH002_PGH002_0.py.snap b/crates/ruff/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH002_PGH002_0.py.snap similarity index 100% rename from src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH002_PGH002_0.py.snap rename to crates/ruff/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH002_PGH002_0.py.snap diff --git a/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH002_PGH002_1.py.snap b/crates/ruff/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH002_PGH002_1.py.snap similarity index 100% rename from src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH002_PGH002_1.py.snap rename to crates/ruff/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH002_PGH002_1.py.snap diff --git a/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH003_PGH003_0.py.snap b/crates/ruff/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH003_PGH003_0.py.snap similarity index 100% rename from src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH003_PGH003_0.py.snap rename to crates/ruff/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH003_PGH003_0.py.snap diff --git a/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH004_PGH004_0.py.snap b/crates/ruff/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH004_PGH004_0.py.snap similarity index 100% rename from src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH004_PGH004_0.py.snap rename to crates/ruff/src/rules/pygrep_hooks/snapshots/ruff__rules__pygrep_hooks__tests__PGH004_PGH004_0.py.snap diff --git a/src/rules/pylint/mod.rs b/crates/ruff/src/rules/pylint/mod.rs similarity index 100% rename from src/rules/pylint/mod.rs rename to crates/ruff/src/rules/pylint/mod.rs diff --git a/src/rules/pylint/rules/await_outside_async.rs b/crates/ruff/src/rules/pylint/rules/await_outside_async.rs similarity index 100% rename from src/rules/pylint/rules/await_outside_async.rs rename to crates/ruff/src/rules/pylint/rules/await_outside_async.rs diff --git a/src/rules/pylint/rules/comparison_of_constant.rs b/crates/ruff/src/rules/pylint/rules/comparison_of_constant.rs similarity index 100% rename from src/rules/pylint/rules/comparison_of_constant.rs rename to crates/ruff/src/rules/pylint/rules/comparison_of_constant.rs diff --git a/src/rules/pylint/rules/consider_using_sys_exit.rs b/crates/ruff/src/rules/pylint/rules/consider_using_sys_exit.rs similarity index 100% rename from src/rules/pylint/rules/consider_using_sys_exit.rs rename to crates/ruff/src/rules/pylint/rules/consider_using_sys_exit.rs diff --git a/src/rules/pylint/rules/global_variable_not_assigned.rs b/crates/ruff/src/rules/pylint/rules/global_variable_not_assigned.rs similarity index 100% rename from src/rules/pylint/rules/global_variable_not_assigned.rs rename to crates/ruff/src/rules/pylint/rules/global_variable_not_assigned.rs diff --git a/src/rules/pylint/rules/invalid_all_format.rs b/crates/ruff/src/rules/pylint/rules/invalid_all_format.rs similarity index 100% rename from src/rules/pylint/rules/invalid_all_format.rs rename to crates/ruff/src/rules/pylint/rules/invalid_all_format.rs diff --git a/src/rules/pylint/rules/invalid_all_object.rs b/crates/ruff/src/rules/pylint/rules/invalid_all_object.rs similarity index 100% rename from src/rules/pylint/rules/invalid_all_object.rs rename to crates/ruff/src/rules/pylint/rules/invalid_all_object.rs diff --git a/src/rules/pylint/rules/magic_value_comparison.rs b/crates/ruff/src/rules/pylint/rules/magic_value_comparison.rs similarity index 100% rename from src/rules/pylint/rules/magic_value_comparison.rs rename to crates/ruff/src/rules/pylint/rules/magic_value_comparison.rs diff --git a/src/rules/pylint/rules/merge_isinstance.rs b/crates/ruff/src/rules/pylint/rules/merge_isinstance.rs similarity index 100% rename from src/rules/pylint/rules/merge_isinstance.rs rename to crates/ruff/src/rules/pylint/rules/merge_isinstance.rs diff --git a/src/rules/pylint/rules/mod.rs b/crates/ruff/src/rules/pylint/rules/mod.rs similarity index 100% rename from src/rules/pylint/rules/mod.rs rename to crates/ruff/src/rules/pylint/rules/mod.rs diff --git a/src/rules/pylint/rules/nonlocal_without_binding.rs b/crates/ruff/src/rules/pylint/rules/nonlocal_without_binding.rs similarity index 100% rename from src/rules/pylint/rules/nonlocal_without_binding.rs rename to crates/ruff/src/rules/pylint/rules/nonlocal_without_binding.rs diff --git a/src/rules/pylint/rules/property_with_parameters.rs b/crates/ruff/src/rules/pylint/rules/property_with_parameters.rs similarity index 100% rename from src/rules/pylint/rules/property_with_parameters.rs rename to crates/ruff/src/rules/pylint/rules/property_with_parameters.rs diff --git a/src/rules/pylint/rules/too_many_arguments.rs b/crates/ruff/src/rules/pylint/rules/too_many_arguments.rs similarity index 100% rename from src/rules/pylint/rules/too_many_arguments.rs rename to crates/ruff/src/rules/pylint/rules/too_many_arguments.rs diff --git a/src/rules/pylint/rules/too_many_branches.rs b/crates/ruff/src/rules/pylint/rules/too_many_branches.rs similarity index 100% rename from src/rules/pylint/rules/too_many_branches.rs rename to crates/ruff/src/rules/pylint/rules/too_many_branches.rs diff --git a/src/rules/pylint/rules/too_many_return_statements.rs b/crates/ruff/src/rules/pylint/rules/too_many_return_statements.rs similarity index 100% rename from src/rules/pylint/rules/too_many_return_statements.rs rename to crates/ruff/src/rules/pylint/rules/too_many_return_statements.rs diff --git a/src/rules/pylint/rules/too_many_statements.rs b/crates/ruff/src/rules/pylint/rules/too_many_statements.rs similarity index 100% rename from src/rules/pylint/rules/too_many_statements.rs rename to crates/ruff/src/rules/pylint/rules/too_many_statements.rs diff --git a/src/rules/pylint/rules/unnecessary_direct_lambda_call.rs b/crates/ruff/src/rules/pylint/rules/unnecessary_direct_lambda_call.rs similarity index 100% rename from src/rules/pylint/rules/unnecessary_direct_lambda_call.rs rename to crates/ruff/src/rules/pylint/rules/unnecessary_direct_lambda_call.rs diff --git a/src/rules/pylint/rules/use_from_import.rs b/crates/ruff/src/rules/pylint/rules/use_from_import.rs similarity index 100% rename from src/rules/pylint/rules/use_from_import.rs rename to crates/ruff/src/rules/pylint/rules/use_from_import.rs diff --git a/src/rules/pylint/rules/used_prior_global_declaration.rs b/crates/ruff/src/rules/pylint/rules/used_prior_global_declaration.rs similarity index 100% rename from src/rules/pylint/rules/used_prior_global_declaration.rs rename to crates/ruff/src/rules/pylint/rules/used_prior_global_declaration.rs diff --git a/src/rules/pylint/rules/useless_else_on_loop.rs b/crates/ruff/src/rules/pylint/rules/useless_else_on_loop.rs similarity index 100% rename from src/rules/pylint/rules/useless_else_on_loop.rs rename to crates/ruff/src/rules/pylint/rules/useless_else_on_loop.rs diff --git a/src/rules/pylint/rules/useless_import_alias.rs b/crates/ruff/src/rules/pylint/rules/useless_import_alias.rs similarity index 100% rename from src/rules/pylint/rules/useless_import_alias.rs rename to crates/ruff/src/rules/pylint/rules/useless_import_alias.rs diff --git a/src/rules/pylint/settings.rs b/crates/ruff/src/rules/pylint/settings.rs similarity index 100% rename from src/rules/pylint/settings.rs rename to crates/ruff/src/rules/pylint/settings.rs diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLC0414_import_aliasing.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLC0414_import_aliasing.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLC0414_import_aliasing.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLC0414_import_aliasing.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLC3002_unnecessary_direct_lambda_call.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLC3002_unnecessary_direct_lambda_call.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLC3002_unnecessary_direct_lambda_call.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLC3002_unnecessary_direct_lambda_call.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0117_nonlocal_without_binding.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0117_nonlocal_without_binding.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0117_nonlocal_without_binding.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0117_nonlocal_without_binding.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0118_used_prior_global_declaration.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0118_used_prior_global_declaration.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0118_used_prior_global_declaration.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0118_used_prior_global_declaration.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0604_invalid_all_object.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0604_invalid_all_object.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0604_invalid_all_object.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0604_invalid_all_object.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0605_invalid_all_format.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0605_invalid_all_format.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0605_invalid_all_format.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE0605_invalid_all_format.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE1142_await_outside_async.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE1142_await_outside_async.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE1142_await_outside_async.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLE1142_await_outside_async.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0133_comparison_of_constant.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0133_comparison_of_constant.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0133_comparison_of_constant.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0133_comparison_of_constant.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0206_property_with_parameters.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0206_property_with_parameters.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0206_property_with_parameters.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0206_property_with_parameters.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0402_import_aliasing.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0402_import_aliasing.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0402_import_aliasing.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0402_import_aliasing.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0911_too_many_return_statements.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0911_too_many_return_statements.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0911_too_many_return_statements.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0911_too_many_return_statements.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0912_too_many_branches.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0912_too_many_branches.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0912_too_many_branches.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0912_too_many_branches.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0913_too_many_arguments.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0913_too_many_arguments.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0913_too_many_arguments.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0913_too_many_arguments.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0915_too_many_statements.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0915_too_many_statements.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0915_too_many_statements.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR0915_too_many_statements.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1701_consider_merging_isinstance.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1701_consider_merging_isinstance.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1701_consider_merging_isinstance.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1701_consider_merging_isinstance.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_0.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_0.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_0.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_0.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_1.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_1.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_1.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_1.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_2.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_2.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_2.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_2.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_3.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_3.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_3.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_3.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_4.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_4.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_4.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_4.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_5.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_5.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_5.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_5.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_6.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_6.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_6.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR1722_consider_using_sys_exit_6.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR2004_magic_value_comparison.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR2004_magic_value_comparison.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR2004_magic_value_comparison.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLR2004_magic_value_comparison.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLW0120_useless_else_on_loop.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLW0120_useless_else_on_loop.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLW0120_useless_else_on_loop.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLW0120_useless_else_on_loop.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLW0602_global_variable_not_assigned.py.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLW0602_global_variable_not_assigned.py.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLW0602_global_variable_not_assigned.py.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__PLW0602_global_variable_not_assigned.py.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__allow_magic_value_types.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__allow_magic_value_types.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__allow_magic_value_types.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__allow_magic_value_types.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_args.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_args.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_args.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_args.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_args_with_dummy_variables.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_args_with_dummy_variables.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_args_with_dummy_variables.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_args_with_dummy_variables.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_branches.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_branches.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_branches.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_branches.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_return_statements.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_return_statements.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_return_statements.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_return_statements.snap diff --git a/src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_statements.snap b/crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_statements.snap similarity index 100% rename from src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_statements.snap rename to crates/ruff/src/rules/pylint/snapshots/ruff__rules__pylint__tests__max_statements.snap diff --git a/src/rules/pyupgrade/fixes.rs b/crates/ruff/src/rules/pyupgrade/fixes.rs similarity index 100% rename from src/rules/pyupgrade/fixes.rs rename to crates/ruff/src/rules/pyupgrade/fixes.rs diff --git a/src/rules/pyupgrade/helpers.rs b/crates/ruff/src/rules/pyupgrade/helpers.rs similarity index 100% rename from src/rules/pyupgrade/helpers.rs rename to crates/ruff/src/rules/pyupgrade/helpers.rs diff --git a/src/rules/pyupgrade/mod.rs b/crates/ruff/src/rules/pyupgrade/mod.rs similarity index 100% rename from src/rules/pyupgrade/mod.rs rename to crates/ruff/src/rules/pyupgrade/mod.rs diff --git a/src/rules/pyupgrade/rules/convert_named_tuple_functional_to_class.rs b/crates/ruff/src/rules/pyupgrade/rules/convert_named_tuple_functional_to_class.rs similarity index 100% rename from src/rules/pyupgrade/rules/convert_named_tuple_functional_to_class.rs rename to crates/ruff/src/rules/pyupgrade/rules/convert_named_tuple_functional_to_class.rs diff --git a/src/rules/pyupgrade/rules/convert_typed_dict_functional_to_class.rs b/crates/ruff/src/rules/pyupgrade/rules/convert_typed_dict_functional_to_class.rs similarity index 100% rename from src/rules/pyupgrade/rules/convert_typed_dict_functional_to_class.rs rename to crates/ruff/src/rules/pyupgrade/rules/convert_typed_dict_functional_to_class.rs diff --git a/src/rules/pyupgrade/rules/datetime_utc_alias.rs b/crates/ruff/src/rules/pyupgrade/rules/datetime_utc_alias.rs similarity index 100% rename from src/rules/pyupgrade/rules/datetime_utc_alias.rs rename to crates/ruff/src/rules/pyupgrade/rules/datetime_utc_alias.rs diff --git a/src/rules/pyupgrade/rules/deprecated_unittest_alias.rs b/crates/ruff/src/rules/pyupgrade/rules/deprecated_unittest_alias.rs similarity index 100% rename from src/rules/pyupgrade/rules/deprecated_unittest_alias.rs rename to crates/ruff/src/rules/pyupgrade/rules/deprecated_unittest_alias.rs diff --git a/src/rules/pyupgrade/rules/extraneous_parentheses.rs b/crates/ruff/src/rules/pyupgrade/rules/extraneous_parentheses.rs similarity index 100% rename from src/rules/pyupgrade/rules/extraneous_parentheses.rs rename to crates/ruff/src/rules/pyupgrade/rules/extraneous_parentheses.rs diff --git a/src/rules/pyupgrade/rules/f_strings.rs b/crates/ruff/src/rules/pyupgrade/rules/f_strings.rs similarity index 100% rename from src/rules/pyupgrade/rules/f_strings.rs rename to crates/ruff/src/rules/pyupgrade/rules/f_strings.rs diff --git a/src/rules/pyupgrade/rules/format_literals.rs b/crates/ruff/src/rules/pyupgrade/rules/format_literals.rs similarity index 100% rename from src/rules/pyupgrade/rules/format_literals.rs rename to crates/ruff/src/rules/pyupgrade/rules/format_literals.rs diff --git a/src/rules/pyupgrade/rules/functools_cache.rs b/crates/ruff/src/rules/pyupgrade/rules/functools_cache.rs similarity index 100% rename from src/rules/pyupgrade/rules/functools_cache.rs rename to crates/ruff/src/rules/pyupgrade/rules/functools_cache.rs diff --git a/src/rules/pyupgrade/rules/import_replacements.rs b/crates/ruff/src/rules/pyupgrade/rules/import_replacements.rs similarity index 100% rename from src/rules/pyupgrade/rules/import_replacements.rs rename to crates/ruff/src/rules/pyupgrade/rules/import_replacements.rs diff --git a/src/rules/pyupgrade/rules/lru_cache_without_parameters.rs b/crates/ruff/src/rules/pyupgrade/rules/lru_cache_without_parameters.rs similarity index 100% rename from src/rules/pyupgrade/rules/lru_cache_without_parameters.rs rename to crates/ruff/src/rules/pyupgrade/rules/lru_cache_without_parameters.rs diff --git a/src/rules/pyupgrade/rules/mod.rs b/crates/ruff/src/rules/pyupgrade/rules/mod.rs similarity index 100% rename from src/rules/pyupgrade/rules/mod.rs rename to crates/ruff/src/rules/pyupgrade/rules/mod.rs diff --git a/src/rules/pyupgrade/rules/native_literals.rs b/crates/ruff/src/rules/pyupgrade/rules/native_literals.rs similarity index 100% rename from src/rules/pyupgrade/rules/native_literals.rs rename to crates/ruff/src/rules/pyupgrade/rules/native_literals.rs diff --git a/src/rules/pyupgrade/rules/open_alias.rs b/crates/ruff/src/rules/pyupgrade/rules/open_alias.rs similarity index 100% rename from src/rules/pyupgrade/rules/open_alias.rs rename to crates/ruff/src/rules/pyupgrade/rules/open_alias.rs diff --git a/src/rules/pyupgrade/rules/os_error_alias.rs b/crates/ruff/src/rules/pyupgrade/rules/os_error_alias.rs similarity index 100% rename from src/rules/pyupgrade/rules/os_error_alias.rs rename to crates/ruff/src/rules/pyupgrade/rules/os_error_alias.rs diff --git a/src/rules/pyupgrade/rules/outdated_version_block.rs b/crates/ruff/src/rules/pyupgrade/rules/outdated_version_block.rs similarity index 100% rename from src/rules/pyupgrade/rules/outdated_version_block.rs rename to crates/ruff/src/rules/pyupgrade/rules/outdated_version_block.rs diff --git a/src/rules/pyupgrade/rules/printf_string_formatting.rs b/crates/ruff/src/rules/pyupgrade/rules/printf_string_formatting.rs similarity index 100% rename from src/rules/pyupgrade/rules/printf_string_formatting.rs rename to crates/ruff/src/rules/pyupgrade/rules/printf_string_formatting.rs diff --git a/src/rules/pyupgrade/rules/quoted_annotation.rs b/crates/ruff/src/rules/pyupgrade/rules/quoted_annotation.rs similarity index 100% rename from src/rules/pyupgrade/rules/quoted_annotation.rs rename to crates/ruff/src/rules/pyupgrade/rules/quoted_annotation.rs diff --git a/src/rules/pyupgrade/rules/redundant_open_modes.rs b/crates/ruff/src/rules/pyupgrade/rules/redundant_open_modes.rs similarity index 100% rename from src/rules/pyupgrade/rules/redundant_open_modes.rs rename to crates/ruff/src/rules/pyupgrade/rules/redundant_open_modes.rs diff --git a/src/rules/pyupgrade/rules/replace_stdout_stderr.rs b/crates/ruff/src/rules/pyupgrade/rules/replace_stdout_stderr.rs similarity index 100% rename from src/rules/pyupgrade/rules/replace_stdout_stderr.rs rename to crates/ruff/src/rules/pyupgrade/rules/replace_stdout_stderr.rs diff --git a/src/rules/pyupgrade/rules/replace_universal_newlines.rs b/crates/ruff/src/rules/pyupgrade/rules/replace_universal_newlines.rs similarity index 100% rename from src/rules/pyupgrade/rules/replace_universal_newlines.rs rename to crates/ruff/src/rules/pyupgrade/rules/replace_universal_newlines.rs diff --git a/src/rules/pyupgrade/rules/rewrite_c_element_tree.rs b/crates/ruff/src/rules/pyupgrade/rules/rewrite_c_element_tree.rs similarity index 100% rename from src/rules/pyupgrade/rules/rewrite_c_element_tree.rs rename to crates/ruff/src/rules/pyupgrade/rules/rewrite_c_element_tree.rs diff --git a/src/rules/pyupgrade/rules/rewrite_mock_import.rs b/crates/ruff/src/rules/pyupgrade/rules/rewrite_mock_import.rs similarity index 100% rename from src/rules/pyupgrade/rules/rewrite_mock_import.rs rename to crates/ruff/src/rules/pyupgrade/rules/rewrite_mock_import.rs diff --git a/src/rules/pyupgrade/rules/rewrite_unicode_literal.rs b/crates/ruff/src/rules/pyupgrade/rules/rewrite_unicode_literal.rs similarity index 100% rename from src/rules/pyupgrade/rules/rewrite_unicode_literal.rs rename to crates/ruff/src/rules/pyupgrade/rules/rewrite_unicode_literal.rs diff --git a/src/rules/pyupgrade/rules/rewrite_yield_from.rs b/crates/ruff/src/rules/pyupgrade/rules/rewrite_yield_from.rs similarity index 100% rename from src/rules/pyupgrade/rules/rewrite_yield_from.rs rename to crates/ruff/src/rules/pyupgrade/rules/rewrite_yield_from.rs diff --git a/src/rules/pyupgrade/rules/super_args.rs b/crates/ruff/src/rules/pyupgrade/rules/super_args.rs similarity index 100% rename from src/rules/pyupgrade/rules/super_args.rs rename to crates/ruff/src/rules/pyupgrade/rules/super_args.rs diff --git a/src/rules/pyupgrade/rules/super_call_with_parameters.rs b/crates/ruff/src/rules/pyupgrade/rules/super_call_with_parameters.rs similarity index 100% rename from src/rules/pyupgrade/rules/super_call_with_parameters.rs rename to crates/ruff/src/rules/pyupgrade/rules/super_call_with_parameters.rs diff --git a/src/rules/pyupgrade/rules/type_of_primitive.rs b/crates/ruff/src/rules/pyupgrade/rules/type_of_primitive.rs similarity index 100% rename from src/rules/pyupgrade/rules/type_of_primitive.rs rename to crates/ruff/src/rules/pyupgrade/rules/type_of_primitive.rs diff --git a/src/rules/pyupgrade/rules/typing_text_str_alias.rs b/crates/ruff/src/rules/pyupgrade/rules/typing_text_str_alias.rs similarity index 100% rename from src/rules/pyupgrade/rules/typing_text_str_alias.rs rename to crates/ruff/src/rules/pyupgrade/rules/typing_text_str_alias.rs diff --git a/src/rules/pyupgrade/rules/unnecessary_builtin_import.rs b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_builtin_import.rs similarity index 100% rename from src/rules/pyupgrade/rules/unnecessary_builtin_import.rs rename to crates/ruff/src/rules/pyupgrade/rules/unnecessary_builtin_import.rs diff --git a/src/rules/pyupgrade/rules/unnecessary_coding_comment.rs b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_coding_comment.rs similarity index 100% rename from src/rules/pyupgrade/rules/unnecessary_coding_comment.rs rename to crates/ruff/src/rules/pyupgrade/rules/unnecessary_coding_comment.rs diff --git a/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs similarity index 100% rename from src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs rename to crates/ruff/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs diff --git a/src/rules/pyupgrade/rules/unnecessary_future_import.rs b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_future_import.rs similarity index 100% rename from src/rules/pyupgrade/rules/unnecessary_future_import.rs rename to crates/ruff/src/rules/pyupgrade/rules/unnecessary_future_import.rs diff --git a/src/rules/pyupgrade/rules/unpack_list_comprehension.rs b/crates/ruff/src/rules/pyupgrade/rules/unpack_list_comprehension.rs similarity index 100% rename from src/rules/pyupgrade/rules/unpack_list_comprehension.rs rename to crates/ruff/src/rules/pyupgrade/rules/unpack_list_comprehension.rs diff --git a/src/rules/pyupgrade/rules/use_pep585_annotation.rs b/crates/ruff/src/rules/pyupgrade/rules/use_pep585_annotation.rs similarity index 100% rename from src/rules/pyupgrade/rules/use_pep585_annotation.rs rename to crates/ruff/src/rules/pyupgrade/rules/use_pep585_annotation.rs diff --git a/src/rules/pyupgrade/rules/use_pep604_annotation.rs b/crates/ruff/src/rules/pyupgrade/rules/use_pep604_annotation.rs similarity index 100% rename from src/rules/pyupgrade/rules/use_pep604_annotation.rs rename to crates/ruff/src/rules/pyupgrade/rules/use_pep604_annotation.rs diff --git a/src/rules/pyupgrade/rules/useless_metaclass_type.rs b/crates/ruff/src/rules/pyupgrade/rules/useless_metaclass_type.rs similarity index 100% rename from src/rules/pyupgrade/rules/useless_metaclass_type.rs rename to crates/ruff/src/rules/pyupgrade/rules/useless_metaclass_type.rs diff --git a/src/rules/pyupgrade/rules/useless_object_inheritance.rs b/crates/ruff/src/rules/pyupgrade/rules/useless_object_inheritance.rs similarity index 100% rename from src/rules/pyupgrade/rules/useless_object_inheritance.rs rename to crates/ruff/src/rules/pyupgrade/rules/useless_object_inheritance.rs diff --git a/src/rules/pyupgrade/settings.rs b/crates/ruff/src/rules/pyupgrade/settings.rs similarity index 100% rename from src/rules/pyupgrade/settings.rs rename to crates/ruff/src/rules/pyupgrade/settings.rs diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP001_UP001.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP001_UP001.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP001_UP001.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP001_UP001.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP003_UP003.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP003_UP003.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP003_UP003.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP003_UP003.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP004_UP004.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP004_UP004.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP004_UP004.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP004_UP004.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP005_UP005.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP005_UP005.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP005_UP005.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP005_UP005.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP006_UP006.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP006_UP006.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP006_UP006.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP006_UP006.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP007_UP007.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP007_UP007.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP007_UP007.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP007_UP007.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP008_UP008.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP008_UP008.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP008_UP008.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP008_UP008.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_0.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_0.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_0.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_0.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_1.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_1.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_1.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_1.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_2.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_2.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_2.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_2.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_3.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_3.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_3.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_3.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_4.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_4.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_4.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP009_UP009_4.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP010_UP010.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP010_UP010.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP010_UP010.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP010_UP010.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP011_UP011.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP011_UP011.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP011_UP011.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP011_UP011.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP012_UP012.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP012_UP012.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP012_UP012.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP012_UP012.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP013_UP013.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP013_UP013.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP013_UP013.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP013_UP013.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP014_UP014.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP014_UP014.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP014_UP014.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP014_UP014.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP015_UP015.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP015_UP015.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP015_UP015.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP015_UP015.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP018_UP018.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP018_UP018.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP018_UP018.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP018_UP018.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP019_UP019.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP019_UP019.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP019_UP019.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP019_UP019.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP021_UP021.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP021_UP021.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP021_UP021.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP021_UP021.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP022_UP022.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP022_UP022.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP022_UP022.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP022_UP022.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP023_UP023.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP023_UP023.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP023_UP023.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP023_UP023.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_0.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_0.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_0.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_0.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_1.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_1.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_1.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_1.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_2.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_2.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_2.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_2.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_3.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_3.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_3.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP024_UP024_3.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP025_UP025.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP025_UP025.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP025_UP025.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP025_UP025.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP026_UP026.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP026_UP026.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP026_UP026.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP026_UP026.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP027_UP027.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP027_UP027.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP027_UP027.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP027_UP027.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP028_UP028_0.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP028_UP028_0.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP028_UP028_0.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP028_UP028_0.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP028_UP028_1.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP028_UP028_1.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP028_UP028_1.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP028_UP028_1.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP029_UP029.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP029_UP029.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP029_UP029.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP029_UP029.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP030_UP030_0.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP030_UP030_0.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP030_UP030_0.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP030_UP030_0.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP030_UP030_1.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP030_UP030_1.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP030_UP030_1.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP030_UP030_1.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP030_UP030_2.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP030_UP030_2.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP030_UP030_2.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP030_UP030_2.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP031_UP031_0.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP031_UP031_0.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP031_UP031_0.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP031_UP031_0.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP031_UP031_1.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP031_UP031_1.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP031_UP031_1.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP031_UP031_1.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP032_UP032.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP032_UP032.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP032_UP032.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP032_UP032.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP033_UP033.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP033_UP033.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP033_UP033.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP033_UP033.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP034_UP034.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP034_UP034.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP034_UP034.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP034_UP034.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP035_UP035.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP035_UP035.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP035_UP035.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP035_UP035.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_0.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_0.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_0.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_0.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_1.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_1.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_1.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_1.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_2.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_2.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_2.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_2.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_3.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_3.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_3.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_3.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_4.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_4.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_4.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP036_UP036_4.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP037_UP037.py.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP037_UP037.py.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP037_UP037.py.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__UP037_UP037.py.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__datetime_utc_alias_py311.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__datetime_utc_alias_py311.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__datetime_utc_alias_py311.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__datetime_utc_alias_py311.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_585_p37.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_585_p37.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_585_p37.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_585_p37.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_585_py310.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_585_py310.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_585_py310.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_585_py310.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_604_p37.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_604_p37.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_604_p37.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_604_p37.snap diff --git a/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_604_py310.snap b/crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_604_py310.snap similarity index 100% rename from src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_604_py310.snap rename to crates/ruff/src/rules/pyupgrade/snapshots/ruff__rules__pyupgrade__tests__future_annotations_pep_604_py310.snap diff --git a/src/rules/pyupgrade/types.rs b/crates/ruff/src/rules/pyupgrade/types.rs similarity index 100% rename from src/rules/pyupgrade/types.rs rename to crates/ruff/src/rules/pyupgrade/types.rs diff --git a/src/rules/ruff/mod.rs b/crates/ruff/src/rules/ruff/mod.rs similarity index 100% rename from src/rules/ruff/mod.rs rename to crates/ruff/src/rules/ruff/mod.rs diff --git a/src/rules/ruff/rules/ambiguous_unicode_character.rs b/crates/ruff/src/rules/ruff/rules/ambiguous_unicode_character.rs similarity index 100% rename from src/rules/ruff/rules/ambiguous_unicode_character.rs rename to crates/ruff/src/rules/ruff/rules/ambiguous_unicode_character.rs diff --git a/src/rules/ruff/rules/keyword_argument_before_star_argument.rs b/crates/ruff/src/rules/ruff/rules/keyword_argument_before_star_argument.rs similarity index 100% rename from src/rules/ruff/rules/keyword_argument_before_star_argument.rs rename to crates/ruff/src/rules/ruff/rules/keyword_argument_before_star_argument.rs diff --git a/src/rules/ruff/rules/mod.rs b/crates/ruff/src/rules/ruff/rules/mod.rs similarity index 100% rename from src/rules/ruff/rules/mod.rs rename to crates/ruff/src/rules/ruff/rules/mod.rs diff --git a/src/rules/ruff/rules/unpack_instead_of_concatenating_to_collection_literal.rs b/crates/ruff/src/rules/ruff/rules/unpack_instead_of_concatenating_to_collection_literal.rs similarity index 100% rename from src/rules/ruff/rules/unpack_instead_of_concatenating_to_collection_literal.rs rename to crates/ruff/src/rules/ruff/rules/unpack_instead_of_concatenating_to_collection_literal.rs diff --git a/src/rules/ruff/rules/unused_noqa.rs b/crates/ruff/src/rules/ruff/rules/unused_noqa.rs similarity index 100% rename from src/rules/ruff/rules/unused_noqa.rs rename to crates/ruff/src/rules/ruff/rules/unused_noqa.rs diff --git a/src/rules/ruff/snapshots/ruff__rules__ruff__tests__RUF004_RUF004.py.snap b/crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__RUF004_RUF004.py.snap similarity index 100% rename from src/rules/ruff/snapshots/ruff__rules__ruff__tests__RUF004_RUF004.py.snap rename to crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__RUF004_RUF004.py.snap diff --git a/src/rules/ruff/snapshots/ruff__rules__ruff__tests__RUF005_RUF005.py.snap b/crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__RUF005_RUF005.py.snap similarity index 100% rename from src/rules/ruff/snapshots/ruff__rules__ruff__tests__RUF005_RUF005.py.snap rename to crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__RUF005_RUF005.py.snap diff --git a/src/rules/ruff/snapshots/ruff__rules__ruff__tests__confusables.snap b/crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__confusables.snap similarity index 100% rename from src/rules/ruff/snapshots/ruff__rules__ruff__tests__confusables.snap rename to crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__confusables.snap diff --git a/src/rules/ruff/snapshots/ruff__rules__ruff__tests__flake8_noqa.snap b/crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__flake8_noqa.snap similarity index 100% rename from src/rules/ruff/snapshots/ruff__rules__ruff__tests__flake8_noqa.snap rename to crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__flake8_noqa.snap diff --git a/src/rules/ruff/snapshots/ruff__rules__ruff__tests__redirects.snap b/crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__redirects.snap similarity index 100% rename from src/rules/ruff/snapshots/ruff__rules__ruff__tests__redirects.snap rename to crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__redirects.snap diff --git a/src/rules/ruff/snapshots/ruff__rules__ruff__tests__ruf100_0.snap b/crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__ruf100_0.snap similarity index 100% rename from src/rules/ruff/snapshots/ruff__rules__ruff__tests__ruf100_0.snap rename to crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__ruf100_0.snap diff --git a/src/rules/ruff/snapshots/ruff__rules__ruff__tests__ruf100_1.snap b/crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__ruf100_1.snap similarity index 100% rename from src/rules/ruff/snapshots/ruff__rules__ruff__tests__ruf100_1.snap rename to crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__ruf100_1.snap diff --git a/src/rules/ruff/snapshots/ruff__rules__ruff__tests__ruf100_2.snap b/crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__ruf100_2.snap similarity index 100% rename from src/rules/ruff/snapshots/ruff__rules__ruff__tests__ruf100_2.snap rename to crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__ruf100_2.snap diff --git a/src/rules/ruff/snapshots/ruff__rules__ruff__tests__ruff_noqa.snap b/crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__ruff_noqa.snap similarity index 100% rename from src/rules/ruff/snapshots/ruff__rules__ruff__tests__ruff_noqa.snap rename to crates/ruff/src/rules/ruff/snapshots/ruff__rules__ruff__tests__ruff_noqa.snap diff --git a/src/rules/tryceratops/mod.rs b/crates/ruff/src/rules/tryceratops/mod.rs similarity index 100% rename from src/rules/tryceratops/mod.rs rename to crates/ruff/src/rules/tryceratops/mod.rs diff --git a/src/rules/tryceratops/rules/error_instead_of_exception.rs b/crates/ruff/src/rules/tryceratops/rules/error_instead_of_exception.rs similarity index 100% rename from src/rules/tryceratops/rules/error_instead_of_exception.rs rename to crates/ruff/src/rules/tryceratops/rules/error_instead_of_exception.rs diff --git a/src/rules/tryceratops/rules/mod.rs b/crates/ruff/src/rules/tryceratops/rules/mod.rs similarity index 100% rename from src/rules/tryceratops/rules/mod.rs rename to crates/ruff/src/rules/tryceratops/rules/mod.rs diff --git a/src/rules/tryceratops/rules/prefer_type_error.rs b/crates/ruff/src/rules/tryceratops/rules/prefer_type_error.rs similarity index 100% rename from src/rules/tryceratops/rules/prefer_type_error.rs rename to crates/ruff/src/rules/tryceratops/rules/prefer_type_error.rs diff --git a/src/rules/tryceratops/rules/raise_vanilla_args.rs b/crates/ruff/src/rules/tryceratops/rules/raise_vanilla_args.rs similarity index 100% rename from src/rules/tryceratops/rules/raise_vanilla_args.rs rename to crates/ruff/src/rules/tryceratops/rules/raise_vanilla_args.rs diff --git a/src/rules/tryceratops/rules/raise_vanilla_class.rs b/crates/ruff/src/rules/tryceratops/rules/raise_vanilla_class.rs similarity index 100% rename from src/rules/tryceratops/rules/raise_vanilla_class.rs rename to crates/ruff/src/rules/tryceratops/rules/raise_vanilla_class.rs diff --git a/src/rules/tryceratops/rules/raise_within_try.rs b/crates/ruff/src/rules/tryceratops/rules/raise_within_try.rs similarity index 100% rename from src/rules/tryceratops/rules/raise_within_try.rs rename to crates/ruff/src/rules/tryceratops/rules/raise_within_try.rs diff --git a/src/rules/tryceratops/rules/reraise_no_cause.rs b/crates/ruff/src/rules/tryceratops/rules/reraise_no_cause.rs similarity index 100% rename from src/rules/tryceratops/rules/reraise_no_cause.rs rename to crates/ruff/src/rules/tryceratops/rules/reraise_no_cause.rs diff --git a/src/rules/tryceratops/rules/try_consider_else.rs b/crates/ruff/src/rules/tryceratops/rules/try_consider_else.rs similarity index 100% rename from src/rules/tryceratops/rules/try_consider_else.rs rename to crates/ruff/src/rules/tryceratops/rules/try_consider_else.rs diff --git a/src/rules/tryceratops/rules/verbose_raise.rs b/crates/ruff/src/rules/tryceratops/rules/verbose_raise.rs similarity index 100% rename from src/rules/tryceratops/rules/verbose_raise.rs rename to crates/ruff/src/rules/tryceratops/rules/verbose_raise.rs diff --git a/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__error-instead-of-exception_TRY400.py.snap b/crates/ruff/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__error-instead-of-exception_TRY400.py.snap similarity index 100% rename from src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__error-instead-of-exception_TRY400.py.snap rename to crates/ruff/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__error-instead-of-exception_TRY400.py.snap diff --git a/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__prefer-type-error_TRY004.py.snap b/crates/ruff/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__prefer-type-error_TRY004.py.snap similarity index 100% rename from src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__prefer-type-error_TRY004.py.snap rename to crates/ruff/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__prefer-type-error_TRY004.py.snap diff --git a/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__raise-vanilla-args_TRY003.py.snap b/crates/ruff/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__raise-vanilla-args_TRY003.py.snap similarity index 100% rename from src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__raise-vanilla-args_TRY003.py.snap rename to crates/ruff/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__raise-vanilla-args_TRY003.py.snap diff --git a/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__raise-vanilla-class_TRY002.py.snap b/crates/ruff/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__raise-vanilla-class_TRY002.py.snap similarity index 100% rename from src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__raise-vanilla-class_TRY002.py.snap rename to crates/ruff/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__raise-vanilla-class_TRY002.py.snap diff --git a/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__raise-within-try_TRY301.py.snap b/crates/ruff/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__raise-within-try_TRY301.py.snap similarity index 100% rename from src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__raise-within-try_TRY301.py.snap rename to crates/ruff/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__raise-within-try_TRY301.py.snap diff --git a/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__reraise-no-cause_TRY200.py.snap b/crates/ruff/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__reraise-no-cause_TRY200.py.snap similarity index 100% rename from src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__reraise-no-cause_TRY200.py.snap rename to crates/ruff/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__reraise-no-cause_TRY200.py.snap diff --git a/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__try-consider-else_TRY300.py.snap b/crates/ruff/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__try-consider-else_TRY300.py.snap similarity index 100% rename from src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__try-consider-else_TRY300.py.snap rename to crates/ruff/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__try-consider-else_TRY300.py.snap diff --git a/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__verbose-raise_TRY201.py.snap b/crates/ruff/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__verbose-raise_TRY201.py.snap similarity index 100% rename from src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__verbose-raise_TRY201.py.snap rename to crates/ruff/src/rules/tryceratops/snapshots/ruff__rules__tryceratops__tests__verbose-raise_TRY201.py.snap diff --git a/src/rustpython_helpers.rs b/crates/ruff/src/rustpython_helpers.rs similarity index 100% rename from src/rustpython_helpers.rs rename to crates/ruff/src/rustpython_helpers.rs diff --git a/src/settings/configuration.rs b/crates/ruff/src/settings/configuration.rs similarity index 100% rename from src/settings/configuration.rs rename to crates/ruff/src/settings/configuration.rs diff --git a/src/settings/defaults.rs b/crates/ruff/src/settings/defaults.rs similarity index 100% rename from src/settings/defaults.rs rename to crates/ruff/src/settings/defaults.rs diff --git a/src/settings/flags.rs b/crates/ruff/src/settings/flags.rs similarity index 100% rename from src/settings/flags.rs rename to crates/ruff/src/settings/flags.rs diff --git a/src/settings/hashable.rs b/crates/ruff/src/settings/hashable.rs similarity index 100% rename from src/settings/hashable.rs rename to crates/ruff/src/settings/hashable.rs diff --git a/src/settings/mod.rs b/crates/ruff/src/settings/mod.rs similarity index 100% rename from src/settings/mod.rs rename to crates/ruff/src/settings/mod.rs diff --git a/src/settings/options.rs b/crates/ruff/src/settings/options.rs similarity index 100% rename from src/settings/options.rs rename to crates/ruff/src/settings/options.rs diff --git a/src/settings/options_base.rs b/crates/ruff/src/settings/options_base.rs similarity index 100% rename from src/settings/options_base.rs rename to crates/ruff/src/settings/options_base.rs diff --git a/src/settings/pyproject.rs b/crates/ruff/src/settings/pyproject.rs similarity index 100% rename from src/settings/pyproject.rs rename to crates/ruff/src/settings/pyproject.rs diff --git a/src/settings/rule_table.rs b/crates/ruff/src/settings/rule_table.rs similarity index 100% rename from src/settings/rule_table.rs rename to crates/ruff/src/settings/rule_table.rs diff --git a/src/settings/types.rs b/crates/ruff/src/settings/types.rs similarity index 100% rename from src/settings/types.rs rename to crates/ruff/src/settings/types.rs diff --git a/src/source_code/generator.rs b/crates/ruff/src/source_code/generator.rs similarity index 100% rename from src/source_code/generator.rs rename to crates/ruff/src/source_code/generator.rs diff --git a/src/source_code/indexer.rs b/crates/ruff/src/source_code/indexer.rs similarity index 100% rename from src/source_code/indexer.rs rename to crates/ruff/src/source_code/indexer.rs diff --git a/src/source_code/locator.rs b/crates/ruff/src/source_code/locator.rs similarity index 100% rename from src/source_code/locator.rs rename to crates/ruff/src/source_code/locator.rs diff --git a/src/source_code/mod.rs b/crates/ruff/src/source_code/mod.rs similarity index 100% rename from src/source_code/mod.rs rename to crates/ruff/src/source_code/mod.rs diff --git a/src/source_code/stylist.rs b/crates/ruff/src/source_code/stylist.rs similarity index 100% rename from src/source_code/stylist.rs rename to crates/ruff/src/source_code/stylist.rs diff --git a/src/test.rs b/crates/ruff/src/test.rs similarity index 100% rename from src/test.rs rename to crates/ruff/src/test.rs diff --git a/src/vendor/bytes.rs b/crates/ruff/src/vendor/bytes.rs similarity index 100% rename from src/vendor/bytes.rs rename to crates/ruff/src/vendor/bytes.rs diff --git a/src/vendor/mod.rs b/crates/ruff/src/vendor/mod.rs similarity index 100% rename from src/vendor/mod.rs rename to crates/ruff/src/vendor/mod.rs diff --git a/src/vendor/str.rs b/crates/ruff/src/vendor/str.rs similarity index 100% rename from src/vendor/str.rs rename to crates/ruff/src/vendor/str.rs diff --git a/src/violation.rs b/crates/ruff/src/violation.rs similarity index 100% rename from src/violation.rs rename to crates/ruff/src/violation.rs diff --git a/src/visibility.rs b/crates/ruff/src/visibility.rs similarity index 100% rename from src/visibility.rs rename to crates/ruff/src/visibility.rs diff --git a/ruff_cli/Cargo.toml b/crates/ruff_cli/Cargo.toml similarity index 93% rename from ruff_cli/Cargo.toml rename to crates/ruff_cli/Cargo.toml index f3cb8712ca..3aa90ac90a 100644 --- a/ruff_cli/Cargo.toml +++ b/crates/ruff_cli/Cargo.toml @@ -7,7 +7,7 @@ rust-version = "1.65.0" documentation = "https://github.com/charliermarsh/ruff" homepage = "https://github.com/charliermarsh/ruff" repository = "https://github.com/charliermarsh/ruff" -readme = "../README.md" +readme = "../../README.md" license = "MIT" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -24,7 +24,7 @@ doctest = false doc = false [dependencies] -ruff = { path = ".." } +ruff = { path = "../ruff" } annotate-snippets = { version = "0.9.1", features = ["color"] } anyhow = { version = "1.0.66" } @@ -61,4 +61,3 @@ ureq = { version = "2.5.0", features = [] } [package.metadata.maturin] name = "ruff" -# Setting the name here is necessary for maturin to include the package in its builds. diff --git a/ruff_cli/src/args.rs b/crates/ruff_cli/src/args.rs similarity index 100% rename from ruff_cli/src/args.rs rename to crates/ruff_cli/src/args.rs diff --git a/ruff_cli/src/cache.rs b/crates/ruff_cli/src/cache.rs similarity index 100% rename from ruff_cli/src/cache.rs rename to crates/ruff_cli/src/cache.rs diff --git a/ruff_cli/src/commands.rs b/crates/ruff_cli/src/commands.rs similarity index 100% rename from ruff_cli/src/commands.rs rename to crates/ruff_cli/src/commands.rs diff --git a/ruff_cli/src/commands/linter.rs b/crates/ruff_cli/src/commands/linter.rs similarity index 100% rename from ruff_cli/src/commands/linter.rs rename to crates/ruff_cli/src/commands/linter.rs diff --git a/ruff_cli/src/diagnostics.rs b/crates/ruff_cli/src/diagnostics.rs similarity index 100% rename from ruff_cli/src/diagnostics.rs rename to crates/ruff_cli/src/diagnostics.rs diff --git a/ruff_cli/src/iterators.rs b/crates/ruff_cli/src/iterators.rs similarity index 100% rename from ruff_cli/src/iterators.rs rename to crates/ruff_cli/src/iterators.rs diff --git a/ruff_cli/src/lib.rs b/crates/ruff_cli/src/lib.rs similarity index 100% rename from ruff_cli/src/lib.rs rename to crates/ruff_cli/src/lib.rs diff --git a/ruff_cli/src/main.rs b/crates/ruff_cli/src/main.rs similarity index 100% rename from ruff_cli/src/main.rs rename to crates/ruff_cli/src/main.rs diff --git a/ruff_cli/src/printer.rs b/crates/ruff_cli/src/printer.rs similarity index 100% rename from ruff_cli/src/printer.rs rename to crates/ruff_cli/src/printer.rs diff --git a/ruff_cli/src/resolve.rs b/crates/ruff_cli/src/resolve.rs similarity index 100% rename from ruff_cli/src/resolve.rs rename to crates/ruff_cli/src/resolve.rs diff --git a/ruff_cli/tests/black_compatibility_test.rs b/crates/ruff_cli/tests/black_compatibility_test.rs similarity index 92% rename from ruff_cli/tests/black_compatibility_test.rs rename to crates/ruff_cli/tests/black_compatibility_test.rs index 03feacbf61..5daafd09af 100644 --- a/ruff_cli/tests/black_compatibility_test.rs +++ b/crates/ruff_cli/tests/black_compatibility_test.rs @@ -158,19 +158,16 @@ fn test_ruff_black_compatibility() -> Result<()> { // that is triggering a syntax error on purpose. let excludes = ["E999.py", "W605_1.py"]; - let paths: Vec = WalkDir::new(fixtures_dir) + let paths = WalkDir::new(fixtures_dir) .into_iter() + .flatten() .filter(|entry| { - entry.as_ref().map_or(true, |entry| { - entry - .path() - .extension() - .map_or(false, |ext| ext == "py" || ext == "pyi") - && !excludes.contains(&entry.path().file_name().unwrap().to_str().unwrap()) - }) - }) - .filter_map(Result::ok) - .collect(); + entry + .path() + .extension() + .map_or(false, |ext| ext == "py" || ext == "pyi") + && !excludes.contains(&entry.path().file_name().unwrap().to_str().unwrap()) + }); let ruff_args = [ "-", diff --git a/ruff_cli/tests/integration_test.rs b/crates/ruff_cli/tests/integration_test.rs similarity index 100% rename from ruff_cli/tests/integration_test.rs rename to crates/ruff_cli/tests/integration_test.rs diff --git a/ruff_dev/Cargo.toml b/crates/ruff_dev/Cargo.toml similarity index 97% rename from ruff_dev/Cargo.toml rename to crates/ruff_dev/Cargo.toml index 2775cb8e69..b3ffc3ec5d 100644 --- a/ruff_dev/Cargo.toml +++ b/crates/ruff_dev/Cargo.toml @@ -9,7 +9,7 @@ clap = { version = "4.0.1", features = ["derive"] } itertools = { version = "0.10.5" } libcst = { git = "https://github.com/charliermarsh/LibCST", rev = "f2f0b7a487a8725d161fe8b3ed73a6758b21e177" } once_cell = { version = "1.16.0" } -ruff = { path = ".." } +ruff = { path = "../ruff" } ruff_cli = { path = "../ruff_cli" } rustpython-ast = { features = ["unparse"], git = "https://github.com/RustPython/RustPython.git", rev = "adc23253e4b58980b407ba2760dbe61681d752fc" } rustpython-common = { git = "https://github.com/RustPython/RustPython.git", rev = "adc23253e4b58980b407ba2760dbe61681d752fc" } diff --git a/ruff_dev/src/generate_all.rs b/crates/ruff_dev/src/generate_all.rs similarity index 100% rename from ruff_dev/src/generate_all.rs rename to crates/ruff_dev/src/generate_all.rs diff --git a/ruff_dev/src/generate_cli_help.rs b/crates/ruff_dev/src/generate_cli_help.rs similarity index 100% rename from ruff_dev/src/generate_cli_help.rs rename to crates/ruff_dev/src/generate_cli_help.rs diff --git a/ruff_dev/src/generate_json_schema.rs b/crates/ruff_dev/src/generate_json_schema.rs similarity index 100% rename from ruff_dev/src/generate_json_schema.rs rename to crates/ruff_dev/src/generate_json_schema.rs diff --git a/ruff_dev/src/generate_options.rs b/crates/ruff_dev/src/generate_options.rs similarity index 100% rename from ruff_dev/src/generate_options.rs rename to crates/ruff_dev/src/generate_options.rs diff --git a/ruff_dev/src/generate_rules_table.rs b/crates/ruff_dev/src/generate_rules_table.rs similarity index 100% rename from ruff_dev/src/generate_rules_table.rs rename to crates/ruff_dev/src/generate_rules_table.rs diff --git a/ruff_dev/src/main.rs b/crates/ruff_dev/src/main.rs similarity index 99% rename from ruff_dev/src/main.rs rename to crates/ruff_dev/src/main.rs index 0df29fcd40..49872bf07c 100644 --- a/ruff_dev/src/main.rs +++ b/crates/ruff_dev/src/main.rs @@ -16,7 +16,7 @@ mod utils; use anyhow::Result; use clap::{Parser, Subcommand}; -const ROOT_DIR: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/../"); +const ROOT_DIR: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/../../"); #[derive(Parser)] #[command(author, version, about, long_about = None)] diff --git a/ruff_dev/src/print_ast.rs b/crates/ruff_dev/src/print_ast.rs similarity index 100% rename from ruff_dev/src/print_ast.rs rename to crates/ruff_dev/src/print_ast.rs diff --git a/ruff_dev/src/print_cst.rs b/crates/ruff_dev/src/print_cst.rs similarity index 100% rename from ruff_dev/src/print_cst.rs rename to crates/ruff_dev/src/print_cst.rs diff --git a/ruff_dev/src/print_tokens.rs b/crates/ruff_dev/src/print_tokens.rs similarity index 100% rename from ruff_dev/src/print_tokens.rs rename to crates/ruff_dev/src/print_tokens.rs diff --git a/ruff_dev/src/round_trip.rs b/crates/ruff_dev/src/round_trip.rs similarity index 100% rename from ruff_dev/src/round_trip.rs rename to crates/ruff_dev/src/round_trip.rs diff --git a/ruff_dev/src/utils.rs b/crates/ruff_dev/src/utils.rs similarity index 100% rename from ruff_dev/src/utils.rs rename to crates/ruff_dev/src/utils.rs diff --git a/ruff_macros/Cargo.toml b/crates/ruff_macros/Cargo.toml similarity index 100% rename from ruff_macros/Cargo.toml rename to crates/ruff_macros/Cargo.toml diff --git a/ruff_macros/src/config.rs b/crates/ruff_macros/src/config.rs similarity index 100% rename from ruff_macros/src/config.rs rename to crates/ruff_macros/src/config.rs diff --git a/ruff_macros/src/define_rule_mapping.rs b/crates/ruff_macros/src/define_rule_mapping.rs similarity index 100% rename from ruff_macros/src/define_rule_mapping.rs rename to crates/ruff_macros/src/define_rule_mapping.rs diff --git a/ruff_macros/src/derive_message_formats.rs b/crates/ruff_macros/src/derive_message_formats.rs similarity index 100% rename from ruff_macros/src/derive_message_formats.rs rename to crates/ruff_macros/src/derive_message_formats.rs diff --git a/ruff_macros/src/lib.rs b/crates/ruff_macros/src/lib.rs similarity index 100% rename from ruff_macros/src/lib.rs rename to crates/ruff_macros/src/lib.rs diff --git a/ruff_macros/src/rule_code_prefix.rs b/crates/ruff_macros/src/rule_code_prefix.rs similarity index 100% rename from ruff_macros/src/rule_code_prefix.rs rename to crates/ruff_macros/src/rule_code_prefix.rs diff --git a/ruff_macros/src/rule_namespace.rs b/crates/ruff_macros/src/rule_namespace.rs similarity index 100% rename from ruff_macros/src/rule_namespace.rs rename to crates/ruff_macros/src/rule_namespace.rs diff --git a/playground/README.md b/playground/README.md index ffd031b1c5..323702686a 100644 --- a/playground/README.md +++ b/playground/README.md @@ -1,11 +1,11 @@ # playground -In-browser playground for Ruff. Available [https://ruff.pages.dev/](https://ruff.pages.dev/). +In-browser playground for Ruff. Available [https://play.ruff.rs/](https://play.ruff.rs/). ## Getting started -* To build the WASM module, run `wasm-pack build --target web --out-dir playground/src/pkg` from the - root directory. +* To build the WASM module, run `wasm-pack build ../crates/ruff --target web --out-dir ../../playground/src/pkg` + from the `./playground` directory. * Install TypeScript dependencies with: `npm install`. * Start the development server with: `npm run dev`. diff --git a/pyproject.toml b/pyproject.toml index 7b30d4f7d6..ecd881a467 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,7 +42,7 @@ urls = { repository = "https://github.com/charliermarsh/ruff" } [tool.maturin] bindings = "bin" -manifest-path = "ruff_cli/Cargo.toml" +manifest-path = "crates/ruff_cli/Cargo.toml" python-source = "python" strip = true diff --git a/scripts/add_plugin.py b/scripts/add_plugin.py index 3f84a6765c..2ffe0b100c 100755 --- a/scripts/add_plugin.py +++ b/scripts/add_plugin.py @@ -17,12 +17,12 @@ from _utils import ROOT_DIR, dir_name, get_indent, pascal_case def main(*, plugin: str, url: str, prefix_code: str) -> None: """Generate boilerplate for a new plugin.""" # Create the test fixture folder. - (ROOT_DIR / "resources/test/fixtures" / dir_name(plugin)).mkdir( + (ROOT_DIR / "crates/ruff/resources/test/fixtures" / dir_name(plugin)).mkdir( exist_ok=True, ) # Create the Plugin rules module. - plugin_dir = ROOT_DIR / "src/rules" / dir_name(plugin) + plugin_dir = ROOT_DIR / "crates/ruff/src/rules" / dir_name(plugin) plugin_dir.mkdir(exist_ok=True) with (plugin_dir / "mod.rs").open("w+") as fp: @@ -45,9 +45,7 @@ mod tests { fn rules(rule_code: Rule, path: &Path) -> Result<()> { let snapshot = format!("{}_{}", rule_code.as_ref(), path.to_string_lossy()); let diagnostics =test_path( - Path::new("./resources/test/fixtures/%s") - .join(path) - .as_path(), + Path::new("%s").join(path).as_path(), &settings::Settings::for_rule(rule_code), )?; assert_yaml_snapshot!(snapshot, diagnostics); @@ -69,13 +67,13 @@ mod tests { (plugin_dir / "snapshots").mkdir(exist_ok=True) # Add the plugin to `rules/mod.rs`. - with (ROOT_DIR / "src/rules/mod.rs").open("a") as fp: + with (ROOT_DIR / "crates/ruff/src/rules/mod.rs").open("a") as fp: fp.write(f"pub mod {dir_name(plugin)};") # Add the relevant sections to `src/registry.rs`. - content = (ROOT_DIR / "src/registry.rs").read_text() + content = (ROOT_DIR / "crates/ruff/src/registry.rs").read_text() - with (ROOT_DIR / "src/registry.rs").open("w") as fp: + with (ROOT_DIR / "crates/ruff/src/registry.rs").open("w") as fp: for line in content.splitlines(): indent = get_indent(line) diff --git a/scripts/add_rule.py b/scripts/add_rule.py index f5b9223656..3b6e1ed0e2 100755 --- a/scripts/add_rule.py +++ b/scripts/add_rule.py @@ -24,12 +24,12 @@ def snake_case(name: str) -> str: def main(*, name: str, code: str, linter: str) -> None: # noqa: PLR0915 """Generate boilerplate for a new rule.""" # Create a test fixture. - with (ROOT_DIR / "resources/test/fixtures" / dir_name(linter) / f"{code}.py").open( + with (ROOT_DIR / "crates/ruff/resources/test/fixtures" / dir_name(linter) / f"{code}.py").open( "a", ): pass - plugin_module = ROOT_DIR / "src/rules" / dir_name(linter) + plugin_module = ROOT_DIR / "crates/ruff/src/rules" / dir_name(linter) rule_name_snake = snake_case(name) # Add the relevant `#testcase` macro. @@ -102,11 +102,11 @@ pub fn {rule_name_snake}(checker: &mut Checker) {{}} fp.write("\n") # Add the relevant code-to-violation pair to `src/registry.rs`. - content = (ROOT_DIR / "src/registry.rs").read_text() + content = (ROOT_DIR / "crates/ruff/src/registry.rs").read_text() seen_macro = False has_written = False - with (ROOT_DIR / "src/registry.rs").open("w") as fp: + with (ROOT_DIR / "crates/ruff/src/registry.rs").open("w") as fp: for line in content.splitlines(): fp.write(line) fp.write("\n") diff --git a/scripts/benchmarks/run.sh b/scripts/benchmarks/run.sh index 6fe9ebb307..f06d8a6119 100755 --- a/scripts/benchmarks/run.sh +++ b/scripts/benchmarks/run.sh @@ -5,4 +5,4 @@ ### cargo build --release && hyperfine --ignore-failure --warmup 10 \ - "./target/release/ruff ./resources/test/cpython/ --no-cache" + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache" diff --git a/scripts/benchmarks/run_all.sh b/scripts/benchmarks/run_all.sh index 17fd1b13b0..f6f2300ab0 100755 --- a/scripts/benchmarks/run_all.sh +++ b/scripts/benchmarks/run_all.sh @@ -20,7 +20,7 @@ # }) hyperfine --ignore-failure --warmup 5 \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --select ALL" \ - "flake8 resources/test/cpython -qq --docstring-convention=all" \ - "pycodestyle resources/test/cpython -qq" \ - "pylint resources/test/cpython -j 0 --recursive=y --disable=E,W,C,R" + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --select ALL" \ + "flake8 crates/ruff/resources/test/cpython -qq --docstring-convention=all" \ + "pycodestyle crates/ruff/resources/test/cpython -qq" \ + "pylint crates/ruff/resources/test/cpython -j 0 --recursive=y --disable=E,W,C,R" diff --git a/scripts/benchmarks/run_comparisons.sh b/scripts/benchmarks/run_comparisons.sh index 8d6c6eadbd..31646f4959 100755 --- a/scripts/benchmarks/run_comparisons.sh +++ b/scripts/benchmarks/run_comparisons.sh @@ -5,8 +5,8 @@ ### hyperfine --ignore-failure --warmup 5 \ - "./target/release/ruff ./resources/test/cpython/ --no-cache" \ - "pyflakes resources/test/cpython" \ - "autoflake --recursive --expand-star-imports --remove-all-unused-imports --remove-unused-variables --remove-duplicate-keys resources/test/cpython" \ - "pycodestyle resources/test/cpython" \ - "flake8 resources/test/cpython" + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache" \ + "pyflakes crates/ruff/resources/test/cpython" \ + "autoflake --recursive --expand-star-imports --remove-all-unused-imports --remove-unused-variables --remove-duplicate-keys crates/ruff/resources/test/cpython" \ + "pycodestyle crates/ruff/resources/test/cpython" \ + "flake8 crates/ruff/resources/test/cpython" diff --git a/scripts/benchmarks/run_plugins.sh b/scripts/benchmarks/run_plugins.sh index 321ff328d6..25be0a6d40 100644 --- a/scripts/benchmarks/run_plugins.sh +++ b/scripts/benchmarks/run_plugins.sh @@ -5,39 +5,39 @@ ### cargo build --release && hyperfine --ignore-failure --warmup 10 \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select C90" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select I" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select D" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select UP" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select N" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select YTT" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select ANN" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select S" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select BLE" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select FBT" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select B" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select A" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select C4" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select T10" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select EM" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select ISC" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select ICN" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select T20" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select PT" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select Q" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select RET" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select SIM" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select TID" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select ARG" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select DTZ" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select ERA" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select PD" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select PGH" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select PLC" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select PLE" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select PLR" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select PLW" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select PIE" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select COM" \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent --extend-select RUF" + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select C90" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select I" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select D" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select UP" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select N" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select YTT" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select ANN" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select S" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select BLE" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select FBT" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select B" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select A" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select C4" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select T10" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select EM" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select ISC" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select ICN" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select T20" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select PT" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select Q" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select RET" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select SIM" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select TID" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select ARG" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select DTZ" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select ERA" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select PD" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select PGH" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select PLC" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select PLE" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select PLR" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select PLW" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select PIE" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select COM" \ + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent --extend-select RUF" diff --git a/scripts/benchmarks/run_silent.sh b/scripts/benchmarks/run_silent.sh index e35b69a8bd..7940baa177 100755 --- a/scripts/benchmarks/run_silent.sh +++ b/scripts/benchmarks/run_silent.sh @@ -6,7 +6,7 @@ ### hyperfine --ignore-failure --warmup 5 \ - "./target/release/ruff ./resources/test/cpython/ --no-cache --silent" \ - "pycodestyle resources/test/cpython -qq" \ - "flake8 resources/test/cpython -qq" \ - "pylint resources/test/cpython -j 0 --recursive=y --disable=E,W,C,R" + "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent" \ + "pycodestyle ./crates/ruff/resources/test/cpython -qq" \ + "flake8 ./crates/ruff/resources/test/cpython -qq" \ + "pylint ./crates/ruff/resources/test/cpython -j 0 --recursive=y --disable=E,W,C,R" diff --git a/scripts/benchmarks/setup.sh b/scripts/benchmarks/setup.sh index 3ede4df228..209d1af547 100755 --- a/scripts/benchmarks/setup.sh +++ b/scripts/benchmarks/setup.sh @@ -4,4 +4,4 @@ # Setup the CPython repository to enable benchmarking. ### -git clone --branch 3.10 https://github.com/python/cpython.git resources/test/cpython +git clone --branch 3.10 https://github.com/python/cpython.git crates/ruff/resources/test/cpython