diff --git a/Cargo.lock b/Cargo.lock index e3e1ba6c75..0cd1d6e902 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2000,6 +2000,7 @@ dependencies = [ "result-like", "ruff_cache", "ruff_macros", + "ruff_python_ast", "ruff_python_stdlib", "ruff_rustpython", "rustc-hash", @@ -2120,6 +2121,28 @@ dependencies = [ "textwrap", ] +[[package]] +name = "ruff_python_ast" +version = "0.0.0" +dependencies = [ + "anyhow", + "bitflags", + "is-macro", + "itertools", + "log", + "nohash-hasher", + "num-bigint", + "num-traits", + "once_cell", + "regex", + "ruff_python_stdlib", + "ruff_rustpython", + "rustc-hash", + "rustpython-common", + "rustpython-parser", + "smallvec", +] + [[package]] name = "ruff_python_formatter" version = "0.0.0" diff --git a/crates/ruff/Cargo.toml b/crates/ruff/Cargo.toml index ec7e489834..8d8f1f3f13 100644 --- a/crates/ruff/Cargo.toml +++ b/crates/ruff/Cargo.toml @@ -18,6 +18,7 @@ doctest = false [dependencies] ruff_cache = { path = "../ruff_cache" } ruff_macros = { path = "../ruff_macros" } +ruff_python_ast = { path = "../ruff_python_ast" } ruff_python_stdlib = { path = "../ruff_python_stdlib" } ruff_rustpython = { path = "../ruff_rustpython" } diff --git a/crates/ruff/src/autofix/helpers.rs b/crates/ruff/src/autofix/helpers.rs index 067b35cd2b..d080293543 100644 --- a/crates/ruff/src/autofix/helpers.rs +++ b/crates/ruff/src/autofix/helpers.rs @@ -6,14 +6,14 @@ use libcst_native::{ use rustpython_parser::ast::{ExcepthandlerKind, Expr, Keyword, Location, Stmt, StmtKind}; use rustpython_parser::{lexer, Mode, Tok}; -use crate::ast::helpers; -use crate::ast::helpers::to_absolute; -use crate::ast::types::Range; -use crate::ast::whitespace::LinesWithTrailingNewline; use crate::cst::helpers::compose_module_path; use crate::cst::matchers::match_module; use crate::fix::Fix; -use crate::source_code::{Indexer, Locator, Stylist}; +use ruff_python_ast::helpers; +use ruff_python_ast::helpers::to_absolute; +use ruff_python_ast::source_code::{Indexer, Locator, Stylist}; +use ruff_python_ast::types::Range; +use ruff_python_ast::whitespace::LinesWithTrailingNewline; /// Determine if a body contains only a single statement, taking into account /// deleted. @@ -451,7 +451,7 @@ mod tests { use rustpython_parser::ast::Location; use crate::autofix::helpers::{next_stmt_break, trailing_semicolon}; - use crate::source_code::Locator; + use ruff_python_ast::source_code::Locator; #[test] fn find_semicolon() -> Result<()> { diff --git a/crates/ruff/src/autofix/mod.rs b/crates/ruff/src/autofix/mod.rs index 0c556771d7..302d61a134 100644 --- a/crates/ruff/src/autofix/mod.rs +++ b/crates/ruff/src/autofix/mod.rs @@ -4,11 +4,11 @@ use itertools::Itertools; use rustc_hash::FxHashMap; use rustpython_parser::ast::Location; -use crate::ast::types::Range; use crate::fix::Fix; use crate::linter::FixTable; use crate::registry::Diagnostic; -use crate::source_code::Locator; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; pub mod helpers; @@ -100,7 +100,7 @@ mod tests { use crate::registry::Diagnostic; use crate::rules::pycodestyle::rules::NoNewLineAtEndOfFile; - use crate::source_code::Locator; + use ruff_python_ast::source_code::Locator; #[test] fn empty_file() { diff --git a/crates/ruff/src/checkers/ast/deferred.rs b/crates/ruff/src/checkers/ast/deferred.rs index a962dd3a52..5e643499ed 100644 --- a/crates/ruff/src/checkers/ast/deferred.rs +++ b/crates/ruff/src/checkers/ast/deferred.rs @@ -1,10 +1,11 @@ use rustpython_parser::ast::{Expr, Stmt}; -use crate::ast::types::RefEquality; -use crate::ast::visibility::{Visibility, VisibleScope}; +use ruff_python_ast::types::Range; +use ruff_python_ast::types::RefEquality; +use ruff_python_ast::visibility::{Visibility, VisibleScope}; + use crate::checkers::ast::AnnotationContext; use crate::docstrings::definition::Definition; -use crate::Range; type Context<'a> = (Vec, Vec>); diff --git a/crates/ruff/src/checkers/ast/mod.rs b/crates/ruff/src/checkers/ast/mod.rs index 2d4fddaee5..e8d01c96ad 100644 --- a/crates/ruff/src/checkers/ast/mod.rs +++ b/crates/ruff/src/checkers/ast/mod.rs @@ -13,20 +13,25 @@ use rustpython_parser::ast::{ Suite, }; -use ruff_python_stdlib::builtins::{BUILTINS, MAGIC_GLOBALS}; -use ruff_python_stdlib::path::is_python_stub_file; - -use crate::ast::context::Context; -use crate::ast::helpers::{binding_range, extract_handled_exceptions, to_module_path, Exceptions}; -use crate::ast::operations::{extract_all_names, AllNamesFlags}; -use crate::ast::relocate::relocate_expr; -use crate::ast::types::{ +use ruff_python_ast::context::Context; +use ruff_python_ast::helpers::{ + binding_range, extract_handled_exceptions, to_module_path, Exceptions, +}; +use ruff_python_ast::operations::{extract_all_names, AllNamesFlags}; +use ruff_python_ast::relocate::relocate_expr; +use ruff_python_ast::source_code::{Indexer, Locator, Stylist}; +use ruff_python_ast::types::{ Binding, BindingKind, ClassDef, ExecutionContext, FunctionDef, Lambda, Node, Range, RefEquality, Scope, ScopeKind, }; -use crate::ast::typing::{match_annotated_subscript, Callable, SubscriptKind}; -use crate::ast::visitor::{walk_excepthandler, walk_pattern, Visitor}; -use crate::ast::{branch_detection, cast, helpers, operations, typing, visibility, visitor}; +use ruff_python_ast::typing::{match_annotated_subscript, Callable, SubscriptKind}; +use ruff_python_ast::visitor::{walk_excepthandler, walk_pattern, Visitor}; +use ruff_python_ast::{ + branch_detection, cast, helpers, operations, strings, typing, visibility, visitor, +}; +use ruff_python_stdlib::builtins::{BUILTINS, MAGIC_GLOBALS}; +use ruff_python_stdlib::path::is_python_stub_file; + use crate::checkers::ast::deferred::Deferred; use crate::docstrings::definition::{ transition_scope, Definition, DefinitionKind, Docstring, Documentable, @@ -43,8 +48,7 @@ use crate::rules::{ }; use crate::settings::types::PythonVersion; use crate::settings::{flags, Settings}; -use crate::source_code::{Indexer, Locator, Stylist}; -use crate::{ast, autofix, docstrings, noqa}; +use crate::{autofix, docstrings, noqa}; mod deferred; @@ -2127,7 +2131,7 @@ where StmtKind::If { test, body, orelse } => { self.visit_expr(test); - if flake8_type_checking::helpers::is_type_checking_block(self, test) { + if flake8_type_checking::helpers::is_type_checking_block(&self.ctx, test) { if self.settings.rules.enabled(&Rule::EmptyTypeCheckingBlock) { flake8_type_checking::rules::empty_type_checking_block(self, stmt, body); } @@ -5288,7 +5292,7 @@ impl<'a> Checker<'a> { Location::new(expr.location.row(), expr.location.column()), )); - let body = ast::strings::raw_contents(contents); + let body = strings::raw_contents(contents); let docstring = Docstring { kind: definition.kind, expr, diff --git a/crates/ruff/src/checkers/imports.rs b/crates/ruff/src/checkers/imports.rs index 8004f1d6fb..32611d76c7 100644 --- a/crates/ruff/src/checkers/imports.rs +++ b/crates/ruff/src/checkers/imports.rs @@ -4,13 +4,13 @@ use std::path::Path; use rustpython_parser::ast::Suite; -use crate::ast::visitor::Visitor; use crate::directives::IsortDirectives; use crate::registry::{Diagnostic, Rule}; use crate::rules::isort; use crate::rules::isort::track::{Block, ImportTracker}; use crate::settings::{flags, Settings}; -use crate::source_code::{Indexer, Locator, Stylist}; +use ruff_python_ast::source_code::{Indexer, Locator, Stylist}; +use ruff_python_ast::visitor::Visitor; #[allow(clippy::too_many_arguments)] pub fn check_imports( diff --git a/crates/ruff/src/checkers/logical_lines.rs b/crates/ruff/src/checkers/logical_lines.rs index b8cd8d1e87..2549489c73 100644 --- a/crates/ruff/src/checkers/logical_lines.rs +++ b/crates/ruff/src/checkers/logical_lines.rs @@ -5,7 +5,6 @@ use itertools::Itertools; use rustpython_parser::ast::Location; use rustpython_parser::lexer::LexResult; -use crate::ast::types::Range; use crate::registry::{Diagnostic, Rule}; use crate::rules::pycodestyle::logical_lines::{iter_logical_lines, TokenFlags}; use crate::rules::pycodestyle::rules::{ @@ -15,7 +14,8 @@ use crate::rules::pycodestyle::rules::{ whitespace_before_parameters, }; use crate::settings::{flags, Settings}; -use crate::source_code::{Locator, Stylist}; +use ruff_python_ast::source_code::{Locator, Stylist}; +use ruff_python_ast::types::Range; /// Return the amount of indentation, expanding tabs to the next multiple of 8. fn expand_indent(mut line: &str) -> usize { @@ -226,7 +226,7 @@ mod tests { use rustpython_parser::{lexer, Mode}; use crate::checkers::logical_lines::iter_logical_lines; - use crate::source_code::Locator; + use ruff_python_ast::source_code::Locator; #[test] fn split_logical_lines() { diff --git a/crates/ruff/src/checkers/noqa.rs b/crates/ruff/src/checkers/noqa.rs index 29aa08795c..1c8f6c8bc6 100644 --- a/crates/ruff/src/checkers/noqa.rs +++ b/crates/ruff/src/checkers/noqa.rs @@ -4,7 +4,6 @@ use log::warn; use nohash_hasher::IntMap; use rustpython_parser::ast::Location; -use crate::ast::types::Range; use crate::codes::NoqaCode; use crate::fix::Fix; use crate::noqa; @@ -13,6 +12,7 @@ use crate::registry::{Diagnostic, DiagnosticKind, Rule}; use crate::rule_redirects::get_redirect_target; use crate::rules::ruff::rules::{UnusedCodes, UnusedNOQA}; use crate::settings::{flags, Settings}; +use ruff_python_ast::types::Range; pub fn check_noqa( diagnostics: &mut Vec, diff --git a/crates/ruff/src/checkers/physical_lines.rs b/crates/ruff/src/checkers/physical_lines.rs index 6a5d890ce3..211eff02f8 100644 --- a/crates/ruff/src/checkers/physical_lines.rs +++ b/crates/ruff/src/checkers/physical_lines.rs @@ -15,7 +15,7 @@ use crate::rules::pygrep_hooks::rules::{blanket_noqa, blanket_type_ignore}; use crate::rules::pylint; use crate::rules::pyupgrade::rules::unnecessary_coding_comment; use crate::settings::{flags, Settings}; -use crate::source_code::Stylist; +use ruff_python_ast::source_code::Stylist; pub fn check_physical_lines( path: &Path, @@ -185,7 +185,7 @@ mod tests { use super::check_physical_lines; use crate::registry::Rule; use crate::settings::{flags, Settings}; - use crate::source_code::{Locator, Stylist}; + use ruff_python_ast::source_code::{Locator, Stylist}; #[test] fn e501_non_ascii_char() { diff --git a/crates/ruff/src/checkers/tokens.rs b/crates/ruff/src/checkers/tokens.rs index bc5d3c2576..e69fd95478 100644 --- a/crates/ruff/src/checkers/tokens.rs +++ b/crates/ruff/src/checkers/tokens.rs @@ -11,7 +11,7 @@ use crate::rules::{ pyupgrade, ruff, }; use crate::settings::{flags, Settings}; -use crate::source_code::Locator; +use ruff_python_ast::source_code::Locator; pub fn check_tokens( locator: &Locator, diff --git a/crates/ruff/src/doc_lines.rs b/crates/ruff/src/doc_lines.rs index bd843f3dfa..c06ec1704b 100644 --- a/crates/ruff/src/doc_lines.rs +++ b/crates/ruff/src/doc_lines.rs @@ -7,8 +7,8 @@ use rustpython_parser::ast::{Constant, ExprKind, Stmt, StmtKind, Suite}; use rustpython_parser::lexer::LexResult; use rustpython_parser::Tok; -use crate::ast::visitor; -use crate::ast::visitor::Visitor; +use ruff_python_ast::visitor; +use ruff_python_ast::visitor::Visitor; /// Extract doc lines (standalone comments) from a token sequence. pub fn doc_lines_from_tokens(lxr: &[LexResult]) -> DocLines { diff --git a/crates/ruff/src/docstrings/definition.rs b/crates/ruff/src/docstrings/definition.rs index 40a5b50171..d1a2a64741 100644 --- a/crates/ruff/src/docstrings/definition.rs +++ b/crates/ruff/src/docstrings/definition.rs @@ -1,4 +1,4 @@ -use crate::ast::visibility::{ +use ruff_python_ast::visibility::{ class_visibility, function_visibility, method_visibility, Modifier, Visibility, VisibleScope, }; use rustpython_parser::ast::{Expr, Stmt}; diff --git a/crates/ruff/src/docstrings/extraction.rs b/crates/ruff/src/docstrings/extraction.rs index cc225eb84c..73e99d4afa 100644 --- a/crates/ruff/src/docstrings/extraction.rs +++ b/crates/ruff/src/docstrings/extraction.rs @@ -2,8 +2,8 @@ use rustpython_parser::ast::{Constant, Expr, ExprKind, Stmt, StmtKind}; -use crate::ast::visibility::{Modifier, VisibleScope}; use crate::docstrings::definition::{Definition, DefinitionKind, Documentable}; +use ruff_python_ast::visibility::{Modifier, VisibleScope}; /// Extract a docstring from a function or class body. pub fn docstring_from(suite: &[Stmt]) -> Option<&Expr> { diff --git a/crates/ruff/src/docstrings/sections.rs b/crates/ruff/src/docstrings/sections.rs index a363e77b1b..d798a12637 100644 --- a/crates/ruff/src/docstrings/sections.rs +++ b/crates/ruff/src/docstrings/sections.rs @@ -1,7 +1,7 @@ use strum_macros::EnumIter; -use crate::ast::whitespace; use crate::docstrings::styles::SectionStyle; +use ruff_python_ast::whitespace; #[derive(EnumIter, PartialEq, Eq, Debug, Clone, Copy)] pub enum SectionKind { diff --git a/crates/ruff/src/lib.rs b/crates/ruff/src/lib.rs index 268f4d2438..9b0b529a3e 100644 --- a/crates/ruff/src/lib.rs +++ b/crates/ruff/src/lib.rs @@ -5,13 +5,13 @@ //! //! [Ruff]: https://github.com/charliermarsh/ruff -pub use ast::types::Range; use cfg_if::cfg_if; +pub use ruff_python_ast::source_code::round_trip; +pub use ruff_python_ast::types::Range; pub use rule_selector::RuleSelector; pub use rules::pycodestyle::rules::IOError; pub use violation::{AutofixKind, Availability as AutofixAvailability}; -mod ast; mod autofix; mod checkers; mod codes; @@ -33,7 +33,6 @@ mod rule_redirects; mod rule_selector; mod rules; pub mod settings; -pub mod source_code; mod violation; cfg_if! { diff --git a/crates/ruff/src/lib_wasm.rs b/crates/ruff/src/lib_wasm.rs index 300922a8ac..5e05ea1346 100644 --- a/crates/ruff/src/lib_wasm.rs +++ b/crates/ruff/src/lib_wasm.rs @@ -17,7 +17,7 @@ use crate::rules::{ use crate::settings::configuration::Configuration; use crate::settings::options::Options; use crate::settings::{defaults, flags, Settings}; -use crate::source_code::{Indexer, Locator, Stylist}; +use ruff_python_ast::source_code::{Indexer, Locator, Stylist}; const VERSION: &str = env!("CARGO_PKG_VERSION"); diff --git a/crates/ruff/src/linter.rs b/crates/ruff/src/linter.rs index 3221c4f83f..834c78519a 100644 --- a/crates/ruff/src/linter.rs +++ b/crates/ruff/src/linter.rs @@ -24,8 +24,8 @@ use crate::noqa::{add_noqa, rule_is_ignored}; use crate::registry::{Diagnostic, Rule}; use crate::rules::pycodestyle; use crate::settings::{flags, Settings}; -use crate::source_code::{Indexer, Locator, Stylist}; use crate::{directives, fs}; +use ruff_python_ast::source_code::{Indexer, Locator, Stylist}; const CARGO_PKG_NAME: &str = env!("CARGO_PKG_NAME"); const CARGO_PKG_REPOSITORY: &str = env!("CARGO_PKG_REPOSITORY"); diff --git a/crates/ruff/src/message.rs b/crates/ruff/src/message.rs index 5b3ae00957..0f9d088d12 100644 --- a/crates/ruff/src/message.rs +++ b/crates/ruff/src/message.rs @@ -3,10 +3,10 @@ use std::cmp::Ordering; pub use rustpython_parser::ast::Location; use serde::{Deserialize, Serialize}; -use crate::ast::types::Range; use crate::fix::Fix; use crate::registry::{Diagnostic, DiagnosticKind}; -use crate::source_code::Locator; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] pub struct Message { diff --git a/crates/ruff/src/noqa.rs b/crates/ruff/src/noqa.rs index 533d57c46d..e5eb8f0b83 100644 --- a/crates/ruff/src/noqa.rs +++ b/crates/ruff/src/noqa.rs @@ -11,11 +11,11 @@ use regex::Regex; use rustc_hash::{FxHashMap, FxHashSet}; use rustpython_parser::ast::Location; -use crate::ast::types::Range; use crate::codes::NoqaCode; use crate::registry::{Diagnostic, Rule}; use crate::rule_redirects::get_redirect_target; -use crate::source_code::{LineEnding, Locator}; +use ruff_python_ast::source_code::{LineEnding, Locator}; +use ruff_python_ast::types::Range; static NOQA_LINE_REGEX: Lazy = Lazy::new(|| { Regex::new( @@ -332,12 +332,12 @@ mod tests { use nohash_hasher::IntMap; use rustpython_parser::ast::Location; - use crate::ast::types::Range; use crate::noqa::{add_noqa_inner, NOQA_LINE_REGEX}; use crate::registry::Diagnostic; use crate::rules::pycodestyle::rules::AmbiguousVariableName; use crate::rules::pyflakes; - use crate::source_code::LineEnding; + use ruff_python_ast::source_code::LineEnding; + use ruff_python_ast::types::Range; #[test] fn regex() { diff --git a/crates/ruff/src/registry.rs b/crates/ruff/src/registry.rs index 1d0ff02be3..215cf189a9 100644 --- a/crates/ruff/src/registry.rs +++ b/crates/ruff/src/registry.rs @@ -5,11 +5,11 @@ use rustpython_parser::ast::Location; use serde::{Deserialize, Serialize}; use strum_macros::{AsRefStr, EnumIter}; -use crate::ast::types::Range; use crate::codes::{self, RuleCodePrefix}; use crate::fix::Fix; use crate::rules; use crate::violation::Violation; +use ruff_python_ast::types::Range; ruff_macros::register_rules!( // pycodestyle errors diff --git a/crates/ruff/src/rules/eradicate/rules.rs b/crates/ruff/src/rules/eradicate/rules.rs index c63175c39e..11cb5970f7 100644 --- a/crates/ruff/src/rules/eradicate/rules.rs +++ b/crates/ruff/src/rules/eradicate/rules.rs @@ -1,14 +1,16 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Location; -use super::detection::comment_contains_code; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; + use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; use crate::settings::{flags, Settings}; -use crate::source_code::Locator; use crate::violation::AlwaysAutofixableViolation; +use super::detection::comment_contains_code; + /// ## What it does /// Checks for commented-out Python code. /// diff --git a/crates/ruff/src/rules/flake8_2020/rules.rs b/crates/ruff/src/rules/flake8_2020/rules.rs index c976fb81aa..84e2ee0c8f 100644 --- a/crates/ruff/src/rules/flake8_2020/rules.rs +++ b/crates/ruff/src/rules/flake8_2020/rules.rs @@ -1,8 +1,9 @@ use num_bigint::BigInt; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Cmpop, Constant, Expr, ExprKind, Located}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::{Diagnostic, Rule}; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_annotations/fixes.rs b/crates/ruff/src/rules/flake8_annotations/fixes.rs index 5cd0d34e3d..6b9672cb78 100644 --- a/crates/ruff/src/rules/flake8_annotations/fixes.rs +++ b/crates/ruff/src/rules/flake8_annotations/fixes.rs @@ -2,9 +2,10 @@ use anyhow::{bail, Result}; use rustpython_parser::ast::Stmt; use rustpython_parser::{lexer, Mode, Tok}; -use crate::ast::types::Range; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; + use crate::fix::Fix; -use crate::source_code::Locator; /// ANN204 pub fn add_return_none_annotation(locator: &Locator, stmt: &Stmt) -> Result { diff --git a/crates/ruff/src/rules/flake8_annotations/helpers.rs b/crates/ruff/src/rules/flake8_annotations/helpers.rs index 136f0697f7..519bb8c8a9 100644 --- a/crates/ruff/src/rules/flake8_annotations/helpers.rs +++ b/crates/ruff/src/rules/flake8_annotations/helpers.rs @@ -1,7 +1,8 @@ use rustpython_parser::ast::{Arguments, Expr, Stmt, StmtKind}; -use crate::ast::cast; -use crate::ast::visibility; +use ruff_python_ast::cast; +use ruff_python_ast::visibility; + use crate::checkers::ast::Checker; use crate::docstrings::definition::{Definition, DefinitionKind}; diff --git a/crates/ruff/src/rules/flake8_annotations/rules.rs b/crates/ruff/src/rules/flake8_annotations/rules.rs index f3533a30f4..91fd5fa676 100644 --- a/crates/ruff/src/rules/flake8_annotations/rules.rs +++ b/crates/ruff/src/rules/flake8_annotations/rules.rs @@ -1,20 +1,22 @@ use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind, Stmt}; -use super::fixes; -use super::helpers::match_function_def; -use crate::ast::helpers::ReturnStatementVisitor; -use crate::ast::types::Range; -use crate::ast::visibility; -use crate::ast::visibility::Visibility; -use crate::ast::visitor::Visitor; -use crate::ast::{cast, helpers}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::ReturnStatementVisitor; +use ruff_python_ast::types::Range; +use ruff_python_ast::visibility; +use ruff_python_ast::visibility::Visibility; +use ruff_python_ast::visitor::Visitor; +use ruff_python_ast::{cast, helpers}; + use crate::checkers::ast::Checker; use crate::docstrings::definition::{Definition, DefinitionKind}; use crate::registry::{Diagnostic, Rule}; use crate::violation::{AlwaysAutofixableViolation, Violation}; +use super::fixes; +use super::helpers::match_function_def; + /// ## What it does /// Checks that function arguments have type annotations. /// diff --git a/crates/ruff/src/rules/flake8_annotations/settings.rs b/crates/ruff/src/rules/flake8_annotations/settings.rs index e02769d4c0..4bf40f2b4c 100644 --- a/crates/ruff/src/rules/flake8_annotations/settings.rs +++ b/crates/ruff/src/rules/flake8_annotations/settings.rs @@ -1,9 +1,10 @@ //! Settings for the `flake-annotations` plugin. +use schemars::JsonSchema; +use serde::{Deserialize, Serialize}; + use ruff_macros::CacheKey; use ruff_macros::ConfigurationOptions; -use schemars::JsonSchema; -use serde::{Deserialize, Serialize}; #[derive( Debug, PartialEq, Eq, Default, Serialize, Deserialize, ConfigurationOptions, JsonSchema, diff --git a/crates/ruff/src/rules/flake8_bandit/rules/assert_used.rs b/crates/ruff/src/rules/flake8_bandit/rules/assert_used.rs index e7310b94b7..e90af8ac84 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/assert_used.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/assert_used.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::Stmt; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bandit/rules/bad_file_permissions.rs b/crates/ruff/src/rules/flake8_bandit/rules/bad_file_permissions.rs index 39e10637f5..78f9729123 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/bad_file_permissions.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/bad_file_permissions.rs @@ -1,11 +1,12 @@ use num_traits::ToPrimitive; use once_cell::sync::Lazy; -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::FxHashMap; use rustpython_parser::ast::{Constant, Expr, ExprKind, Keyword, Operator}; -use crate::ast::helpers::{compose_call_path, SimpleCallArgs}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{compose_call_path, SimpleCallArgs}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bandit/rules/exec_used.rs b/crates/ruff/src/rules/flake8_bandit/rules/exec_used.rs index 57161c5a79..e771134f07 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/exec_used.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/exec_used.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_bind_all_interfaces.rs b/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_bind_all_interfaces.rs index 3822b81e5d..b53fabce42 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_bind_all_interfaces.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_bind_all_interfaces.rs @@ -1,6 +1,6 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_default.rs b/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_default.rs index d68d7ac288..41740d8cca 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_default.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_default.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::{Arg, Arguments, Expr}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_func_arg.rs b/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_func_arg.rs index 573be4164b..165a25b81c 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_func_arg.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_func_arg.rs @@ -1,11 +1,13 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Keyword; -use super::super::helpers::{matches_password_name, string_literal}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::violation::Violation; +use super::super::helpers::{matches_password_name, string_literal}; + #[violation] pub struct HardcodedPasswordFuncArg { pub string: String, diff --git a/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_string.rs b/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_string.rs index 03c37d7894..89d04821f4 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_string.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_password_string.rs @@ -1,11 +1,13 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind}; -use super::super::helpers::{matches_password_name, string_literal}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::violation::Violation; +use super::super::helpers::{matches_password_name, string_literal}; + #[violation] pub struct HardcodedPasswordString { pub string: String, diff --git a/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_sql_expression.rs b/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_sql_expression.rs index b33504b132..35a01203e1 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_sql_expression.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_sql_expression.rs @@ -1,15 +1,17 @@ use once_cell::sync::Lazy; use regex::Regex; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Operator}; -use super::super::helpers::string_literal; -use crate::ast::helpers::{any_over_expr, unparse_expr}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{any_over_expr, unparse_expr}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; +use super::super::helpers::string_literal; + static SQL_REGEX: Lazy = Lazy::new(|| { Regex::new(r"(?i)(select\s.*from\s|delete\s+from\s|insert\s+into\s.*values\s|update\s.*set\s)") .unwrap() diff --git a/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_tmp_directory.rs b/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_tmp_directory.rs index 96cdcddeda..502c068b7f 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_tmp_directory.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/hardcoded_tmp_directory.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Expr; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bandit/rules/hashlib_insecure_hash_functions.rs b/crates/ruff/src/rules/flake8_bandit/rules/hashlib_insecure_hash_functions.rs index 8e24631a6a..8c8d5cbff4 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/hashlib_insecure_hash_functions.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/hashlib_insecure_hash_functions.rs @@ -1,13 +1,15 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind, Keyword}; -use super::super::helpers::string_literal; -use crate::ast::helpers::SimpleCallArgs; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::SimpleCallArgs; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; +use super::super::helpers::string_literal; + #[violation] pub struct HashlibInsecureHashFunction { pub string: String, diff --git a/crates/ruff/src/rules/flake8_bandit/rules/jinja2_autoescape_false.rs b/crates/ruff/src/rules/flake8_bandit/rules/jinja2_autoescape_false.rs index dffe400d61..73aa5ea913 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/jinja2_autoescape_false.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/jinja2_autoescape_false.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind, Keyword}; -use crate::ast::helpers::SimpleCallArgs; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::SimpleCallArgs; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bandit/rules/logging_config_insecure_listen.rs b/crates/ruff/src/rules/flake8_bandit/rules/logging_config_insecure_listen.rs index 07c50c519e..a03a2a02cd 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/logging_config_insecure_listen.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/logging_config_insecure_listen.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, Keyword}; -use crate::ast::helpers::SimpleCallArgs; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::SimpleCallArgs; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/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 index eb07edb2f4..1dd2534f48 100644 --- a/crates/ruff/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 @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind, Keyword}; -use crate::ast::helpers::SimpleCallArgs; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::SimpleCallArgs; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bandit/rules/request_without_timeout.rs b/crates/ruff/src/rules/flake8_bandit/rules/request_without_timeout.rs index 350e725272..914faf51d3 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/request_without_timeout.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/request_without_timeout.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind, Keyword}; -use crate::ast::helpers::{unparse_constant, SimpleCallArgs}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{unparse_constant, SimpleCallArgs}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bandit/rules/snmp_insecure_version.rs b/crates/ruff/src/rules/flake8_bandit/rules/snmp_insecure_version.rs index 516b16f2dd..ed99a7f617 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/snmp_insecure_version.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/snmp_insecure_version.rs @@ -1,9 +1,10 @@ use num_traits::{One, Zero}; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind, Keyword}; -use crate::ast::helpers::SimpleCallArgs; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::SimpleCallArgs; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bandit/rules/snmp_weak_cryptography.rs b/crates/ruff/src/rules/flake8_bandit/rules/snmp_weak_cryptography.rs index 21fab35ffc..30f7e647f0 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/snmp_weak_cryptography.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/snmp_weak_cryptography.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, Keyword}; -use crate::ast::helpers::SimpleCallArgs; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::SimpleCallArgs; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bandit/rules/try_except_continue.rs b/crates/ruff/src/rules/flake8_bandit/rules/try_except_continue.rs index 86f78de5b9..c545c995d6 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/try_except_continue.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/try_except_continue.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::{Excepthandler, Expr, Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::flake8_bandit::helpers::is_untyped_exception; diff --git a/crates/ruff/src/rules/flake8_bandit/rules/try_except_pass.rs b/crates/ruff/src/rules/flake8_bandit/rules/try_except_pass.rs index 0f2a5e4f51..295bcb758e 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/try_except_pass.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/try_except_pass.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::{Excepthandler, Expr, Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::flake8_bandit::helpers::is_untyped_exception; diff --git a/crates/ruff/src/rules/flake8_bandit/rules/unsafe_yaml_load.rs b/crates/ruff/src/rules/flake8_bandit/rules/unsafe_yaml_load.rs index bd24d8abf0..fc36caeff5 100644 --- a/crates/ruff/src/rules/flake8_bandit/rules/unsafe_yaml_load.rs +++ b/crates/ruff/src/rules/flake8_bandit/rules/unsafe_yaml_load.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Keyword}; -use crate::ast::helpers::SimpleCallArgs; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::SimpleCallArgs; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bandit/settings.rs b/crates/ruff/src/rules/flake8_bandit/settings.rs index 79f0d76e86..97ed127336 100644 --- a/crates/ruff/src/rules/flake8_bandit/settings.rs +++ b/crates/ruff/src/rules/flake8_bandit/settings.rs @@ -1,9 +1,10 @@ //! Settings for the `flake8-bandit` plugin. -use ruff_macros::{CacheKey, ConfigurationOptions}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + fn default_tmp_dirs() -> Vec { ["/tmp", "/var/tmp", "/dev/shm"] .map(std::string::ToString::to_string) diff --git a/crates/ruff/src/rules/flake8_blind_except/rules.rs b/crates/ruff/src/rules/flake8_blind_except/rules.rs index 3dcd9fb9fa..b64f5a402b 100644 --- a/crates/ruff/src/rules/flake8_blind_except/rules.rs +++ b/crates/ruff/src/rules/flake8_blind_except/rules.rs @@ -1,9 +1,10 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Stmt, StmtKind}; -use crate::ast::helpers; -use crate::ast::helpers::{find_keyword, is_const_true}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers; +use ruff_python_ast::helpers::{find_keyword, is_const_true}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_boolean_trap/rules.rs b/crates/ruff/src/rules/flake8_boolean_trap/rules.rs index b19ad37b1d..b3460906ba 100644 --- a/crates/ruff/src/rules/flake8_boolean_trap/rules.rs +++ b/crates/ruff/src/rules/flake8_boolean_trap/rules.rs @@ -1,9 +1,9 @@ use rustpython_parser::ast::{Arguments, Constant, Expr, ExprKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::collect_call_path; +use ruff_python_ast::types::Range; -use crate::ast::helpers::collect_call_path; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::{Diagnostic, DiagnosticKind}; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/abstract_base_class.rs b/crates/ruff/src/rules/flake8_bugbear/rules/abstract_base_class.rs index a27f20647c..dfc6172ec9 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/abstract_base_class.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/abstract_base_class.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind, Keyword, Stmt, StmtKind}; -use crate::ast::types::Range; -use crate::ast::visibility::{is_abstract, is_overload}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; +use ruff_python_ast::visibility::{is_abstract, is_overload}; + use crate::checkers::ast::Checker; use crate::registry::{Diagnostic, Rule}; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/assert_false.rs b/crates/ruff/src/rules/flake8_bugbear/rules/assert_false.rs index 985406d7ff..9b6d672fd2 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/assert_false.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/assert_false.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprContext, ExprKind, Location, Stmt, StmtKind}; -use crate::ast::helpers::unparse_stmt; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::unparse_stmt; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/assert_raises_exception.rs b/crates/ruff/src/rules/flake8_bugbear/rules/assert_raises_exception.rs index 129f5f454a..0e4f61d545 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/assert_raises_exception.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/assert_raises_exception.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{ExprKind, Stmt, Withitem}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/assignment_to_os_environ.rs b/crates/ruff/src/rules/flake8_bugbear/rules/assignment_to_os_environ.rs index faf99e6a1f..2e300a3d62 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/assignment_to_os_environ.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/assignment_to_os_environ.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/cached_instance_method.rs b/crates/ruff/src/rules/flake8_bugbear/rules/cached_instance_method.rs index 278c2df6df..2258cf558a 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/cached_instance_method.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/cached_instance_method.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::{Range, ScopeKind}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{Range, ScopeKind}; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/cannot_raise_literal.rs b/crates/ruff/src/rules/flake8_bugbear/rules/cannot_raise_literal.rs index 552ba54f22..2d1a5c3bfc 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/cannot_raise_literal.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/cannot_raise_literal.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/duplicate_exceptions.rs b/crates/ruff/src/rules/flake8_bugbear/rules/duplicate_exceptions.rs index 6cb86e8c62..1fc2b478e5 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/duplicate_exceptions.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/duplicate_exceptions.rs @@ -1,13 +1,14 @@ use itertools::Itertools; -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::{FxHashMap, FxHashSet}; use rustpython_parser::ast::{ Excepthandler, ExcepthandlerKind, Expr, ExprContext, ExprKind, Location, }; -use crate::ast::helpers; -use crate::ast::helpers::unparse_expr; -use crate::ast::types::{CallPath, Range}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers; +use ruff_python_ast::helpers::unparse_expr; +use ruff_python_ast::types::{CallPath, Range}; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/except_with_empty_tuple.rs b/crates/ruff/src/rules/flake8_bugbear/rules/except_with_empty_tuple.rs index b4ded3bd75..6ba132b9d9 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/except_with_empty_tuple.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/except_with_empty_tuple.rs @@ -1,13 +1,13 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Excepthandler; +use rustpython_parser::ast::{ExcepthandlerKind, ExprKind}; + +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; -use rustpython_parser::ast::{ExcepthandlerKind, ExprKind}; - #[violation] pub struct ExceptWithEmptyTuple; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/f_string_docstring.rs b/crates/ruff/src/rules/flake8_bugbear/rules/f_string_docstring.rs index d12b772dd6..047dac4e23 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/f_string_docstring.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/f_string_docstring.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{ExprKind, Stmt, StmtKind}; -use crate::ast::helpers; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/function_call_argument_default.rs b/crates/ruff/src/rules/flake8_bugbear/rules/function_call_argument_default.rs index 0bd2d5c0b7..2035d6f387 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/function_call_argument_default.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/function_call_argument_default.rs @@ -1,15 +1,17 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Arguments, Constant, Expr, ExprKind}; -use super::mutable_argument_default::is_mutable_func; -use crate::ast::helpers::{compose_call_path, to_call_path}; -use crate::ast::types::{CallPath, Range}; -use crate::ast::visitor; -use crate::ast::visitor::Visitor; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{compose_call_path, to_call_path}; +use ruff_python_ast::types::{CallPath, Range}; +use ruff_python_ast::visitor; +use ruff_python_ast::visitor::Visitor; + use crate::checkers::ast::Checker; use crate::registry::{Diagnostic, DiagnosticKind}; use crate::violation::Violation; +use super::mutable_argument_default::is_mutable_func; + #[violation] pub struct FunctionCallArgumentDefault { pub name: Option, diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/function_uses_loop_variable.rs b/crates/ruff/src/rules/flake8_bugbear/rules/function_uses_loop_variable.rs index 7aa759ebe1..12dc0bd325 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/function_uses_loop_variable.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/function_uses_loop_variable.rs @@ -1,11 +1,12 @@ -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::FxHashSet; use rustpython_parser::ast::{Comprehension, Expr, ExprContext, ExprKind, Stmt, StmtKind}; -use crate::ast::helpers::collect_arg_names; -use crate::ast::types::{Node, Range}; -use crate::ast::visitor; -use crate::ast::visitor::Visitor; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::collect_arg_names; +use ruff_python_ast::types::{Node, Range}; +use ruff_python_ast::visitor; +use ruff_python_ast::visitor::Visitor; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/getattr_with_constant.rs b/crates/ruff/src/rules/flake8_bugbear/rules/getattr_with_constant.rs index 2090470d0b..4def8c8ca4 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/getattr_with_constant.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/getattr_with_constant.rs @@ -1,11 +1,11 @@ use rustpython_parser::ast::{Constant, Expr, ExprContext, ExprKind, Location}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::unparse_expr; +use ruff_python_ast::types::Range; use ruff_python_stdlib::identifiers::{is_identifier, is_mangled_private}; use ruff_python_stdlib::keyword::KWLIST; -use crate::ast::helpers::unparse_expr; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/jump_statement_in_finally.rs b/crates/ruff/src/rules/flake8_bugbear/rules/jump_statement_in_finally.rs index d370953240..5f8bff7b7b 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/jump_statement_in_finally.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/jump_statement_in_finally.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Stmt, StmtKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/loop_variable_overrides_iterator.rs b/crates/ruff/src/rules/flake8_bugbear/rules/loop_variable_overrides_iterator.rs index 0e593d1c72..221005b7c6 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/loop_variable_overrides_iterator.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/loop_variable_overrides_iterator.rs @@ -1,10 +1,11 @@ -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::FxHashMap; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::Range; -use crate::ast::visitor; -use crate::ast::visitor::Visitor; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; +use ruff_python_ast::visitor; +use ruff_python_ast::visitor::Visitor; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/mod.rs b/crates/ruff/src/rules/flake8_bugbear/rules/mod.rs index 0e4fac8e61..3466921137 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/mod.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/mod.rs @@ -34,6 +34,9 @@ pub use star_arg_unpacking_after_keyword_arg::{ }; pub use strip_with_multi_characters::{strip_with_multi_characters, StripWithMultiCharacters}; pub use unary_prefix_increment::{unary_prefix_increment, UnaryPrefixIncrement}; +pub use unintentional_type_annotation::{ + unintentional_type_annotation, UnintentionalTypeAnnotation, +}; pub use unreliable_callable_check::{unreliable_callable_check, UnreliableCallableCheck}; pub use unused_loop_control_variable::{unused_loop_control_variable, UnusedLoopControlVariable}; pub use useless_comparison::{useless_comparison, UselessComparison}; @@ -41,10 +44,6 @@ pub use useless_contextlib_suppress::{useless_contextlib_suppress, UselessContex pub use useless_expression::{useless_expression, UselessExpression}; pub use zip_without_explicit_strict::{zip_without_explicit_strict, ZipWithoutExplicitStrict}; -pub use unintentional_type_annotation::{ - unintentional_type_annotation, UnintentionalTypeAnnotation, -}; - mod abstract_base_class; mod assert_false; mod assert_raises_exception; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/mutable_argument_default.rs b/crates/ruff/src/rules/flake8_bugbear/rules/mutable_argument_default.rs index e2f89fc55b..32eaa7ea8c 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/mutable_argument_default.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/mutable_argument_default.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Arguments, Constant, Expr, ExprKind, Operator}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/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 index b9d57af2b8..180c958618 100644 --- a/crates/ruff/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 @@ -1,10 +1,10 @@ use rustpython_parser::ast::{ExprKind, Stmt}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::RaiseStatementVisitor; +use ruff_python_ast::visitor; use ruff_python_stdlib::str::is_lower; -use crate::ast::helpers::RaiseStatementVisitor; -use crate::ast::visitor; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/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 index ec56f223d3..fd6a59ed5d 100644 --- a/crates/ruff/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 @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Excepthandler, ExcepthandlerKind, ExprKind}; -use crate::ast::helpers::unparse_expr; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::unparse_expr; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/setattr_with_constant.rs b/crates/ruff/src/rules/flake8_bugbear/rules/setattr_with_constant.rs index d642ecc1d3..e58d1d1228 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/setattr_with_constant.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/setattr_with_constant.rs @@ -1,15 +1,15 @@ use rustpython_parser::ast::{Constant, Expr, ExprContext, ExprKind, Location, Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::unparse_stmt; +use ruff_python_ast::source_code::Stylist; +use ruff_python_ast::types::Range; use ruff_python_stdlib::identifiers::{is_identifier, is_mangled_private}; use ruff_python_stdlib::keyword::KWLIST; -use crate::ast::helpers::unparse_stmt; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; -use crate::source_code::Stylist; use crate::violation::AlwaysAutofixableViolation; #[violation] diff --git a/crates/ruff/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 index d4af4d11f3..f1be891ced 100644 --- a/crates/ruff/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 @@ -7,10 +7,11 @@ //! by the unpacked sequence, and this change of ordering can surprise and //! mislead readers. -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Keyword}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/strip_with_multi_characters.rs b/crates/ruff/src/rules/flake8_bugbear/rules/strip_with_multi_characters.rs index f1e4cfaf78..c1de5468d0 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/strip_with_multi_characters.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/strip_with_multi_characters.rs @@ -1,8 +1,9 @@ use itertools::Itertools; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/unary_prefix_increment.rs b/crates/ruff/src/rules/flake8_bugbear/rules/unary_prefix_increment.rs index d9e67c34b5..c2fd25b708 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/unary_prefix_increment.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/unary_prefix_increment.rs @@ -17,10 +17,11 @@ //! n += 1 //! ``` -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Unaryop}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/unintentional_type_annotation.rs b/crates/ruff/src/rules/flake8_bugbear/rules/unintentional_type_annotation.rs index 9b1a3abbd2..7cdbc39eac 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/unintentional_type_annotation.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/unintentional_type_annotation.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::{Expr, ExprKind, Stmt}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/unreliable_callable_check.rs b/crates/ruff/src/rules/flake8_bugbear/rules/unreliable_callable_check.rs index f44a0e5a59..1098fab5aa 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/unreliable_callable_check.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/unreliable_callable_check.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/unused_loop_control_variable.rs b/crates/ruff/src/rules/flake8_bugbear/rules/unused_loop_control_variable.rs index 12e37a8bb4..b376f74a01 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/unused_loop_control_variable.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/unused_loop_control_variable.rs @@ -18,14 +18,15 @@ //! method() //! ``` -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::FxHashMap; use rustpython_parser::ast::{Expr, ExprKind, Stmt}; use serde::{Deserialize, Serialize}; -use crate::ast::types::{Range, RefEquality}; -use crate::ast::visitor::Visitor; -use crate::ast::{helpers, visitor}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{Range, RefEquality}; +use ruff_python_ast::visitor::Visitor; +use ruff_python_ast::{helpers, visitor}; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/useless_comparison.rs b/crates/ruff/src/rules/flake8_bugbear/rules/useless_comparison.rs index cd98b20e02..9cc5a9145c 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/useless_comparison.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/useless_comparison.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/useless_contextlib_suppress.rs b/crates/ruff/src/rules/flake8_bugbear/rules/useless_contextlib_suppress.rs index 21138b1b59..24cf1ac522 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/useless_contextlib_suppress.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/useless_contextlib_suppress.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Expr; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/useless_expression.rs b/crates/ruff/src/rules/flake8_bugbear/rules/useless_expression.rs index 03a2a1742c..763426bc9b 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/useless_expression.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/useless_expression.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, ExprKind, Stmt, StmtKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/zip_without_explicit_strict.rs b/crates/ruff/src/rules/flake8_bugbear/rules/zip_without_explicit_strict.rs index e274428e99..a79eb9f96e 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/zip_without_explicit_strict.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/zip_without_explicit_strict.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Keyword}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_bugbear/settings.rs b/crates/ruff/src/rules/flake8_bugbear/settings.rs index 962331b337..c9a436fe02 100644 --- a/crates/ruff/src/rules/flake8_bugbear/settings.rs +++ b/crates/ruff/src/rules/flake8_bugbear/settings.rs @@ -1,9 +1,10 @@ //! Settings for the `flake8-bugbear` plugin. -use ruff_macros::{CacheKey, ConfigurationOptions}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + #[derive( Debug, PartialEq, Eq, Default, Serialize, Deserialize, ConfigurationOptions, JsonSchema, )] diff --git a/crates/ruff/src/rules/flake8_builtins/rules.rs b/crates/ruff/src/rules/flake8_builtins/rules.rs index e0895212fb..19c898322b 100644 --- a/crates/ruff/src/rules/flake8_builtins/rules.rs +++ b/crates/ruff/src/rules/flake8_builtins/rules.rs @@ -1,9 +1,9 @@ use rustpython_parser::ast::Located; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; use ruff_python_stdlib::builtins::BUILTINS; -use crate::ast::types::Range; use crate::registry::{Diagnostic, DiagnosticKind}; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_builtins/settings.rs b/crates/ruff/src/rules/flake8_builtins/settings.rs index 41ec8aa434..f5d53cbdc8 100644 --- a/crates/ruff/src/rules/flake8_builtins/settings.rs +++ b/crates/ruff/src/rules/flake8_builtins/settings.rs @@ -1,9 +1,10 @@ //! Settings for the `flake8-builtins` plugin. -use ruff_macros::{CacheKey, ConfigurationOptions}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + #[derive( Debug, PartialEq, Eq, Default, Serialize, Deserialize, ConfigurationOptions, JsonSchema, )] diff --git a/crates/ruff/src/rules/flake8_commas/rules.rs b/crates/ruff/src/rules/flake8_commas/rules.rs index 19061145df..adbcf0d4f1 100644 --- a/crates/ruff/src/rules/flake8_commas/rules.rs +++ b/crates/ruff/src/rules/flake8_commas/rules.rs @@ -1,13 +1,14 @@ use itertools::Itertools; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::lexer::{LexResult, Spanned}; use rustpython_parser::Tok; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; + use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; use crate::settings::{flags, Settings}; -use crate::source_code::Locator; use crate::violation::{AlwaysAutofixableViolation, Violation}; /// Simplified token type. diff --git a/crates/ruff/src/rules/flake8_comprehensions/fixes.rs b/crates/ruff/src/rules/flake8_comprehensions/fixes.rs index 7f46e01c82..f2182351cd 100644 --- a/crates/ruff/src/rules/flake8_comprehensions/fixes.rs +++ b/crates/ruff/src/rules/flake8_comprehensions/fixes.rs @@ -7,10 +7,11 @@ use libcst_native::{ RightParen, RightSquareBracket, Set, SetComp, SimpleString, SimpleWhitespace, Tuple, }; -use crate::ast::types::Range; +use ruff_python_ast::source_code::{Locator, Stylist}; +use ruff_python_ast::types::Range; + use crate::cst::matchers::{match_expr, match_module}; use crate::fix::Fix; -use crate::source_code::{Locator, Stylist}; fn match_call<'a, 'b>(expr: &'a mut Expr<'b>) -> Result<&'a mut Call<'b>> { if let Expression::Call(call) = &mut expr.value { diff --git a/crates/ruff/src/rules/flake8_comprehensions/rules/mod.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/mod.rs index 6051a961c9..3003ddd9c1 100644 --- a/crates/ruff/src/rules/flake8_comprehensions/rules/mod.rs +++ b/crates/ruff/src/rules/flake8_comprehensions/rules/mod.rs @@ -1,21 +1,3 @@ -mod helpers; -mod unnecessary_call_around_sorted; -mod unnecessary_collection_call; -mod unnecessary_comprehension; -mod unnecessary_double_cast_or_process; -mod unnecessary_generator_dict; -mod unnecessary_generator_list; -mod unnecessary_generator_set; -mod unnecessary_list_call; -mod unnecessary_list_comprehension_dict; -mod unnecessary_list_comprehension_set; -mod unnecessary_literal_dict; -mod unnecessary_literal_set; -mod unnecessary_literal_within_list_call; -mod unnecessary_literal_within_tuple_call; -mod unnecessary_map; -mod unnecessary_subscript_reversal; - pub use unnecessary_call_around_sorted::{ unnecessary_call_around_sorted, UnnecessaryCallAroundSorted, }; @@ -46,3 +28,21 @@ pub use unnecessary_map::{unnecessary_map, UnnecessaryMap}; pub use unnecessary_subscript_reversal::{ unnecessary_subscript_reversal, UnnecessarySubscriptReversal, }; + +mod helpers; +mod unnecessary_call_around_sorted; +mod unnecessary_collection_call; +mod unnecessary_comprehension; +mod unnecessary_double_cast_or_process; +mod unnecessary_generator_dict; +mod unnecessary_generator_list; +mod unnecessary_generator_set; +mod unnecessary_list_call; +mod unnecessary_list_comprehension_dict; +mod unnecessary_list_comprehension_set; +mod unnecessary_literal_dict; +mod unnecessary_literal_set; +mod unnecessary_literal_within_list_call; +mod unnecessary_literal_within_tuple_call; +mod unnecessary_map; +mod unnecessary_subscript_reversal; diff --git a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_call_around_sorted.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_call_around_sorted.rs index b58906cdc2..e797d4d6ee 100644 --- a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_call_around_sorted.rs +++ b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_call_around_sorted.rs @@ -1,14 +1,16 @@ use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use super::helpers; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::flake8_comprehensions::fixes; use crate::violation::AlwaysAutofixableViolation; +use super::helpers; + /// ## What it does /// Checks for unnecessary `list` or `reversed` calls around `sorted` /// calls. diff --git a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_collection_call.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_collection_call.rs index 5069a112c1..eee09aadc0 100644 --- a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_collection_call.rs +++ b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_collection_call.rs @@ -1,15 +1,17 @@ use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, Keyword}; -use super::helpers; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::flake8_comprehensions::fixes; use crate::rules::flake8_comprehensions::settings::Settings; use crate::violation::AlwaysAutofixableViolation; +use super::helpers; + #[violation] pub struct UnnecessaryCollectionCall { pub obj_type: String, diff --git a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_comprehension.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_comprehension.rs index a9d9ddc1cd..c414607ef0 100644 --- a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_comprehension.rs +++ b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_comprehension.rs @@ -1,14 +1,16 @@ use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Comprehension, Expr, ExprKind}; -use super::helpers; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::flake8_comprehensions::fixes; use crate::violation::AlwaysAutofixableViolation; +use super::helpers; + #[violation] pub struct UnnecessaryComprehension { pub obj_type: String, diff --git a/crates/ruff/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 index bcb7677220..7bd3b92790 100644 --- a/crates/ruff/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 @@ -1,8 +1,8 @@ use rustpython_parser::ast::{Expr, ExprKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::flake8_comprehensions::fixes; diff --git a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_dict.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_dict.rs index b666f5afef..abcf5b873a 100644 --- a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_dict.rs +++ b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_dict.rs @@ -1,14 +1,16 @@ use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Keyword}; -use super::helpers; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::flake8_comprehensions::fixes; use crate::violation::AlwaysAutofixableViolation; +use super::helpers; + /// ## What it does /// Checks for unnecessary generators that can be rewritten as `dict` /// comprehensions. diff --git a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_list.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_list.rs index 22e135e076..32fabaa922 100644 --- a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_list.rs +++ b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_list.rs @@ -1,14 +1,16 @@ use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Keyword}; -use super::helpers; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::flake8_comprehensions::fixes; use crate::violation::AlwaysAutofixableViolation; +use super::helpers; + /// ## What it does /// Checks for unnecessary generators that can be rewritten as `list` /// comprehensions. diff --git a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_set.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_set.rs index 3c0837f982..dca6ebf285 100644 --- a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_set.rs +++ b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_generator_set.rs @@ -1,14 +1,16 @@ use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Keyword}; -use super::helpers; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::flake8_comprehensions::fixes; use crate::violation::AlwaysAutofixableViolation; +use super::helpers; + /// ## What it does /// Checks for unnecessary generators that can be rewritten as `set` /// comprehensions. diff --git a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_call.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_call.rs index 3d762b852e..8c169cca82 100644 --- a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_call.rs +++ b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_call.rs @@ -1,14 +1,16 @@ use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use super::helpers; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::flake8_comprehensions::fixes; use crate::violation::AlwaysAutofixableViolation; +use super::helpers; + #[violation] pub struct UnnecessaryListCall; diff --git a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_dict.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_dict.rs index 01f628a92c..91b1b05a86 100644 --- a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_dict.rs +++ b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_dict.rs @@ -1,14 +1,16 @@ use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Keyword}; -use super::helpers; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::flake8_comprehensions::fixes; use crate::violation::AlwaysAutofixableViolation; +use super::helpers; + #[violation] pub struct UnnecessaryListComprehensionDict; diff --git a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_set.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_set.rs index 728693b55e..0255bc8e4c 100644 --- a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_set.rs +++ b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_set.rs @@ -1,14 +1,16 @@ use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Keyword}; -use super::helpers; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::flake8_comprehensions::fixes; use crate::violation::AlwaysAutofixableViolation; +use super::helpers; + #[violation] pub struct UnnecessaryListComprehensionSet; diff --git a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_literal_dict.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_literal_dict.rs index 200f450fde..0d9f6947e8 100644 --- a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_literal_dict.rs +++ b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_literal_dict.rs @@ -1,14 +1,16 @@ use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Keyword}; -use super::helpers; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::flake8_comprehensions::fixes; use crate::violation::AlwaysAutofixableViolation; +use super::helpers; + #[violation] pub struct UnnecessaryLiteralDict { pub obj_type: String, diff --git a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_literal_set.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_literal_set.rs index 1ad274a3bc..e823ee03ef 100644 --- a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_literal_set.rs +++ b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_literal_set.rs @@ -1,14 +1,16 @@ use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Keyword}; -use super::helpers; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::flake8_comprehensions::fixes; use crate::violation::AlwaysAutofixableViolation; +use super::helpers; + #[violation] pub struct UnnecessaryLiteralSet { pub obj_type: String, diff --git a/crates/ruff/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 index 844e693218..693bd182f6 100644 --- a/crates/ruff/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 @@ -1,14 +1,16 @@ use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use super::helpers; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::flake8_comprehensions::fixes; use crate::violation::AlwaysAutofixableViolation; +use super::helpers; + #[violation] pub struct UnnecessaryLiteralWithinListCall { pub literal: String, diff --git a/crates/ruff/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 index f77110f6d1..62d8f80f34 100644 --- a/crates/ruff/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 @@ -1,14 +1,16 @@ use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use super::helpers; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::flake8_comprehensions::fixes; use crate::violation::AlwaysAutofixableViolation; +use super::helpers; + #[violation] pub struct UnnecessaryLiteralWithinTupleCall { pub literal: String, diff --git a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_map.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_map.rs index c7d8f09937..d9d2fb4da7 100644 --- a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_map.rs +++ b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_map.rs @@ -2,8 +2,8 @@ use log::error; use rustpython_parser::ast::{Expr, ExprKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::flake8_comprehensions::fixes; diff --git a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_subscript_reversal.rs b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_subscript_reversal.rs index ebbe735d55..426c7e2d26 100644 --- a/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_subscript_reversal.rs +++ b/crates/ruff/src/rules/flake8_comprehensions/rules/unnecessary_subscript_reversal.rs @@ -1,13 +1,15 @@ use num_bigint::BigInt; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind, Unaryop}; -use super::helpers; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; +use super::helpers; + #[violation] pub struct UnnecessarySubscriptReversal { pub func: String, diff --git a/crates/ruff/src/rules/flake8_comprehensions/settings.rs b/crates/ruff/src/rules/flake8_comprehensions/settings.rs index 7fac6da1c4..74457e1bc3 100644 --- a/crates/ruff/src/rules/flake8_comprehensions/settings.rs +++ b/crates/ruff/src/rules/flake8_comprehensions/settings.rs @@ -1,9 +1,10 @@ //! Settings for the `flake8-comprehensions` plugin. -use ruff_macros::{CacheKey, ConfigurationOptions}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + #[derive( Debug, PartialEq, Eq, Default, Serialize, Deserialize, ConfigurationOptions, JsonSchema, )] diff --git a/crates/ruff/src/rules/flake8_datetimez/rules.rs b/crates/ruff/src/rules/flake8_datetimez/rules.rs index 9fb2cdd73f..19e0ba752e 100644 --- a/crates/ruff/src/rules/flake8_datetimez/rules.rs +++ b/crates/ruff/src/rules/flake8_datetimez/rules.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind, Keyword}; -use crate::ast::helpers::{has_non_none_keyword, is_const_none}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{has_non_none_keyword, is_const_none}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_debugger/rules.rs b/crates/ruff/src/rules/flake8_debugger/rules.rs index 0efb2ee0d0..bb0324966d 100644 --- a/crates/ruff/src/rules/flake8_debugger/rules.rs +++ b/crates/ruff/src/rules/flake8_debugger/rules.rs @@ -1,13 +1,15 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, Stmt}; -use super::types::DebuggerUsingType; -use crate::ast::helpers::format_call_path; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::format_call_path; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; +use super::types::DebuggerUsingType; + // flake8-debugger #[violation] diff --git a/crates/ruff/src/rules/flake8_django/rules/all_with_model_form.rs b/crates/ruff/src/rules/flake8_django/rules/all_with_model_form.rs index e636900902..9753b33868 100644 --- a/crates/ruff/src/rules/flake8_django/rules/all_with_model_form.rs +++ b/crates/ruff/src/rules/flake8_django/rules/all_with_model_form.rs @@ -1,10 +1,11 @@ use rustpython_parser::ast::{Constant, Expr, ExprKind, Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; use crate::rules::flake8_django::rules::helpers::is_model_form; use crate::violation::Violation; -use crate::{checkers::ast::Checker, registry::Diagnostic, Range}; +use crate::{checkers::ast::Checker, registry::Diagnostic}; /// ## What it does /// Checks for the use of `fields = "__all__"` in Django `ModelForm` diff --git a/crates/ruff/src/rules/flake8_django/rules/exclude_with_model_form.rs b/crates/ruff/src/rules/flake8_django/rules/exclude_with_model_form.rs index 3cf69749db..7cfc33beb9 100644 --- a/crates/ruff/src/rules/flake8_django/rules/exclude_with_model_form.rs +++ b/crates/ruff/src/rules/flake8_django/rules/exclude_with_model_form.rs @@ -1,10 +1,11 @@ use rustpython_parser::ast::{Expr, ExprKind, Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; use crate::rules::flake8_django::rules::helpers::is_model_form; use crate::violation::Violation; -use crate::{checkers::ast::Checker, registry::Diagnostic, Range}; +use crate::{checkers::ast::Checker, registry::Diagnostic}; /// ## What it does /// Checks for the use of `exclude` in Django `ModelForm` classes. diff --git a/crates/ruff/src/rules/flake8_django/rules/locals_in_render_function.rs b/crates/ruff/src/rules/flake8_django/rules/locals_in_render_function.rs index 45a82dca92..0c2fd58829 100644 --- a/crates/ruff/src/rules/flake8_django/rules/locals_in_render_function.rs +++ b/crates/ruff/src/rules/flake8_django/rules/locals_in_render_function.rs @@ -1,8 +1,9 @@ use rustpython_parser::ast::{Expr, ExprKind, Keyword}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::{checkers::ast::Checker, registry::Diagnostic, violation::Violation, Range}; +use crate::{checkers::ast::Checker, registry::Diagnostic, violation::Violation}; /// ## What it does /// Checks for the use of `locals()` in `render` functions. diff --git a/crates/ruff/src/rules/flake8_django/rules/model_without_dunder_str.rs b/crates/ruff/src/rules/flake8_django/rules/model_without_dunder_str.rs index abcb2e5ec2..ae5c7ccdc7 100644 --- a/crates/ruff/src/rules/flake8_django/rules/model_without_dunder_str.rs +++ b/crates/ruff/src/rules/flake8_django/rules/model_without_dunder_str.rs @@ -2,8 +2,8 @@ use rustpython_parser::ast::{Constant, Expr, StmtKind}; use rustpython_parser::ast::{ExprKind, Stmt}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_django/rules/non_leading_receiver_decorator.rs b/crates/ruff/src/rules/flake8_django/rules/non_leading_receiver_decorator.rs index 186f20d1fe..c2f9229d6a 100644 --- a/crates/ruff/src/rules/flake8_django/rules/non_leading_receiver_decorator.rs +++ b/crates/ruff/src/rules/flake8_django/rules/non_leading_receiver_decorator.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::{Expr, ExprKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{CallPath, Range}; -use crate::ast::types::{CallPath, Range}; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_django/rules/nullable_model_string_field.rs b/crates/ruff/src/rules/flake8_django/rules/nullable_model_string_field.rs index b251eb6352..a82ce37d89 100644 --- a/crates/ruff/src/rules/flake8_django/rules/nullable_model_string_field.rs +++ b/crates/ruff/src/rules/flake8_django/rules/nullable_model_string_field.rs @@ -2,8 +2,8 @@ use rustpython_parser::ast::Constant::Bool; use rustpython_parser::ast::{Expr, ExprKind, Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_errmsg/rules.rs b/crates/ruff/src/rules/flake8_errmsg/rules.rs index 7969de58cc..1815b0cc47 100644 --- a/crates/ruff/src/rules/flake8_errmsg/rules.rs +++ b/crates/ruff/src/rules/flake8_errmsg/rules.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::{Diagnostic, Rule}; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_errmsg/settings.rs b/crates/ruff/src/rules/flake8_errmsg/settings.rs index 20b71a29a1..5a3e6c4f5c 100644 --- a/crates/ruff/src/rules/flake8_errmsg/settings.rs +++ b/crates/ruff/src/rules/flake8_errmsg/settings.rs @@ -1,9 +1,10 @@ //! Settings for the `flake8-errmsg` plugin. -use ruff_macros::{CacheKey, ConfigurationOptions}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + #[derive( Debug, PartialEq, Eq, Serialize, Deserialize, Default, ConfigurationOptions, JsonSchema, )] diff --git a/crates/ruff/src/rules/flake8_executable/helpers.rs b/crates/ruff/src/rules/flake8_executable/helpers.rs index 5338486acd..9a54795da9 100644 --- a/crates/ruff/src/rules/flake8_executable/helpers.rs +++ b/crates/ruff/src/rules/flake8_executable/helpers.rs @@ -1,10 +1,10 @@ #[cfg(target_family = "unix")] -use anyhow::Result; -#[cfg(target_family = "unix")] use std::os::unix::fs::PermissionsExt; #[cfg(target_family = "unix")] use std::path::Path; +#[cfg(target_family = "unix")] +use anyhow::Result; use once_cell::sync::Lazy; use regex::Regex; diff --git a/crates/ruff/src/rules/flake8_executable/rules/shebang_missing.rs b/crates/ruff/src/rules/flake8_executable/rules/shebang_missing.rs index 1805c5ebab..774a7c5d3c 100644 --- a/crates/ruff/src/rules/flake8_executable/rules/shebang_missing.rs +++ b/crates/ruff/src/rules/flake8_executable/rules/shebang_missing.rs @@ -3,8 +3,8 @@ use std::path::Path; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::registry::Diagnostic; #[cfg(target_family = "unix")] use crate::rules::flake8_executable::helpers::is_executable; diff --git a/crates/ruff/src/rules/flake8_executable/rules/shebang_newline.rs b/crates/ruff/src/rules/flake8_executable/rules/shebang_newline.rs index 67f9d3d275..3c4446929b 100644 --- a/crates/ruff/src/rules/flake8_executable/rules/shebang_newline.rs +++ b/crates/ruff/src/rules/flake8_executable/rules/shebang_newline.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Location; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::rules::flake8_executable::helpers::ShebangDirective; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_executable/rules/shebang_not_executable.rs b/crates/ruff/src/rules/flake8_executable/rules/shebang_not_executable.rs index e73676fd8f..9a0657cd8e 100644 --- a/crates/ruff/src/rules/flake8_executable/rules/shebang_not_executable.rs +++ b/crates/ruff/src/rules/flake8_executable/rules/shebang_not_executable.rs @@ -5,8 +5,8 @@ use std::path::Path; use rustpython_parser::ast::Location; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::registry::Diagnostic; #[cfg(target_family = "unix")] use crate::rules::flake8_executable::helpers::is_executable; diff --git a/crates/ruff/src/rules/flake8_executable/rules/shebang_python.rs b/crates/ruff/src/rules/flake8_executable/rules/shebang_python.rs index 3b0df0b5f1..474bbe7fda 100644 --- a/crates/ruff/src/rules/flake8_executable/rules/shebang_python.rs +++ b/crates/ruff/src/rules/flake8_executable/rules/shebang_python.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Location; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::rules::flake8_executable::helpers::ShebangDirective; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_executable/rules/shebang_whitespace.rs b/crates/ruff/src/rules/flake8_executable/rules/shebang_whitespace.rs index 121184f13f..34fc0e3b93 100644 --- a/crates/ruff/src/rules/flake8_executable/rules/shebang_whitespace.rs +++ b/crates/ruff/src/rules/flake8_executable/rules/shebang_whitespace.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Location; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::fix::Fix; use crate::registry::Diagnostic; use crate::rules::flake8_executable::helpers::ShebangDirective; diff --git a/crates/ruff/src/rules/flake8_implicit_str_concat/rules.rs b/crates/ruff/src/rules/flake8_implicit_str_concat/rules.rs index 8507064ac7..964ea3a271 100644 --- a/crates/ruff/src/rules/flake8_implicit_str_concat/rules.rs +++ b/crates/ruff/src/rules/flake8_implicit_str_concat/rules.rs @@ -1,10 +1,11 @@ use itertools::Itertools; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind, Operator}; use rustpython_parser::lexer::LexResult; use rustpython_parser::Tok; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::rules::flake8_implicit_str_concat::settings::Settings; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_implicit_str_concat/settings.rs b/crates/ruff/src/rules/flake8_implicit_str_concat/settings.rs index ab66b192b5..d3d2595d96 100644 --- a/crates/ruff/src/rules/flake8_implicit_str_concat/settings.rs +++ b/crates/ruff/src/rules/flake8_implicit_str_concat/settings.rs @@ -1,9 +1,10 @@ //! Settings for the `flake8-implicit-str-concat` plugin. -use ruff_macros::{CacheKey, ConfigurationOptions}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + #[derive( Debug, PartialEq, Eq, Serialize, Deserialize, Default, ConfigurationOptions, JsonSchema, )] diff --git a/crates/ruff/src/rules/flake8_import_conventions/rules.rs b/crates/ruff/src/rules/flake8_import_conventions/rules.rs index ea55dddc61..99c202186e 100644 --- a/crates/ruff/src/rules/flake8_import_conventions/rules.rs +++ b/crates/ruff/src/rules/flake8_import_conventions/rules.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::FxHashMap; use rustpython_parser::ast::Stmt; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_import_conventions/settings.rs b/crates/ruff/src/rules/flake8_import_conventions/settings.rs index e4a8a93d09..abc187b146 100644 --- a/crates/ruff/src/rules/flake8_import_conventions/settings.rs +++ b/crates/ruff/src/rules/flake8_import_conventions/settings.rs @@ -1,10 +1,11 @@ //! Settings for import conventions. -use ruff_macros::{CacheKey, ConfigurationOptions}; use rustc_hash::FxHashMap; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + const CONVENTIONAL_ALIASES: &[(&str, &str)] = &[ ("altair", "alt"), ("matplotlib", "mpl"), diff --git a/crates/ruff/src/rules/flake8_logging_format/rules.rs b/crates/ruff/src/rules/flake8_logging_format/rules.rs index 5889e33133..f08feef200 100644 --- a/crates/ruff/src/rules/flake8_logging_format/rules.rs +++ b/crates/ruff/src/rules/flake8_logging_format/rules.rs @@ -1,8 +1,9 @@ use rustpython_parser::ast::{Constant, Expr, ExprKind, Keyword, Location, Operator}; -use crate::ast::helpers::{find_keyword, is_logger_candidate, SimpleCallArgs}; -use crate::ast::logging::LoggingLevel; -use crate::ast::types::Range; +use ruff_python_ast::helpers::{find_keyword, is_logger_candidate, SimpleCallArgs}; +use ruff_python_ast::logging::LoggingLevel; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; @@ -134,7 +135,7 @@ pub fn logging_call(checker: &mut Checker, func: &Expr, args: &[Expr], keywords: } if let ExprKind::Attribute { value, attr, .. } = &func.node { - if let Some(logging_level) = LoggingLevel::from_str(attr.as_str()) { + if let Some(logging_level) = LoggingLevel::from_attribute(attr.as_str()) { let call_args = SimpleCallArgs::new(args, keywords); let level_call_range = Range::new( Location::new( diff --git a/crates/ruff/src/rules/flake8_no_pep420/rules.rs b/crates/ruff/src/rules/flake8_no_pep420/rules.rs index 5e02024cdb..d8ff323937 100644 --- a/crates/ruff/src/rules/flake8_no_pep420/rules.rs +++ b/crates/ruff/src/rules/flake8_no_pep420/rules.rs @@ -1,8 +1,8 @@ use std::path::{Path, PathBuf}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::fs; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_pie/fixes.rs b/crates/ruff/src/rules/flake8_pie/fixes.rs index 131f2845af..53918a7fc8 100644 --- a/crates/ruff/src/rules/flake8_pie/fixes.rs +++ b/crates/ruff/src/rules/flake8_pie/fixes.rs @@ -1,10 +1,11 @@ use anyhow::{bail, Result}; use libcst_native::{Codegen, CodegenState, Expression, GeneratorExp}; -use crate::ast::types::Range; +use ruff_python_ast::source_code::{Locator, Stylist}; +use ruff_python_ast::types::Range; + use crate::cst::matchers::{match_expr, match_module}; use crate::fix::Fix; -use crate::source_code::{Locator, Stylist}; /// (PIE802) Convert `[i for i in a]` into `i for i in a` pub fn fix_unnecessary_comprehension_any_all( diff --git a/crates/ruff/src/rules/flake8_pie/rules.rs b/crates/ruff/src/rules/flake8_pie/rules.rs index 54367bfc00..1876b776b5 100644 --- a/crates/ruff/src/rules/flake8_pie/rules.rs +++ b/crates/ruff/src/rules/flake8_pie/rules.rs @@ -3,12 +3,12 @@ use rustc_hash::FxHashSet; use rustpython_parser::ast::{Boolop, Constant, Expr, ExprKind, Keyword, Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::comparable::ComparableExpr; +use ruff_python_ast::helpers::{match_trailing_comment, unparse_expr}; +use ruff_python_ast::types::{Range, RefEquality}; use ruff_python_stdlib::identifiers::is_identifier; use ruff_python_stdlib::keyword::KWLIST; -use crate::ast::comparable::ComparableExpr; -use crate::ast::helpers::{match_trailing_comment, unparse_expr}; -use crate::ast::types::{Range, RefEquality}; use crate::autofix::helpers::delete_stmt; use crate::checkers::ast::Checker; use crate::fix::Fix; diff --git a/crates/ruff/src/rules/flake8_print/rules/print_call.rs b/crates/ruff/src/rules/flake8_print/rules/print_call.rs index a0fe4ef068..fdd0e42700 100644 --- a/crates/ruff/src/rules/flake8_print/rules/print_call.rs +++ b/crates/ruff/src/rules/flake8_print/rules/print_call.rs @@ -1,9 +1,9 @@ use rustpython_parser::ast::{Expr, Keyword}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::is_const_none; +use ruff_python_ast::types::Range; -use crate::ast::helpers::is_const_none; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_pyi/rules/bad_version_info_comparison.rs b/crates/ruff/src/rules/flake8_pyi/rules/bad_version_info_comparison.rs index 293152c236..855ae83d45 100644 --- a/crates/ruff/src/rules/flake8_pyi/rules/bad_version_info_comparison.rs +++ b/crates/ruff/src/rules/flake8_pyi/rules/bad_version_info_comparison.rs @@ -1,11 +1,11 @@ use rustpython_parser::ast::{Cmpop, Expr}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; -use crate::Range; /// ## What it does /// Checks for usages of comparators other than `<` and `>=` for diff --git a/crates/ruff/src/rules/flake8_pyi/rules/docstring_in_stubs.rs b/crates/ruff/src/rules/flake8_pyi/rules/docstring_in_stubs.rs index c71350094a..e23e1bea86 100644 --- a/crates/ruff/src/rules/flake8_pyi/rules/docstring_in_stubs.rs +++ b/crates/ruff/src/rules/flake8_pyi/rules/docstring_in_stubs.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::Expr; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_pyi/rules/non_empty_stub_body.rs b/crates/ruff/src/rules/flake8_pyi/rules/non_empty_stub_body.rs index 9dad99ed51..5336b4168d 100644 --- a/crates/ruff/src/rules/flake8_pyi/rules/non_empty_stub_body.rs +++ b/crates/ruff/src/rules/flake8_pyi/rules/non_empty_stub_body.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::{Constant, ExprKind, Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_pyi/rules/pass_statement_stub_body.rs b/crates/ruff/src/rules/flake8_pyi/rules/pass_statement_stub_body.rs index ca559e71c8..5e8c387774 100644 --- a/crates/ruff/src/rules/flake8_pyi/rules/pass_statement_stub_body.rs +++ b/crates/ruff/src/rules/flake8_pyi/rules/pass_statement_stub_body.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::{Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_pyi/rules/prefix_type_params.rs b/crates/ruff/src/rules/flake8_pyi/rules/prefix_type_params.rs index 89550bbef5..968bdbdd63 100644 --- a/crates/ruff/src/rules/flake8_pyi/rules/prefix_type_params.rs +++ b/crates/ruff/src/rules/flake8_pyi/rules/prefix_type_params.rs @@ -1,9 +1,11 @@ -use ruff_macros::{derive_message_formats, violation}; -use rustpython_parser::ast::{Expr, ExprKind}; -use serde::{Deserialize, Serialize}; use std::fmt; -use crate::ast::types::Range; +use rustpython_parser::ast::{Expr, ExprKind}; +use serde::{Deserialize, Serialize}; + +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_pyi/rules/simple_defaults.rs b/crates/ruff/src/rules/flake8_pyi/rules/simple_defaults.rs index 50f02161da..754feeff33 100644 --- a/crates/ruff/src/rules/flake8_pyi/rules/simple_defaults.rs +++ b/crates/ruff/src/rules/flake8_pyi/rules/simple_defaults.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::{Arguments, Constant, Expr, ExprKind, Operator, Unaryop}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_pyi/rules/type_comment_in_stub.rs b/crates/ruff/src/rules/flake8_pyi/rules/type_comment_in_stub.rs index 79a2721363..e8c7e3da46 100644 --- a/crates/ruff/src/rules/flake8_pyi/rules/type_comment_in_stub.rs +++ b/crates/ruff/src/rules/flake8_pyi/rules/type_comment_in_stub.rs @@ -4,10 +4,10 @@ use rustpython_parser::lexer::LexResult; use rustpython_parser::Tok; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; use crate::registry::Diagnostic; use crate::violation::Violation; -use crate::Range; /// ## What it does /// Checks for the use of type comments (e.g., `x = 1 # type: int`) in stub diff --git a/crates/ruff/src/rules/flake8_pyi/rules/unrecognized_platform.rs b/crates/ruff/src/rules/flake8_pyi/rules/unrecognized_platform.rs index 03dd68d1d3..caf4bc19ad 100644 --- a/crates/ruff/src/rules/flake8_pyi/rules/unrecognized_platform.rs +++ b/crates/ruff/src/rules/flake8_pyi/rules/unrecognized_platform.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::{Cmpop, Constant, Expr, ExprKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::{Diagnostic, Rule}; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_pytest_style/mod.rs b/crates/ruff/src/rules/flake8_pytest_style/mod.rs index 48f4ffc3a0..7a737ac7fb 100644 --- a/crates/ruff/src/rules/flake8_pytest_style/mod.rs +++ b/crates/ruff/src/rules/flake8_pytest_style/mod.rs @@ -11,12 +11,13 @@ mod tests { use insta::assert_yaml_snapshot; use test_case::test_case; - use super::settings::Settings; - use super::types; use crate::registry::Rule; use crate::settings; use crate::test::test_path; + use super::settings::Settings; + use super::types; + #[test_case(Rule::IncorrectFixtureParenthesesStyle, Path::new("PT001.py"), Settings::default(), "PT001_default"; "PT001_0")] #[test_case( Rule::IncorrectFixtureParenthesesStyle, diff --git a/crates/ruff/src/rules/flake8_pytest_style/rules/assertion.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/assertion.rs index 9aa3640488..9b97c42e72 100644 --- a/crates/ruff/src/rules/flake8_pytest_style/rules/assertion.rs +++ b/crates/ruff/src/rules/flake8_pytest_style/rules/assertion.rs @@ -11,16 +11,16 @@ use rustpython_parser::ast::{ }; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{has_comments_in, unparse_stmt}; +use ruff_python_ast::source_code::{Locator, Stylist}; +use ruff_python_ast::types::Range; +use ruff_python_ast::visitor::Visitor; +use ruff_python_ast::{visitor, whitespace}; -use crate::ast::helpers::{has_comments_in, unparse_stmt}; -use crate::ast::types::Range; -use crate::ast::visitor::Visitor; -use crate::ast::{visitor, whitespace}; use crate::checkers::ast::Checker; use crate::cst::matchers::match_module; use crate::fix::Fix; use crate::registry::Diagnostic; -use crate::source_code::{Locator, Stylist}; use crate::violation::{AutofixKind, Availability, Violation}; use super::helpers::is_falsy_constant; diff --git a/crates/ruff/src/rules/flake8_pytest_style/rules/fail.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/fail.rs index 0233712c92..575826c8e2 100644 --- a/crates/ruff/src/rules/flake8_pytest_style/rules/fail.rs +++ b/crates/ruff/src/rules/flake8_pytest_style/rules/fail.rs @@ -1,13 +1,15 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, Keyword}; -use super::helpers::{is_empty_or_null_string, is_pytest_fail}; -use crate::ast::helpers::SimpleCallArgs; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::SimpleCallArgs; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; +use super::helpers::{is_empty_or_null_string, is_pytest_fail}; + #[violation] pub struct FailWithoutMessage; diff --git a/crates/ruff/src/rules/flake8_pytest_style/rules/fixture.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/fixture.rs index 6a41096302..c5ed5f9d5a 100644 --- a/crates/ruff/src/rules/flake8_pytest_style/rules/fixture.rs +++ b/crates/ruff/src/rules/flake8_pytest_style/rules/fixture.rs @@ -1,22 +1,24 @@ use anyhow::Result; use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Arguments, Expr, ExprKind, Keyword, Location, Stmt, StmtKind}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{collect_arg_names, collect_call_path}; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; +use ruff_python_ast::visitor; +use ruff_python_ast::visitor::Visitor; + +use crate::autofix::helpers::remove_argument; +use crate::checkers::ast::Checker; +use crate::fix::Fix; +use crate::registry::{Diagnostic, Rule}; +use crate::violation::{AlwaysAutofixableViolation, Violation}; + use super::helpers::{ get_mark_decorators, get_mark_name, is_abstractmethod_decorator, is_pytest_fixture, is_pytest_yield_fixture, keyword_is_literal, }; -use crate::ast::helpers::{collect_arg_names, collect_call_path}; -use crate::ast::types::Range; -use crate::ast::visitor; -use crate::ast::visitor::Visitor; -use crate::autofix::helpers::remove_argument; -use crate::checkers::ast::Checker; -use crate::fix::Fix; -use crate::registry::{Diagnostic, Rule}; -use crate::source_code::Locator; -use crate::violation::{AlwaysAutofixableViolation, Violation}; #[violation] pub struct IncorrectFixtureParenthesesStyle { diff --git a/crates/ruff/src/rules/flake8_pytest_style/rules/helpers.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/helpers.rs index 29b0b34486..007f9f5de5 100644 --- a/crates/ruff/src/rules/flake8_pytest_style/rules/helpers.rs +++ b/crates/ruff/src/rules/flake8_pytest_style/rules/helpers.rs @@ -1,7 +1,8 @@ use num_traits::identities::Zero; use rustpython_parser::ast::{Constant, Expr, ExprKind, Keyword}; -use crate::ast::helpers::{collect_call_path, map_callable}; +use ruff_python_ast::helpers::{collect_call_path, map_callable}; + use crate::checkers::ast::Checker; const ITERABLE_INITIALIZERS: &[&str] = &["dict", "frozenset", "list", "tuple", "set"]; diff --git a/crates/ruff/src/rules/flake8_pytest_style/rules/imports.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/imports.rs index eed821d5b7..98f21d5082 100644 --- a/crates/ruff/src/rules/flake8_pytest_style/rules/imports.rs +++ b/crates/ruff/src/rules/flake8_pytest_style/rules/imports.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Stmt; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_pytest_style/rules/marks.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/marks.rs index 29cb185d58..4b628995b4 100644 --- a/crates/ruff/src/rules/flake8_pytest_style/rules/marks.rs +++ b/crates/ruff/src/rules/flake8_pytest_style/rules/marks.rs @@ -1,13 +1,15 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Location}; -use super::helpers::{get_mark_decorators, get_mark_name}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; use crate::violation::AlwaysAutofixableViolation; +use super::helpers::{get_mark_decorators, get_mark_name}; + #[violation] pub struct IncorrectMarkParenthesesStyle { pub mark_name: String, diff --git a/crates/ruff/src/rules/flake8_pytest_style/rules/parametrize.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/parametrize.rs index 8e4d120d43..8784f147d0 100644 --- a/crates/ruff/src/rules/flake8_pytest_style/rules/parametrize.rs +++ b/crates/ruff/src/rules/flake8_pytest_style/rules/parametrize.rs @@ -1,9 +1,9 @@ use rustpython_parser::ast::{Constant, Expr, ExprContext, ExprKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{create_expr, unparse_expr}; +use ruff_python_ast::types::Range; -use crate::ast::helpers::{create_expr, unparse_expr}; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; diff --git a/crates/ruff/src/rules/flake8_pytest_style/rules/patch.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/patch.rs index 044fcac691..51141acb37 100644 --- a/crates/ruff/src/rules/flake8_pytest_style/rules/patch.rs +++ b/crates/ruff/src/rules/flake8_pytest_style/rules/patch.rs @@ -1,11 +1,12 @@ -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::FxHashSet; use rustpython_parser::ast::{Expr, ExprKind, Keyword}; -use crate::ast::helpers::{collect_arg_names, compose_call_path, SimpleCallArgs}; -use crate::ast::types::Range; -use crate::ast::visitor; -use crate::ast::visitor::Visitor; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{collect_arg_names, compose_call_path, SimpleCallArgs}; +use ruff_python_ast::types::Range; +use ruff_python_ast::visitor; +use ruff_python_ast::visitor::Visitor; + use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_pytest_style/rules/raises.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/raises.rs index b19c55ad60..d3ccc9fc26 100644 --- a/crates/ruff/src/rules/flake8_pytest_style/rules/raises.rs +++ b/crates/ruff/src/rules/flake8_pytest_style/rules/raises.rs @@ -1,13 +1,15 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Keyword, Stmt, StmtKind, Withitem}; -use super::helpers::is_empty_or_null_string; -use crate::ast::helpers::{format_call_path, to_call_path}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{format_call_path, to_call_path}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::{Diagnostic, Rule}; use crate::violation::Violation; +use super::helpers::is_empty_or_null_string; + #[violation] pub struct RaisesWithMultipleStatements; diff --git a/crates/ruff/src/rules/flake8_pytest_style/rules/unittest_assert.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/unittest_assert.rs index a0367c4ef0..8c5a100a24 100644 --- a/crates/ruff/src/rules/flake8_pytest_style/rules/unittest_assert.rs +++ b/crates/ruff/src/rules/flake8_pytest_style/rules/unittest_assert.rs @@ -6,7 +6,7 @@ use rustpython_parser::ast::{ Cmpop, Constant, Expr, ExprContext, ExprKind, Keyword, Stmt, StmtKind, Unaryop, }; -use crate::ast::helpers::{create_expr, create_stmt}; +use ruff_python_ast::helpers::{create_expr, create_stmt}; /// An enum to represent the different types of assertions present in the /// `unittest` module. Note: any variants that can't be replaced with plain diff --git a/crates/ruff/src/rules/flake8_pytest_style/settings.rs b/crates/ruff/src/rules/flake8_pytest_style/settings.rs index d7969ccf8e..5409a7682b 100644 --- a/crates/ruff/src/rules/flake8_pytest_style/settings.rs +++ b/crates/ruff/src/rules/flake8_pytest_style/settings.rs @@ -1,9 +1,10 @@ //! Settings for the `flake8-pytest-style` plugin. -use ruff_macros::{CacheKey, ConfigurationOptions}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + use super::types; fn default_broad_exceptions() -> Vec { diff --git a/crates/ruff/src/rules/flake8_pytest_style/types.rs b/crates/ruff/src/rules/flake8_pytest_style/types.rs index cf310957b2..b52c539fb6 100644 --- a/crates/ruff/src/rules/flake8_pytest_style/types.rs +++ b/crates/ruff/src/rules/flake8_pytest_style/types.rs @@ -1,9 +1,10 @@ use std::fmt::{Display, Formatter}; -use ruff_macros::CacheKey; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::CacheKey; + #[derive(Clone, Copy, Debug, CacheKey, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] pub enum ParametrizeNameType { #[serde(rename = "csv")] diff --git a/crates/ruff/src/rules/flake8_quotes/mod.rs b/crates/ruff/src/rules/flake8_quotes/mod.rs index 6764144dcf..48e3bd0315 100644 --- a/crates/ruff/src/rules/flake8_quotes/mod.rs +++ b/crates/ruff/src/rules/flake8_quotes/mod.rs @@ -10,11 +10,12 @@ mod tests { use insta::assert_yaml_snapshot; use test_case::test_case; - use super::settings::Quote; use crate::registry::Rule; use crate::settings::Settings; use crate::test::test_path; + use super::settings::Quote; + #[test_case(Path::new("doubles.py"))] #[test_case(Path::new("doubles_escaped.py"))] #[test_case(Path::new("doubles_implicit.py"))] diff --git a/crates/ruff/src/rules/flake8_quotes/rules.rs b/crates/ruff/src/rules/flake8_quotes/rules.rs index a1fcfb0d5d..d7dce3e4e0 100644 --- a/crates/ruff/src/rules/flake8_quotes/rules.rs +++ b/crates/ruff/src/rules/flake8_quotes/rules.rs @@ -1,17 +1,19 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Location; use rustpython_parser::lexer::LexResult; use rustpython_parser::Tok; -use super::settings::Quote; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; + use crate::fix::Fix; use crate::lex::docstring_detection::StateMachine; use crate::registry::{Diagnostic, Rule}; use crate::settings::{flags, Settings}; -use crate::source_code::Locator; use crate::violation::AlwaysAutofixableViolation; +use super::settings::Quote; + /// ## What it does /// Checks for inline strings that use single quotes or double quotes, /// depending on the value of the [`flake8-quotes.inline-quotes`] option. diff --git a/crates/ruff/src/rules/flake8_quotes/settings.rs b/crates/ruff/src/rules/flake8_quotes/settings.rs index 3050b35966..7ea0d99d7b 100644 --- a/crates/ruff/src/rules/flake8_quotes/settings.rs +++ b/crates/ruff/src/rules/flake8_quotes/settings.rs @@ -1,9 +1,10 @@ //! Settings for the `flake8-quotes` plugin. -use ruff_macros::{CacheKey, ConfigurationOptions}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, CacheKey, JsonSchema)] #[serde(deny_unknown_fields, rename_all = "kebab-case")] pub enum Quote { diff --git a/crates/ruff/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 index d70eea62e8..9f4f299d61 100644 --- a/crates/ruff/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 @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::helpers::match_parens; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::match_parens; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/flake8_return/rules.rs b/crates/ruff/src/rules/flake8_return/rules.rs index 26a26e50ad..8af8751002 100644 --- a/crates/ruff/src/rules/flake8_return/rules.rs +++ b/crates/ruff/src/rules/flake8_return/rules.rs @@ -2,11 +2,11 @@ use itertools::Itertools; use rustpython_parser::ast::{Constant, Expr, ExprKind, Location, Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{elif_else_range, end_of_statement}; +use ruff_python_ast::types::Range; +use ruff_python_ast::visitor::Visitor; +use ruff_python_ast::whitespace::indentation; -use crate::ast::helpers::{elif_else_range, end_of_statement}; -use crate::ast::types::Range; -use crate::ast::visitor::Visitor; -use crate::ast::whitespace::indentation; use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; diff --git a/crates/ruff/src/rules/flake8_return/visitor.rs b/crates/ruff/src/rules/flake8_return/visitor.rs index fb4570f116..d8be89bdb6 100644 --- a/crates/ruff/src/rules/flake8_return/visitor.rs +++ b/crates/ruff/src/rules/flake8_return/visitor.rs @@ -1,8 +1,8 @@ use rustc_hash::{FxHashMap, FxHashSet}; use rustpython_parser::ast::{Expr, ExprKind, Location, Stmt, StmtKind}; -use crate::ast::visitor; -use crate::ast::visitor::Visitor; +use ruff_python_ast::visitor; +use ruff_python_ast::visitor::Visitor; #[derive(Default)] pub struct Stack<'a> { diff --git a/crates/ruff/src/rules/flake8_self/rules/private_member_access.rs b/crates/ruff/src/rules/flake8_self/rules/private_member_access.rs index 3197c6b537..8cf033c9a5 100644 --- a/crates/ruff/src/rules/flake8_self/rules/private_member_access.rs +++ b/crates/ruff/src/rules/flake8_self/rules/private_member_access.rs @@ -1,9 +1,9 @@ use rustpython_parser::ast::{Expr, ExprKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::collect_call_path; +use ruff_python_ast::types::{Range, ScopeKind}; -use crate::ast::helpers::collect_call_path; -use crate::ast::types::{Range, ScopeKind}; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_self/settings.rs b/crates/ruff/src/rules/flake8_self/settings.rs index a2492f3cfd..73cd561911 100644 --- a/crates/ruff/src/rules/flake8_self/settings.rs +++ b/crates/ruff/src/rules/flake8_self/settings.rs @@ -1,9 +1,10 @@ //! Settings for the `flake8-self` plugin. -use ruff_macros::{CacheKey, ConfigurationOptions}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + // By default, ignore the `namedtuple` methods and attributes, which are underscore-prefixed to // prevent conflicts with field names. const IGNORE_NAMES: [&str; 5] = ["_make", "_asdict", "_replace", "_fields", "_field_defaults"]; diff --git a/crates/ruff/src/rules/flake8_simplify/rules/ast_bool_op.rs b/crates/ruff/src/rules/flake8_simplify/rules/ast_bool_op.rs index 4511171404..a54d4e5c43 100644 --- a/crates/ruff/src/rules/flake8_simplify/rules/ast_bool_op.rs +++ b/crates/ruff/src/rules/flake8_simplify/rules/ast_bool_op.rs @@ -2,11 +2,12 @@ use std::collections::BTreeMap; use std::iter; use itertools::Either::{Left, Right}; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Boolop, Cmpop, Constant, Expr, ExprContext, ExprKind, Unaryop}; -use crate::ast::helpers::{contains_effect, create_expr, has_comments, unparse_expr}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{contains_effect, create_expr, has_comments, unparse_expr}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/flake8_simplify/rules/ast_expr.rs b/crates/ruff/src/rules/flake8_simplify/rules/ast_expr.rs index a23d8a458f..b33b22d18f 100644 --- a/crates/ruff/src/rules/flake8_simplify/rules/ast_expr.rs +++ b/crates/ruff/src/rules/flake8_simplify/rules/ast_expr.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind}; -use crate::ast::helpers::{create_expr, unparse_expr}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{create_expr, unparse_expr}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/flake8_simplify/rules/ast_if.rs b/crates/ruff/src/rules/flake8_simplify/rules/ast_if.rs index 3ac8b6bbb4..cae64c0ccc 100644 --- a/crates/ruff/src/rules/flake8_simplify/rules/ast_if.rs +++ b/crates/ruff/src/rules/flake8_simplify/rules/ast_if.rs @@ -3,13 +3,13 @@ use rustc_hash::FxHashSet; use rustpython_parser::ast::{Cmpop, Constant, Expr, ExprContext, ExprKind, Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; - -use crate::ast::comparable::{ComparableConstant, ComparableExpr, ComparableStmt}; -use crate::ast::helpers::{ +use ruff_python_ast::comparable::{ComparableConstant, ComparableExpr, ComparableStmt}; +use ruff_python_ast::helpers::{ contains_call_path, contains_effect, create_expr, create_stmt, first_colon_range, has_comments, has_comments_in, unparse_expr, unparse_stmt, }; -use crate::ast::types::Range; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/flake8_simplify/rules/ast_ifexp.rs b/crates/ruff/src/rules/flake8_simplify/rules/ast_ifexp.rs index 77d597c499..568cc08a19 100644 --- a/crates/ruff/src/rules/flake8_simplify/rules/ast_ifexp.rs +++ b/crates/ruff/src/rules/flake8_simplify/rules/ast_ifexp.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprContext, ExprKind, Unaryop}; -use crate::ast::helpers::{create_expr, unparse_expr}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{create_expr, unparse_expr}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/flake8_simplify/rules/ast_unary_op.rs b/crates/ruff/src/rules/flake8_simplify/rules/ast_unary_op.rs index 532ba74a51..3f09782939 100644 --- a/crates/ruff/src/rules/flake8_simplify/rules/ast_unary_op.rs +++ b/crates/ruff/src/rules/flake8_simplify/rules/ast_unary_op.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Cmpop, Expr, ExprKind, Stmt, StmtKind, Unaryop}; -use crate::ast::helpers::{create_expr, unparse_expr}; -use crate::ast::types::{Range, ScopeKind}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{create_expr, unparse_expr}; +use ruff_python_ast::types::{Range, ScopeKind}; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/flake8_simplify/rules/ast_with.rs b/crates/ruff/src/rules/flake8_simplify/rules/ast_with.rs index db62e60010..378dda02f9 100644 --- a/crates/ruff/src/rules/flake8_simplify/rules/ast_with.rs +++ b/crates/ruff/src/rules/flake8_simplify/rules/ast_with.rs @@ -2,9 +2,9 @@ use log::error; use rustpython_parser::ast::{Located, Stmt, StmtKind, Withitem}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{first_colon_range, has_comments_in}; +use ruff_python_ast::types::Range; -use crate::ast::helpers::{first_colon_range, has_comments_in}; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::{AutofixKind, Availability, Violation}; diff --git a/crates/ruff/src/rules/flake8_simplify/rules/fix_if.rs b/crates/ruff/src/rules/flake8_simplify/rules/fix_if.rs index 9008655152..25c7b3a6b2 100644 --- a/crates/ruff/src/rules/flake8_simplify/rules/fix_if.rs +++ b/crates/ruff/src/rules/flake8_simplify/rules/fix_if.rs @@ -6,11 +6,12 @@ use libcst_native::{ }; use rustpython_parser::ast::Location; -use crate::ast::types::Range; -use crate::ast::whitespace; +use ruff_python_ast::source_code::{Locator, Stylist}; +use ruff_python_ast::types::Range; +use ruff_python_ast::whitespace; + use crate::cst::matchers::match_module; use crate::fix::Fix; -use crate::source_code::{Locator, Stylist}; fn parenthesize_and_operand(expr: Expression) -> Expression { match &expr { diff --git a/crates/ruff/src/rules/flake8_simplify/rules/fix_with.rs b/crates/ruff/src/rules/flake8_simplify/rules/fix_with.rs index b8472bfde0..59fda90a0d 100644 --- a/crates/ruff/src/rules/flake8_simplify/rules/fix_with.rs +++ b/crates/ruff/src/rules/flake8_simplify/rules/fix_with.rs @@ -2,11 +2,12 @@ use anyhow::{bail, Result}; use libcst_native::{Codegen, CodegenState, CompoundStatement, Statement, Suite, With}; use rustpython_parser::ast::Location; -use crate::ast::types::Range; -use crate::ast::whitespace; +use ruff_python_ast::source_code::{Locator, Stylist}; +use ruff_python_ast::types::Range; +use ruff_python_ast::whitespace; + use crate::cst::matchers::match_module; use crate::fix::Fix; -use crate::source_code::{Locator, Stylist}; /// (SIM117) Convert `with a: with b:` to `with a, b:`. pub(crate) fn fix_multiple_with_statements( diff --git a/crates/ruff/src/rules/flake8_simplify/rules/key_in_dict.rs b/crates/ruff/src/rules/flake8_simplify/rules/key_in_dict.rs index 1891bf1a73..42ff8e9813 100644 --- a/crates/ruff/src/rules/flake8_simplify/rules/key_in_dict.rs +++ b/crates/ruff/src/rules/flake8_simplify/rules/key_in_dict.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Cmpop, Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/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 index b425920efd..5e049407bd 100644 --- a/crates/ruff/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 @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, StmtKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_simplify/rules/reimplemented_builtin.rs b/crates/ruff/src/rules/flake8_simplify/rules/reimplemented_builtin.rs index 0e02f3fe9b..397175370f 100644 --- a/crates/ruff/src/rules/flake8_simplify/rules/reimplemented_builtin.rs +++ b/crates/ruff/src/rules/flake8_simplify/rules/reimplemented_builtin.rs @@ -1,14 +1,15 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{ Cmpop, Comprehension, Constant, Expr, ExprContext, ExprKind, Location, Stmt, StmtKind, Unaryop, }; -use crate::ast::helpers::{create_expr, create_stmt, unparse_stmt}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{create_expr, create_stmt, unparse_stmt}; +use ruff_python_ast::source_code::Stylist; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; -use crate::source_code::Stylist; use crate::violation::AlwaysAutofixableViolation; #[violation] diff --git a/crates/ruff/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 index 14cef82272..59069d884f 100644 --- a/crates/ruff/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 @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Excepthandler, ExcepthandlerKind, Stmt, StmtKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_simplify/rules/use_contextlib_suppress.rs b/crates/ruff/src/rules/flake8_simplify/rules/use_contextlib_suppress.rs index 8f8695fd3d..ae0ed1b095 100644 --- a/crates/ruff/src/rules/flake8_simplify/rules/use_contextlib_suppress.rs +++ b/crates/ruff/src/rules/flake8_simplify/rules/use_contextlib_suppress.rs @@ -1,10 +1,10 @@ use rustpython_parser::ast::{Excepthandler, ExcepthandlerKind, Located, Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers; +use ruff_python_ast::helpers::compose_call_path; +use ruff_python_ast::types::Range; -use crate::ast::helpers; -use crate::ast::helpers::compose_call_path; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/flake8_simplify/rules/yoda_conditions.rs b/crates/ruff/src/rules/flake8_simplify/rules/yoda_conditions.rs index d3e4bfdd7b..fa0a81040d 100644 --- a/crates/ruff/src/rules/flake8_simplify/rules/yoda_conditions.rs +++ b/crates/ruff/src/rules/flake8_simplify/rules/yoda_conditions.rs @@ -3,14 +3,14 @@ use libcst_native::{Codegen, CodegenState, CompOp}; use rustpython_parser::ast::{Cmpop, Expr, ExprKind, Unaryop}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::source_code::{Locator, Stylist}; +use ruff_python_ast::types::Range; use ruff_python_stdlib::str::{self}; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::cst::matchers::{match_comparison, match_expression}; use crate::fix::Fix; use crate::registry::Diagnostic; -use crate::source_code::{Locator, Stylist}; use crate::violation::{AutofixKind, Availability, Violation}; #[violation] diff --git a/crates/ruff/src/rules/flake8_tidy_imports/banned_api.rs b/crates/ruff/src/rules/flake8_tidy_imports/banned_api.rs index 4e22c2642c..f5997f64da 100644 --- a/crates/ruff/src/rules/flake8_tidy_imports/banned_api.rs +++ b/crates/ruff/src/rules/flake8_tidy_imports/banned_api.rs @@ -1,10 +1,11 @@ -use ruff_macros::{derive_message_formats, violation, CacheKey}; use rustc_hash::FxHashMap; use rustpython_parser::ast::{Alias, Expr, Located}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; -use crate::ast::types::{CallPath, Range}; +use ruff_macros::{derive_message_formats, violation, CacheKey}; +use ruff_python_ast::types::{CallPath, Range}; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; @@ -122,11 +123,12 @@ mod tests { use insta::assert_yaml_snapshot; use rustc_hash::FxHashMap; - use super::ApiBan; use crate::registry::Rule; use crate::settings::Settings; use crate::test::test_path; + use super::ApiBan; + #[test] fn banned_api_true_positives() -> Result<()> { let diagnostics = test_path( diff --git a/crates/ruff/src/rules/flake8_tidy_imports/options.rs b/crates/ruff/src/rules/flake8_tidy_imports/options.rs index d5d3db8531..ac8a089687 100644 --- a/crates/ruff/src/rules/flake8_tidy_imports/options.rs +++ b/crates/ruff/src/rules/flake8_tidy_imports/options.rs @@ -1,10 +1,11 @@ //! Settings for the `flake8-tidy-imports` plugin. -use ruff_macros::ConfigurationOptions; use rustc_hash::FxHashMap; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::ConfigurationOptions; + use super::banned_api::ApiBan; use super::relative_imports::Strictness; use super::Settings; diff --git a/crates/ruff/src/rules/flake8_tidy_imports/relative_imports.rs b/crates/ruff/src/rules/flake8_tidy_imports/relative_imports.rs index 2495fd702f..de66f47cd7 100644 --- a/crates/ruff/src/rules/flake8_tidy_imports/relative_imports.rs +++ b/crates/ruff/src/rules/flake8_tidy_imports/relative_imports.rs @@ -3,14 +3,14 @@ use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use ruff_macros::{derive_message_formats, violation, CacheKey}; +use ruff_python_ast::helpers::{create_stmt, from_relative_import, unparse_stmt}; +use ruff_python_ast::source_code::Stylist; +use ruff_python_ast::types::Range; use ruff_python_stdlib::identifiers::is_module_name; -use crate::ast::helpers::{create_stmt, from_relative_import, unparse_stmt}; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; -use crate::source_code::Stylist; use crate::violation::{AutofixKind, Availability, Violation}; pub type Settings = Strictness; diff --git a/crates/ruff/src/rules/flake8_type_checking/helpers.rs b/crates/ruff/src/rules/flake8_type_checking/helpers.rs index f536f2807c..f24c6a8214 100644 --- a/crates/ruff/src/rules/flake8_type_checking/helpers.rs +++ b/crates/ruff/src/rules/flake8_type_checking/helpers.rs @@ -1,13 +1,12 @@ use num_traits::Zero; use rustpython_parser::ast::{Constant, Expr, ExprKind}; -use crate::ast::context::Context; -use crate::ast::helpers::{map_callable, to_call_path}; -use crate::ast::types::{Binding, BindingKind, ExecutionContext, ScopeKind}; -use crate::checkers::ast::Checker; +use ruff_python_ast::context::Context; +use ruff_python_ast::helpers::{map_callable, to_call_path}; +use ruff_python_ast::types::{Binding, BindingKind, ExecutionContext, ScopeKind}; /// Return `true` if [`Expr`] is a guard for a type-checking block. -pub fn is_type_checking_block(checker: &Checker, test: &Expr) -> bool { +pub fn is_type_checking_block(context: &Context, test: &Expr) -> bool { // Ex) `if False:` if matches!( test.node, @@ -31,13 +30,9 @@ pub fn is_type_checking_block(checker: &Checker, test: &Expr) -> bool { } // Ex) `if typing.TYPE_CHECKING:` - if checker - .ctx - .resolve_call_path(test) - .map_or(false, |call_path| { - call_path.as_slice() == ["typing", "TYPE_CHECKING"] - }) - { + if context.resolve_call_path(test).map_or(false, |call_path| { + call_path.as_slice() == ["typing", "TYPE_CHECKING"] + }) { return true; } diff --git a/crates/ruff/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 index dd89bcb2d9..57f7ceb770 100644 --- a/crates/ruff/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 @@ -1,8 +1,9 @@ use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Stmt, StmtKind}; -use crate::ast::types::{Range, RefEquality}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{Range, RefEquality}; + use crate::autofix::helpers::delete_stmt; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; diff --git a/crates/ruff/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 index a44d17b3ac..aa81b5aef6 100644 --- a/crates/ruff/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 @@ -1,6 +1,6 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{Binding, BindingKind, ExecutionContext}; -use crate::ast::types::{Binding, BindingKind, ExecutionContext}; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/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 index 38da83d3c8..883817d984 100644 --- a/crates/ruff/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 @@ -1,8 +1,8 @@ use std::path::Path; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{Binding, BindingKind, ExecutionContext}; -use crate::ast::types::{Binding, BindingKind, ExecutionContext}; use crate::registry::Diagnostic; use crate::rules::isort::{categorize, ImportType}; use crate::settings::Settings; diff --git a/crates/ruff/src/rules/flake8_type_checking/settings.rs b/crates/ruff/src/rules/flake8_type_checking/settings.rs index 97cf8b02e9..6c1300751f 100644 --- a/crates/ruff/src/rules/flake8_type_checking/settings.rs +++ b/crates/ruff/src/rules/flake8_type_checking/settings.rs @@ -1,9 +1,10 @@ //! Settings for the `flake8-type-checking` plugin. -use ruff_macros::{CacheKey, ConfigurationOptions}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + #[derive( Debug, PartialEq, Eq, Serialize, Deserialize, Default, ConfigurationOptions, JsonSchema, )] diff --git a/crates/ruff/src/rules/flake8_unused_arguments/helpers.rs b/crates/ruff/src/rules/flake8_unused_arguments/helpers.rs index 41da06cc85..9b76c2eccd 100644 --- a/crates/ruff/src/rules/flake8_unused_arguments/helpers.rs +++ b/crates/ruff/src/rules/flake8_unused_arguments/helpers.rs @@ -1,6 +1,6 @@ use rustpython_parser::ast::{Constant, ExprKind, Stmt, StmtKind}; -use crate::ast::helpers::is_docstring_stmt; +use ruff_python_ast::helpers::is_docstring_stmt; /// Return `true` if a `Stmt` is a "empty": a `pass`, `...`, `raise /// NotImplementedError`, or `raise NotImplemented` (with or without arguments). diff --git a/crates/ruff/src/rules/flake8_unused_arguments/rules.rs b/crates/ruff/src/rules/flake8_unused_arguments/rules.rs index 9ce7fc2d0f..ac5f5aa543 100644 --- a/crates/ruff/src/rules/flake8_unused_arguments/rules.rs +++ b/crates/ruff/src/rules/flake8_unused_arguments/rules.rs @@ -1,20 +1,22 @@ use std::iter; use regex::Regex; -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::FxHashMap; use rustpython_parser::ast::{Arg, Arguments}; -use super::helpers; -use super::types::Argumentable; -use crate::ast::function_type; -use crate::ast::function_type::FunctionType; -use crate::ast::types::{Binding, FunctionDef, Lambda, Scope, ScopeKind}; -use crate::ast::visibility; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::function_type; +use ruff_python_ast::function_type::FunctionType; +use ruff_python_ast::types::{Binding, FunctionDef, Lambda, Scope, ScopeKind}; +use ruff_python_ast::visibility; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; +use super::helpers; +use super::types::Argumentable; + #[violation] pub struct UnusedFunctionArgument { pub name: String, diff --git a/crates/ruff/src/rules/flake8_unused_arguments/settings.rs b/crates/ruff/src/rules/flake8_unused_arguments/settings.rs index 66e5983740..753bbb9a45 100644 --- a/crates/ruff/src/rules/flake8_unused_arguments/settings.rs +++ b/crates/ruff/src/rules/flake8_unused_arguments/settings.rs @@ -1,9 +1,10 @@ //! Settings for the `flake8-unused-arguments` plugin. -use ruff_macros::{CacheKey, ConfigurationOptions}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + #[derive( Debug, PartialEq, Eq, Serialize, Deserialize, Default, ConfigurationOptions, JsonSchema, )] diff --git a/crates/ruff/src/rules/flake8_unused_arguments/types.rs b/crates/ruff/src/rules/flake8_unused_arguments/types.rs index 60dc02f4ef..26366c7fcd 100644 --- a/crates/ruff/src/rules/flake8_unused_arguments/types.rs +++ b/crates/ruff/src/rules/flake8_unused_arguments/types.rs @@ -1,6 +1,7 @@ -use super::rules; use crate::registry::{DiagnosticKind, Rule}; +use super::rules; + /// An AST node that can contain arguments. pub enum Argumentable { Function, diff --git a/crates/ruff/src/rules/flake8_use_pathlib/helpers.rs b/crates/ruff/src/rules/flake8_use_pathlib/helpers.rs index 99f2b3d294..6113133e0f 100644 --- a/crates/ruff/src/rules/flake8_use_pathlib/helpers.rs +++ b/crates/ruff/src/rules/flake8_use_pathlib/helpers.rs @@ -1,6 +1,7 @@ use rustpython_parser::ast::Expr; -use crate::ast::types::Range; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::{Diagnostic, DiagnosticKind}; use crate::rules::flake8_use_pathlib::violations::{ diff --git a/crates/ruff/src/rules/isort/annotate.rs b/crates/ruff/src/rules/isort/annotate.rs index 60045f9ad7..9a8ef805d1 100644 --- a/crates/ruff/src/rules/isort/annotate.rs +++ b/crates/ruff/src/rules/isort/annotate.rs @@ -1,10 +1,11 @@ use rustpython_parser::ast::{Stmt, StmtKind}; +use ruff_python_ast::source_code::Locator; + use super::comments::Comment; use super::helpers::trailing_comma; use super::types::{AliasData, TrailingComma}; use super::{AnnotatedAliasData, AnnotatedImport}; -use crate::source_code::Locator; pub fn annotate_imports<'a>( imports: &'a [&'a Stmt], diff --git a/crates/ruff/src/rules/isort/categorize.rs b/crates/ruff/src/rules/isort/categorize.rs index c321d13b07..7cb33df784 100644 --- a/crates/ruff/src/rules/isort/categorize.rs +++ b/crates/ruff/src/rules/isort/categorize.rs @@ -3,15 +3,17 @@ use std::fs; use std::path::{Path, PathBuf}; use log::debug; -use ruff_macros::CacheKey; -use ruff_python_stdlib::sys::KNOWN_STANDARD_LIBRARY; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use strum_macros::EnumIter; -use super::types::{ImportBlock, Importable}; +use ruff_macros::CacheKey; +use ruff_python_stdlib::sys::KNOWN_STANDARD_LIBRARY; + use crate::settings::types::PythonVersion; +use super::types::{ImportBlock, Importable}; + #[derive( Debug, PartialOrd, diff --git a/crates/ruff/src/rules/isort/comments.rs b/crates/ruff/src/rules/isort/comments.rs index 8800c7f229..3a44763635 100644 --- a/crates/ruff/src/rules/isort/comments.rs +++ b/crates/ruff/src/rules/isort/comments.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; use rustpython_parser::ast::Location; use rustpython_parser::{lexer, Mode, Tok}; -use crate::ast::types::Range; -use crate::source_code::Locator; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; #[derive(Debug)] pub struct Comment<'a> { diff --git a/crates/ruff/src/rules/isort/format.rs b/crates/ruff/src/rules/isort/format.rs index 520bf18581..6c622d3b71 100644 --- a/crates/ruff/src/rules/isort/format.rs +++ b/crates/ruff/src/rules/isort/format.rs @@ -1,5 +1,6 @@ +use ruff_python_ast::source_code::Stylist; + use super::types::{AliasData, CommentSet, ImportFromData, Importable}; -use crate::source_code::Stylist; // Guess a capacity to use for string allocation. const CAPACITY: usize = 200; diff --git a/crates/ruff/src/rules/isort/helpers.rs b/crates/ruff/src/rules/isort/helpers.rs index bc6a36aab8..c7ab33f163 100644 --- a/crates/ruff/src/rules/isort/helpers.rs +++ b/crates/ruff/src/rules/isort/helpers.rs @@ -1,10 +1,11 @@ use rustpython_parser::ast::{Location, Stmt}; use rustpython_parser::{lexer, Mode, Tok}; +use ruff_python_ast::helpers::is_docstring_stmt; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; + use super::types::TrailingComma; -use crate::ast::helpers::is_docstring_stmt; -use crate::ast::types::Range; -use crate::source_code::Locator; /// Return `true` if a `StmtKind::ImportFrom` statement ends with a magic /// trailing comma. @@ -126,8 +127,9 @@ mod tests { use rustpython_parser as parser; use rustpython_parser::ast::Location; + use ruff_python_ast::source_code::Locator; + use super::find_splice_location; - use crate::source_code::Locator; fn splice_contents(contents: &str) -> Result { let program = parser::parse_program(contents, "")?; diff --git a/crates/ruff/src/rules/isort/mod.rs b/crates/ruff/src/rules/isort/mod.rs index 9003e8c602..d34cc0520a 100644 --- a/crates/ruff/src/rules/isort/mod.rs +++ b/crates/ruff/src/rules/isort/mod.rs @@ -3,23 +3,24 @@ use std::collections::BTreeSet; use std::path::{Path, PathBuf}; +use itertools::Either::{Left, Right}; +use strum::IntoEnumIterator; + use annotate::annotate_imports; use categorize::categorize_imports; pub use categorize::{categorize, ImportType}; use comments::Comment; -use itertools::Either::{Left, Right}; use normalize::normalize_imports; use order::order_imports; +use ruff_python_ast::source_code::{Locator, Stylist}; use settings::RelativeImportsOrder; use sorting::cmp_either_import; -use strum::IntoEnumIterator; use track::{Block, Trailer}; use types::EitherImport::{Import, ImportFrom}; use types::{AliasData, CommentSet, EitherImport, OrderedImportBlock, TrailingComma}; use crate::rules::isort::types::ImportBlock; use crate::settings::types::PythonVersion; -use crate::source_code::{Locator, Stylist}; mod annotate; mod categorize; @@ -350,13 +351,13 @@ mod tests { use insta::assert_yaml_snapshot; use test_case::test_case; - use super::categorize::ImportType; - use super::settings::RelativeImportsOrder; - use crate::registry::Rule; use crate::settings::Settings; use crate::test::{test_path, test_resource_path}; + use super::categorize::ImportType; + use super::settings::RelativeImportsOrder; + #[test_case(Path::new("add_newline_before_comments.py"))] #[test_case(Path::new("as_imports_comments.py"))] #[test_case(Path::new("combine_as_imports.py"))] diff --git a/crates/ruff/src/rules/isort/normalize.rs b/crates/ruff/src/rules/isort/normalize.rs index b78ee433a5..f3aa484c82 100644 --- a/crates/ruff/src/rules/isort/normalize.rs +++ b/crates/ruff/src/rules/isort/normalize.rs @@ -1,6 +1,7 @@ +use crate::rules::isort::types::TrailingComma; + use super::types::{AliasData, ImportBlock, ImportFromData}; use super::AnnotatedImport; -use crate::rules::isort::types::TrailingComma; pub fn normalize_imports(imports: Vec, combine_as_imports: bool) -> ImportBlock { let mut block = ImportBlock::default(); diff --git a/crates/ruff/src/rules/isort/order.rs b/crates/ruff/src/rules/isort/order.rs index 01b67ed7ae..58c1c91740 100644 --- a/crates/ruff/src/rules/isort/order.rs +++ b/crates/ruff/src/rules/isort/order.rs @@ -1,9 +1,10 @@ use std::cmp::Ordering; use std::collections::BTreeSet; -use crate::rules::isort::types::ImportFromStatement; use itertools::Itertools; +use crate::rules::isort::types::ImportFromStatement; + use super::settings::RelativeImportsOrder; use super::sorting::{cmp_import_from, cmp_members, cmp_modules}; use super::types::{AliasData, CommentSet, ImportBlock, OrderedImportBlock}; diff --git a/crates/ruff/src/rules/isort/rules/add_required_imports.rs b/crates/ruff/src/rules/isort/rules/add_required_imports.rs index b6ab7dd5a5..b4a7784180 100644 --- a/crates/ruff/src/rules/isort/rules/add_required_imports.rs +++ b/crates/ruff/src/rules/isort/rules/add_required_imports.rs @@ -1,20 +1,22 @@ use std::fmt; use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser as parser; use rustpython_parser::ast::{Location, StmtKind, Suite}; -use super::super::helpers; -use super::super::track::Block; -use crate::ast::helpers::is_docstring_stmt; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::is_docstring_stmt; +use ruff_python_ast::source_code::{Locator, Stylist}; +use ruff_python_ast::types::Range; + use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; use crate::settings::{flags, Settings}; -use crate::source_code::{Locator, Stylist}; use crate::violation::AlwaysAutofixableViolation; +use super::super::helpers; +use super::super::track::Block; + /// ## What it does /// Adds any required imports, as specified by the user, to the top of the /// file. diff --git a/crates/ruff/src/rules/isort/rules/organize_imports.rs b/crates/ruff/src/rules/isort/rules/organize_imports.rs index a36bfbc59b..a7628e46cc 100644 --- a/crates/ruff/src/rules/isort/rules/organize_imports.rs +++ b/crates/ruff/src/rules/isort/rules/organize_imports.rs @@ -1,23 +1,25 @@ use std::path::Path; use itertools::{EitherOrBoth, Itertools}; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Location, Stmt}; use textwrap::indent; -use super::super::track::Block; -use super::super::{comments, format_imports}; -use crate::ast::helpers::{ +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{ count_trailing_lines, followed_by_multi_statement_line, preceded_by_multi_statement_line, }; -use crate::ast::types::Range; -use crate::ast::whitespace::leading_space; +use ruff_python_ast::source_code::{Indexer, Locator, Stylist}; +use ruff_python_ast::types::Range; +use ruff_python_ast::whitespace::leading_space; + use crate::fix::Fix; use crate::registry::Diagnostic; use crate::settings::{flags, Settings}; -use crate::source_code::{Indexer, Locator, Stylist}; use crate::violation::AlwaysAutofixableViolation; +use super::super::track::Block; +use super::super::{comments, format_imports}; + /// ## What it does /// De-duplicates, groups, and sorts imports based on the provided `isort` settings. /// diff --git a/crates/ruff/src/rules/isort/settings.rs b/crates/ruff/src/rules/isort/settings.rs index 020d7c90bf..4fe3f00144 100644 --- a/crates/ruff/src/rules/isort/settings.rs +++ b/crates/ruff/src/rules/isort/settings.rs @@ -2,10 +2,11 @@ use std::collections::BTreeSet; -use ruff_macros::{CacheKey, ConfigurationOptions}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + use super::categorize::ImportType; #[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize, CacheKey, JsonSchema)] diff --git a/crates/ruff/src/rules/isort/sorting.rs b/crates/ruff/src/rules/isort/sorting.rs index 5b68acfdec..b59b8639bb 100644 --- a/crates/ruff/src/rules/isort/sorting.rs +++ b/crates/ruff/src/rules/isort/sorting.rs @@ -2,9 +2,10 @@ use std::cmp::Ordering; use std::collections::BTreeSet; -use crate::rules::isort::types::Importable; use ruff_python_stdlib::str; +use crate::rules::isort::types::Importable; + use super::settings::RelativeImportsOrder; use super::types::EitherImport::{Import, ImportFrom}; use super::types::{AliasData, EitherImport, ImportFromData}; diff --git a/crates/ruff/src/rules/isort/track.rs b/crates/ruff/src/rules/isort/track.rs index 143a75a7a2..4e666d088a 100644 --- a/crates/ruff/src/rules/isort/track.rs +++ b/crates/ruff/src/rules/isort/track.rs @@ -1,16 +1,18 @@ use std::path::Path; -use ruff_python_stdlib::path::is_python_stub_file; use rustpython_parser::ast::{ Alias, Arg, Arguments, Boolop, Cmpop, Comprehension, Constant, Excepthandler, ExcepthandlerKind, Expr, ExprContext, Keyword, MatchCase, Operator, Pattern, Stmt, StmtKind, Unaryop, Withitem, }; -use super::helpers; -use crate::ast::visitor::Visitor; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::visitor::Visitor; +use ruff_python_stdlib::path::is_python_stub_file; + use crate::directives::IsortDirectives; -use crate::source_code::Locator; + +use super::helpers; #[derive(Debug)] pub enum Trailer { diff --git a/crates/ruff/src/rules/isort/types.rs b/crates/ruff/src/rules/isort/types.rs index f02fe2c173..0b1870fdfd 100644 --- a/crates/ruff/src/rules/isort/types.rs +++ b/crates/ruff/src/rules/isort/types.rs @@ -2,7 +2,7 @@ use std::borrow::Cow; use rustc_hash::FxHashMap; -use crate::ast; +use ruff_python_ast::helpers::format_import_from; #[derive(Debug, Default, Clone, Copy, PartialEq, Eq)] pub enum TrailingComma { @@ -46,7 +46,7 @@ impl Importable for AliasData<'_> { impl Importable for ImportFromData<'_> { fn module_name(&self) -> String { - ast::helpers::format_import_from(self.level, self.module) + format_import_from(self.level, self.module) } fn module_base(&self) -> String { diff --git a/crates/ruff/src/rules/mccabe/rules.rs b/crates/ruff/src/rules/mccabe/rules.rs index 1949d2788c..c84b0c4e37 100644 --- a/crates/ruff/src/rules/mccabe/rules.rs +++ b/crates/ruff/src/rules/mccabe/rules.rs @@ -1,9 +1,10 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{ExcepthandlerKind, ExprKind, Stmt, StmtKind}; -use crate::ast::helpers::identifier_range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::identifier_range; +use ruff_python_ast::source_code::Locator; + use crate::registry::Diagnostic; -use crate::source_code::Locator; use crate::violation::Violation; /// ## What it does diff --git a/crates/ruff/src/rules/mccabe/settings.rs b/crates/ruff/src/rules/mccabe/settings.rs index bea840a5de..a35dc26be7 100644 --- a/crates/ruff/src/rules/mccabe/settings.rs +++ b/crates/ruff/src/rules/mccabe/settings.rs @@ -1,9 +1,10 @@ //! Settings for the `mccabe` plugin. -use ruff_macros::{CacheKey, ConfigurationOptions}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + #[derive( Debug, PartialEq, Eq, Serialize, Deserialize, Default, ConfigurationOptions, JsonSchema, )] diff --git a/crates/ruff/src/rules/numpy/rules/deprecated_type_alias.rs b/crates/ruff/src/rules/numpy/rules/deprecated_type_alias.rs index 612047f941..009cea214d 100644 --- a/crates/ruff/src/rules/numpy/rules/deprecated_type_alias.rs +++ b/crates/ruff/src/rules/numpy/rules/deprecated_type_alias.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Expr; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/numpy/rules/numpy_legacy_random.rs b/crates/ruff/src/rules/numpy/rules/numpy_legacy_random.rs index 74aaef947a..b1dd8cab7e 100644 --- a/crates/ruff/src/rules/numpy/rules/numpy_legacy_random.rs +++ b/crates/ruff/src/rules/numpy/rules/numpy_legacy_random.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Expr; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pandas_vet/fixes.rs b/crates/ruff/src/rules/pandas_vet/fixes.rs index a3fb2f5d69..6951e6eb8d 100644 --- a/crates/ruff/src/rules/pandas_vet/fixes.rs +++ b/crates/ruff/src/rules/pandas_vet/fixes.rs @@ -1,11 +1,12 @@ use rustpython_parser::ast::{Expr, ExprKind, Keyword, Location}; -use crate::ast::helpers; -use crate::ast::types::Range; +use ruff_python_ast::helpers; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; + use crate::autofix::apply_fix; use crate::autofix::helpers::remove_argument; use crate::fix::Fix; -use crate::source_code::Locator; fn match_name(expr: &Expr) -> Option<&str> { if let ExprKind::Call { func, .. } = &expr.node { diff --git a/crates/ruff/src/rules/pandas_vet/mod.rs b/crates/ruff/src/rules/pandas_vet/mod.rs index 77b207e72c..d54317d6c1 100644 --- a/crates/ruff/src/rules/pandas_vet/mod.rs +++ b/crates/ruff/src/rules/pandas_vet/mod.rs @@ -13,10 +13,11 @@ mod tests { use test_case::test_case; use textwrap::dedent; + use ruff_python_ast::source_code::{Indexer, Locator, Stylist}; + use crate::linter::{check_path, LinterResult}; use crate::registry::{Linter, Rule}; use crate::settings::flags; - use crate::source_code::{Indexer, Locator, Stylist}; use crate::test::test_path; use crate::{directives, settings}; diff --git a/crates/ruff/src/rules/pandas_vet/rules/assignment_to_df.rs b/crates/ruff/src/rules/pandas_vet/rules/assignment_to_df.rs index be926fb5f4..daef04e467 100644 --- a/crates/ruff/src/rules/pandas_vet/rules/assignment_to_df.rs +++ b/crates/ruff/src/rules/pandas_vet/rules/assignment_to_df.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pandas_vet/rules/check_attr.rs b/crates/ruff/src/rules/pandas_vet/rules/check_attr.rs index afbd4675ab..d304c4b1af 100644 --- a/crates/ruff/src/rules/pandas_vet/rules/check_attr.rs +++ b/crates/ruff/src/rules/pandas_vet/rules/check_attr.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::{Expr, ExprKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{BindingKind, Range}; -use crate::ast::types::{BindingKind, Range}; use crate::checkers::ast::Checker; use crate::registry::{Diagnostic, DiagnosticKind, Rule}; use crate::rules::pandas_vet::helpers::is_dataframe_candidate; diff --git a/crates/ruff/src/rules/pandas_vet/rules/check_call.rs b/crates/ruff/src/rules/pandas_vet/rules/check_call.rs index 57f6570904..3ab0074dc7 100644 --- a/crates/ruff/src/rules/pandas_vet/rules/check_call.rs +++ b/crates/ruff/src/rules/pandas_vet/rules/check_call.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::{Expr, ExprKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{BindingKind, Range}; -use crate::ast::types::{BindingKind, Range}; use crate::checkers::ast::Checker; use crate::registry::{Diagnostic, DiagnosticKind, Rule}; use crate::rules::pandas_vet::helpers::is_dataframe_candidate; diff --git a/crates/ruff/src/rules/pandas_vet/rules/inplace_argument.rs b/crates/ruff/src/rules/pandas_vet/rules/inplace_argument.rs index cb2e9afd10..12ab87c39b 100644 --- a/crates/ruff/src/rules/pandas_vet/rules/inplace_argument.rs +++ b/crates/ruff/src/rules/pandas_vet/rules/inplace_argument.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind, Keyword}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::pandas_vet::fixes::fix_inplace_argument; diff --git a/crates/ruff/src/rules/pandas_vet/rules/pd_merge.rs b/crates/ruff/src/rules/pandas_vet/rules/pd_merge.rs index 9ccc3c586d..422e03a05c 100644 --- a/crates/ruff/src/rules/pandas_vet/rules/pd_merge.rs +++ b/crates/ruff/src/rules/pandas_vet/rules/pd_merge.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pep8_naming/helpers.rs b/crates/ruff/src/rules/pep8_naming/helpers.rs index 1ea17901b4..85133ac6fd 100644 --- a/crates/ruff/src/rules/pep8_naming/helpers.rs +++ b/crates/ruff/src/rules/pep8_naming/helpers.rs @@ -1,7 +1,8 @@ use itertools::Itertools; -use ruff_python_stdlib::str::{is_lower, is_upper}; use rustpython_parser::ast::{ExprKind, Stmt, StmtKind}; +use ruff_python_stdlib::str::{is_lower, is_upper}; + use crate::checkers::ast::Checker; pub fn is_camelcase(name: &str) -> bool { diff --git a/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_acronym.rs b/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_acronym.rs index a9601fadef..30f7829409 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_acronym.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_acronym.rs @@ -1,12 +1,12 @@ use rustpython_parser::ast::Stmt; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::identifier_range; +use ruff_python_ast::source_code::Locator; use ruff_python_stdlib::str::{self}; -use crate::ast::helpers::identifier_range; use crate::registry::Diagnostic; use crate::rules::pep8_naming::helpers; -use crate::source_code::Locator; use crate::violation::Violation; /// ## What it does diff --git a/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_constant.rs b/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_constant.rs index fa524723d8..610a7079b1 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_constant.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_constant.rs @@ -1,12 +1,12 @@ use rustpython_parser::ast::Stmt; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::identifier_range; +use ruff_python_ast::source_code::Locator; use ruff_python_stdlib::str::{self}; -use crate::ast::helpers::identifier_range; use crate::registry::Diagnostic; use crate::rules::pep8_naming::helpers; -use crate::source_code::Locator; use crate::violation::Violation; /// ## What it does diff --git a/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_lowercase.rs b/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_lowercase.rs index b828ef182d..32d062a204 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_lowercase.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_lowercase.rs @@ -1,12 +1,12 @@ use rustpython_parser::ast::Stmt; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::identifier_range; +use ruff_python_ast::source_code::Locator; use ruff_python_stdlib::str; -use crate::ast::helpers::identifier_range; use crate::registry::Diagnostic; use crate::rules::pep8_naming::helpers; -use crate::source_code::Locator; use crate::violation::Violation; /// ## What it does diff --git a/crates/ruff/src/rules/pep8_naming/rules/constant_imported_as_non_constant.rs b/crates/ruff/src/rules/pep8_naming/rules/constant_imported_as_non_constant.rs index fa946941c4..a90adff2c9 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/constant_imported_as_non_constant.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/constant_imported_as_non_constant.rs @@ -1,11 +1,11 @@ use rustpython_parser::ast::Stmt; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::identifier_range; +use ruff_python_ast::source_code::Locator; use ruff_python_stdlib::str; -use crate::ast::helpers::identifier_range; use crate::registry::Diagnostic; -use crate::source_code::Locator; use crate::violation::Violation; /// ## What it does diff --git a/crates/ruff/src/rules/pep8_naming/rules/dunder_function_name.rs b/crates/ruff/src/rules/pep8_naming/rules/dunder_function_name.rs index 4a688cc8ff..fba964cfe5 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/dunder_function_name.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/dunder_function_name.rs @@ -1,10 +1,11 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Stmt; -use crate::ast::helpers::identifier_range; -use crate::ast::types::{Scope, ScopeKind}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::identifier_range; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::{Scope, ScopeKind}; + use crate::registry::Diagnostic; -use crate::source_code::Locator; use crate::violation::Violation; /// ## What it does diff --git a/crates/ruff/src/rules/pep8_naming/rules/error_suffix_on_exception_name.rs b/crates/ruff/src/rules/pep8_naming/rules/error_suffix_on_exception_name.rs index 9e829ced41..cb807aeac1 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/error_suffix_on_exception_name.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/error_suffix_on_exception_name.rs @@ -1,9 +1,10 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Stmt}; -use crate::ast::helpers::identifier_range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::identifier_range; +use ruff_python_ast::source_code::Locator; + use crate::registry::Diagnostic; -use crate::source_code::Locator; use crate::violation::Violation; /// ## What it does diff --git a/crates/ruff/src/rules/pep8_naming/rules/invalid_argument_name.rs b/crates/ruff/src/rules/pep8_naming/rules/invalid_argument_name.rs index 98accf7384..b05c39a4a9 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/invalid_argument_name.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/invalid_argument_name.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Arg; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pep8_naming/rules/invalid_class_name.rs b/crates/ruff/src/rules/pep8_naming/rules/invalid_class_name.rs index 9da62360ff..29ef187593 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/invalid_class_name.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/invalid_class_name.rs @@ -1,9 +1,10 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Stmt; -use crate::ast::helpers::identifier_range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::identifier_range; +use ruff_python_ast::source_code::Locator; + use crate::registry::Diagnostic; -use crate::source_code::Locator; use crate::violation::Violation; /// ## What it does diff --git a/crates/ruff/src/rules/pep8_naming/rules/invalid_first_argument_name_for_class_method.rs b/crates/ruff/src/rules/pep8_naming/rules/invalid_first_argument_name_for_class_method.rs index 035cdee741..d89b68a1db 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/invalid_first_argument_name_for_class_method.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/invalid_first_argument_name_for_class_method.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Arguments, Expr}; -use crate::ast::function_type; -use crate::ast::types::{Range, Scope}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::function_type; +use ruff_python_ast::types::{Range, Scope}; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pep8_naming/rules/invalid_first_argument_name_for_method.rs b/crates/ruff/src/rules/pep8_naming/rules/invalid_first_argument_name_for_method.rs index d753d3df3d..c9e56f1d34 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/invalid_first_argument_name_for_method.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/invalid_first_argument_name_for_method.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Arguments, Expr}; -use crate::ast::function_type; -use crate::ast::types::{Range, Scope}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::function_type; +use ruff_python_ast::types::{Range, Scope}; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pep8_naming/rules/invalid_function_name.rs b/crates/ruff/src/rules/pep8_naming/rules/invalid_function_name.rs index bcf2b3b56d..18176bcf54 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/invalid_function_name.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/invalid_function_name.rs @@ -1,9 +1,10 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Stmt; -use crate::ast::helpers::identifier_range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::identifier_range; +use ruff_python_ast::source_code::Locator; + use crate::registry::Diagnostic; -use crate::source_code::Locator; use crate::violation::Violation; /// ## What it does diff --git a/crates/ruff/src/rules/pep8_naming/rules/invalid_module_name.rs b/crates/ruff/src/rules/pep8_naming/rules/invalid_module_name.rs index 8451e76696..c5ec23f87e 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/invalid_module_name.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/invalid_module_name.rs @@ -1,9 +1,9 @@ use std::path::Path; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; use ruff_python_stdlib::identifiers::is_module_name; -use crate::ast::types::Range; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pep8_naming/rules/lowercase_imported_as_non_lowercase.rs b/crates/ruff/src/rules/pep8_naming/rules/lowercase_imported_as_non_lowercase.rs index 9da7ad144d..a57425b90e 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/lowercase_imported_as_non_lowercase.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/lowercase_imported_as_non_lowercase.rs @@ -1,11 +1,11 @@ use rustpython_parser::ast::Stmt; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::identifier_range; +use ruff_python_ast::source_code::Locator; use ruff_python_stdlib::str; -use crate::ast::helpers::identifier_range; use crate::registry::Diagnostic; -use crate::source_code::Locator; use crate::violation::Violation; /// ## What it does diff --git a/crates/ruff/src/rules/pep8_naming/rules/mixed_case_variable_in_class_scope.rs b/crates/ruff/src/rules/pep8_naming/rules/mixed_case_variable_in_class_scope.rs index dde630d38f..299d027cbf 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/mixed_case_variable_in_class_scope.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/mixed_case_variable_in_class_scope.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, Stmt}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::pep8_naming::helpers; diff --git a/crates/ruff/src/rules/pep8_naming/rules/mixed_case_variable_in_global_scope.rs b/crates/ruff/src/rules/pep8_naming/rules/mixed_case_variable_in_global_scope.rs index 46d1ad5d63..028f5ddaa9 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/mixed_case_variable_in_global_scope.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/mixed_case_variable_in_global_scope.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, Stmt}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::pep8_naming::helpers; diff --git a/crates/ruff/src/rules/pep8_naming/rules/non_lowercase_variable_in_function.rs b/crates/ruff/src/rules/pep8_naming/rules/non_lowercase_variable_in_function.rs index c64e933a8d..779b85b8a8 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/non_lowercase_variable_in_function.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/non_lowercase_variable_in_function.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, Stmt}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::pep8_naming::helpers; diff --git a/crates/ruff/src/rules/pep8_naming/settings.rs b/crates/ruff/src/rules/pep8_naming/settings.rs index fcd1dc08f7..4ee1de5711 100644 --- a/crates/ruff/src/rules/pep8_naming/settings.rs +++ b/crates/ruff/src/rules/pep8_naming/settings.rs @@ -1,9 +1,10 @@ //! Settings for the `pep8-naming` plugin. -use ruff_macros::{CacheKey, ConfigurationOptions}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + const IGNORE_NAMES: [&str; 12] = [ "setUp", "tearDown", diff --git a/crates/ruff/src/rules/pycodestyle/helpers.rs b/crates/ruff/src/rules/pycodestyle/helpers.rs index a4f576d2a4..0fa6385024 100644 --- a/crates/ruff/src/rules/pycodestyle/helpers.rs +++ b/crates/ruff/src/rules/pycodestyle/helpers.rs @@ -3,8 +3,8 @@ use regex::Regex; use rustpython_parser::ast::{Cmpop, Expr, ExprKind}; use rustpython_parser::Tok; -use crate::ast::helpers::{create_expr, unparse_expr}; -use crate::source_code::Stylist; +use ruff_python_ast::helpers::{create_expr, unparse_expr}; +use ruff_python_ast::source_code::Stylist; pub fn is_ambiguous_name(name: &str) -> bool { name == "l" || name == "I" || name == "O" diff --git a/crates/ruff/src/rules/pycodestyle/logical_lines.rs b/crates/ruff/src/rules/pycodestyle/logical_lines.rs index adcae84d55..c5f55d723c 100644 --- a/crates/ruff/src/rules/pycodestyle/logical_lines.rs +++ b/crates/ruff/src/rules/pycodestyle/logical_lines.rs @@ -3,10 +3,10 @@ use rustpython_parser::ast::Location; use rustpython_parser::lexer::LexResult; use rustpython_parser::Tok; -use crate::rules::pycodestyle::helpers::{is_keyword_token, is_op_token}; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; -use crate::source_code::Locator; +use crate::rules::pycodestyle::helpers::{is_keyword_token, is_op_token}; bitflags! { #[derive(Default)] diff --git a/crates/ruff/src/rules/pycodestyle/mod.rs b/crates/ruff/src/rules/pycodestyle/mod.rs index 3a6602038d..5f70e3d302 100644 --- a/crates/ruff/src/rules/pycodestyle/mod.rs +++ b/crates/ruff/src/rules/pycodestyle/mod.rs @@ -13,9 +13,10 @@ mod tests { use insta::assert_yaml_snapshot; use test_case::test_case; + use ruff_python_ast::source_code::LineEnding; + use crate::registry::Rule; use crate::settings; - use crate::source_code::LineEnding; use crate::test::test_path; use super::settings::Settings; diff --git a/crates/ruff/src/rules/pycodestyle/rules/ambiguous_class_name.rs b/crates/ruff/src/rules/pycodestyle/rules/ambiguous_class_name.rs index feeba4ab33..5301562360 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/ambiguous_class_name.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/ambiguous_class_name.rs @@ -1,6 +1,6 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::registry::Diagnostic; use crate::rules::pycodestyle::helpers::is_ambiguous_name; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pycodestyle/rules/ambiguous_function_name.rs b/crates/ruff/src/rules/pycodestyle/rules/ambiguous_function_name.rs index 42cf4d9abd..9e830c1da9 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/ambiguous_function_name.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/ambiguous_function_name.rs @@ -1,6 +1,6 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::registry::Diagnostic; use crate::rules::pycodestyle::helpers::is_ambiguous_name; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pycodestyle/rules/ambiguous_variable_name.rs b/crates/ruff/src/rules/pycodestyle/rules/ambiguous_variable_name.rs index 515e3225cc..c77ffbbafb 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/ambiguous_variable_name.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/ambiguous_variable_name.rs @@ -1,6 +1,6 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::registry::Diagnostic; use crate::rules::pycodestyle::helpers::is_ambiguous_name; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pycodestyle/rules/bare_except.rs b/crates/ruff/src/rules/pycodestyle/rules/bare_except.rs index 63a017f6d7..4e3ec1eb4c 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/bare_except.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/bare_except.rs @@ -1,9 +1,10 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Excepthandler, Expr, Stmt, StmtKind}; -use crate::ast::helpers::except_range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::except_range; +use ruff_python_ast::source_code::Locator; + use crate::registry::Diagnostic; -use crate::source_code::Locator; use crate::violation::Violation; /// ## What it does diff --git a/crates/ruff/src/rules/pycodestyle/rules/compound_statements.rs b/crates/ruff/src/rules/pycodestyle/rules/compound_statements.rs index 62f0dcfbb2..bf20921425 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/compound_statements.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/compound_statements.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::lexer::LexResult; use rustpython_parser::Tok; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; use crate::settings::{flags, Settings}; diff --git a/crates/ruff/src/rules/pycodestyle/rules/doc_line_too_long.rs b/crates/ruff/src/rules/pycodestyle/rules/doc_line_too_long.rs index 97825fc26c..64d5aa3922 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/doc_line_too_long.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/doc_line_too_long.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Location; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::rules::pycodestyle::helpers::is_overlong; use crate::settings::Settings; diff --git a/crates/ruff/src/rules/pycodestyle/rules/errors.rs b/crates/ruff/src/rules/pycodestyle/rules/errors.rs index 6333b09a35..bc4f737b31 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/errors.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/errors.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ParseError; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pycodestyle/rules/extraneous_whitespace.rs b/crates/ruff/src/rules/pycodestyle/rules/extraneous_whitespace.rs index 0c0c965718..15bbecc949 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/extraneous_whitespace.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/extraneous_whitespace.rs @@ -2,6 +2,7 @@ use once_cell::sync::Lazy; use regex::Regex; + use ruff_macros::{derive_message_formats, violation}; use crate::registry::DiagnosticKind; diff --git a/crates/ruff/src/rules/pycodestyle/rules/imports.rs b/crates/ruff/src/rules/pycodestyle/rules/imports.rs index fc27ea04fb..8392d43b3a 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/imports.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/imports.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Alias, Stmt}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pycodestyle/rules/indentation_contains_tabs.rs b/crates/ruff/src/rules/pycodestyle/rules/indentation_contains_tabs.rs index ebe9f79075..90d244278d 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/indentation_contains_tabs.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/indentation_contains_tabs.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Location; -use crate::ast::types::Range; -use crate::ast::whitespace::leading_space; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; +use ruff_python_ast::whitespace::leading_space; + use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pycodestyle/rules/invalid_escape_sequence.rs b/crates/ruff/src/rules/pycodestyle/rules/invalid_escape_sequence.rs index 5c28f3bef5..6849bba097 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/invalid_escape_sequence.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/invalid_escape_sequence.rs @@ -3,11 +3,11 @@ use log::error; use rustpython_parser::ast::Location; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::fix::Fix; use crate::registry::Diagnostic; -use crate::source_code::Locator; use crate::violation::AlwaysAutofixableViolation; #[violation] diff --git a/crates/ruff/src/rules/pycodestyle/rules/lambda_assignment.rs b/crates/ruff/src/rules/pycodestyle/rules/lambda_assignment.rs index 996b7a6aa6..6963833050 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/lambda_assignment.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/lambda_assignment.rs @@ -1,13 +1,14 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Arguments, Expr, ExprKind, Location, Stmt, StmtKind}; -use crate::ast::helpers::{match_leading_content, match_trailing_content, unparse_stmt}; -use crate::ast::types::{Range, ScopeKind}; -use crate::ast::whitespace::leading_space; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{match_leading_content, match_trailing_content, unparse_stmt}; +use ruff_python_ast::source_code::Stylist; +use ruff_python_ast::types::{Range, ScopeKind}; +use ruff_python_ast::whitespace::leading_space; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; -use crate::source_code::Stylist; use crate::violation::{AutofixKind, Availability, Violation}; #[violation] diff --git a/crates/ruff/src/rules/pycodestyle/rules/line_too_long.rs b/crates/ruff/src/rules/pycodestyle/rules/line_too_long.rs index f598816452..59ebc7b194 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/line_too_long.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/line_too_long.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Location; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::rules::pycodestyle::helpers::is_overlong; use crate::settings::Settings; diff --git a/crates/ruff/src/rules/pycodestyle/rules/literal_comparisons.rs b/crates/ruff/src/rules/pycodestyle/rules/literal_comparisons.rs index 2698c8197a..4e22df5ead 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/literal_comparisons.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/literal_comparisons.rs @@ -1,11 +1,12 @@ use itertools::izip; -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::FxHashMap; use rustpython_parser::ast::{Cmpop, Constant, Expr, ExprKind}; use serde::{Deserialize, Serialize}; -use crate::ast::helpers; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pycodestyle/rules/missing_whitespace.rs b/crates/ruff/src/rules/pycodestyle/rules/missing_whitespace.rs index 9d478d86f4..dd85af38d6 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/missing_whitespace.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/missing_whitespace.rs @@ -4,8 +4,8 @@ use rustpython_parser::ast::Location; use rustpython_parser::Tok; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::fix::Fix; use crate::registry::Diagnostic; use crate::registry::DiagnosticKind; diff --git a/crates/ruff/src/rules/pycodestyle/rules/mixed_spaces_and_tabs.rs b/crates/ruff/src/rules/pycodestyle/rules/mixed_spaces_and_tabs.rs index 12c53e6ac3..5902c2723e 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/mixed_spaces_and_tabs.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/mixed_spaces_and_tabs.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Location; -use crate::ast::types::Range; -use crate::ast::whitespace::leading_space; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; +use ruff_python_ast::whitespace::leading_space; + use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/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 index 226a85b1bb..657f4ddce2 100644 --- a/crates/ruff/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 @@ -1,10 +1,11 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Location; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::source_code::Stylist; +use ruff_python_ast::types::Range; + use crate::fix::Fix; use crate::registry::Diagnostic; -use crate::source_code::Stylist; use crate::violation::AlwaysAutofixableViolation; #[violation] diff --git a/crates/ruff/src/rules/pycodestyle/rules/not_tests.rs b/crates/ruff/src/rules/pycodestyle/rules/not_tests.rs index 32b3008c54..0c254aa708 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/not_tests.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/not_tests.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Cmpop, Expr, ExprKind, Unaryop}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pycodestyle/rules/space_around_operator.rs b/crates/ruff/src/rules/pycodestyle/rules/space_around_operator.rs index 753380b77f..3858122cc3 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/space_around_operator.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/space_around_operator.rs @@ -2,6 +2,7 @@ use once_cell::sync::Lazy; use regex::Regex; + use ruff_macros::{derive_message_formats, violation}; use crate::registry::DiagnosticKind; diff --git a/crates/ruff/src/rules/pycodestyle/rules/trailing_whitespace.rs b/crates/ruff/src/rules/pycodestyle/rules/trailing_whitespace.rs index b6b615ad7b..42a94de66a 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/trailing_whitespace.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/trailing_whitespace.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Location; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; use crate::settings::{flags, Settings}; diff --git a/crates/ruff/src/rules/pycodestyle/rules/type_comparison.rs b/crates/ruff/src/rules/pycodestyle/rules/type_comparison.rs index 3bc76cabe4..3fe10b0654 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/type_comparison.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/type_comparison.rs @@ -1,8 +1,9 @@ use itertools::izip; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Cmpop, Constant, Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pycodestyle/rules/whitespace_around_named_parameter_equals.rs b/crates/ruff/src/rules/pycodestyle/rules/whitespace_around_named_parameter_equals.rs index a34c3141e5..2d8bb97066 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/whitespace_around_named_parameter_equals.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/whitespace_around_named_parameter_equals.rs @@ -1,16 +1,15 @@ #![allow(dead_code, unused_imports, unused_variables)] -use rustpython_parser::ast::Location; -use rustpython_parser::Tok; - use once_cell::sync::Lazy; use regex::Regex; +use rustpython_parser::ast::Location; +use rustpython_parser::Tok; + use ruff_macros::{derive_message_formats, violation}; +use crate::registry::DiagnosticKind; #[cfg(feature = "logical_lines")] use crate::rules::pycodestyle::helpers::is_op_token; - -use crate::registry::DiagnosticKind; use crate::violation::Violation; #[violation] diff --git a/crates/ruff/src/rules/pycodestyle/rules/whitespace_before_comment.rs b/crates/ruff/src/rules/pycodestyle/rules/whitespace_before_comment.rs index e9eb69bde0..7e554ca9fc 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/whitespace_before_comment.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/whitespace_before_comment.rs @@ -1,12 +1,13 @@ #![allow(dead_code, unused_imports, unused_variables)] -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Location; use rustpython_parser::Tok; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; + use crate::registry::DiagnosticKind; -use crate::source_code::Locator; use crate::violation::Violation; #[violation] diff --git a/crates/ruff/src/rules/pycodestyle/rules/whitespace_before_parameters.rs b/crates/ruff/src/rules/pycodestyle/rules/whitespace_before_parameters.rs index 999930c5ff..d32adb6a4a 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/whitespace_before_parameters.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/whitespace_before_parameters.rs @@ -4,8 +4,8 @@ use rustpython_parser::ast::Location; use rustpython_parser::Tok; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::fix::Fix; use crate::registry::Diagnostic; use crate::rules::pycodestyle::helpers::{is_keyword_token, is_op_token, is_soft_keyword_token}; diff --git a/crates/ruff/src/rules/pycodestyle/settings.rs b/crates/ruff/src/rules/pycodestyle/settings.rs index 2b6e16d55f..30550f9c89 100644 --- a/crates/ruff/src/rules/pycodestyle/settings.rs +++ b/crates/ruff/src/rules/pycodestyle/settings.rs @@ -1,9 +1,10 @@ //! Settings for the `pycodestyle` plugin. -use ruff_macros::{CacheKey, ConfigurationOptions}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + #[derive( Debug, PartialEq, Eq, Serialize, Deserialize, Default, ConfigurationOptions, JsonSchema, )] diff --git a/crates/ruff/src/rules/pydocstyle/helpers.rs b/crates/ruff/src/rules/pydocstyle/helpers.rs index cb92a29db6..b6261b1361 100644 --- a/crates/ruff/src/rules/pydocstyle/helpers.rs +++ b/crates/ruff/src/rules/pydocstyle/helpers.rs @@ -1,7 +1,8 @@ use std::collections::BTreeSet; -use crate::ast::cast; -use crate::ast::helpers::{map_callable, to_call_path}; +use ruff_python_ast::cast; +use ruff_python_ast::helpers::{map_callable, to_call_path}; + use crate::checkers::ast::Checker; use crate::docstrings::definition::{Definition, DefinitionKind}; diff --git a/crates/ruff/src/rules/pydocstyle/mod.rs b/crates/ruff/src/rules/pydocstyle/mod.rs index 7d84a359d8..139becc9cf 100644 --- a/crates/ruff/src/rules/pydocstyle/mod.rs +++ b/crates/ruff/src/rules/pydocstyle/mod.rs @@ -12,11 +12,12 @@ mod tests { use insta::assert_yaml_snapshot; use test_case::test_case; - use super::settings::{Convention, Settings}; use crate::registry::Rule; use crate::settings; use crate::test::test_path; + use super::settings::{Convention, Settings}; + #[test_case(Rule::BlankLineAfterLastSection, Path::new("sections.py"); "D413")] #[test_case(Rule::BlankLineAfterSection, Path::new("sections.py"); "D410")] #[test_case(Rule::BlankLineAfterSummary, Path::new("D.py"); "D205")] diff --git a/crates/ruff/src/rules/pydocstyle/rules/backslashes.rs b/crates/ruff/src/rules/pydocstyle/rules/backslashes.rs index 82e26cda99..a15c4fe787 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/backslashes.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/backslashes.rs @@ -1,8 +1,9 @@ use once_cell::sync::Lazy; use regex::Regex; -use ruff_macros::{derive_message_formats, violation}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::docstrings::definition::Docstring; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pydocstyle/rules/blank_after_summary.rs b/crates/ruff/src/rules/pydocstyle/rules/blank_after_summary.rs index 69de33d7c4..d78033f829 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/blank_after_summary.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/blank_after_summary.rs @@ -1,6 +1,6 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::docstrings::definition::Docstring; use crate::fix::Fix; diff --git a/crates/ruff/src/rules/pydocstyle/rules/blank_before_after_class.rs b/crates/ruff/src/rules/pydocstyle/rules/blank_before_after_class.rs index 1d1ab1d8be..cacc75761e 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/blank_before_after_class.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/blank_before_after_class.rs @@ -1,6 +1,6 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::docstrings::definition::{DefinitionKind, Docstring}; use crate::fix::Fix; diff --git a/crates/ruff/src/rules/pydocstyle/rules/blank_before_after_function.rs b/crates/ruff/src/rules/pydocstyle/rules/blank_before_after_function.rs index cdfa5c01a7..a959a21fa9 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/blank_before_after_function.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/blank_before_after_function.rs @@ -1,8 +1,9 @@ use once_cell::sync::Lazy; use regex::Regex; -use ruff_macros::{derive_message_formats, violation}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::docstrings::definition::{DefinitionKind, Docstring}; use crate::fix::Fix; diff --git a/crates/ruff/src/rules/pydocstyle/rules/capitalized.rs b/crates/ruff/src/rules/pydocstyle/rules/capitalized.rs index e0898d30a5..d91681cdc8 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/capitalized.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/capitalized.rs @@ -1,6 +1,6 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::docstrings::definition::{DefinitionKind, Docstring}; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pydocstyle/rules/ends_with_period.rs b/crates/ruff/src/rules/pydocstyle/rules/ends_with_period.rs index 82397122fd..1845f08484 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/ends_with_period.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/ends_with_period.rs @@ -1,9 +1,9 @@ use strum::IntoEnumIterator; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::strings::leading_quote; +use ruff_python_ast::types::Range; -use crate::ast::strings::leading_quote; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::docstrings::definition::Docstring; use crate::docstrings::sections::SectionKind; diff --git a/crates/ruff/src/rules/pydocstyle/rules/ends_with_punctuation.rs b/crates/ruff/src/rules/pydocstyle/rules/ends_with_punctuation.rs index 0ba1f2a42a..52b6b26475 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/ends_with_punctuation.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/ends_with_punctuation.rs @@ -1,9 +1,9 @@ use strum::IntoEnumIterator; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::strings::leading_quote; +use ruff_python_ast::types::Range; -use crate::ast::strings::leading_quote; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::docstrings::definition::Docstring; use crate::docstrings::sections::SectionKind; diff --git a/crates/ruff/src/rules/pydocstyle/rules/if_needed.rs b/crates/ruff/src/rules/pydocstyle/rules/if_needed.rs index c8bfdb0434..5b27040bab 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/if_needed.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/if_needed.rs @@ -1,8 +1,8 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::cast; +use ruff_python_ast::helpers::identifier_range; +use ruff_python_ast::visibility::is_overload; -use crate::ast::cast; -use crate::ast::helpers::identifier_range; -use crate::ast::visibility::is_overload; use crate::checkers::ast::Checker; use crate::docstrings::definition::{DefinitionKind, Docstring}; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pydocstyle/rules/indent.rs b/crates/ruff/src/rules/pydocstyle/rules/indent.rs index 6711f6a564..a272ad1211 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/indent.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/indent.rs @@ -1,8 +1,8 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; +use ruff_python_ast::whitespace; +use ruff_python_ast::whitespace::LinesWithTrailingNewline; -use crate::ast::types::Range; -use crate::ast::whitespace; -use crate::ast::whitespace::LinesWithTrailingNewline; use crate::checkers::ast::Checker; use crate::docstrings::definition::Docstring; use crate::fix::Fix; diff --git a/crates/ruff/src/rules/pydocstyle/rules/multi_line_summary_start.rs b/crates/ruff/src/rules/pydocstyle/rules/multi_line_summary_start.rs index 5e593733d2..0f73ec377a 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/multi_line_summary_start.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/multi_line_summary_start.rs @@ -1,9 +1,9 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::strings::leading_quote; +use ruff_python_ast::types::Range; +use ruff_python_ast::whitespace::LinesWithTrailingNewline; use ruff_python_stdlib::str::TRIPLE_QUOTE_PREFIXES; -use crate::ast::strings::leading_quote; -use crate::ast::types::Range; -use crate::ast::whitespace::LinesWithTrailingNewline; use crate::checkers::ast::Checker; use crate::docstrings::definition::{DefinitionKind, Docstring}; use crate::fix::Fix; diff --git a/crates/ruff/src/rules/pydocstyle/rules/newline_after_last_paragraph.rs b/crates/ruff/src/rules/pydocstyle/rules/newline_after_last_paragraph.rs index f5b00b1d7d..9ff15b8c81 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/newline_after_last_paragraph.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/newline_after_last_paragraph.rs @@ -1,8 +1,8 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; +use ruff_python_ast::whitespace; +use ruff_python_ast::whitespace::LinesWithTrailingNewline; -use crate::ast::types::Range; -use crate::ast::whitespace; -use crate::ast::whitespace::LinesWithTrailingNewline; use crate::checkers::ast::Checker; use crate::docstrings::definition::Docstring; use crate::fix::Fix; diff --git a/crates/ruff/src/rules/pydocstyle/rules/no_signature.rs b/crates/ruff/src/rules/pydocstyle/rules/no_signature.rs index 349aaeda37..5241194a9d 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/no_signature.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/no_signature.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::StmtKind; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::docstrings::definition::{DefinitionKind, Docstring}; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pydocstyle/rules/no_surrounding_whitespace.rs b/crates/ruff/src/rules/pydocstyle/rules/no_surrounding_whitespace.rs index ecbde309ec..38d0274c8b 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/no_surrounding_whitespace.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/no_surrounding_whitespace.rs @@ -1,8 +1,8 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::strings::leading_quote; +use ruff_python_ast::types::Range; +use ruff_python_ast::whitespace::LinesWithTrailingNewline; -use crate::ast::strings::leading_quote; -use crate::ast::types::Range; -use crate::ast::whitespace::LinesWithTrailingNewline; use crate::checkers::ast::Checker; use crate::docstrings::definition::Docstring; use crate::fix::Fix; diff --git a/crates/ruff/src/rules/pydocstyle/rules/non_imperative_mood.rs b/crates/ruff/src/rules/pydocstyle/rules/non_imperative_mood.rs index c91592da4b..0212fda8af 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/non_imperative_mood.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/non_imperative_mood.rs @@ -2,12 +2,13 @@ use std::collections::BTreeSet; use imperative::Mood; use once_cell::sync::Lazy; -use ruff_macros::{derive_message_formats, violation}; -use crate::ast::cast; -use crate::ast::helpers::to_call_path; -use crate::ast::types::{CallPath, Range}; -use crate::ast::visibility::{is_property, is_test}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::cast; +use ruff_python_ast::helpers::to_call_path; +use ruff_python_ast::types::{CallPath, Range}; +use ruff_python_ast::visibility::{is_property, is_test}; + use crate::checkers::ast::Checker; use crate::docstrings::definition::{DefinitionKind, Docstring}; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pydocstyle/rules/not_empty.rs b/crates/ruff/src/rules/pydocstyle/rules/not_empty.rs index 67807d22e5..7b40dc5ed1 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/not_empty.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/not_empty.rs @@ -1,6 +1,6 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::docstrings::definition::Docstring; use crate::registry::{Diagnostic, Rule}; diff --git a/crates/ruff/src/rules/pydocstyle/rules/not_missing.rs b/crates/ruff/src/rules/pydocstyle/rules/not_missing.rs index b0299ea89e..ea108e7d03 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/not_missing.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/not_missing.rs @@ -1,11 +1,11 @@ use ruff_macros::{derive_message_formats, violation}; - -use crate::ast::cast; -use crate::ast::helpers::identifier_range; -use crate::ast::types::Range; -use crate::ast::visibility::{ +use ruff_python_ast::cast; +use ruff_python_ast::helpers::identifier_range; +use ruff_python_ast::types::Range; +use ruff_python_ast::visibility::{ is_call, is_init, is_magic, is_new, is_overload, is_override, Visibility, }; + use crate::checkers::ast::Checker; use crate::docstrings::definition::{Definition, DefinitionKind}; use crate::message::Location; diff --git a/crates/ruff/src/rules/pydocstyle/rules/one_liner.rs b/crates/ruff/src/rules/pydocstyle/rules/one_liner.rs index 6dd8d881b3..d38ef84373 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/one_liner.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/one_liner.rs @@ -1,8 +1,8 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::strings::{leading_quote, trailing_quote}; +use ruff_python_ast::types::Range; +use ruff_python_ast::whitespace::LinesWithTrailingNewline; -use crate::ast::strings::{leading_quote, trailing_quote}; -use crate::ast::types::Range; -use crate::ast::whitespace::LinesWithTrailingNewline; use crate::checkers::ast::Checker; use crate::docstrings::definition::Docstring; use crate::fix::Fix; diff --git a/crates/ruff/src/rules/pydocstyle/rules/sections.rs b/crates/ruff/src/rules/pydocstyle/rules/sections.rs index d751b38667..804024e4c3 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/sections.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/sections.rs @@ -5,12 +5,12 @@ use rustc_hash::FxHashSet; use rustpython_parser::ast::StmtKind; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::identifier_range; +use ruff_python_ast::types::Range; +use ruff_python_ast::visibility::is_staticmethod; +use ruff_python_ast::whitespace::LinesWithTrailingNewline; +use ruff_python_ast::{cast, whitespace}; -use crate::ast::helpers::identifier_range; -use crate::ast::types::Range; -use crate::ast::visibility::is_staticmethod; -use crate::ast::whitespace::LinesWithTrailingNewline; -use crate::ast::{cast, whitespace}; use crate::checkers::ast::Checker; use crate::docstrings::definition::{DefinitionKind, Docstring}; use crate::docstrings::sections::{section_contexts, SectionContext, SectionKind}; diff --git a/crates/ruff/src/rules/pydocstyle/rules/starts_with_this.rs b/crates/ruff/src/rules/pydocstyle/rules/starts_with_this.rs index c4f61883df..214e71fc8b 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/starts_with_this.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/starts_with_this.rs @@ -1,6 +1,6 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::docstrings::definition::Docstring; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pydocstyle/rules/triple_quotes.rs b/crates/ruff/src/rules/pydocstyle/rules/triple_quotes.rs index f41ea1755a..070c73343a 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/triple_quotes.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/triple_quotes.rs @@ -1,6 +1,6 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::docstrings::definition::Docstring; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pydocstyle/settings.rs b/crates/ruff/src/rules/pydocstyle/settings.rs index 3dc0b1bf7a..441bc52ffc 100644 --- a/crates/ruff/src/rules/pydocstyle/settings.rs +++ b/crates/ruff/src/rules/pydocstyle/settings.rs @@ -2,10 +2,11 @@ use std::collections::BTreeSet; -use ruff_macros::{CacheKey, ConfigurationOptions}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + use crate::registry::Rule; #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema, CacheKey)] diff --git a/crates/ruff/src/rules/pyflakes/fixes.rs b/crates/ruff/src/rules/pyflakes/fixes.rs index 4ab25a46ba..5e562053ec 100644 --- a/crates/ruff/src/rules/pyflakes/fixes.rs +++ b/crates/ruff/src/rules/pyflakes/fixes.rs @@ -3,11 +3,12 @@ use libcst_native::{Call, Codegen, CodegenState, Dict, DictElement, Expression}; use rustpython_parser::ast::{Excepthandler, Expr}; use rustpython_parser::{lexer, Mode, Tok}; -use crate::ast::strings::raw_contents; -use crate::ast::types::Range; +use ruff_python_ast::source_code::{Locator, Stylist}; +use ruff_python_ast::strings::raw_contents; +use ruff_python_ast::types::Range; + use crate::cst::matchers::{match_expr, match_module}; use crate::fix::Fix; -use crate::source_code::{Locator, Stylist}; /// Generate a [`Fix`] to remove unused keys from format dict. pub fn remove_unused_format_arguments_from_dict( diff --git a/crates/ruff/src/rules/pyflakes/mod.rs b/crates/ruff/src/rules/pyflakes/mod.rs index b10a75e338..7bac0f36d0 100644 --- a/crates/ruff/src/rules/pyflakes/mod.rs +++ b/crates/ruff/src/rules/pyflakes/mod.rs @@ -15,10 +15,11 @@ mod tests { use test_case::test_case; use textwrap::dedent; + use ruff_python_ast::source_code::{Indexer, Locator, Stylist}; + use crate::linter::{check_path, LinterResult}; use crate::registry::{Linter, Rule}; use crate::settings::flags; - use crate::source_code::{Indexer, Locator, Stylist}; use crate::test::test_path; use crate::{directives, settings}; diff --git a/crates/ruff/src/rules/pyflakes/rules/assert_tuple.rs b/crates/ruff/src/rules/pyflakes/rules/assert_tuple.rs index b31003984c..c389bf2b0f 100644 --- a/crates/ruff/src/rules/pyflakes/rules/assert_tuple.rs +++ b/crates/ruff/src/rules/pyflakes/rules/assert_tuple.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Stmt}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pyflakes/rules/break_outside_loop.rs b/crates/ruff/src/rules/pyflakes/rules/break_outside_loop.rs index f54ae5f58c..4e82e66a37 100644 --- a/crates/ruff/src/rules/pyflakes/rules/break_outside_loop.rs +++ b/crates/ruff/src/rules/pyflakes/rules/break_outside_loop.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Stmt, StmtKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pyflakes/rules/continue_outside_loop.rs b/crates/ruff/src/rules/pyflakes/rules/continue_outside_loop.rs index fb3d214aaf..5aecd1208c 100644 --- a/crates/ruff/src/rules/pyflakes/rules/continue_outside_loop.rs +++ b/crates/ruff/src/rules/pyflakes/rules/continue_outside_loop.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Stmt, StmtKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pyflakes/rules/default_except_not_last.rs b/crates/ruff/src/rules/pyflakes/rules/default_except_not_last.rs index bd373f4e00..284801a1aa 100644 --- a/crates/ruff/src/rules/pyflakes/rules/default_except_not_last.rs +++ b/crates/ruff/src/rules/pyflakes/rules/default_except_not_last.rs @@ -1,9 +1,10 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Excepthandler, ExcepthandlerKind}; -use crate::ast::helpers::except_range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::except_range; +use ruff_python_ast::source_code::Locator; + use crate::registry::Diagnostic; -use crate::source_code::Locator; use crate::violation::Violation; #[violation] diff --git a/crates/ruff/src/rules/pyflakes/rules/f_string_missing_placeholders.rs b/crates/ruff/src/rules/pyflakes/rules/f_string_missing_placeholders.rs index 1df1b681af..302a262a45 100644 --- a/crates/ruff/src/rules/pyflakes/rules/f_string_missing_placeholders.rs +++ b/crates/ruff/src/rules/pyflakes/rules/f_string_missing_placeholders.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::helpers::find_useless_f_strings; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::find_useless_f_strings; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyflakes/rules/if_tuple.rs b/crates/ruff/src/rules/pyflakes/rules/if_tuple.rs index f2c2a07a26..c3a68890b2 100644 --- a/crates/ruff/src/rules/pyflakes/rules/if_tuple.rs +++ b/crates/ruff/src/rules/pyflakes/rules/if_tuple.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Stmt}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pyflakes/rules/imports.rs b/crates/ruff/src/rules/pyflakes/rules/imports.rs index 0ea0a3986c..3b0bf69246 100644 --- a/crates/ruff/src/rules/pyflakes/rules/imports.rs +++ b/crates/ruff/src/rules/pyflakes/rules/imports.rs @@ -2,9 +2,9 @@ use itertools::Itertools; use rustpython_parser::ast::Alias; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; use ruff_python_stdlib::future::ALL_FEATURE_NAMES; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::{AutofixKind, Availability, Violation}; diff --git a/crates/ruff/src/rules/pyflakes/rules/invalid_literal_comparisons.rs b/crates/ruff/src/rules/pyflakes/rules/invalid_literal_comparisons.rs index 58c647bfbb..7b6ab80268 100644 --- a/crates/ruff/src/rules/pyflakes/rules/invalid_literal_comparisons.rs +++ b/crates/ruff/src/rules/pyflakes/rules/invalid_literal_comparisons.rs @@ -1,13 +1,14 @@ use itertools::izip; use log::error; use once_cell::unsync::Lazy; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Cmpop, Expr}; use serde::{Deserialize, Serialize}; -use crate::ast::helpers; -use crate::ast::operations::locate_cmpops; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers; +use ruff_python_ast::operations::locate_cmpops; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyflakes/rules/invalid_print_syntax.rs b/crates/ruff/src/rules/pyflakes/rules/invalid_print_syntax.rs index 2b6f467186..0aac978a7b 100644 --- a/crates/ruff/src/rules/pyflakes/rules/invalid_print_syntax.rs +++ b/crates/ruff/src/rules/pyflakes/rules/invalid_print_syntax.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pyflakes/rules/raise_not_implemented.rs b/crates/ruff/src/rules/pyflakes/rules/raise_not_implemented.rs index 1777006ea8..183c8a2ba9 100644 --- a/crates/ruff/src/rules/pyflakes/rules/raise_not_implemented.rs +++ b/crates/ruff/src/rules/pyflakes/rules/raise_not_implemented.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyflakes/rules/repeated_keys.rs b/crates/ruff/src/rules/pyflakes/rules/repeated_keys.rs index ccb8c5829e..ef0534f3fb 100644 --- a/crates/ruff/src/rules/pyflakes/rules/repeated_keys.rs +++ b/crates/ruff/src/rules/pyflakes/rules/repeated_keys.rs @@ -1,12 +1,13 @@ use std::hash::{BuildHasherDefault, Hash}; -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::{FxHashMap, FxHashSet}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::comparable::{ComparableConstant, ComparableExpr}; -use crate::ast::helpers::unparse_expr; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::comparable::{ComparableConstant, ComparableExpr}; +use ruff_python_ast::helpers::unparse_expr; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; diff --git a/crates/ruff/src/rules/pyflakes/rules/return_outside_function.rs b/crates/ruff/src/rules/pyflakes/rules/return_outside_function.rs index cd214cac46..d0c066f511 100644 --- a/crates/ruff/src/rules/pyflakes/rules/return_outside_function.rs +++ b/crates/ruff/src/rules/pyflakes/rules/return_outside_function.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Stmt; -use crate::ast::types::{Range, ScopeKind}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{Range, ScopeKind}; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pyflakes/rules/starred_expressions.rs b/crates/ruff/src/rules/pyflakes/rules/starred_expressions.rs index e2ea5cb5f2..44ec6b74aa 100644 --- a/crates/ruff/src/rules/pyflakes/rules/starred_expressions.rs +++ b/crates/ruff/src/rules/pyflakes/rules/starred_expressions.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pyflakes/rules/strings.rs b/crates/ruff/src/rules/pyflakes/rules/strings.rs index 00cd690223..4e875692a9 100644 --- a/crates/ruff/src/rules/pyflakes/rules/strings.rs +++ b/crates/ruff/src/rules/pyflakes/rules/strings.rs @@ -1,19 +1,21 @@ use std::string::ToString; use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::FxHashSet; use rustpython_parser::ast::{Constant, Expr, ExprKind, Keyword, KeywordData}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + +use crate::checkers::ast::Checker; +use crate::registry::Diagnostic; +use crate::violation::{AlwaysAutofixableViolation, Violation}; + use super::super::cformat::CFormatSummary; use super::super::fixes::{ remove_unused_format_arguments_from_dict, remove_unused_keyword_arguments_from_format_call, }; use super::super::format::FormatSummary; -use crate::ast::types::Range; -use crate::checkers::ast::Checker; -use crate::registry::Diagnostic; -use crate::violation::{AlwaysAutofixableViolation, Violation}; #[violation] pub struct PercentFormatInvalidFormat { diff --git a/crates/ruff/src/rules/pyflakes/rules/undefined_export.rs b/crates/ruff/src/rules/pyflakes/rules/undefined_export.rs index 4e1aca0eb0..fb1926654b 100644 --- a/crates/ruff/src/rules/pyflakes/rules/undefined_export.rs +++ b/crates/ruff/src/rules/pyflakes/rules/undefined_export.rs @@ -1,8 +1,9 @@ -use crate::ast::types::{Range, Scope}; -use crate::registry::Diagnostic; -use ruff_macros::{derive_message_formats, violation}; use std::path::Path; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{Range, Scope}; + +use crate::registry::Diagnostic; use crate::violation::Violation; #[violation] diff --git a/crates/ruff/src/rules/pyflakes/rules/undefined_local.rs b/crates/ruff/src/rules/pyflakes/rules/undefined_local.rs index 8246861ee8..651db59dbc 100644 --- a/crates/ruff/src/rules/pyflakes/rules/undefined_local.rs +++ b/crates/ruff/src/rules/pyflakes/rules/undefined_local.rs @@ -1,8 +1,8 @@ use std::string::ToString; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{Binding, Scope, ScopeKind}; -use crate::ast::types::{Binding, Scope, ScopeKind}; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pyflakes/rules/unused_variable.rs b/crates/ruff/src/rules/pyflakes/rules/unused_variable.rs index bf67ee56ea..c742f6b9a7 100644 --- a/crates/ruff/src/rules/pyflakes/rules/unused_variable.rs +++ b/crates/ruff/src/rules/pyflakes/rules/unused_variable.rs @@ -1,16 +1,17 @@ use itertools::Itertools; use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{ExprKind, Located, Stmt, StmtKind}; use rustpython_parser::{lexer, Mode, Tok}; -use crate::ast::helpers::contains_effect; -use crate::ast::types::{Range, RefEquality, ScopeKind}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::contains_effect; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::{Range, RefEquality, ScopeKind}; + use crate::autofix::helpers::delete_stmt; use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; -use crate::source_code::Locator; use crate::violation::AlwaysAutofixableViolation; /// ## What it does diff --git a/crates/ruff/src/rules/pyflakes/rules/yield_outside_function.rs b/crates/ruff/src/rules/pyflakes/rules/yield_outside_function.rs index c3011e9dfd..33bff4e27a 100644 --- a/crates/ruff/src/rules/pyflakes/rules/yield_outside_function.rs +++ b/crates/ruff/src/rules/pyflakes/rules/yield_outside_function.rs @@ -1,10 +1,11 @@ use std::fmt; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; use serde::{Deserialize, Serialize}; -use crate::ast::types::{Range, ScopeKind}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{Range, ScopeKind}; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pygrep_hooks/rules/blanket_noqa.rs b/crates/ruff/src/rules/pygrep_hooks/rules/blanket_noqa.rs index a760c56fcd..dcd1f41615 100644 --- a/crates/ruff/src/rules/pygrep_hooks/rules/blanket_noqa.rs +++ b/crates/ruff/src/rules/pygrep_hooks/rules/blanket_noqa.rs @@ -1,9 +1,10 @@ use once_cell::sync::Lazy; use regex::Regex; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Location; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pygrep_hooks/rules/blanket_type_ignore.rs b/crates/ruff/src/rules/pygrep_hooks/rules/blanket_type_ignore.rs index eed4708512..df6950a471 100644 --- a/crates/ruff/src/rules/pygrep_hooks/rules/blanket_type_ignore.rs +++ b/crates/ruff/src/rules/pygrep_hooks/rules/blanket_type_ignore.rs @@ -1,9 +1,10 @@ use once_cell::sync::Lazy; use regex::Regex; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Location; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pygrep_hooks/rules/deprecated_log_warn.rs b/crates/ruff/src/rules/pygrep_hooks/rules/deprecated_log_warn.rs index e42df518eb..59493802b2 100644 --- a/crates/ruff/src/rules/pygrep_hooks/rules/deprecated_log_warn.rs +++ b/crates/ruff/src/rules/pygrep_hooks/rules/deprecated_log_warn.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Expr; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pygrep_hooks/rules/no_eval.rs b/crates/ruff/src/rules/pygrep_hooks/rules/no_eval.rs index 5fe24b7e49..44db1d027f 100644 --- a/crates/ruff/src/rules/pygrep_hooks/rules/no_eval.rs +++ b/crates/ruff/src/rules/pygrep_hooks/rules/no_eval.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pylint/helpers.rs b/crates/ruff/src/rules/pylint/helpers.rs index c2d71e4e0a..64f31492a4 100644 --- a/crates/ruff/src/rules/pylint/helpers.rs +++ b/crates/ruff/src/rules/pylint/helpers.rs @@ -1,9 +1,8 @@ -use crate::ast::function_type; -use crate::ast::function_type::FunctionType; -use crate::{ - ast::types::{FunctionDef, ScopeKind}, - checkers::ast::Checker, -}; +use ruff_python_ast::function_type; +use ruff_python_ast::function_type::FunctionType; +use ruff_python_ast::types::{FunctionDef, ScopeKind}; + +use crate::checkers::ast::Checker; pub fn in_dunder_init(checker: &Checker) -> bool { let scope = checker.ctx.current_scope(); @@ -11,10 +10,10 @@ pub fn in_dunder_init(checker: &Checker) -> bool { name, decorator_list, .. - }) = &scope.kind else { + }): ScopeKind = scope.kind else { return false; }; - if *name != "__init__" { + if name != "__init__" { return false; } let Some(parent) = checker.ctx.current_scope_parent() else { diff --git a/crates/ruff/src/rules/pylint/rules/await_outside_async.rs b/crates/ruff/src/rules/pylint/rules/await_outside_async.rs index 22c196c6b7..ae63878ce1 100644 --- a/crates/ruff/src/rules/pylint/rules/await_outside_async.rs +++ b/crates/ruff/src/rules/pylint/rules/await_outside_async.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Expr; -use crate::ast::types::{FunctionDef, Range, ScopeKind}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{FunctionDef, Range, ScopeKind}; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pylint/rules/bad_str_strip_call.rs b/crates/ruff/src/rules/pylint/rules/bad_str_strip_call.rs index 32d0d05bf6..37f1f8dd3d 100644 --- a/crates/ruff/src/rules/pylint/rules/bad_str_strip_call.rs +++ b/crates/ruff/src/rules/pylint/rules/bad_str_strip_call.rs @@ -1,11 +1,12 @@ use std::fmt; -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::FxHashSet; use rustpython_parser::ast::{Constant, Expr, ExprKind}; use serde::{Deserialize, Serialize}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::settings::types::PythonVersion; diff --git a/crates/ruff/src/rules/pylint/rules/bad_string_format_type.rs b/crates/ruff/src/rules/pylint/rules/bad_string_format_type.rs index 609a78672b..c8c31afa61 100644 --- a/crates/ruff/src/rules/pylint/rules/bad_string_format_type.rs +++ b/crates/ruff/src/rules/pylint/rules/bad_string_format_type.rs @@ -1,13 +1,14 @@ use std::str::FromStr; -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::FxHashMap; use rustpython_common::cformat::{CFormatPart, CFormatSpec, CFormatStrOrBytes, CFormatString}; use rustpython_parser::ast::{Constant, Expr, ExprKind, Location, Operator}; use rustpython_parser::{lexer, Mode, Tok}; -use crate::ast::strings::{leading_quote, trailing_quote}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::strings::{leading_quote, trailing_quote}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pylint/rules/bidirectional_unicode.rs b/crates/ruff/src/rules/pylint/rules/bidirectional_unicode.rs index 0bcd7d0476..9ce7a8e3dd 100644 --- a/crates/ruff/src/rules/pylint/rules/bidirectional_unicode.rs +++ b/crates/ruff/src/rules/pylint/rules/bidirectional_unicode.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::Location; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pylint/rules/collapsible_else_if.rs b/crates/ruff/src/rules/pylint/rules/collapsible_else_if.rs index 5aae528f4a..a0eaece652 100644 --- a/crates/ruff/src/rules/pylint/rules/collapsible_else_if.rs +++ b/crates/ruff/src/rules/pylint/rules/collapsible_else_if.rs @@ -1,10 +1,10 @@ use rustpython_parser::ast::{Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::registry::Diagnostic; -use crate::source_code::Locator; use crate::violation::Violation; #[violation] diff --git a/crates/ruff/src/rules/pylint/rules/comparison_of_constant.rs b/crates/ruff/src/rules/pylint/rules/comparison_of_constant.rs index a407bab143..94cc460fb2 100644 --- a/crates/ruff/src/rules/pylint/rules/comparison_of_constant.rs +++ b/crates/ruff/src/rules/pylint/rules/comparison_of_constant.rs @@ -1,12 +1,13 @@ use std::fmt; use itertools::Itertools; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Cmpop, Expr, ExprKind, Located}; use serde::{Deserialize, Serialize}; -use crate::ast::helpers::unparse_constant; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::unparse_constant; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pylint/rules/consider_using_sys_exit.rs b/crates/ruff/src/rules/pylint/rules/consider_using_sys_exit.rs index 7b4b063182..03e648c9a7 100644 --- a/crates/ruff/src/rules/pylint/rules/consider_using_sys_exit.rs +++ b/crates/ruff/src/rules/pylint/rules/consider_using_sys_exit.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::{BindingKind, Range}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{BindingKind, Range}; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pylint/rules/global_statement.rs b/crates/ruff/src/rules/pylint/rules/global_statement.rs index 3180c7ec8a..6f4bb2afdd 100644 --- a/crates/ruff/src/rules/pylint/rules/global_statement.rs +++ b/crates/ruff/src/rules/pylint/rules/global_statement.rs @@ -1,9 +1,9 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; -use crate::Range; /// ## What it does /// Checks for the use of `global` statements to update identifiers. diff --git a/crates/ruff/src/rules/pylint/rules/invalid_all_format.rs b/crates/ruff/src/rules/pylint/rules/invalid_all_format.rs index 1c7aa2a06e..eceba59647 100644 --- a/crates/ruff/src/rules/pylint/rules/invalid_all_format.rs +++ b/crates/ruff/src/rules/pylint/rules/invalid_all_format.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::Expr; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pylint/rules/invalid_all_object.rs b/crates/ruff/src/rules/pylint/rules/invalid_all_object.rs index 5443081aeb..cd0a86aa0d 100644 --- a/crates/ruff/src/rules/pylint/rules/invalid_all_object.rs +++ b/crates/ruff/src/rules/pylint/rules/invalid_all_object.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::Expr; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pylint/rules/logging.rs b/crates/ruff/src/rules/pylint/rules/logging.rs index 594e84103c..599bdeb16f 100644 --- a/crates/ruff/src/rules/pylint/rules/logging.rs +++ b/crates/ruff/src/rules/pylint/rules/logging.rs @@ -1,10 +1,10 @@ use rustpython_parser::ast::{Constant, Expr, ExprKind, Keyword}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{is_logger_candidate, SimpleCallArgs}; +use ruff_python_ast::logging::LoggingLevel; +use ruff_python_ast::types::Range; -use crate::ast::helpers::{is_logger_candidate, SimpleCallArgs}; -use crate::ast::logging::LoggingLevel; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::{Diagnostic, Rule}; use crate::rules::pyflakes::cformat::CFormatSummary; @@ -105,7 +105,7 @@ pub fn logging_call(checker: &mut Checker, func: &Expr, args: &[Expr], keywords: } if let ExprKind::Attribute { attr, .. } = &func.node { - if LoggingLevel::from_str(attr.as_str()).is_some() { + if LoggingLevel::from_attribute(attr.as_str()).is_some() { let call_args = SimpleCallArgs::new(args, keywords); if let Some(msg) = call_args.get_argument("msg", Some(0)) { if let ExprKind::Constant { diff --git a/crates/ruff/src/rules/pylint/rules/magic_value_comparison.rs b/crates/ruff/src/rules/pylint/rules/magic_value_comparison.rs index fbed10b760..6e8e1bdabe 100644 --- a/crates/ruff/src/rules/pylint/rules/magic_value_comparison.rs +++ b/crates/ruff/src/rules/pylint/rules/magic_value_comparison.rs @@ -2,9 +2,9 @@ use itertools::Itertools; use rustpython_parser::ast::{Constant, Expr, ExprKind, Unaryop}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::unparse_expr; +use ruff_python_ast::types::Range; -use crate::ast::helpers::unparse_expr; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::pylint::settings::ConstantType; diff --git a/crates/ruff/src/rules/pylint/rules/merge_isinstance.rs b/crates/ruff/src/rules/pylint/rules/merge_isinstance.rs index bd1ae5b4e7..b9b8547b53 100644 --- a/crates/ruff/src/rules/pylint/rules/merge_isinstance.rs +++ b/crates/ruff/src/rules/pylint/rules/merge_isinstance.rs @@ -1,11 +1,12 @@ use itertools::Itertools; -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::{FxHashMap, FxHashSet}; use rustpython_parser::ast::{Boolop, Expr, ExprKind}; -use crate::ast::hashable::HashableExpr; -use crate::ast::helpers::unparse_expr; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::hashable::HashableExpr; +use ruff_python_ast::helpers::unparse_expr; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pylint/rules/property_with_parameters.rs b/crates/ruff/src/rules/pylint/rules/property_with_parameters.rs index c8886ff1dc..912eaaa955 100644 --- a/crates/ruff/src/rules/pylint/rules/property_with_parameters.rs +++ b/crates/ruff/src/rules/pylint/rules/property_with_parameters.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::{Arguments, Expr, ExprKind, Stmt}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::identifier_range; -use crate::ast::helpers::identifier_range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pylint/rules/redefined_loop_name.rs b/crates/ruff/src/rules/pylint/rules/redefined_loop_name.rs index ae4c2c0d71..8677d23a1b 100644 --- a/crates/ruff/src/rules/pylint/rules/redefined_loop_name.rs +++ b/crates/ruff/src/rules/pylint/rules/redefined_loop_name.rs @@ -1,16 +1,16 @@ -use regex::Regex; use std::{fmt, iter}; +use regex::Regex; use rustpython_parser::ast::{Expr, ExprContext, ExprKind, Stmt, StmtKind, Withitem}; use serde::{Deserialize, Serialize}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::comparable::ComparableExpr; +use ruff_python_ast::helpers::unparse_expr; +use ruff_python_ast::types::{Node, Range}; +use ruff_python_ast::visitor; +use ruff_python_ast::visitor::Visitor; -use crate::ast::comparable::ComparableExpr; -use crate::ast::helpers::unparse_expr; -use crate::ast::types::{Node, Range}; -use crate::ast::visitor; -use crate::ast::visitor::Visitor; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pylint/rules/return_in_init.rs b/crates/ruff/src/rules/pylint/rules/return_in_init.rs index 966d7e09c7..7bafe13f76 100644 --- a/crates/ruff/src/rules/pylint/rules/return_in_init.rs +++ b/crates/ruff/src/rules/pylint/rules/return_in_init.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::{Constant, ExprKind, Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::pylint::helpers::in_dunder_init; diff --git a/crates/ruff/src/rules/pylint/rules/too_many_arguments.rs b/crates/ruff/src/rules/pylint/rules/too_many_arguments.rs index 9ab77b2410..efed3c31cf 100644 --- a/crates/ruff/src/rules/pylint/rules/too_many_arguments.rs +++ b/crates/ruff/src/rules/pylint/rules/too_many_arguments.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::{Arguments, Stmt}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::identifier_range; -use crate::ast::helpers::identifier_range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pylint/rules/too_many_branches.rs b/crates/ruff/src/rules/pylint/rules/too_many_branches.rs index e8a11d28f3..8d96d10a94 100644 --- a/crates/ruff/src/rules/pylint/rules/too_many_branches.rs +++ b/crates/ruff/src/rules/pylint/rules/too_many_branches.rs @@ -1,9 +1,10 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{ExcepthandlerKind, Stmt, StmtKind}; -use crate::ast::helpers::identifier_range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::identifier_range; +use ruff_python_ast::source_code::Locator; + use crate::registry::Diagnostic; -use crate::source_code::Locator; use crate::violation::Violation; #[violation] diff --git a/crates/ruff/src/rules/pylint/rules/too_many_return_statements.rs b/crates/ruff/src/rules/pylint/rules/too_many_return_statements.rs index be0726330f..8ecbb08ab9 100644 --- a/crates/ruff/src/rules/pylint/rules/too_many_return_statements.rs +++ b/crates/ruff/src/rules/pylint/rules/too_many_return_statements.rs @@ -1,10 +1,11 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Stmt; -use crate::ast::helpers::{identifier_range, ReturnStatementVisitor}; -use crate::ast::visitor::Visitor; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{identifier_range, ReturnStatementVisitor}; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::visitor::Visitor; + use crate::registry::Diagnostic; -use crate::source_code::Locator; use crate::violation::Violation; #[violation] diff --git a/crates/ruff/src/rules/pylint/rules/too_many_statements.rs b/crates/ruff/src/rules/pylint/rules/too_many_statements.rs index b058fed91f..c1d22f99d9 100644 --- a/crates/ruff/src/rules/pylint/rules/too_many_statements.rs +++ b/crates/ruff/src/rules/pylint/rules/too_many_statements.rs @@ -1,9 +1,10 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{ExcepthandlerKind, Stmt, StmtKind}; -use crate::ast::helpers::identifier_range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::identifier_range; +use ruff_python_ast::source_code::Locator; + use crate::registry::Diagnostic; -use crate::source_code::Locator; use crate::violation::Violation; #[violation] diff --git a/crates/ruff/src/rules/pylint/rules/unnecessary_direct_lambda_call.rs b/crates/ruff/src/rules/pylint/rules/unnecessary_direct_lambda_call.rs index a614ca89ec..71b92e4679 100644 --- a/crates/ruff/src/rules/pylint/rules/unnecessary_direct_lambda_call.rs +++ b/crates/ruff/src/rules/pylint/rules/unnecessary_direct_lambda_call.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pylint/rules/use_from_import.rs b/crates/ruff/src/rules/pylint/rules/use_from_import.rs index 8eadf98858..81c81cf27f 100644 --- a/crates/ruff/src/rules/pylint/rules/use_from_import.rs +++ b/crates/ruff/src/rules/pylint/rules/use_from_import.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Alias, AliasData, Located, Stmt, StmtKind}; -use crate::ast::helpers::{create_stmt, unparse_stmt}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{create_stmt, unparse_stmt}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pylint/rules/used_prior_global_declaration.rs b/crates/ruff/src/rules/pylint/rules/used_prior_global_declaration.rs index 150f199bad..9c3bc9bf22 100644 --- a/crates/ruff/src/rules/pylint/rules/used_prior_global_declaration.rs +++ b/crates/ruff/src/rules/pylint/rules/used_prior_global_declaration.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Expr; -use crate::ast::types::{Range, ScopeKind}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{Range, ScopeKind}; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pylint/rules/useless_else_on_loop.rs b/crates/ruff/src/rules/pylint/rules/useless_else_on_loop.rs index 924d8c9931..91f9629a02 100644 --- a/crates/ruff/src/rules/pylint/rules/useless_else_on_loop.rs +++ b/crates/ruff/src/rules/pylint/rules/useless_else_on_loop.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{ExcepthandlerKind, MatchCase, Stmt, StmtKind}; -use crate::ast::helpers; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/pylint/rules/useless_import_alias.rs b/crates/ruff/src/rules/pylint/rules/useless_import_alias.rs index 02cc6e0ee3..03ecef22b6 100644 --- a/crates/ruff/src/rules/pylint/rules/useless_import_alias.rs +++ b/crates/ruff/src/rules/pylint/rules/useless_import_alias.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Alias; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pylint/rules/yield_in_init.rs b/crates/ruff/src/rules/pylint/rules/yield_in_init.rs index f741dc0bdf..7978ede3a4 100644 --- a/crates/ruff/src/rules/pylint/rules/yield_in_init.rs +++ b/crates/ruff/src/rules/pylint/rules/yield_in_init.rs @@ -1,11 +1,10 @@ use rustpython_parser::ast::Expr; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; use crate::rules::pylint::helpers::in_dunder_init; -use crate::{ - ast::types::Range, checkers::ast::Checker, registry::Diagnostic, violation::Violation, -}; +use crate::{checkers::ast::Checker, registry::Diagnostic, violation::Violation}; /// ## What it does /// Checks for `__init__` methods that are turned into generators by the diff --git a/crates/ruff/src/rules/pylint/settings.rs b/crates/ruff/src/rules/pylint/settings.rs index 569a8e3dc0..518a897f10 100644 --- a/crates/ruff/src/rules/pylint/settings.rs +++ b/crates/ruff/src/rules/pylint/settings.rs @@ -1,10 +1,12 @@ //! Settings for the `pylint` plugin. use anyhow::anyhow; -use ruff_macros::{CacheKey, ConfigurationOptions}; use rustpython_parser::ast::Constant; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; + +use ruff_macros::{CacheKey, ConfigurationOptions}; + #[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize, CacheKey, JsonSchema)] #[serde(deny_unknown_fields, rename_all = "kebab-case")] pub enum ConstantType { diff --git a/crates/ruff/src/rules/pyupgrade/fixes.rs b/crates/ruff/src/rules/pyupgrade/fixes.rs index 07e12430b7..c9d5b49a01 100644 --- a/crates/ruff/src/rules/pyupgrade/fixes.rs +++ b/crates/ruff/src/rules/pyupgrade/fixes.rs @@ -6,11 +6,12 @@ use libcst_native::{ use rustpython_parser::ast::{Expr, Keyword, Location}; use rustpython_parser::{lexer, Mode, Tok}; -use crate::ast::types::Range; +use ruff_python_ast::source_code::{Locator, Stylist}; +use ruff_python_ast::types::Range; + use crate::autofix::helpers::remove_argument; use crate::cst::matchers::match_module; use crate::fix::Fix; -use crate::source_code::{Locator, Stylist}; /// Safely adjust the indentation of the indented block at [`Range`]. pub fn adjust_indentation( diff --git a/crates/ruff/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 index 218e8e20f7..fff5e6a425 100644 --- a/crates/ruff/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 @@ -3,15 +3,15 @@ use log::debug; use rustpython_parser::ast::{Constant, Expr, ExprContext, ExprKind, Keyword, Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{create_expr, create_stmt, unparse_stmt}; +use ruff_python_ast::source_code::Stylist; +use ruff_python_ast::types::Range; use ruff_python_stdlib::identifiers::is_identifier; use ruff_python_stdlib::keyword::KWLIST; -use crate::ast::helpers::{create_expr, create_stmt, unparse_stmt}; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; -use crate::source_code::Stylist; use crate::violation::{Availability, Violation}; use crate::AutofixKind; diff --git a/crates/ruff/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 index 6f5e32d4c4..ae5457bb09 100644 --- a/crates/ruff/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 @@ -3,15 +3,15 @@ use log::debug; use rustpython_parser::ast::{Constant, Expr, ExprContext, ExprKind, Keyword, Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{create_expr, create_stmt, unparse_stmt}; +use ruff_python_ast::source_code::Stylist; +use ruff_python_ast::types::Range; use ruff_python_stdlib::identifiers::is_identifier; use ruff_python_stdlib::keyword::KWLIST; -use crate::ast::helpers::{create_expr, create_stmt, unparse_stmt}; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; -use crate::source_code::Stylist; use crate::violation::{Availability, Violation}; use crate::AutofixKind; diff --git a/crates/ruff/src/rules/pyupgrade/rules/datetime_utc_alias.rs b/crates/ruff/src/rules/pyupgrade/rules/datetime_utc_alias.rs index 77cf046034..cb80bdb673 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/datetime_utc_alias.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/datetime_utc_alias.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Expr; -use crate::ast::helpers::collect_call_path; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::collect_call_path; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/deprecated_unittest_alias.rs b/crates/ruff/src/rules/pyupgrade/rules/deprecated_unittest_alias.rs index bb2eefabff..d6dd539003 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/deprecated_unittest_alias.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/deprecated_unittest_alias.rs @@ -1,9 +1,10 @@ use once_cell::sync::Lazy; -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::FxHashMap; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/extraneous_parentheses.rs b/crates/ruff/src/rules/pyupgrade/rules/extraneous_parentheses.rs index 129687670a..2d8e8b21e7 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/extraneous_parentheses.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/extraneous_parentheses.rs @@ -1,12 +1,13 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::lexer::LexResult; use rustpython_parser::Tok; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; + use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; use crate::settings::{flags, Settings}; -use crate::source_code::Locator; use crate::violation::AlwaysAutofixableViolation; #[violation] diff --git a/crates/ruff/src/rules/pyupgrade/rules/f_strings.rs b/crates/ruff/src/rules/pyupgrade/rules/f_strings.rs index ce40adbf00..dbe7099ea1 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/f_strings.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/f_strings.rs @@ -1,4 +1,3 @@ -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::FxHashMap; use rustpython_common::format::{ FieldName, FieldNamePart, FieldType, FormatPart, FormatString, FromTemplate, @@ -6,8 +5,10 @@ use rustpython_common::format::{ use rustpython_parser::ast::{Constant, Expr, ExprKind, KeywordData}; use rustpython_parser::{lexer, Mode, Tok}; -use crate::ast::strings::{leading_quote, trailing_quote}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::strings::{leading_quote, trailing_quote}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/format_literals.rs b/crates/ruff/src/rules/pyupgrade/rules/format_literals.rs index dba0bae193..f2550e4a31 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/format_literals.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/format_literals.rs @@ -2,16 +2,17 @@ use anyhow::{anyhow, bail, Result}; use libcst_native::{Arg, Codegen, CodegenState, Expression}; use once_cell::sync::Lazy; use regex::Regex; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Expr; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::source_code::{Locator, Stylist}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::cst::matchers::{match_call, match_expression}; use crate::fix::Fix; use crate::registry::Diagnostic; use crate::rules::pyflakes::format::FormatSummary; -use crate::source_code::{Locator, Stylist}; use crate::violation::AlwaysAutofixableViolation; #[violation] diff --git a/crates/ruff/src/rules/pyupgrade/rules/functools_cache.rs b/crates/ruff/src/rules/pyupgrade/rules/functools_cache.rs index 555d438fb0..34f7e37f47 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/functools_cache.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/functools_cache.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind, KeywordData}; -use crate::ast::helpers::{create_expr, unparse_expr}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{create_expr, unparse_expr}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/import_replacements.rs b/crates/ruff/src/rules/pyupgrade/rules/import_replacements.rs index a496d4c8b9..faf1368b08 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/import_replacements.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/import_replacements.rs @@ -1,15 +1,16 @@ use itertools::Itertools; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Alias, AliasData, Stmt}; -use crate::ast::types::Range; -use crate::ast::whitespace::indentation; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::source_code::{Locator, Stylist}; +use ruff_python_ast::types::Range; +use ruff_python_ast::whitespace::indentation; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; use crate::rules::pyupgrade::fixes; use crate::settings::types::PythonVersion; -use crate::source_code::{Locator, Stylist}; use crate::violation::{AutofixKind, Availability, Violation}; #[violation] diff --git a/crates/ruff/src/rules/pyupgrade/rules/lru_cache_without_parameters.rs b/crates/ruff/src/rules/pyupgrade/rules/lru_cache_without_parameters.rs index 946637b298..5adeb36e68 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/lru_cache_without_parameters.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/lru_cache_without_parameters.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::helpers::unparse_expr; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::unparse_expr; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/native_literals.rs b/crates/ruff/src/rules/pyupgrade/rules/native_literals.rs index dc1ea0fb8d..eadf79d4c0 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/native_literals.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/native_literals.rs @@ -1,11 +1,12 @@ use std::fmt; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind, Keyword}; use rustpython_parser::{lexer, Mode, Tok}; use serde::{Deserialize, Serialize}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/open_alias.rs b/crates/ruff/src/rules/pyupgrade/rules/open_alias.rs index 180e061680..4f1eaeac7b 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/open_alias.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/open_alias.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Expr; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/os_error_alias.rs b/crates/ruff/src/rules/pyupgrade/rules/os_error_alias.rs index 71c6ba077f..d229fcc9e0 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/os_error_alias.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/os_error_alias.rs @@ -2,9 +2,9 @@ use itertools::Itertools; use rustpython_parser::ast::{Excepthandler, ExcepthandlerKind, Expr, ExprKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::compose_call_path; +use ruff_python_ast::types::Range; -use crate::ast::helpers::compose_call_path; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/outdated_version_block.rs b/crates/ruff/src/rules/pyupgrade/rules/outdated_version_block.rs index bcd6527b29..04d1f00f1e 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/outdated_version_block.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/outdated_version_block.rs @@ -2,19 +2,20 @@ use std::cmp::Ordering; use log::error; use num_bigint::{BigInt, Sign}; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Cmpop, Constant, Expr, ExprKind, Located, Location, Stmt}; use rustpython_parser::{lexer, Mode, Tok}; -use crate::ast::types::{Range, RefEquality}; -use crate::ast::whitespace::indentation; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::{Range, RefEquality}; +use ruff_python_ast::whitespace::indentation; + use crate::autofix::helpers::delete_stmt; use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; use crate::rules::pyupgrade::fixes::adjust_indentation; use crate::settings::types::PythonVersion; -use crate::source_code::Locator; use crate::violation::AlwaysAutofixableViolation; #[violation] diff --git a/crates/ruff/src/rules/pyupgrade/rules/printf_string_formatting.rs b/crates/ruff/src/rules/pyupgrade/rules/printf_string_formatting.rs index 390b4a507c..d83a8f5683 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/printf_string_formatting.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/printf_string_formatting.rs @@ -7,12 +7,12 @@ use rustpython_parser::ast::{Constant, Expr, ExprKind, Location}; use rustpython_parser::{lexer, Mode, Tok}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::strings::{leading_quote, trailing_quote}; +use ruff_python_ast::types::Range; +use ruff_python_ast::whitespace::indentation; use ruff_python_stdlib::identifiers::is_identifier; use ruff_python_stdlib::keyword::KWLIST; -use crate::ast::strings::{leading_quote, trailing_quote}; -use crate::ast::types::Range; -use crate::ast::whitespace::indentation; use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/quoted_annotation.rs b/crates/ruff/src/rules/pyupgrade/rules/quoted_annotation.rs index 78bb2e6566..f721d6c798 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/quoted_annotation.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/quoted_annotation.rs @@ -1,6 +1,6 @@ use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; diff --git a/crates/ruff/src/rules/pyupgrade/rules/redundant_open_modes.rs b/crates/ruff/src/rules/pyupgrade/rules/redundant_open_modes.rs index a385816af1..9af0bc051f 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/redundant_open_modes.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/redundant_open_modes.rs @@ -2,16 +2,17 @@ use std::str::FromStr; use anyhow::{anyhow, Result}; use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind, Keyword, Location}; use rustpython_parser::{lexer, Mode, Tok}; -use crate::ast::helpers::find_keyword; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::find_keyword; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; -use crate::source_code::Locator; use crate::violation::AlwaysAutofixableViolation; #[violation] diff --git a/crates/ruff/src/rules/pyupgrade/rules/replace_stdout_stderr.rs b/crates/ruff/src/rules/pyupgrade/rules/replace_stdout_stderr.rs index 6dce1d2199..45d65ba29b 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/replace_stdout_stderr.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/replace_stdout_stderr.rs @@ -1,13 +1,14 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, Keyword}; -use crate::ast::helpers::find_keyword; -use crate::ast::types::Range; -use crate::ast::whitespace::indentation; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::find_keyword; +use ruff_python_ast::source_code::{Locator, Stylist}; +use ruff_python_ast::types::Range; +use ruff_python_ast::whitespace::indentation; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; -use crate::source_code::{Locator, Stylist}; use crate::violation::AlwaysAutofixableViolation; #[violation] diff --git a/crates/ruff/src/rules/pyupgrade/rules/replace_universal_newlines.rs b/crates/ruff/src/rules/pyupgrade/rules/replace_universal_newlines.rs index 93dd182677..3441f99e5f 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/replace_universal_newlines.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/replace_universal_newlines.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, Keyword, Location}; -use crate::ast::helpers::find_keyword; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::find_keyword; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/rewrite_c_element_tree.rs b/crates/ruff/src/rules/pyupgrade/rules/rewrite_c_element_tree.rs index e95752bd4c..d27a6b3441 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/rewrite_c_element_tree.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/rewrite_c_element_tree.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Located, Stmt, StmtKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/rewrite_mock_import.rs b/crates/ruff/src/rules/pyupgrade/rules/rewrite_mock_import.rs index 076b6cad62..464ba8ec89 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/rewrite_mock_import.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/rewrite_mock_import.rs @@ -4,18 +4,19 @@ use libcst_native::{ ImportAlias, ImportFrom, ImportNames, Name, NameOrAttribute, ParenthesizableWhitespace, }; use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Stmt, StmtKind}; use serde::{Deserialize, Serialize}; -use crate::ast::helpers::collect_call_path; -use crate::ast::types::Range; -use crate::ast::whitespace::indentation; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::collect_call_path; +use ruff_python_ast::source_code::{Locator, Stylist}; +use ruff_python_ast::types::Range; +use ruff_python_ast::whitespace::indentation; + use crate::checkers::ast::Checker; use crate::cst::matchers::{match_import, match_import_from, match_module}; use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; -use crate::source_code::{Locator, Stylist}; use crate::violation::AlwaysAutofixableViolation; #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] diff --git a/crates/ruff/src/rules/pyupgrade/rules/rewrite_unicode_literal.rs b/crates/ruff/src/rules/pyupgrade/rules/rewrite_unicode_literal.rs index eb34d83dfe..320c9a4757 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/rewrite_unicode_literal.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/rewrite_unicode_literal.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, Location}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/rewrite_yield_from.rs b/crates/ruff/src/rules/pyupgrade/rules/rewrite_yield_from.rs index 8fc97fccee..93f056e698 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/rewrite_yield_from.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/rewrite_yield_from.rs @@ -1,10 +1,11 @@ -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::FxHashMap; use rustpython_parser::ast::{Expr, ExprContext, ExprKind, Stmt, StmtKind}; -use crate::ast::types::{Range, RefEquality}; -use crate::ast::visitor; -use crate::ast::visitor::Visitor; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{Range, RefEquality}; +use ruff_python_ast::visitor; +use ruff_python_ast::visitor::Visitor; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/super_call_with_parameters.rs b/crates/ruff/src/rules/pyupgrade/rules/super_call_with_parameters.rs index adada32ea0..0072d3df2b 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/super_call_with_parameters.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/super_call_with_parameters.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{ArgData, Expr, ExprKind, Stmt, StmtKind}; -use crate::ast::types::{Range, ScopeKind}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{Range, ScopeKind}; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::pyupgrade::fixes; diff --git a/crates/ruff/src/rules/pyupgrade/rules/type_of_primitive.rs b/crates/ruff/src/rules/pyupgrade/rules/type_of_primitive.rs index 7cf022dd22..697ddf4377 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/type_of_primitive.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/type_of_primitive.rs @@ -1,13 +1,15 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use super::super::types::Primitive; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; use crate::violation::AlwaysAutofixableViolation; +use super::super::types::Primitive; + #[violation] pub struct TypeOfPrimitive { pub primitive: Primitive, diff --git a/crates/ruff/src/rules/pyupgrade/rules/typing_text_str_alias.rs b/crates/ruff/src/rules/pyupgrade/rules/typing_text_str_alias.rs index 3833cdfa5f..703e426d77 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/typing_text_str_alias.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/typing_text_str_alias.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Expr; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/unnecessary_builtin_import.rs b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_builtin_import.rs index a0fe5f1cda..92f5444458 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/unnecessary_builtin_import.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_builtin_import.rs @@ -1,9 +1,10 @@ use itertools::Itertools; use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Alias, AliasData, Located, Stmt}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::autofix; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/unnecessary_coding_comment.rs b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_coding_comment.rs index bd53aaf2b9..9bebdf9351 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/unnecessary_coding_comment.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_coding_comment.rs @@ -1,9 +1,10 @@ use once_cell::sync::Lazy; use regex::Regex; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Location; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::fix::Fix; use crate::registry::Diagnostic; use crate::violation::AlwaysAutofixableViolation; diff --git a/crates/ruff/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs index 0390f7ae4e..e0a1c4ec4d 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs @@ -1,11 +1,12 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind, Keyword}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::{Diagnostic, Rule}; -use crate::source_code::Locator; use crate::violation::AlwaysAutofixableViolation; #[violation] diff --git a/crates/ruff/src/rules/pyupgrade/rules/unnecessary_future_import.rs b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_future_import.rs index 96d50ee92a..27b5c28cbe 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/unnecessary_future_import.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_future_import.rs @@ -1,9 +1,10 @@ use itertools::Itertools; use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Alias, AliasData, Located, Stmt}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::autofix; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/unpack_list_comprehension.rs b/crates/ruff/src/rules/pyupgrade/rules/unpack_list_comprehension.rs index 4478aaeb3f..da73258a51 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/unpack_list_comprehension.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/unpack_list_comprehension.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/use_pep585_annotation.rs b/crates/ruff/src/rules/pyupgrade/rules/use_pep585_annotation.rs index 5ce157d526..507fcfd718 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/use_pep585_annotation.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/use_pep585_annotation.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::Expr; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/use_pep604_annotation.rs b/crates/ruff/src/rules/pyupgrade/rules/use_pep604_annotation.rs index f1fe64f850..307d2d16dc 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/use_pep604_annotation.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/use_pep604_annotation.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind, Location, Operator}; -use crate::ast::helpers::unparse_expr; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::unparse_expr; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/use_pep604_isinstance.rs b/crates/ruff/src/rules/pyupgrade/rules/use_pep604_isinstance.rs index 266b44f89a..3d4753326f 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/use_pep604_isinstance.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/use_pep604_isinstance.rs @@ -4,9 +4,9 @@ use rustpython_parser::ast::{Expr, ExprKind, Location, Operator}; use serde::{Deserialize, Serialize}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::unparse_expr; +use ruff_python_ast::types::Range; -use crate::ast::helpers::unparse_expr; -use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/useless_metaclass_type.rs b/crates/ruff/src/rules/pyupgrade/rules/useless_metaclass_type.rs index 749a381e23..caa0f77ca6 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/useless_metaclass_type.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/useless_metaclass_type.rs @@ -1,8 +1,9 @@ use log::error; -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Stmt}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::autofix::helpers; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/useless_object_inheritance.rs b/crates/ruff/src/rules/pyupgrade/rules/useless_object_inheritance.rs index e66d62b4f5..6e1ac650ba 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/useless_object_inheritance.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/useless_object_inheritance.rs @@ -1,12 +1,14 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind, Keyword, Stmt}; -use super::super::fixes; -use crate::ast::types::{Binding, BindingKind, Range, Scope}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{Binding, BindingKind, Range, Scope}; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::AlwaysAutofixableViolation; +use super::super::fixes; + #[violation] pub struct UselessObjectInheritance { pub name: String, diff --git a/crates/ruff/src/rules/pyupgrade/settings.rs b/crates/ruff/src/rules/pyupgrade/settings.rs index ceb5ec4bee..aa72129836 100644 --- a/crates/ruff/src/rules/pyupgrade/settings.rs +++ b/crates/ruff/src/rules/pyupgrade/settings.rs @@ -1,9 +1,10 @@ //! Settings for the `pyupgrade` plugin. -use ruff_macros::{CacheKey, ConfigurationOptions}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{CacheKey, ConfigurationOptions}; + #[derive( Debug, PartialEq, Eq, Serialize, Deserialize, Default, ConfigurationOptions, JsonSchema, )] diff --git a/crates/ruff/src/rules/ruff/rules/ambiguous_unicode_character.rs b/crates/ruff/src/rules/ruff/rules/ambiguous_unicode_character.rs index bee44dc647..e3e5330e9f 100644 --- a/crates/ruff/src/rules/ruff/rules/ambiguous_unicode_character.rs +++ b/crates/ruff/src/rules/ruff/rules/ambiguous_unicode_character.rs @@ -1,14 +1,15 @@ use once_cell::sync::Lazy; -use ruff_macros::{derive_message_formats, violation}; use rustc_hash::FxHashMap; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::source_code::Locator; +use ruff_python_ast::types::Range; + use crate::fix::Fix; use crate::message::Location; use crate::registry::{Diagnostic, DiagnosticKind}; use crate::rules::ruff::rules::Context; use crate::settings::{flags, Settings}; -use crate::source_code::Locator; use crate::violation::AlwaysAutofixableViolation; #[violation] diff --git a/crates/ruff/src/rules/ruff/rules/asyncio_dangling_task.rs b/crates/ruff/src/rules/ruff/rules/asyncio_dangling_task.rs index 073bdbb30d..2abacbf020 100644 --- a/crates/ruff/src/rules/ruff/rules/asyncio_dangling_task.rs +++ b/crates/ruff/src/rules/ruff/rules/asyncio_dangling_task.rs @@ -1,11 +1,13 @@ -use rustpython_parser::ast::{Expr, ExprKind}; +use std::fmt; + +use rustpython_parser::ast::{Expr, ExprKind}; +use serde::{Deserialize, Serialize}; + +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::{CallPath, Range}; -use crate::ast::types::{CallPath, Range}; use crate::registry::Diagnostic; use crate::violation::Violation; -use ruff_macros::{derive_message_formats, violation}; -use serde::{Deserialize, Serialize}; -use std::fmt; /// ## What it does /// Checks for `asyncio.create_task` and `asyncio.ensure_future` calls diff --git a/crates/ruff/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 index 3b71bbc4e3..7b39df6a33 100644 --- a/crates/ruff/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 @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprContext, ExprKind, Operator}; -use crate::ast::helpers::{create_expr, has_comments, unparse_expr}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::{create_expr, has_comments, unparse_expr}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::fix::Fix; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/ruff/rules/unused_noqa.rs b/crates/ruff/src/rules/ruff/rules/unused_noqa.rs index 8255e6244a..ae93702fef 100644 --- a/crates/ruff/src/rules/ruff/rules/unused_noqa.rs +++ b/crates/ruff/src/rules/ruff/rules/unused_noqa.rs @@ -1,7 +1,8 @@ use itertools::Itertools; -use ruff_macros::{derive_message_formats, violation}; use serde::{Deserialize, Serialize}; +use ruff_macros::{derive_message_formats, violation}; + use crate::violation::AlwaysAutofixableViolation; #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] diff --git a/crates/ruff/src/rules/tryceratops/helpers.rs b/crates/ruff/src/rules/tryceratops/helpers.rs index d35556a151..2bd35149eb 100644 --- a/crates/ruff/src/rules/tryceratops/helpers.rs +++ b/crates/ruff/src/rules/tryceratops/helpers.rs @@ -1,8 +1,9 @@ -use crate::ast::helpers::is_logger_candidate; -use crate::ast::visitor; -use crate::ast::visitor::Visitor; use rustpython_parser::ast::{Expr, ExprKind}; +use ruff_python_ast::helpers::is_logger_candidate; +use ruff_python_ast::visitor; +use ruff_python_ast::visitor::Visitor; + #[derive(Default)] /// Collect `logging`-like calls from an AST. pub struct LoggerCandidateVisitor<'a> { diff --git a/crates/ruff/src/rules/tryceratops/rules/error_instead_of_exception.rs b/crates/ruff/src/rules/tryceratops/rules/error_instead_of_exception.rs index 86f875a6f8..bb2fdf92ca 100644 --- a/crates/ruff/src/rules/tryceratops/rules/error_instead_of_exception.rs +++ b/crates/ruff/src/rules/tryceratops/rules/error_instead_of_exception.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Excepthandler, ExcepthandlerKind, ExprKind}; -use crate::ast::types::Range; -use crate::ast::visitor::Visitor; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; +use ruff_python_ast::visitor::Visitor; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::tryceratops::helpers::LoggerCandidateVisitor; diff --git a/crates/ruff/src/rules/tryceratops/rules/prefer_type_error.rs b/crates/ruff/src/rules/tryceratops/rules/prefer_type_error.rs index 599d2bcc3c..24ff71dd5b 100644 --- a/crates/ruff/src/rules/tryceratops/rules/prefer_type_error.rs +++ b/crates/ruff/src/rules/tryceratops/rules/prefer_type_error.rs @@ -1,10 +1,10 @@ use rustpython_parser::ast::{Expr, ExprKind, Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; +use ruff_python_ast::visitor; +use ruff_python_ast::visitor::Visitor; -use crate::ast::types::Range; -use crate::ast::visitor; -use crate::ast::visitor::Visitor; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/tryceratops/rules/raise_vanilla_args.rs b/crates/ruff/src/rules/tryceratops/rules/raise_vanilla_args.rs index c18058509f..4f54db0da2 100644 --- a/crates/ruff/src/rules/tryceratops/rules/raise_vanilla_args.rs +++ b/crates/ruff/src/rules/tryceratops/rules/raise_vanilla_args.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Constant, Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/tryceratops/rules/raise_vanilla_class.rs b/crates/ruff/src/rules/tryceratops/rules/raise_vanilla_class.rs index 8b44c272d1..56f22e2c9c 100644 --- a/crates/ruff/src/rules/tryceratops/rules/raise_vanilla_class.rs +++ b/crates/ruff/src/rules/tryceratops/rules/raise_vanilla_class.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/tryceratops/rules/raise_within_try.rs b/crates/ruff/src/rules/tryceratops/rules/raise_within_try.rs index b94e9c1bda..2433d54735 100644 --- a/crates/ruff/src/rules/tryceratops/rules/raise_within_try.rs +++ b/crates/ruff/src/rules/tryceratops/rules/raise_within_try.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Stmt, StmtKind}; -use crate::ast::types::Range; -use crate::ast::visitor::{self, Visitor}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; +use ruff_python_ast::visitor::{self, Visitor}; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/tryceratops/rules/reraise_no_cause.rs b/crates/ruff/src/rules/tryceratops/rules/reraise_no_cause.rs index f68ceb6f07..aeed5c4261 100644 --- a/crates/ruff/src/rules/tryceratops/rules/reraise_no_cause.rs +++ b/crates/ruff/src/rules/tryceratops/rules/reraise_no_cause.rs @@ -1,9 +1,9 @@ use rustpython_parser::ast::{ExprKind, Stmt}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::helpers::RaiseStatementVisitor; +use ruff_python_ast::visitor::Visitor; -use crate::ast::helpers::RaiseStatementVisitor; -use crate::ast::visitor::Visitor; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/tryceratops/rules/try_consider_else.rs b/crates/ruff/src/rules/tryceratops/rules/try_consider_else.rs index b55b25609b..d03464862a 100644 --- a/crates/ruff/src/rules/tryceratops/rules/try_consider_else.rs +++ b/crates/ruff/src/rules/tryceratops/rules/try_consider_else.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Stmt, StmtKind}; -use crate::ast::types::Range; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/rules/tryceratops/rules/verbose_log_message.rs b/crates/ruff/src/rules/tryceratops/rules/verbose_log_message.rs index 8f3852fd8b..7d6985af26 100644 --- a/crates/ruff/src/rules/tryceratops/rules/verbose_log_message.rs +++ b/crates/ruff/src/rules/tryceratops/rules/verbose_log_message.rs @@ -1,10 +1,10 @@ use rustpython_parser::ast::{Excepthandler, ExcepthandlerKind, Expr, ExprContext, ExprKind}; use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; +use ruff_python_ast::visitor; +use ruff_python_ast::visitor::Visitor; -use crate::ast::types::Range; -use crate::ast::visitor; -use crate::ast::visitor::Visitor; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::rules::tryceratops::helpers::LoggerCandidateVisitor; diff --git a/crates/ruff/src/rules/tryceratops/rules/verbose_raise.rs b/crates/ruff/src/rules/tryceratops/rules/verbose_raise.rs index 94276c3ecc..51cb790374 100644 --- a/crates/ruff/src/rules/tryceratops/rules/verbose_raise.rs +++ b/crates/ruff/src/rules/tryceratops/rules/verbose_raise.rs @@ -1,9 +1,10 @@ -use ruff_macros::{derive_message_formats, violation}; use rustpython_parser::ast::{Excepthandler, ExcepthandlerKind, Expr, ExprKind, Stmt, StmtKind}; -use crate::ast::types::Range; -use crate::ast::visitor; -use crate::ast::visitor::Visitor; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_ast::types::Range; +use ruff_python_ast::visitor; +use ruff_python_ast::visitor::Visitor; + use crate::checkers::ast::Checker; use crate::registry::Diagnostic; use crate::violation::Violation; diff --git a/crates/ruff/src/test.rs b/crates/ruff/src/test.rs index c325809319..5241b699e0 100644 --- a/crates/ruff/src/test.rs +++ b/crates/ruff/src/test.rs @@ -12,7 +12,7 @@ use crate::linter::{check_path, LinterResult}; use crate::packaging::detect_package_root; use crate::registry::Diagnostic; use crate::settings::{flags, Settings}; -use crate::source_code::{Indexer, Locator, Stylist}; +use ruff_python_ast::source_code::{Indexer, Locator, Stylist}; pub fn test_resource_path(path: impl AsRef) -> std::path::PathBuf { Path::new("./resources/test/").join(path) diff --git a/crates/ruff_dev/src/round_trip.rs b/crates/ruff_dev/src/round_trip.rs index 632b47392c..73def5788f 100644 --- a/crates/ruff_dev/src/round_trip.rs +++ b/crates/ruff_dev/src/round_trip.rs @@ -5,7 +5,8 @@ use std::fs; use std::path::PathBuf; use anyhow::Result; -use ruff::source_code::round_trip; + +use ruff::round_trip; #[derive(clap::Args)] pub struct Args { diff --git a/crates/ruff_python_ast/Cargo.toml b/crates/ruff_python_ast/Cargo.toml new file mode 100644 index 0000000000..087bcaabb9 --- /dev/null +++ b/crates/ruff_python_ast/Cargo.toml @@ -0,0 +1,27 @@ +[package] +name = "ruff_python_ast" +version = "0.0.0" +publish = false +edition = { workspace = true } +rust-version = { workspace = true } + +[lib] + +[dependencies] +ruff_python_stdlib = { path = "../ruff_python_stdlib" } +ruff_rustpython = { path = "../ruff_rustpython" } + +anyhow = { workspace = true } +bitflags = { workspace = true } +is-macro = { workspace = true } +itertools = { workspace = true } +log = { workspace = true } +nohash-hasher = { version = "0.2.0" } +num-bigint = { version = "0.4.3" } +num-traits = { version = "0.2.15" } +once_cell = { workspace = true } +regex = { workspace = true } +rustc-hash = { workspace = true } +rustpython-common = { workspace = true } +rustpython-parser = { workspace = true } +smallvec = { version = "1.10.0" } diff --git a/crates/ruff/src/ast/branch_detection.rs b/crates/ruff_python_ast/src/branch_detection.rs similarity index 98% rename from crates/ruff/src/ast/branch_detection.rs rename to crates/ruff_python_ast/src/branch_detection.rs index c84b76c6ed..71de63f324 100644 --- a/crates/ruff/src/ast/branch_detection.rs +++ b/crates/ruff_python_ast/src/branch_detection.rs @@ -4,7 +4,7 @@ use rustc_hash::FxHashMap; use rustpython_parser::ast::ExcepthandlerKind::ExceptHandler; use rustpython_parser::ast::{Stmt, StmtKind}; -use crate::ast::types::RefEquality; +use crate::types::RefEquality; /// Return the common ancestor of `left` and `right` below `stop`, or `None`. fn common_ancestor<'a>( diff --git a/crates/ruff/src/ast/cast.rs b/crates/ruff_python_ast/src/cast.rs similarity index 100% rename from crates/ruff/src/ast/cast.rs rename to crates/ruff_python_ast/src/cast.rs diff --git a/crates/ruff/src/ast/comparable.rs b/crates/ruff_python_ast/src/comparable.rs similarity index 99% rename from crates/ruff/src/ast/comparable.rs rename to crates/ruff_python_ast/src/comparable.rs index d0df3d0b53..e38a191b3a 100644 --- a/crates/ruff/src/ast/comparable.rs +++ b/crates/ruff_python_ast/src/comparable.rs @@ -1,13 +1,14 @@ //! An equivalent object hierarchy to the [`Expr`] hierarchy, but with the //! ability to compare expressions for equality (via [`Eq`] and [`Hash`]). -use num_bigint::BigInt; use rustpython_parser::ast::{ Alias, Arg, Arguments, Boolop, Cmpop, Comprehension, Constant, Excepthandler, ExcepthandlerKind, Expr, ExprContext, ExprKind, Keyword, MatchCase, Operator, Pattern, PatternKind, Stmt, StmtKind, Unaryop, Withitem, }; +use num_bigint::BigInt; + #[derive(Debug, PartialEq, Eq, Hash)] pub enum ComparableExprContext { Load, diff --git a/crates/ruff/src/ast/context.rs b/crates/ruff_python_ast/src/context.rs similarity index 97% rename from crates/ruff/src/ast/context.rs rename to crates/ruff_python_ast/src/context.rs index 108360b88b..bf00878a2c 100644 --- a/crates/ruff/src/ast/context.rs +++ b/crates/ruff_python_ast/src/context.rs @@ -8,9 +8,9 @@ use smallvec::smallvec; use ruff_python_stdlib::path::is_python_stub_file; use ruff_python_stdlib::typing::TYPING_EXTENSIONS; -use crate::ast::helpers::{collect_call_path, from_relative_import, Exceptions}; -use crate::ast::types::{Binding, BindingKind, CallPath, ExecutionContext, RefEquality, Scope}; -use crate::ast::visibility::{module_visibility, Modifier, VisibleScope}; +use crate::helpers::{collect_call_path, from_relative_import, Exceptions}; +use crate::types::{Binding, BindingKind, CallPath, ExecutionContext, RefEquality, Scope}; +use crate::visibility::{module_visibility, Modifier, VisibleScope}; #[allow(clippy::struct_excessive_bools)] pub struct Context<'a> { diff --git a/crates/ruff/src/ast/function_type.rs b/crates/ruff_python_ast/src/function_type.rs similarity index 94% rename from crates/ruff/src/ast/function_type.rs rename to crates/ruff_python_ast/src/function_type.rs index 9a3cc2e473..d19b0882f3 100644 --- a/crates/ruff/src/ast/function_type.rs +++ b/crates/ruff_python_ast/src/function_type.rs @@ -1,8 +1,8 @@ use rustpython_parser::ast::Expr; -use crate::ast::context::Context; -use crate::ast::helpers::{map_callable, to_call_path}; -use crate::ast::types::{Scope, ScopeKind}; +use crate::context::Context; +use crate::helpers::{map_callable, to_call_path}; +use crate::types::{Scope, ScopeKind}; const CLASS_METHODS: [&str; 3] = ["__new__", "__init_subclass__", "__class_getitem__"]; const METACLASS_BASES: [(&str, &str); 2] = [("", "type"), ("abc", "ABCMeta")]; diff --git a/crates/ruff/src/ast/hashable.rs b/crates/ruff_python_ast/src/hashable.rs similarity index 83% rename from crates/ruff/src/ast/hashable.rs rename to crates/ruff_python_ast/src/hashable.rs index fce13a97db..b20f0efb67 100644 --- a/crates/ruff/src/ast/hashable.rs +++ b/crates/ruff_python_ast/src/hashable.rs @@ -2,7 +2,7 @@ use std::hash::Hash; use rustpython_parser::ast::Expr; -use crate::ast::comparable::ComparableExpr; +use crate::comparable::ComparableExpr; /// Wrapper around `Expr` that implements `Hash` and `PartialEq`. pub struct HashableExpr<'a>(&'a Expr); @@ -30,11 +30,11 @@ impl<'a> From<&'a Expr> for HashableExpr<'a> { } impl<'a> HashableExpr<'a> { - pub(crate) const fn from_expr(expr: &'a Expr) -> Self { + pub const fn from_expr(expr: &'a Expr) -> Self { Self(expr) } - pub(crate) const fn as_expr(&self) -> &'a Expr { + pub const fn as_expr(&self) -> &'a Expr { self.0 } } diff --git a/crates/ruff/src/ast/helpers.rs b/crates/ruff_python_ast/src/helpers.rs similarity index 99% rename from crates/ruff/src/ast/helpers.rs rename to crates/ruff_python_ast/src/helpers.rs index 5ab969db51..9635cb86ec 100644 --- a/crates/ruff/src/ast/helpers.rs +++ b/crates/ruff_python_ast/src/helpers.rs @@ -13,11 +13,11 @@ use rustpython_parser::ast::{ use rustpython_parser::{lexer, Mode, StringKind, Tok}; use smallvec::{smallvec, SmallVec}; -use crate::ast::context::Context; -use crate::ast::types::{Binding, BindingKind, CallPath, Range}; -use crate::ast::visitor; -use crate::ast::visitor::Visitor; +use crate::context::Context; use crate::source_code::{Generator, Indexer, Locator, Stylist}; +use crate::types::{Binding, BindingKind, CallPath, Range}; +use crate::visitor; +use crate::visitor::Visitor; /// Create an `Expr` with default location from an `ExprKind`. pub fn create_expr(node: ExprKind) -> Expr { @@ -741,7 +741,7 @@ pub fn to_module_path(package: &Path, path: &Path) -> Option> { .ok()? .iter() .map(Path::new) - .map(std::path::Path::file_stem) + .map(Path::file_stem) .map(|path| path.and_then(|path| path.to_os_string().into_string().ok())) .collect::>>() } @@ -1250,10 +1250,15 @@ impl<'a> SimpleCallArgs<'a> { None } - /// Get the number of positional and keyword arguments used. + /// Return the number of positional and keyword arguments. pub fn len(&self) -> usize { self.args.len() + self.kwargs.len() } + + /// Return `true` if there are no positional or keyword arguments. + pub fn is_empty(&self) -> bool { + self.len() == 0 + } } /// Return `true` if the given `Expr` is a potential logging call. Matches @@ -1277,11 +1282,11 @@ mod tests { use rustpython_parser as parser; use rustpython_parser::ast::Location; - use crate::ast::helpers::{ + use crate::helpers::{ elif_else_range, else_range, first_colon_range, identifier_range, match_trailing_content, }; - use crate::ast::types::Range; use crate::source_code::Locator; + use crate::types::Range; #[test] fn trailing_content() -> Result<()> { diff --git a/crates/ruff/src/ast/mod.rs b/crates/ruff_python_ast/src/lib.rs similarity index 93% rename from crates/ruff/src/ast/mod.rs rename to crates/ruff_python_ast/src/lib.rs index de59357752..625bc8a98e 100644 --- a/crates/ruff/src/ast/mod.rs +++ b/crates/ruff_python_ast/src/lib.rs @@ -8,6 +8,7 @@ pub mod helpers; pub mod logging; pub mod operations; pub mod relocate; +pub mod source_code; pub mod strings; pub mod types; pub mod typing; diff --git a/crates/ruff/src/ast/logging.rs b/crates/ruff_python_ast/src/logging.rs similarity index 90% rename from crates/ruff/src/ast/logging.rs rename to crates/ruff_python_ast/src/logging.rs index 1437ef64db..92693421de 100644 --- a/crates/ruff/src/ast/logging.rs +++ b/crates/ruff_python_ast/src/logging.rs @@ -9,7 +9,7 @@ pub enum LoggingLevel { } impl LoggingLevel { - pub fn from_str(level: &str) -> Option { + pub fn from_attribute(level: &str) -> Option { match level { "debug" => Some(LoggingLevel::Debug), "critical" => Some(LoggingLevel::Critical), diff --git a/crates/ruff/src/ast/operations.rs b/crates/ruff_python_ast/src/operations.rs similarity index 98% rename from crates/ruff/src/ast/operations.rs rename to crates/ruff_python_ast/src/operations.rs index b7127a7155..beb8437aae 100644 --- a/crates/ruff/src/ast/operations.rs +++ b/crates/ruff_python_ast/src/operations.rs @@ -3,11 +3,11 @@ use rustc_hash::FxHashMap; use rustpython_parser::ast::{Cmpop, Constant, Expr, ExprKind, Located, Stmt, StmtKind}; use rustpython_parser::{lexer, Mode, Tok}; -use crate::ast::context::Context; -use crate::ast::helpers::any_over_expr; -use crate::ast::types::{BindingKind, Scope}; -use crate::ast::visitor; -use crate::ast::visitor::Visitor; +use crate::context::Context; +use crate::helpers::any_over_expr; +use crate::types::{BindingKind, Scope}; +use crate::visitor; +use crate::visitor::Visitor; bitflags! { #[derive(Default)] @@ -348,7 +348,7 @@ pub fn locate_cmpops(contents: &str) -> Vec { mod tests { use rustpython_parser::ast::{Cmpop, Location}; - use crate::ast::operations::{locate_cmpops, LocatedCmpop}; + use crate::operations::{locate_cmpops, LocatedCmpop}; #[test] fn locates_cmpops() { diff --git a/crates/ruff/src/ast/relocate.rs b/crates/ruff_python_ast/src/relocate.rs similarity index 99% rename from crates/ruff/src/ast/relocate.rs rename to crates/ruff_python_ast/src/relocate.rs index 71e043225a..586dc89d92 100644 --- a/crates/ruff/src/ast/relocate.rs +++ b/crates/ruff_python_ast/src/relocate.rs @@ -1,6 +1,6 @@ use rustpython_parser::ast::{Expr, ExprKind, Keyword}; -use crate::ast::types::Range; +use crate::types::Range; fn relocate_keyword(keyword: &mut Keyword, location: Range) { keyword.location = location.location; diff --git a/crates/ruff/src/source_code/generator.rs b/crates/ruff_python_ast/src/source_code/generator.rs similarity index 100% rename from crates/ruff/src/source_code/generator.rs rename to crates/ruff_python_ast/src/source_code/generator.rs diff --git a/crates/ruff/src/source_code/indexer.rs b/crates/ruff_python_ast/src/source_code/indexer.rs similarity index 100% rename from crates/ruff/src/source_code/indexer.rs rename to crates/ruff_python_ast/src/source_code/indexer.rs diff --git a/crates/ruff/src/source_code/locator.rs b/crates/ruff_python_ast/src/source_code/locator.rs similarity index 98% rename from crates/ruff/src/source_code/locator.rs rename to crates/ruff_python_ast/src/source_code/locator.rs index e68ec73685..cebc45ff95 100644 --- a/crates/ruff/src/source_code/locator.rs +++ b/crates/ruff_python_ast/src/source_code/locator.rs @@ -3,7 +3,7 @@ use once_cell::unsync::OnceCell; use rustpython_parser::ast::Location; -use crate::ast::types::Range; +use crate::types::Range; pub struct Locator<'a> { contents: &'a str, @@ -145,7 +145,7 @@ impl<'a> Locator<'a> { mod tests { use rustpython_parser::ast::Location; - use crate::source_code::locator::{index_ascii, index_utf8, truncate_ascii, truncate_utf8}; + use super::{index_ascii, index_utf8, truncate_ascii, truncate_utf8}; #[test] fn ascii_index() { diff --git a/crates/ruff/src/source_code/mod.rs b/crates/ruff_python_ast/src/source_code/mod.rs similarity index 78% rename from crates/ruff/src/source_code/mod.rs rename to crates/ruff_python_ast/src/source_code/mod.rs index c1d6eff74c..060c0fda29 100644 --- a/crates/ruff/src/source_code/mod.rs +++ b/crates/ruff_python_ast/src/source_code/mod.rs @@ -3,12 +3,12 @@ mod indexer; mod locator; mod stylist; -pub(crate) use generator::Generator; -pub(crate) use indexer::Indexer; -pub(crate) use locator::Locator; +pub use generator::Generator; +pub use indexer::Indexer; +pub use locator::Locator; use rustpython_parser as parser; use rustpython_parser::ParseError; -pub(crate) use stylist::{LineEnding, Stylist}; +pub use stylist::{LineEnding, Stylist}; /// Run round-trip source code generation on a given Python code. pub fn round_trip(code: &str, source_path: &str) -> Result { diff --git a/crates/ruff/src/source_code/stylist.rs b/crates/ruff_python_ast/src/source_code/stylist.rs similarity index 99% rename from crates/ruff/src/source_code/stylist.rs rename to crates/ruff_python_ast/src/source_code/stylist.rs index 8fadc9551d..e986345b3c 100644 --- a/crates/ruff/src/source_code/stylist.rs +++ b/crates/ruff_python_ast/src/source_code/stylist.rs @@ -4,13 +4,14 @@ use std::fmt; use std::ops::Deref; use once_cell::unsync::OnceCell; -use ruff_rustpython::vendor; use rustpython_parser::ast::Location; use rustpython_parser::{lexer, Mode, Tok}; -use crate::ast::strings::leading_quote; -use crate::ast::types::Range; use crate::source_code::Locator; +use ruff_rustpython::vendor; + +use crate::strings::leading_quote; +use crate::types::Range; pub struct Stylist<'a> { contents: &'a str, diff --git a/crates/ruff/src/ast/strings.rs b/crates/ruff_python_ast/src/strings.rs similarity index 100% rename from crates/ruff/src/ast/strings.rs rename to crates/ruff_python_ast/src/strings.rs diff --git a/crates/ruff/src/ast/types.rs b/crates/ruff_python_ast/src/types.rs similarity index 100% rename from crates/ruff/src/ast/types.rs rename to crates/ruff_python_ast/src/types.rs diff --git a/crates/ruff/src/ast/typing.rs b/crates/ruff_python_ast/src/typing.rs similarity index 98% rename from crates/ruff/src/ast/typing.rs rename to crates/ruff_python_ast/src/typing.rs index aeb79a5cd4..ea4863a326 100644 --- a/crates/ruff/src/ast/typing.rs +++ b/crates/ruff_python_ast/src/typing.rs @@ -1,7 +1,7 @@ use ruff_python_stdlib::typing::{PEP_585_BUILTINS_ELIGIBLE, PEP_593_SUBSCRIPTS, SUBSCRIPTS}; use rustpython_parser::ast::{Expr, ExprKind}; -use crate::ast::types::CallPath; +use crate::types::CallPath; pub enum Callable { ForwardRef, diff --git a/crates/ruff/src/ast/visibility.rs b/crates/ruff_python_ast/src/visibility.rs similarity index 98% rename from crates/ruff/src/ast/visibility.rs rename to crates/ruff_python_ast/src/visibility.rs index b2d243d5bd..7bf400132a 100644 --- a/crates/ruff/src/ast/visibility.rs +++ b/crates/ruff_python_ast/src/visibility.rs @@ -2,9 +2,9 @@ use std::path::Path; use rustpython_parser::ast::{Expr, Stmt, StmtKind}; -use crate::ast::context::Context; -use crate::ast::helpers::{collect_call_path, map_callable}; -use crate::ast::types::CallPath; +use crate::context::Context; +use crate::helpers::{collect_call_path, map_callable}; +use crate::types::CallPath; #[derive(Debug, Clone)] pub enum Modifier { diff --git a/crates/ruff/src/ast/visitor.rs b/crates/ruff_python_ast/src/visitor.rs similarity index 100% rename from crates/ruff/src/ast/visitor.rs rename to crates/ruff_python_ast/src/visitor.rs diff --git a/crates/ruff/src/ast/whitespace.rs b/crates/ruff_python_ast/src/whitespace.rs similarity index 98% rename from crates/ruff/src/ast/whitespace.rs rename to crates/ruff_python_ast/src/whitespace.rs index bf95a8c689..02c9c9066b 100644 --- a/crates/ruff/src/ast/whitespace.rs +++ b/crates/ruff_python_ast/src/whitespace.rs @@ -2,8 +2,8 @@ use std::str::Lines; use rustpython_parser::ast::{Located, Location}; -use crate::ast::types::Range; use crate::source_code::Locator; +use crate::types::Range; /// Extract the leading indentation from a line. pub fn indentation<'a, T>(locator: &'a Locator, located: &'a Located) -> Option<&'a str> {