diff --git a/Cargo.lock b/Cargo.lock index 206a24a6a2..2b1f0f82c5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2642,7 +2642,6 @@ dependencies = [ "rayon", "regex", "ruff", - "ruff_diagnostics", "ruff_formatter", "ruff_linter", "ruff_notebook", @@ -2672,9 +2671,7 @@ dependencies = [ name = "ruff_diagnostics" version = "0.0.0" dependencies = [ - "anyhow", "is-macro", - "log", "ruff_text_size", "serde", ] diff --git a/crates/ruff/src/cache.rs b/crates/ruff/src/cache.rs index 5c3ccf81e7..4c0f11392f 100644 --- a/crates/ruff/src/cache.rs +++ b/crates/ruff/src/cache.rs @@ -349,7 +349,6 @@ impl FileCache { .iter() .map(|msg| { Message::diagnostic( - msg.rule.into(), msg.body.clone(), msg.suggestion.clone(), msg.range, @@ -357,6 +356,7 @@ impl FileCache { msg.parent, file.clone(), msg.noqa_offset, + msg.rule, ) }) .collect() diff --git a/crates/ruff/src/commands/check.rs b/crates/ruff/src/commands/check.rs index 0b1a223ffc..801df01352 100644 --- a/crates/ruff/src/commands/check.rs +++ b/crates/ruff/src/commands/check.rs @@ -12,7 +12,7 @@ use rayon::prelude::*; use rustc_hash::FxHashMap; use ruff_db::panic::catch_unwind; -use ruff_diagnostics::Diagnostic; +use ruff_linter::Diagnostic; use ruff_linter::message::Message; use ruff_linter::package::PackageRoot; use ruff_linter::registry::Rule; diff --git a/crates/ruff/src/commands/rule.rs b/crates/ruff/src/commands/rule.rs index 271a0c4b1c..45b071d2ea 100644 --- a/crates/ruff/src/commands/rule.rs +++ b/crates/ruff/src/commands/rule.rs @@ -6,7 +6,7 @@ use serde::ser::SerializeSeq; use serde::{Serialize, Serializer}; use strum::IntoEnumIterator; -use ruff_diagnostics::FixAvailability; +use ruff_linter::FixAvailability; use ruff_linter::registry::{Linter, Rule, RuleNamespace}; use crate::args::HelpFormat; diff --git a/crates/ruff/src/diagnostics.rs b/crates/ruff/src/diagnostics.rs index 6b88d7ce36..b656de6a5d 100644 --- a/crates/ruff/src/diagnostics.rs +++ b/crates/ruff/src/diagnostics.rs @@ -12,7 +12,7 @@ use colored::Colorize; use log::{debug, warn}; use rustc_hash::FxHashMap; -use ruff_diagnostics::Diagnostic; +use ruff_linter::Diagnostic; use ruff_linter::codes::Rule; use ruff_linter::linter::{FixTable, FixerResult, LinterResult, ParseSource, lint_fix, lint_only}; use ruff_linter::message::Message; diff --git a/crates/ruff_dev/Cargo.toml b/crates/ruff_dev/Cargo.toml index 1e44acd573..99adef596b 100644 --- a/crates/ruff_dev/Cargo.toml +++ b/crates/ruff_dev/Cargo.toml @@ -14,7 +14,6 @@ license = { workspace = true } ty = { workspace = true } ty_project = { workspace = true, features = ["schemars"] } ruff = { workspace = true } -ruff_diagnostics = { workspace = true } ruff_formatter = { workspace = true } ruff_linter = { workspace = true, features = ["schemars"] } ruff_notebook = { workspace = true } diff --git a/crates/ruff_dev/src/generate_docs.rs b/crates/ruff_dev/src/generate_docs.rs index e422f498ee..d191e82649 100644 --- a/crates/ruff_dev/src/generate_docs.rs +++ b/crates/ruff_dev/src/generate_docs.rs @@ -10,7 +10,7 @@ use itertools::Itertools; use regex::{Captures, Regex}; use strum::IntoEnumIterator; -use ruff_diagnostics::FixAvailability; +use ruff_linter::FixAvailability; use ruff_linter::registry::{Linter, Rule, RuleNamespace}; use ruff_options_metadata::{OptionEntry, OptionsMetadata}; use ruff_workspace::options::Options; diff --git a/crates/ruff_dev/src/generate_rules_table.rs b/crates/ruff_dev/src/generate_rules_table.rs index 21b6aec0de..48b1cdc2c9 100644 --- a/crates/ruff_dev/src/generate_rules_table.rs +++ b/crates/ruff_dev/src/generate_rules_table.rs @@ -8,7 +8,7 @@ use std::borrow::Cow; use std::fmt::Write; use strum::IntoEnumIterator; -use ruff_diagnostics::FixAvailability; +use ruff_linter::FixAvailability; use ruff_linter::registry::{Linter, Rule, RuleNamespace}; use ruff_linter::upstream_categories::UpstreamCategoryAndPrefix; use ruff_options_metadata::OptionsMetadata; diff --git a/crates/ruff_diagnostics/Cargo.toml b/crates/ruff_diagnostics/Cargo.toml index 3bc24b1dbc..7fc5865b1e 100644 --- a/crates/ruff_diagnostics/Cargo.toml +++ b/crates/ruff_diagnostics/Cargo.toml @@ -16,7 +16,5 @@ doctest = false [dependencies] ruff_text_size = { workspace = true } -anyhow = { workspace = true } -log = { workspace = true } is-macro = { workspace = true } serde = { workspace = true, optional = true, features = [] } diff --git a/crates/ruff_diagnostics/src/lib.rs b/crates/ruff_diagnostics/src/lib.rs index fd97fc1408..0fd267c5d7 100644 --- a/crates/ruff_diagnostics/src/lib.rs +++ b/crates/ruff_diagnostics/src/lib.rs @@ -1,11 +1,7 @@ -pub use diagnostic::Diagnostic; pub use edit::Edit; pub use fix::{Applicability, Fix, IsolationLevel}; pub use source_map::{SourceMap, SourceMarker}; -pub use violation::{AlwaysFixableViolation, FixAvailability, Violation, ViolationMetadata}; -mod diagnostic; mod edit; mod fix; mod source_map; -mod violation; diff --git a/crates/ruff_linter/src/checkers/ast/analyze/bindings.rs b/crates/ruff_linter/src/checkers/ast/analyze/bindings.rs index f2f8147cc9..59b1757f66 100644 --- a/crates/ruff_linter/src/checkers/ast/analyze/bindings.rs +++ b/crates/ruff_linter/src/checkers/ast/analyze/bindings.rs @@ -1,6 +1,6 @@ -use ruff_diagnostics::Fix; use ruff_text_size::Ranged; +use crate::Fix; use crate::checkers::ast::Checker; use crate::codes::Rule; use crate::rules::{ diff --git a/crates/ruff_linter/src/checkers/ast/analyze/deferred_scopes.rs b/crates/ruff_linter/src/checkers/ast/analyze/deferred_scopes.rs index 72ef6bde28..338c0c7657 100644 --- a/crates/ruff_linter/src/checkers/ast/analyze/deferred_scopes.rs +++ b/crates/ruff_linter/src/checkers/ast/analyze/deferred_scopes.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Fix; use ruff_python_semantic::analyze::visibility; use ruff_python_semantic::{Binding, BindingKind, Imported, ResolvedReference, ScopeKind}; use ruff_text_size::Ranged; use rustc_hash::FxHashMap; +use crate::Fix; use crate::checkers::ast::Checker; use crate::codes::Rule; use crate::fix; diff --git a/crates/ruff_linter/src/checkers/ast/mod.rs b/crates/ruff_linter/src/checkers/ast/mod.rs index 92783663c0..b95e7538e2 100644 --- a/crates/ruff_linter/src/checkers/ast/mod.rs +++ b/crates/ruff_linter/src/checkers/ast/mod.rs @@ -26,12 +26,9 @@ use std::path::Path; use itertools::Itertools; use log::debug; -use ruff_python_parser::semantic_errors::{ - SemanticSyntaxChecker, SemanticSyntaxContext, SemanticSyntaxError, SemanticSyntaxErrorKind, -}; use rustc_hash::{FxHashMap, FxHashSet}; -use ruff_diagnostics::{Diagnostic, Edit, IsolationLevel, Violation}; +use ruff_diagnostics::IsolationLevel; use ruff_notebook::{CellOffsets, NotebookIndex}; use ruff_python_ast::helpers::{collect_import_from_member, is_docstring_stmt, to_module_path}; use ruff_python_ast::identifier::Identifier; @@ -46,6 +43,9 @@ use ruff_python_ast::{ use ruff_python_ast::{PySourceType, helpers, str, visitor}; use ruff_python_codegen::{Generator, Stylist}; use ruff_python_index::Indexer; +use ruff_python_parser::semantic_errors::{ + SemanticSyntaxChecker, SemanticSyntaxContext, SemanticSyntaxError, SemanticSyntaxErrorKind, +}; use ruff_python_parser::typing::{AnnotationKind, ParsedAnnotation, parse_type_annotation}; use ruff_python_parser::{ParseError, Parsed, Tokens}; use ruff_python_semantic::all::{DunderAllDefinition, DunderAllFlags}; @@ -73,6 +73,7 @@ use crate::rules::pyflakes::rules::{ use crate::rules::pylint::rules::{AwaitOutsideAsync, LoadBeforeGlobalDeclaration}; use crate::rules::{flake8_pyi, flake8_type_checking, pyflakes, pyupgrade}; use crate::settings::{LinterSettings, TargetVersion, flags}; +use crate::{Diagnostic, Edit, Violation}; use crate::{Locator, docstrings, noqa}; mod analyze; diff --git a/crates/ruff_linter/src/checkers/filesystem.rs b/crates/ruff_linter/src/checkers/filesystem.rs index a92088196c..ca73348cca 100644 --- a/crates/ruff_linter/src/checkers/filesystem.rs +++ b/crates/ruff_linter/src/checkers/filesystem.rs @@ -1,9 +1,9 @@ use std::path::Path; -use ruff_diagnostics::Diagnostic; use ruff_python_ast::PythonVersion; use ruff_python_trivia::CommentRanges; +use crate::Diagnostic; use crate::Locator; use crate::package::PackageRoot; use crate::preview::is_allow_nested_roots_enabled; diff --git a/crates/ruff_linter/src/checkers/imports.rs b/crates/ruff_linter/src/checkers/imports.rs index 7ce9a527c3..28628f40f8 100644 --- a/crates/ruff_linter/src/checkers/imports.rs +++ b/crates/ruff_linter/src/checkers/imports.rs @@ -1,6 +1,5 @@ //! Lint rules based on import analysis. -use ruff_diagnostics::Diagnostic; use ruff_notebook::CellOffsets; use ruff_python_ast::statement_visitor::StatementVisitor; use ruff_python_ast::{ModModule, PySourceType, PythonVersion}; @@ -8,6 +7,7 @@ use ruff_python_codegen::Stylist; use ruff_python_index::Indexer; use ruff_python_parser::Parsed; +use crate::Diagnostic; use crate::Locator; use crate::directives::IsortDirectives; use crate::package::PackageRoot; diff --git a/crates/ruff_linter/src/checkers/logical_lines.rs b/crates/ruff_linter/src/checkers/logical_lines.rs index a17302f3b0..83eac38858 100644 --- a/crates/ruff_linter/src/checkers/logical_lines.rs +++ b/crates/ruff_linter/src/checkers/logical_lines.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Diagnostic; use ruff_python_codegen::Stylist; use ruff_python_index::Indexer; use ruff_python_parser::{TokenKind, Tokens}; use ruff_source_file::LineRanges; use ruff_text_size::{Ranged, TextRange}; +use crate::Diagnostic; use crate::Locator; use crate::line_width::IndentWidth; use crate::registry::{AsRule, Rule}; diff --git a/crates/ruff_linter/src/checkers/noqa.rs b/crates/ruff_linter/src/checkers/noqa.rs index 5e93b192d4..35f79a69fe 100644 --- a/crates/ruff_linter/src/checkers/noqa.rs +++ b/crates/ruff_linter/src/checkers/noqa.rs @@ -5,7 +5,6 @@ use std::path::Path; use itertools::Itertools; use rustc_hash::FxHashSet; -use ruff_diagnostics::{Diagnostic, Edit, Fix}; use ruff_python_trivia::CommentRanges; use ruff_text_size::Ranged; @@ -21,6 +20,7 @@ use crate::rules::pygrep_hooks; use crate::rules::ruff; use crate::rules::ruff::rules::{UnusedCodes, UnusedNOQA}; use crate::settings::LinterSettings; +use crate::{Diagnostic, Edit, Fix}; #[expect(clippy::too_many_arguments)] pub(crate) fn check_noqa( diff --git a/crates/ruff_linter/src/checkers/physical_lines.rs b/crates/ruff_linter/src/checkers/physical_lines.rs index c2f45a7a1a..0edf20a520 100644 --- a/crates/ruff_linter/src/checkers/physical_lines.rs +++ b/crates/ruff_linter/src/checkers/physical_lines.rs @@ -1,11 +1,11 @@ //! Lint rules based on checking physical lines. -use ruff_diagnostics::Diagnostic; use ruff_python_codegen::Stylist; use ruff_python_index::Indexer; use ruff_source_file::UniversalNewlines; use ruff_text_size::TextSize; +use crate::Diagnostic; use crate::Locator; use crate::registry::Rule; use crate::rules::flake8_copyright::rules::missing_copyright_notice; diff --git a/crates/ruff_linter/src/checkers/tokens.rs b/crates/ruff_linter/src/checkers/tokens.rs index 99d8807fe3..19985985a8 100644 --- a/crates/ruff_linter/src/checkers/tokens.rs +++ b/crates/ruff_linter/src/checkers/tokens.rs @@ -2,13 +2,13 @@ use std::path::Path; -use ruff_diagnostics::Diagnostic; use ruff_notebook::CellOffsets; use ruff_python_ast::PySourceType; use ruff_python_codegen::Stylist; use ruff_python_index::Indexer; use ruff_python_parser::Tokens; +use crate::Diagnostic; use crate::Locator; use crate::directives::TodoComment; use crate::registry::{AsRule, Rule}; diff --git a/crates/ruff_linter/src/codes.rs b/crates/ruff_linter/src/codes.rs index 2ab35f2f16..4051d69b2e 100644 --- a/crates/ruff_linter/src/codes.rs +++ b/crates/ruff_linter/src/codes.rs @@ -6,7 +6,7 @@ use std::fmt::Formatter; use strum_macros::{AsRefStr, EnumIter}; -use crate::registry::{AsRule, Linter}; +use crate::registry::Linter; use crate::rule_selector::is_single_rule_selector; use crate::rules; @@ -1156,3 +1156,9 @@ pub fn code_to_rule(linter: Linter, code: &str) -> Option<(RuleGroup, Rule)> { _ => return None, }) } + +impl std::fmt::Display for Rule { + fn fmt(&self, f: &mut Formatter) -> std::fmt::Result { + f.write_str(self.into()) + } +} diff --git a/crates/ruff_diagnostics/src/diagnostic.rs b/crates/ruff_linter/src/diagnostic.rs similarity index 78% rename from crates/ruff_diagnostics/src/diagnostic.rs rename to crates/ruff_linter/src/diagnostic.rs index f9a93c78f1..5bca7eb72e 100644 --- a/crates/ruff_diagnostics/src/diagnostic.rs +++ b/crates/ruff_linter/src/diagnostic.rs @@ -3,12 +3,12 @@ use log::debug; use ruff_text_size::{Ranged, TextRange, TextSize}; -use crate::{Fix, Violation}; +use crate::registry::AsRule; +use crate::violation::Violation; +use crate::{Fix, codes::Rule}; #[derive(Debug, PartialEq, Eq, Clone)] pub struct Diagnostic { - /// The identifier of the diagnostic, used to align the diagnostic with a rule. - pub name: &'static str, /// The message body to display to the user, to explain the diagnostic. pub body: String, /// The message to display to the user, to explain the suggested fix. @@ -16,17 +16,24 @@ pub struct Diagnostic { pub range: TextRange, pub fix: Option, pub parent: Option, + + pub(crate) rule: Rule, } impl Diagnostic { + // TODO(brent) We temporarily allow this to avoid updating all of the call sites to add + // references. I expect this method to go away or change significantly with the rest of the + // diagnostic refactor, but if it still exists in this form at the end of the refactor, we + // should just update the call sites. + #[expect(clippy::needless_pass_by_value)] pub fn new(kind: T, range: TextRange) -> Self { Self { - name: T::rule_name(), body: Violation::message(&kind), suggestion: Violation::fix_title(&kind), range, fix: None, parent: None, + rule: T::rule(), } } @@ -50,7 +57,7 @@ impl Diagnostic { pub fn try_set_fix(&mut self, func: impl FnOnce() -> Result) { match func() { Ok(fix) => self.fix = Some(fix), - Err(err) => debug!("Failed to create fix for {}: {}", self.name, err), + Err(err) => debug!("Failed to create fix for {}: {}", self.rule, err), } } @@ -61,7 +68,7 @@ impl Diagnostic { match func() { Ok(None) => {} Ok(Some(fix)) => self.fix = Some(fix), - Err(err) => debug!("Failed to create fix for {}: {}", self.name, err), + Err(err) => debug!("Failed to create fix for {}: {}", self.rule, err), } } @@ -80,6 +87,12 @@ impl Diagnostic { } } +impl AsRule for Diagnostic { + fn rule(&self) -> Rule { + self.rule + } +} + impl Ranged for Diagnostic { fn range(&self) -> TextRange { self.range diff --git a/crates/ruff_linter/src/fix/edits.rs b/crates/ruff_linter/src/fix/edits.rs index 6c6a36f9d7..4f2866205e 100644 --- a/crates/ruff_linter/src/fix/edits.rs +++ b/crates/ruff_linter/src/fix/edits.rs @@ -2,7 +2,6 @@ use anyhow::{Context, Result}; -use ruff_diagnostics::Edit; use ruff_python_ast::parenthesize::parenthesized_range; use ruff_python_ast::{self as ast, Arguments, ExceptHandler, Expr, ExprList, Parameters, Stmt}; use ruff_python_ast::{AnyNodeRef, ArgOrKeyword}; @@ -16,6 +15,7 @@ use ruff_python_trivia::{ use ruff_source_file::{LineRanges, NewlineWithTrailingNewline, UniversalNewlines}; use ruff_text_size::{Ranged, TextLen, TextRange, TextSize}; +use crate::Edit; use crate::Locator; use crate::cst::matchers::{match_function_def, match_indented_block, match_statement}; use crate::fix::codemods; @@ -595,18 +595,19 @@ mod tests { use ruff_source_file::SourceFileBuilder; use test_case::test_case; - use ruff_diagnostics::{Diagnostic, Edit, Fix}; use ruff_python_ast::Stmt; use ruff_python_codegen::Stylist; use ruff_python_parser::{parse_expression, parse_module}; use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::Locator; + use crate::codes::Rule; use crate::fix::apply_fixes; use crate::fix::edits::{ add_to_dunder_all, make_redundant_alias, next_stmt_break, trailing_semicolon, }; use crate::message::Message; + use crate::{Diagnostic, Edit, Fix}; /// Parse the given source using [`Mode::Module`] and return the first statement. fn parse_first_stmt(source: &str) -> Result { @@ -746,7 +747,6 @@ x = 1 \ iter, )); Message::diagnostic( - diag.name, diag.body, diag.suggestion, diag.range, @@ -754,6 +754,7 @@ x = 1 \ diag.parent, SourceFileBuilder::new("", "").finish(), None, + Rule::MissingNewlineAtEndOfFile, ) }; assert_eq!(apply_fixes([diag].iter(), &locator).code, expect); diff --git a/crates/ruff_linter/src/fix/mod.rs b/crates/ruff_linter/src/fix/mod.rs index e5dfdb64b9..b61a8b80ed 100644 --- a/crates/ruff_linter/src/fix/mod.rs +++ b/crates/ruff_linter/src/fix/mod.rs @@ -3,7 +3,7 @@ use std::collections::BTreeSet; use itertools::Itertools; use rustc_hash::{FxHashMap, FxHashSet}; -use ruff_diagnostics::{Edit, Fix, IsolationLevel, SourceMap}; +use ruff_diagnostics::{IsolationLevel, SourceMap}; use ruff_text_size::{Ranged, TextLen, TextRange, TextSize}; use crate::Locator; @@ -11,6 +11,7 @@ use crate::linter::FixTable; use crate::message::Message; use crate::registry::Rule; use crate::settings::types::UnsafeFixes; +use crate::{Edit, Fix}; pub(crate) mod codemods; pub(crate) mod edits; @@ -157,14 +158,16 @@ fn cmp_fix(rule1: Rule, rule2: Rule, fix1: &Fix, fix2: &Fix) -> std::cmp::Orderi #[cfg(test)] mod tests { - use ruff_diagnostics::{Diagnostic, Edit, Fix, SourceMarker}; + use ruff_diagnostics::SourceMarker; use ruff_source_file::SourceFileBuilder; use ruff_text_size::{Ranged, TextSize}; use crate::Locator; + use crate::diagnostic::Diagnostic; use crate::fix::{FixResult, apply_fixes}; use crate::message::Message; use crate::rules::pycodestyle::rules::MissingNewlineAtEndOfFile; + use crate::{Edit, Fix}; fn create_diagnostics( filename: &str, diff --git a/crates/ruff_linter/src/importer/insertion.rs b/crates/ruff_linter/src/importer/insertion.rs index fe46e0cb95..123322e50d 100644 --- a/crates/ruff_linter/src/importer/insertion.rs +++ b/crates/ruff_linter/src/importer/insertion.rs @@ -1,7 +1,6 @@ //! Insert statements into Python code. use std::ops::Add; -use ruff_diagnostics::Edit; use ruff_python_ast::Stmt; use ruff_python_ast::helpers::is_docstring_stmt; use ruff_python_codegen::Stylist; @@ -10,6 +9,7 @@ use ruff_python_trivia::{PythonWhitespace, textwrap::indent}; use ruff_source_file::{LineRanges, UniversalNewlineIterator}; use ruff_text_size::{Ranged, TextSize}; +use crate::Edit; use crate::Locator; #[derive(Debug, Clone, PartialEq, Eq)] diff --git a/crates/ruff_linter/src/importer/mod.rs b/crates/ruff_linter/src/importer/mod.rs index a06b68dd6c..775943caf0 100644 --- a/crates/ruff_linter/src/importer/mod.rs +++ b/crates/ruff_linter/src/importer/mod.rs @@ -8,7 +8,6 @@ use std::error::Error; use anyhow::Result; use libcst_native::{ImportAlias, Name as cstName, NameOrAttribute}; -use ruff_diagnostics::Edit; use ruff_python_ast::{self as ast, Expr, ModModule, Stmt}; use ruff_python_codegen::Stylist; use ruff_python_parser::{Parsed, Tokens}; @@ -18,6 +17,7 @@ use ruff_python_semantic::{ use ruff_python_trivia::textwrap::indent; use ruff_text_size::{Ranged, TextSize}; +use crate::Edit; use crate::Locator; use crate::cst::matchers::{match_aliases, match_import_from, match_statement}; use crate::fix; diff --git a/crates/ruff_linter/src/lib.rs b/crates/ruff_linter/src/lib.rs index 637112d605..0988cd36f1 100644 --- a/crates/ruff_linter/src/lib.rs +++ b/crates/ruff_linter/src/lib.rs @@ -14,12 +14,17 @@ pub use rule_selector::RuleSelector; pub use rule_selector::clap_completion::RuleSelectorParser; pub use rules::pycodestyle::rules::IOError; +pub use diagnostic::Diagnostic; +pub(crate) use ruff_diagnostics::{Applicability, Edit, Fix}; +pub use violation::{AlwaysFixableViolation, FixAvailability, Violation, ViolationMetadata}; + pub const VERSION: &str = env!("CARGO_PKG_VERSION"); mod checkers; pub mod codes; mod comments; mod cst; +mod diagnostic; pub mod directives; mod doc_lines; mod docstrings; @@ -45,6 +50,7 @@ pub mod settings; pub mod source_kind; mod text_helpers; pub mod upstream_categories; +mod violation; #[cfg(any(test, fuzzing))] pub mod test; diff --git a/crates/ruff_linter/src/linter.rs b/crates/ruff_linter/src/linter.rs index f69922cf32..ca63578b7f 100644 --- a/crates/ruff_linter/src/linter.rs +++ b/crates/ruff_linter/src/linter.rs @@ -9,7 +9,6 @@ use itertools::Itertools; use ruff_python_parser::semantic_errors::SemanticSyntaxError; use rustc_hash::FxHashMap; -use ruff_diagnostics::Diagnostic; use ruff_notebook::Notebook; use ruff_python_ast::{ModModule, PySourceType, PythonVersion}; use ruff_python_codegen::Stylist; @@ -18,6 +17,7 @@ use ruff_python_parser::{ParseError, ParseOptions, Parsed, UnsupportedSyntaxErro use ruff_source_file::SourceFileBuilder; use ruff_text_size::Ranged; +use crate::Diagnostic; use crate::checkers::ast::check_ast; use crate::checkers::filesystem::check_file_path; use crate::checkers::imports::check_imports; diff --git a/crates/ruff_linter/src/message/diff.rs b/crates/ruff_linter/src/message/diff.rs index c0358d0b08..57e22e6782 100644 --- a/crates/ruff_linter/src/message/diff.rs +++ b/crates/ruff_linter/src/message/diff.rs @@ -6,11 +6,11 @@ use colored::{Color, ColoredString, Colorize, Styles}; use ruff_text_size::{Ranged, TextRange, TextSize}; use similar::{ChangeTag, TextDiff}; -use ruff_diagnostics::{Applicability, Fix}; use ruff_source_file::{OneIndexed, SourceFile}; use crate::message::Message; use crate::text_helpers::ShowNonprinting; +use crate::{Applicability, Fix}; /// Renders a diff that shows the code fixes. /// diff --git a/crates/ruff_linter/src/message/json.rs b/crates/ruff_linter/src/message/json.rs index be2fbd2f76..3492047f44 100644 --- a/crates/ruff_linter/src/message/json.rs +++ b/crates/ruff_linter/src/message/json.rs @@ -4,11 +4,11 @@ use serde::ser::SerializeSeq; use serde::{Serialize, Serializer}; use serde_json::{Value, json}; -use ruff_diagnostics::Edit; use ruff_notebook::NotebookIndex; use ruff_source_file::{LineColumn, OneIndexed, SourceCode}; use ruff_text_size::Ranged; +use crate::Edit; use crate::message::{Emitter, EmitterContext, Message}; #[derive(Default)] diff --git a/crates/ruff_linter/src/message/mod.rs b/crates/ruff_linter/src/message/mod.rs index 2b4eedca29..84e6f20d48 100644 --- a/crates/ruff_linter/src/message/mod.rs +++ b/crates/ruff_linter/src/message/mod.rs @@ -16,7 +16,6 @@ pub use json_lines::JsonLinesEmitter; pub use junit::JunitEmitter; pub use pylint::PylintEmitter; pub use rdjson::RdjsonEmitter; -use ruff_diagnostics::{Diagnostic, Fix}; use ruff_notebook::NotebookIndex; use ruff_python_parser::{ParseError, UnsupportedSyntaxError}; use ruff_source_file::{LineColumn, SourceFile}; @@ -28,6 +27,7 @@ use crate::Locator; use crate::codes::NoqaCode; use crate::logging::DisplayParseErrorType; use crate::registry::Rule; +use crate::{Diagnostic, Fix}; mod azure; mod diff; @@ -60,6 +60,7 @@ pub struct Message { pub fix: Option, pub parent: Option, pub(crate) noqa_offset: Option, + noqa_code: Option, } impl Message { @@ -76,12 +77,12 @@ impl Message { fix: None, parent: None, noqa_offset: None, + noqa_code: None, } } #[expect(clippy::too_many_arguments)] pub fn diagnostic( - name: &'static str, body: String, suggestion: Option, range: TextRange, @@ -89,9 +90,10 @@ impl Message { parent: Option, file: SourceFile, noqa_offset: Option, + rule: Rule, ) -> Message { let mut diagnostic = db::Diagnostic::new( - DiagnosticId::Lint(LintName::of(name)), + DiagnosticId::Lint(LintName::of(rule.into())), Severity::Error, body, ); @@ -107,6 +109,7 @@ impl Message { fix, parent, noqa_offset, + noqa_code: Some(rule.noqa_code()), } } @@ -117,15 +120,14 @@ impl Message { noqa_offset: Option, ) -> Message { let Diagnostic { - name, body, suggestion, range, fix, parent, + rule, } = diagnostic; Self::diagnostic( - name, body, suggestion, range, @@ -133,6 +135,7 @@ impl Message { parent, file, noqa_offset, + rule, ) } @@ -235,7 +238,7 @@ impl Message { /// Returns the [`NoqaCode`] corresponding to the diagnostic message. pub fn to_noqa_code(&self) -> Option { - self.to_rule().map(|rule| rule.noqa_code()) + self.noqa_code } /// Returns the URL for the rule documentation, if it exists. @@ -371,7 +374,8 @@ impl<'a> EmitterContext<'a> { mod tests { use rustc_hash::FxHashMap; - use ruff_diagnostics::{Edit, Fix}; + use crate::codes::Rule; + use crate::{Edit, Fix}; use ruff_notebook::NotebookIndex; use ruff_python_parser::{Mode, ParseOptions, parse_unchecked}; use ruff_source_file::{OneIndexed, SourceFileBuilder}; @@ -417,7 +421,6 @@ def fibonacci(n): let unused_import_start = TextSize::from(7); let unused_import = Message::diagnostic( - "unused-import", "`os` imported but unused".to_string(), Some("Remove unused import: `os`".to_string()), TextRange::new(unused_import_start, TextSize::from(9)), @@ -428,11 +431,11 @@ def fibonacci(n): None, fib_source.clone(), Some(unused_import_start), + Rule::UnusedImport, ); let unused_variable_start = TextSize::from(94); let unused_variable = Message::diagnostic( - "unused-variable", "Local variable `x` is assigned to but never used".to_string(), Some("Remove assignment to unused variable `x`".to_string()), TextRange::new(unused_variable_start, TextSize::from(95)), @@ -443,13 +446,13 @@ def fibonacci(n): None, fib_source, Some(unused_variable_start), + Rule::UnusedVariable, ); let file_2 = r"if a == 1: pass"; let undefined_name_start = TextSize::from(3); let undefined_name = Message::diagnostic( - "undefined-name", "Undefined name `a`".to_string(), None, TextRange::new(undefined_name_start, TextSize::from(4)), @@ -457,6 +460,7 @@ def fibonacci(n): None, SourceFileBuilder::new("undef.py", file_2).finish(), Some(undefined_name_start), + Rule::UndefinedName, ); vec![unused_import, unused_variable, undefined_name] @@ -479,7 +483,6 @@ def foo(): let unused_import_os_start = TextSize::from(16); let unused_import_os = Message::diagnostic( - "unused-import", "`os` imported but unused".to_string(), Some("Remove unused import: `os`".to_string()), TextRange::new(unused_import_os_start, TextSize::from(18)), @@ -490,11 +493,11 @@ def foo(): None, notebook_source.clone(), Some(unused_import_os_start), + Rule::UnusedImport, ); let unused_import_math_start = TextSize::from(35); let unused_import_math = Message::diagnostic( - "unused-import", "`math` imported but unused".to_string(), Some("Remove unused import: `math`".to_string()), TextRange::new(unused_import_math_start, TextSize::from(39)), @@ -505,11 +508,11 @@ def foo(): None, notebook_source.clone(), Some(unused_import_math_start), + Rule::UnusedImport, ); let unused_variable_start = TextSize::from(98); let unused_variable = Message::diagnostic( - "unused-variable", "Local variable `x` is assigned to but never used".to_string(), Some("Remove assignment to unused variable `x`".to_string()), TextRange::new(unused_variable_start, TextSize::from(99)), @@ -520,6 +523,7 @@ def foo(): None, notebook_source, Some(unused_variable_start), + Rule::UnusedVariable, ); let mut notebook_indexes = FxHashMap::default(); diff --git a/crates/ruff_linter/src/message/rdjson.rs b/crates/ruff_linter/src/message/rdjson.rs index 32d29fa2c4..34c89d0bd0 100644 --- a/crates/ruff_linter/src/message/rdjson.rs +++ b/crates/ruff_linter/src/message/rdjson.rs @@ -4,10 +4,10 @@ use serde::ser::SerializeSeq; use serde::{Serialize, Serializer}; use serde_json::{Value, json}; -use ruff_diagnostics::Edit; use ruff_source_file::SourceCode; use ruff_text_size::Ranged; +use crate::Edit; use crate::message::{Emitter, EmitterContext, LineColumn, Message}; #[derive(Default)] diff --git a/crates/ruff_linter/src/noqa.rs b/crates/ruff_linter/src/noqa.rs index 8cf9c8ea16..8b47e57416 100644 --- a/crates/ruff_linter/src/noqa.rs +++ b/crates/ruff_linter/src/noqa.rs @@ -9,11 +9,11 @@ use anyhow::Result; use itertools::Itertools; use log::warn; -use ruff_diagnostics::Edit; use ruff_python_trivia::{CommentRanges, Cursor, indentation_at_offset}; use ruff_source_file::{LineEnding, LineRanges}; use ruff_text_size::{Ranged, TextLen, TextRange, TextSize}; +use crate::Edit; use crate::Locator; use crate::codes::NoqaCode; use crate::fs::relativize_path; @@ -1221,7 +1221,6 @@ mod tests { use insta::assert_debug_snapshot; - use ruff_diagnostics::{Diagnostic, Edit}; use ruff_python_trivia::CommentRanges; use ruff_source_file::{LineEnding, SourceFileBuilder}; use ruff_text_size::{Ranged, TextLen, TextRange, TextSize}; @@ -1234,6 +1233,7 @@ mod tests { use crate::rules::pycodestyle::rules::{AmbiguousVariableName, UselessSemicolon}; use crate::rules::pyflakes::rules::UnusedVariable; use crate::rules::pyupgrade::rules::PrintfStringFormatting; + use crate::{Diagnostic, Edit}; use crate::{Locator, generate_noqa_edits}; fn assert_lexed_ranges_match_slices( diff --git a/crates/ruff_linter/src/pyproject_toml.rs b/crates/ruff_linter/src/pyproject_toml.rs index b59e1774b0..137089e199 100644 --- a/crates/ruff_linter/src/pyproject_toml.rs +++ b/crates/ruff_linter/src/pyproject_toml.rs @@ -3,9 +3,9 @@ use log::warn; use pyproject_toml::PyProjectToml; use ruff_text_size::{TextRange, TextSize}; -use ruff_diagnostics::Diagnostic; use ruff_source_file::SourceFile; +use crate::Diagnostic; use crate::IOError; use crate::message::Message; use crate::registry::Rule; diff --git a/crates/ruff_linter/src/renamer.rs b/crates/ruff_linter/src/renamer.rs index f20843a1e5..d31793dc74 100644 --- a/crates/ruff_linter/src/renamer.rs +++ b/crates/ruff_linter/src/renamer.rs @@ -3,13 +3,13 @@ use anyhow::{Result, anyhow}; use itertools::Itertools; -use ruff_diagnostics::Edit; use ruff_python_ast as ast; use ruff_python_codegen::Stylist; use ruff_python_semantic::{Binding, BindingKind, Scope, ScopeId, SemanticModel}; use ruff_python_stdlib::{builtins::is_python_builtin, keyword::is_keyword}; use ruff_text_size::Ranged; +use crate::Edit; use crate::checkers::ast::Checker; pub(crate) struct Renamer; diff --git a/crates/ruff_linter/src/rules/airflow/rules/dag_schedule_argument.rs b/crates/ruff_linter/src/rules/airflow/rules/dag_schedule_argument.rs index 3413544ded..c89071f120 100644 --- a/crates/ruff_linter/src/rules/airflow/rules/dag_schedule_argument.rs +++ b/crates/ruff_linter/src/rules/airflow/rules/dag_schedule_argument.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Expr; use ruff_python_ast::{self as ast}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/airflow/rules/moved_to_provider_in_3.rs b/crates/ruff_linter/src/rules/airflow/rules/moved_to_provider_in_3.rs index 8184167431..01e7f4c45f 100644 --- a/crates/ruff_linter/src/rules/airflow/rules/moved_to_provider_in_3.rs +++ b/crates/ruff_linter/src/rules/airflow/rules/moved_to_provider_in_3.rs @@ -1,6 +1,3 @@ -use crate::importer::ImportRequest; -use crate::rules::airflow::helpers::{ProviderReplacement, is_guarded_by_try_except}; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::QualifiedName; use ruff_python_ast::{Expr, ExprAttribute}; @@ -9,6 +6,9 @@ use ruff_text_size::Ranged; use ruff_text_size::TextRange; use crate::checkers::ast::Checker; +use crate::importer::ImportRequest; +use crate::rules::airflow::helpers::{ProviderReplacement, is_guarded_by_try_except}; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for uses of Airflow functions and values that have been moved to it providers. diff --git a/crates/ruff_linter/src/rules/airflow/rules/removal_in_3.rs b/crates/ruff_linter/src/rules/airflow/rules/removal_in_3.rs index 3c551f4a1d..f9139512a2 100644 --- a/crates/ruff_linter/src/rules/airflow/rules/removal_in_3.rs +++ b/crates/ruff_linter/src/rules/airflow/rules/removal_in_3.rs @@ -3,7 +3,7 @@ use crate::importer::ImportRequest; use crate::rules::airflow::helpers::{ Replacement, is_airflow_builtin_or_provider, is_guarded_by_try_except, }; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; +use crate::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::map_callable; use ruff_python_ast::{ diff --git a/crates/ruff_linter/src/rules/airflow/rules/suggested_to_move_to_provider_in_3.rs b/crates/ruff_linter/src/rules/airflow/rules/suggested_to_move_to_provider_in_3.rs index a6815fa5a9..1177e95818 100644 --- a/crates/ruff_linter/src/rules/airflow/rules/suggested_to_move_to_provider_in_3.rs +++ b/crates/ruff_linter/src/rules/airflow/rules/suggested_to_move_to_provider_in_3.rs @@ -1,7 +1,7 @@ use crate::importer::ImportRequest; use crate::rules::airflow::helpers::{ProviderReplacement, is_guarded_by_try_except}; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; +use crate::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::QualifiedName; use ruff_python_ast::{Expr, ExprAttribute}; diff --git a/crates/ruff_linter/src/rules/airflow/rules/suggested_to_update_3_0.rs b/crates/ruff_linter/src/rules/airflow/rules/suggested_to_update_3_0.rs index f3286a8350..da733f8d46 100644 --- a/crates/ruff_linter/src/rules/airflow/rules/suggested_to_update_3_0.rs +++ b/crates/ruff_linter/src/rules/airflow/rules/suggested_to_update_3_0.rs @@ -3,7 +3,7 @@ use crate::importer::ImportRequest; use crate::rules::airflow::helpers::{ Replacement, is_airflow_builtin_or_provider, is_guarded_by_try_except, }; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; +use crate::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Arguments, Expr, ExprAttribute, ExprCall, ExprName, name::QualifiedName}; use ruff_python_semantic::Modules; diff --git a/crates/ruff_linter/src/rules/airflow/rules/task_variable_name.rs b/crates/ruff_linter/src/rules/airflow/rules/task_variable_name.rs index 5470014187..8fcd6da8c1 100644 --- a/crates/ruff_linter/src/rules/airflow/rules/task_variable_name.rs +++ b/crates/ruff_linter/src/rules/airflow/rules/task_variable_name.rs @@ -1,4 +1,4 @@ -use ruff_diagnostics::Violation; +use crate::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::Expr; diff --git a/crates/ruff_linter/src/rules/eradicate/rules/commented_out_code.rs b/crates/ruff_linter/src/rules/eradicate/rules/commented_out_code.rs index e7578f14b4..67b5c125a9 100644 --- a/crates/ruff_linter/src/rules/eradicate/rules/commented_out_code.rs +++ b/crates/ruff_linter/src/rules/eradicate/rules/commented_out_code.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Diagnostic, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_trivia::CommentRanges; use ruff_source_file::{LineRanges, UniversalNewlineIterator}; @@ -6,6 +5,7 @@ use ruff_text_size::TextRange; use crate::Locator; use crate::settings::LinterSettings; +use crate::{Diagnostic, Edit, Fix, FixAvailability, Violation}; use super::super::detection::comment_contains_code; diff --git a/crates/ruff_linter/src/rules/fastapi/rules/fastapi_non_annotated_dependency.rs b/crates/ruff_linter/src/rules/fastapi/rules/fastapi_non_annotated_dependency.rs index b2221cfbd5..764abe7c9f 100644 --- a/crates/ruff_linter/src/rules/fastapi/rules/fastapi_non_annotated_dependency.rs +++ b/crates/ruff_linter/src/rules/fastapi/rules/fastapi_non_annotated_dependency.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::helpers::map_callable; @@ -7,6 +6,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::rules::fastapi::rules::is_fastapi_route; +use crate::{Edit, Fix, FixAvailability, Violation}; use ruff_python_ast::PythonVersion; /// ## What it does diff --git a/crates/ruff_linter/src/rules/fastapi/rules/fastapi_redundant_response_model.rs b/crates/ruff_linter/src/rules/fastapi/rules/fastapi_redundant_response_model.rs index 96a663eaea..7f98510e0b 100644 --- a/crates/ruff_linter/src/rules/fastapi/rules/fastapi_redundant_response_model.rs +++ b/crates/ruff_linter/src/rules/fastapi/rules/fastapi_redundant_response_model.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Decorator, Expr, ExprCall, Keyword, StmtFunctionDef}; use ruff_python_semantic::{Modules, SemanticModel}; @@ -7,6 +6,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::edits::{Parentheses, remove_argument}; use crate::rules::fastapi::rules::is_fastapi_route_decorator; +use crate::{AlwaysFixableViolation, Fix}; /// ## What it does /// Checks for FastAPI routes that use the optional `response_model` parameter diff --git a/crates/ruff_linter/src/rules/fastapi/rules/fastapi_unused_path_parameter.rs b/crates/ruff_linter/src/rules/fastapi/rules/fastapi_unused_path_parameter.rs index 42220b3dc8..c0f1cfb517 100644 --- a/crates/ruff_linter/src/rules/fastapi/rules/fastapi_unused_path_parameter.rs +++ b/crates/ruff_linter/src/rules/fastapi/rules/fastapi_unused_path_parameter.rs @@ -2,8 +2,6 @@ use std::iter::Peekable; use std::ops::Range; use std::str::CharIndices; -use ruff_diagnostics::Fix; -use ruff_diagnostics::{FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::{Arguments, Expr, ExprCall, ExprSubscript, Parameter, ParameterWithDefault}; @@ -11,9 +9,11 @@ use ruff_python_semantic::{BindingKind, Modules, ScopeKind, SemanticModel}; use ruff_python_stdlib::identifiers::is_identifier; use ruff_text_size::{Ranged, TextSize}; +use crate::Fix; use crate::checkers::ast::Checker; use crate::fix::edits::add_parameter; use crate::rules::fastapi::rules::is_fastapi_route_decorator; +use crate::{FixAvailability, Violation}; /// ## What it does /// Identifies FastAPI routes that declare path parameters in the route path diff --git a/crates/ruff_linter/src/rules/flake8_2020/rules/compare.rs b/crates/ruff_linter/src/rules/flake8_2020/rules/compare.rs index a83fe0c288..902223ac10 100644 --- a/crates/ruff_linter/src/rules/flake8_2020/rules/compare.rs +++ b/crates/ruff_linter/src/rules/flake8_2020/rules/compare.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, CmpOp, Expr}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::registry::Rule; diff --git a/crates/ruff_linter/src/rules/flake8_2020/rules/name_or_attribute.rs b/crates/ruff_linter/src/rules/flake8_2020/rules/name_or_attribute.rs index fdf240834a..e310dd24b5 100644 --- a/crates/ruff_linter/src/rules/flake8_2020/rules/name_or_attribute.rs +++ b/crates/ruff_linter/src/rules/flake8_2020/rules/name_or_attribute.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Expr; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_2020/rules/subscript.rs b/crates/ruff_linter/src/rules/flake8_2020/rules/subscript.rs index e9f90c85d4..1036195ddd 100644 --- a/crates/ruff_linter/src/rules/flake8_2020/rules/subscript.rs +++ b/crates/ruff_linter/src/rules/flake8_2020/rules/subscript.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::registry::Rule; use crate::rules::flake8_2020::helpers::is_sys; diff --git a/crates/ruff_linter/src/rules/flake8_annotations/helpers.rs b/crates/ruff_linter/src/rules/flake8_annotations/helpers.rs index 65ef77667b..e627e0f7c5 100644 --- a/crates/ruff_linter/src/rules/flake8_annotations/helpers.rs +++ b/crates/ruff_linter/src/rules/flake8_annotations/helpers.rs @@ -1,7 +1,6 @@ use itertools::Itertools; use rustc_hash::FxHashSet; -use ruff_diagnostics::Edit; use ruff_python_ast::helpers::{ ReturnStatementVisitor, pep_604_union, typing_optional, typing_union, }; @@ -14,6 +13,7 @@ use ruff_python_semantic::analyze::visibility; use ruff_python_semantic::{Definition, SemanticModel}; use ruff_text_size::{TextRange, TextSize}; +use crate::Edit; use crate::checkers::ast::Checker; use ruff_python_ast::PythonVersion; diff --git a/crates/ruff_linter/src/rules/flake8_annotations/rules/definition.rs b/crates/ruff_linter/src/rules/flake8_annotations/rules/definition.rs index 333845c7e2..cdb8d31f78 100644 --- a/crates/ruff_linter/src/rules/flake8_annotations/rules/definition.rs +++ b/crates/ruff_linter/src/rules/flake8_annotations/rules/definition.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::ReturnStatementVisitor; use ruff_python_ast::identifier::Identifier; @@ -13,6 +12,7 @@ use crate::checkers::ast::{Checker, DiagnosticGuard}; use crate::registry::Rule; use crate::rules::flake8_annotations::helpers::auto_return_type; use crate::rules::ruff::typing::type_hint_resolves_to_any; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks that function arguments have type annotations. diff --git a/crates/ruff_linter/src/rules/flake8_async/rules/async_busy_wait.rs b/crates/ruff_linter/src/rules/flake8_async/rules/async_busy_wait.rs index 9d5980c548..d54b0da448 100644 --- a/crates/ruff_linter/src/rules/flake8_async/rules/async_busy_wait.rs +++ b/crates/ruff_linter/src/rules/flake8_async/rules/async_busy_wait.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, Stmt}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_async::helpers::AsyncModule; diff --git a/crates/ruff_linter/src/rules/flake8_async/rules/async_function_with_timeout.rs b/crates/ruff_linter/src/rules/flake8_async/rules/async_function_with_timeout.rs index 3703ded95a..74c19a734a 100644 --- a/crates/ruff_linter/src/rules/flake8_async/rules/async_function_with_timeout.rs +++ b/crates/ruff_linter/src/rules/flake8_async/rules/async_function_with_timeout.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_async::helpers::AsyncModule; use ruff_python_ast::PythonVersion; diff --git a/crates/ruff_linter/src/rules/flake8_async/rules/async_zero_sleep.rs b/crates/ruff_linter/src/rules/flake8_async/rules/async_zero_sleep.rs index 890cadd0e4..1921af7412 100644 --- a/crates/ruff_linter/src/rules/flake8_async/rules/async_zero_sleep.rs +++ b/crates/ruff_linter/src/rules/flake8_async/rules/async_zero_sleep.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, ExprCall, Int, Number}; use ruff_python_semantic::Modules; @@ -7,6 +6,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; use crate::rules::flake8_async::helpers::AsyncModule; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of `trio.sleep(0)` or `anyio.sleep(0)`. diff --git a/crates/ruff_linter/src/rules/flake8_async/rules/blocking_http_call.rs b/crates/ruff_linter/src/rules/flake8_async/rules/blocking_http_call.rs index ba99ea539d..ceb69137e3 100644 --- a/crates/ruff_linter/src/rules/flake8_async/rules/blocking_http_call.rs +++ b/crates/ruff_linter/src/rules/flake8_async/rules/blocking_http_call.rs @@ -1,10 +1,10 @@ use ruff_python_ast::ExprCall; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::QualifiedName; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_async/rules/blocking_open_call.rs b/crates/ruff_linter/src/rules/flake8_async/rules/blocking_open_call.rs index 99c9d23bb6..daf84df349 100644 --- a/crates/ruff_linter/src/rules/flake8_async/rules/blocking_open_call.rs +++ b/crates/ruff_linter/src/rules/flake8_async/rules/blocking_open_call.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_semantic::{SemanticModel, analyze}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_async/rules/blocking_process_invocation.rs b/crates/ruff_linter/src/rules/flake8_async/rules/blocking_process_invocation.rs index fffd7d6913..e056d324aa 100644 --- a/crates/ruff_linter/src/rules/flake8_async/rules/blocking_process_invocation.rs +++ b/crates/ruff_linter/src/rules/flake8_async/rules/blocking_process_invocation.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_semantic::SemanticModel; use ruff_python_semantic::analyze::typing::find_assigned_value; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_async/rules/blocking_sleep.rs b/crates/ruff_linter/src/rules/flake8_async/rules/blocking_sleep.rs index 693ec58d3c..10db6b92d2 100644 --- a/crates/ruff_linter/src/rules/flake8_async/rules/blocking_sleep.rs +++ b/crates/ruff_linter/src/rules/flake8_async/rules/blocking_sleep.rs @@ -1,10 +1,10 @@ use ruff_python_ast::ExprCall; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::QualifiedName; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_async/rules/cancel_scope_no_checkpoint.rs b/crates/ruff_linter/src/rules/flake8_async/rules/cancel_scope_no_checkpoint.rs index 80c65c2265..1873a58e47 100644 --- a/crates/ruff_linter/src/rules/flake8_async/rules/cancel_scope_no_checkpoint.rs +++ b/crates/ruff_linter/src/rules/flake8_async/rules/cancel_scope_no_checkpoint.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::{AwaitVisitor, any_over_body}; use ruff_python_ast::visitor::Visitor; use ruff_python_ast::{Expr, StmtWith, WithItem}; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_async::helpers::MethodName; diff --git a/crates/ruff_linter/src/rules/flake8_async/rules/long_sleep_not_forever.rs b/crates/ruff_linter/src/rules/flake8_async/rules/long_sleep_not_forever.rs index e91ec3615e..981dccfe3f 100644 --- a/crates/ruff_linter/src/rules/flake8_async/rules/long_sleep_not_forever.rs +++ b/crates/ruff_linter/src/rules/flake8_async/rules/long_sleep_not_forever.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Expr, ExprCall, ExprNumberLiteral, Number}; use ruff_python_semantic::Modules; @@ -7,6 +6,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; use crate::rules::flake8_async::helpers::AsyncModule; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for uses of `trio.sleep()` or `anyio.sleep()` with a delay greater than 24 hours. diff --git a/crates/ruff_linter/src/rules/flake8_async/rules/sync_call.rs b/crates/ruff_linter/src/rules/flake8_async/rules/sync_call.rs index ee0c301a4b..1fdcfb8f6e 100644 --- a/crates/ruff_linter/src/rules/flake8_async/rules/sync_call.rs +++ b/crates/ruff_linter/src/rules/flake8_async/rules/sync_call.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Expr, ExprCall}; use ruff_python_semantic::Modules; @@ -7,6 +6,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::fix::edits::pad; use crate::rules::flake8_async::helpers::MethodName; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for calls to trio functions that are not immediately awaited. diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/assert_used.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/assert_used.rs index 6ea3b04fa9..1366cb7ac7 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/assert_used.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/assert_used.rs @@ -1,9 +1,9 @@ +use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Stmt; +use ruff_text_size::Ranged; use ruff_text_size::{TextLen, TextRange}; -use ruff_diagnostics::Violation; -use ruff_macros::{ViolationMetadata, derive_message_formats}; -use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/bad_file_permissions.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/bad_file_permissions.rs index c99774341f..b06f9104c2 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/bad_file_permissions.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/bad_file_permissions.rs @@ -1,12 +1,12 @@ use anyhow::Result; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::QualifiedName; use ruff_python_ast::{self as ast, Expr, Operator}; use ruff_python_semantic::{Modules, SemanticModel}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/django_extra.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/django_extra.rs index 9051f9db47..0ad0de23d5 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/django_extra.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/django_extra.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, ExprAttribute}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/django_raw_sql.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/django_raw_sql.rs index 7876dca2c9..13c3556d23 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/django_raw_sql.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/django_raw_sql.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/exec_used.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/exec_used.rs index a495231702..f66347d6f4 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/exec_used.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/exec_used.rs @@ -1,9 +1,9 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/flask_debug_true.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/flask_debug_true.rs index 6ab094b677..fcf8317ba2 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/flask_debug_true.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/flask_debug_true.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_const_true; use ruff_python_ast::{Expr, ExprAttribute, ExprCall}; use ruff_python_semantic::analyze::typing; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_bind_all_interfaces.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_bind_all_interfaces.rs index 6a44804748..9b9628bb03 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_bind_all_interfaces.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_bind_all_interfaces.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, StringLike}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_password_default.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_password_default.rs index 9cc404fba8..c59d0feaaa 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_password_default.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_password_default.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{Expr, Parameter, Parameters}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use super::super::helpers::{matches_password_name, string_literal}; diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_password_func_arg.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_password_func_arg.rs index a6aacb3c5e..6e806cc38d 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_password_func_arg.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_password_func_arg.rs @@ -1,9 +1,9 @@ use ruff_python_ast::Keyword; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use super::super::helpers::{matches_password_name, string_literal}; diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_password_string.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_password_string.rs index 317dcad0c5..ca90637f9d 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_password_string.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_password_string.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use super::super::helpers::{matches_password_name, string_literal}; diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_sql_expression.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_sql_expression.rs index 8fa2cbf8dc..7080cb57f4 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_sql_expression.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_sql_expression.rs @@ -2,13 +2,13 @@ use std::sync::LazyLock; use regex::Regex; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::str::raw_contents; use ruff_python_ast::{self as ast, Expr, Operator}; use ruff_text_size::Ranged; use crate::Locator; +use crate::Violation; use crate::checkers::ast::Checker; static SQL_REGEX: LazyLock = LazyLock::new(|| { diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_tmp_directory.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_tmp_directory.rs index 88086ca8bf..963314df64 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_tmp_directory.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/hardcoded_tmp_directory.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, Expr, StringLike}; use ruff_text_size::{Ranged, TextRange}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/hashlib_insecure_hash_functions.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/hashlib_insecure_hash_functions.rs index 035bb4c892..8582b49600 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/hashlib_insecure_hash_functions.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/hashlib_insecure_hash_functions.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_const_false; use ruff_python_ast::{self as ast, Arguments}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use super::super::helpers::string_literal; diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/jinja2_autoescape_false.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/jinja2_autoescape_false.rs index 14f96de490..475a24dfae 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/jinja2_autoescape_false.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/jinja2_autoescape_false.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/logging_config_insecure_listen.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/logging_config_insecure_listen.rs index 48aab788dd..16d9b307b5 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/logging_config_insecure_listen.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/logging_config_insecure_listen.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/mako_templates.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/mako_templates.rs index 8ca83f4abb..b62a0b39e7 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/mako_templates.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/mako_templates.rs @@ -1,9 +1,10 @@ -use crate::checkers::ast::Checker; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast}; use ruff_text_size::Ranged; +use crate::Violation; +use crate::checkers::ast::Checker; + /// ## What it does /// Checks for uses of the `mako` templates. /// diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/paramiko_calls.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/paramiko_calls.rs index 45f553d694..8eb8ec0bfc 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/paramiko_calls.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/paramiko_calls.rs @@ -1,9 +1,9 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/request_with_no_cert_validation.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/request_with_no_cert_validation.rs index c6745ebb8b..c22bf55168 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/request_with_no_cert_validation.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/request_with_no_cert_validation.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::helpers::is_const_false; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/request_without_timeout.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/request_without_timeout.rs index 7a27c805a2..b6d3352177 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/request_without_timeout.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/request_without_timeout.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/shell_injection.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/shell_injection.rs index 5b578a8e5c..e8bc2204f1 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/shell_injection.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/shell_injection.rs @@ -1,13 +1,13 @@ //! Checks relating to shell injection. -use crate::preview::is_shell_injection_only_trusted_input_enabled; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::Truthiness; use ruff_python_ast::{self as ast, Arguments, Expr}; use ruff_python_semantic::SemanticModel; use ruff_text_size::Ranged; +use crate::Violation; +use crate::preview::is_shell_injection_only_trusted_input_enabled; use crate::{ checkers::ast::Checker, registry::Rule, rules::flake8_bandit::helpers::string_literal, }; diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/snmp_insecure_version.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/snmp_insecure_version.rs index 28164d334c..c7e6affb48 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/snmp_insecure_version.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/snmp_insecure_version.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, Int}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/snmp_weak_cryptography.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/snmp_weak_cryptography.rs index e89b2f0d60..f7453cae1e 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/snmp_weak_cryptography.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/snmp_weak_cryptography.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/ssh_no_host_key_verification.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/ssh_no_host_key_verification.rs index c109f7c09e..b09cd8e4ac 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/ssh_no_host_key_verification.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/ssh_no_host_key_verification.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::map_callable; use ruff_python_ast::{Expr, ExprAttribute, ExprCall}; use ruff_python_semantic::analyze::typing; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/ssl_insecure_version.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/ssl_insecure_version.rs index 886733befd..d022d1711a 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/ssl_insecure_version.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/ssl_insecure_version.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, ExprCall}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/ssl_with_bad_defaults.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/ssl_with_bad_defaults.rs index 82c6362b7b..1acb8d4ef4 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/ssl_with_bad_defaults.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/ssl_with_bad_defaults.rs @@ -1,7 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, StmtFunctionDef}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/ssl_with_no_version.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/ssl_with_no_version.rs index 9bedb2eeb6..20cea65ce7 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/ssl_with_no_version.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/ssl_with_no_version.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::ExprCall; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/suspicious_function_call.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/suspicious_function_call.rs index 6302b767c2..28944882b4 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/suspicious_function_call.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/suspicious_function_call.rs @@ -2,11 +2,11 @@ //! //! See: use itertools::Either; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Arguments, Decorator, Expr, ExprCall, Operator}; use ruff_text_size::{Ranged, TextRange}; +use crate::Violation; use crate::checkers::ast::Checker; use crate::preview::is_suspicious_function_reference_enabled; diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/suspicious_imports.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/suspicious_imports.rs index 1951141db0..a3cb2ae4cd 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/suspicious_imports.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/suspicious_imports.rs @@ -1,11 +1,11 @@ //! Check for imports of or from suspicious modules. //! //! See: -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Stmt}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/tarfile_unsafe_members.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/tarfile_unsafe_members.rs index f1f0587064..8e816ee21d 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/tarfile_unsafe_members.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/tarfile_unsafe_members.rs @@ -1,10 +1,11 @@ -use crate::checkers::ast::Checker; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; +use crate::checkers::ast::Checker; + /// ## What it does /// Checks for uses of `tarfile.extractall`. /// diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/try_except_continue.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/try_except_continue.rs index ac7e7ebaf0..5bd4632853 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/try_except_continue.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/try_except_continue.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{ExceptHandler, Expr, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_bandit::helpers::is_untyped_exception; diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/try_except_pass.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/try_except_pass.rs index 3fdf1bf37c..56dcaff1e0 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/try_except_pass.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/try_except_pass.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{ExceptHandler, Expr, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_bandit::helpers::is_untyped_exception; diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/unsafe_markup_use.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/unsafe_markup_use.rs index f82d6fbc09..c5fc91a1f6 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/unsafe_markup_use.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/unsafe_markup_use.rs @@ -1,11 +1,11 @@ use ruff_python_ast::{Expr, ExprCall}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::QualifiedName; use ruff_python_semantic::{Modules, SemanticModel}; use ruff_text_size::Ranged; +use crate::Violation; use crate::{checkers::ast::Checker, settings::LinterSettings}; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/unsafe_yaml_load.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/unsafe_yaml_load.rs index 7c6510f585..dae9564053 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/unsafe_yaml_load.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/unsafe_yaml_load.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/weak_cryptographic_key.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/weak_cryptographic_key.rs index c89d8a7b3a..63b709fc32 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/weak_cryptographic_key.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/weak_cryptographic_key.rs @@ -1,10 +1,10 @@ use std::fmt::{Display, Formatter}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, ExprAttribute, ExprCall}; use ruff_text_size::{Ranged, TextRange}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_blind_except/rules/blind_except.rs b/crates/ruff_linter/src/rules/flake8_blind_except/rules/blind_except.rs index c9119014f7..569ce05254 100644 --- a/crates/ruff_linter/src/rules/flake8_blind_except/rules/blind_except.rs +++ b/crates/ruff_linter/src/rules/flake8_blind_except/rules/blind_except.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_const_true; use ruff_python_ast::statement_visitor::{StatementVisitor, walk_stmt}; @@ -7,6 +6,7 @@ use ruff_python_semantic::SemanticModel; use ruff_python_semantic::analyze::logging; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_boolean_trap/rules/boolean_default_value_positional_argument.rs b/crates/ruff_linter/src/rules/flake8_boolean_trap/rules/boolean_default_value_positional_argument.rs index f4f352a2ac..84f47e1e96 100644 --- a/crates/ruff_linter/src/rules/flake8_boolean_trap/rules/boolean_default_value_positional_argument.rs +++ b/crates/ruff_linter/src/rules/flake8_boolean_trap/rules/boolean_default_value_positional_argument.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; use ruff_python_ast::name::UnqualifiedName; use ruff_python_ast::{Decorator, Expr, Parameters}; use ruff_python_semantic::analyze::visibility; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_boolean_trap::helpers::is_allowed_func_def; diff --git a/crates/ruff_linter/src/rules/flake8_boolean_trap/rules/boolean_positional_value_in_call.rs b/crates/ruff_linter/src/rules/flake8_boolean_trap/rules/boolean_positional_value_in_call.rs index 260d4e5663..e7350bff8a 100644 --- a/crates/ruff_linter/src/rules/flake8_boolean_trap/rules/boolean_positional_value_in_call.rs +++ b/crates/ruff_linter/src/rules/flake8_boolean_trap/rules/boolean_positional_value_in_call.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_boolean_trap::helpers::allow_boolean_trap; diff --git a/crates/ruff_linter/src/rules/flake8_boolean_trap/rules/boolean_type_hint_positional_argument.rs b/crates/ruff_linter/src/rules/flake8_boolean_trap/rules/boolean_type_hint_positional_argument.rs index d06a8f7d42..51bd830a66 100644 --- a/crates/ruff_linter/src/rules/flake8_boolean_trap/rules/boolean_type_hint_positional_argument.rs +++ b/crates/ruff_linter/src/rules/flake8_boolean_trap/rules/boolean_type_hint_positional_argument.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; use ruff_python_ast::name::UnqualifiedName; @@ -6,6 +5,7 @@ use ruff_python_ast::{self as ast, Decorator, Expr, Parameters}; use ruff_python_semantic::SemanticModel; use ruff_python_semantic::analyze::visibility; +use crate::Violation; use crate::checkers::ast::Checker; use crate::preview::is_bool_subtype_of_annotation_enabled; use crate::rules::flake8_boolean_trap::helpers::is_allowed_func_def; diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/abstract_base_class.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/abstract_base_class.rs index b1aa5bf9d1..2e42008201 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/abstract_base_class.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/abstract_base_class.rs @@ -1,12 +1,12 @@ use ruff_python_ast::{self as ast, Arguments, Expr, Keyword, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; use ruff_python_semantic::SemanticModel; use ruff_python_semantic::analyze::visibility::{is_abstract, is_overload}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::registry::Rule; diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/assert_false.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/assert_false.rs index 6ec957f8fe..94847783b9 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/assert_false.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/assert_false.rs @@ -1,11 +1,11 @@ use ruff_python_ast::{self as ast, Arguments, Expr, ExprContext, Stmt}; use ruff_text_size::{Ranged, TextRange}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_const_false; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of `assert False`. diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/assert_raises_exception.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/assert_raises_exception.rs index 0b9743aba5..2e9be0eef0 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/assert_raises_exception.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/assert_raises_exception.rs @@ -1,10 +1,10 @@ use std::fmt; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, WithItem}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/assignment_to_os_environ.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/assignment_to_os_environ.rs index d708793c1d..b96a5d91fa 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/assignment_to_os_environ.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/assignment_to_os_environ.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/batched_without_explicit_strict.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/batched_without_explicit_strict.rs index 8afefcd940..8cc71d438c 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/batched_without_explicit_strict.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/batched_without_explicit_strict.rs @@ -1,10 +1,11 @@ -use crate::checkers::ast::Checker; -use crate::rules::flake8_bugbear::rules::is_infinite_iterable; -use ruff_diagnostics::{FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::ExprCall; use ruff_python_ast::PythonVersion; +use crate::checkers::ast::Checker; +use crate::rules::flake8_bugbear::rules::is_infinite_iterable; +use crate::{FixAvailability, Violation}; + /// ## What it does /// Checks for `itertools.batched` calls without an explicit `strict` parameter. /// diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/cached_instance_method.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/cached_instance_method.rs index 1c19a160ac..d724833cf7 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/cached_instance_method.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/cached_instance_method.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::map_callable; use ruff_python_ast::{self as ast, Expr}; @@ -6,6 +5,7 @@ use ruff_python_semantic::analyze::{class, function_type}; use ruff_python_semantic::{ScopeKind, SemanticModel}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/class_as_data_structure.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/class_as_data_structure.rs index bf7994b990..1ed8395147 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/class_as_data_structure.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/class_as_data_structure.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast}; use ruff_python_semantic::analyze::visibility::{self, Visibility::Public}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use ruff_python_ast::PythonVersion; diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/duplicate_exceptions.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/duplicate_exceptions.rs index dcda3372b5..e3868cde2c 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/duplicate_exceptions.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/duplicate_exceptions.rs @@ -1,8 +1,6 @@ use itertools::Itertools; use rustc_hash::{FxHashMap, FxHashSet}; -use ruff_diagnostics::{AlwaysFixableViolation, Violation}; -use ruff_diagnostics::{Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::UnqualifiedName; use ruff_python_ast::{self as ast, ExceptHandler, Expr, ExprContext}; @@ -11,6 +9,8 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::fix::edits::pad; use crate::registry::Rule; +use crate::{AlwaysFixableViolation, Violation}; +use crate::{Edit, Fix}; /// ## What it does /// Checks for `try-except` blocks with duplicate exception handlers. diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/duplicate_value.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/duplicate_value.rs index 346a1ae064..643b2c0c5e 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/duplicate_value.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/duplicate_value.rs @@ -1,7 +1,6 @@ use anyhow::{Context, Result}; use rustc_hash::FxHashMap; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::Expr; @@ -10,6 +9,7 @@ use ruff_python_trivia::{SimpleTokenKind, SimpleTokenizer}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for set literals that contain duplicate items. diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/except_with_empty_tuple.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/except_with_empty_tuple.rs index 52375d2d74..d3f5aba2bb 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/except_with_empty_tuple.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/except_with_empty_tuple.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{self as ast}; use ruff_python_ast::{ExceptHandler, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/except_with_non_exception_classes.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/except_with_non_exception_classes.rs index ca3b087446..66df64700d 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/except_with_non_exception_classes.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/except_with_non_exception_classes.rs @@ -2,10 +2,10 @@ use std::collections::VecDeque; use ruff_python_ast::{self as ast, ExceptHandler, Expr, Operator}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/f_string_docstring.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/f_string_docstring.rs index d17b380c44..14e4f73409 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/f_string_docstring.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/f_string_docstring.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/function_call_in_argument_default.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/function_call_in_argument_default.rs index 05a24fe021..9243209f7f 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/function_call_in_argument_default.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/function_call_in_argument_default.rs @@ -1,15 +1,14 @@ -use ruff_python_ast::{self as ast, Expr, Parameters}; -use ruff_text_size::Ranged; - -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::{QualifiedName, UnqualifiedName}; use ruff_python_ast::visitor; use ruff_python_ast::visitor::Visitor; +use ruff_python_ast::{self as ast, Expr, Parameters}; use ruff_python_semantic::analyze::typing::{ is_immutable_annotation, is_immutable_func, is_immutable_newtype_call, is_mutable_func, }; +use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/function_uses_loop_variable.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/function_uses_loop_variable.rs index bef045a9b4..fd7b5436ef 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/function_uses_loop_variable.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/function_uses_loop_variable.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::types::Node; use ruff_python_ast::visitor; @@ -6,6 +5,7 @@ use ruff_python_ast::visitor::Visitor; use ruff_python_ast::{self as ast, Comprehension, Expr, ExprContext, Stmt}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/getattr_with_constant.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/getattr_with_constant.rs index 3eee042415..ef108b77f5 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/getattr_with_constant.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/getattr_with_constant.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_stdlib::identifiers::{is_identifier, is_mangled_private}; @@ -7,6 +6,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::edits::pad; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of `getattr` that take a constant attribute value as an diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/jump_statement_in_finally.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/jump_statement_in_finally.rs index b4c5d7f9ec..87fc151c90 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/jump_statement_in_finally.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/jump_statement_in_finally.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/loop_iterator_mutation.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/loop_iterator_mutation.rs index 854c274664..fe3ff08700 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/loop_iterator_mutation.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/loop_iterator_mutation.rs @@ -1,7 +1,6 @@ use std::collections::HashMap; use std::fmt::Debug; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableExpr; use ruff_python_ast::name::UnqualifiedName; @@ -12,6 +11,7 @@ use ruff_python_ast::{ }; use ruff_text_size::TextRange; +use crate::Violation; use crate::checkers::ast::Checker; use crate::fix::snippet::SourceCodeSnippet; diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/loop_variable_overrides_iterator.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/loop_variable_overrides_iterator.rs index 647bf675a2..dec0098e9a 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/loop_variable_overrides_iterator.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/loop_variable_overrides_iterator.rs @@ -1,12 +1,12 @@ use ruff_python_ast::{self as ast, Expr}; use rustc_hash::FxHashMap; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::visitor; use ruff_python_ast::visitor::Visitor; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/mutable_argument_default.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/mutable_argument_default.rs index 7a4e462ad7..b5a7effc28 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/mutable_argument_default.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/mutable_argument_default.rs @@ -1,6 +1,5 @@ use std::fmt::Write; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_docstring_stmt; use ruff_python_ast::name::QualifiedName; @@ -16,6 +15,7 @@ use ruff_text_size::Ranged; use crate::Locator; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for uses of mutable objects as function argument defaults. diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/mutable_contextvar_default.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/mutable_contextvar_default.rs index 1188467478..1b7b699691 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/mutable_contextvar_default.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/mutable_contextvar_default.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::map_subscript; use ruff_python_ast::name::QualifiedName; @@ -7,6 +6,7 @@ use ruff_python_semantic::Modules; use ruff_python_semantic::analyze::typing::{is_immutable_func, is_mutable_expr, is_mutable_func}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/no_explicit_stacklevel.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/no_explicit_stacklevel.rs index 30529639b9..9d069216e2 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/no_explicit_stacklevel.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/no_explicit_stacklevel.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; +use crate::{AlwaysFixableViolation, Fix}; use crate::{checkers::ast::Checker, fix::edits::add_argument}; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/raise_literal.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/raise_literal.rs index 980fde3422..bfe131f98e 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/raise_literal.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/raise_literal.rs @@ -1,9 +1,9 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/raise_without_from_inside_except.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/raise_without_from_inside_except.rs index 4b9797e327..a9b6c674f7 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/raise_without_from_inside_except.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/raise_without_from_inside_except.rs @@ -1,11 +1,11 @@ use ruff_python_ast as ast; use ruff_python_ast::Stmt; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::RaiseStatementVisitor; use ruff_python_ast::statement_visitor::StatementVisitor; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/re_sub_positional_args.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/re_sub_positional_args.rs index f046d331d1..4f38947c77 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/re_sub_positional_args.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/re_sub_positional_args.rs @@ -2,11 +2,11 @@ use std::fmt; use ruff_python_ast::{self as ast}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/redundant_tuple_in_exception_handler.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/redundant_tuple_in_exception_handler.rs index 9af207f8b5..3d5e383430 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/redundant_tuple_in_exception_handler.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/redundant_tuple_in_exception_handler.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, ExceptHandler, Expr}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::edits::pad; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for single-element tuples in exception handlers (e.g., diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/return_in_generator.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/return_in_generator.rs index bfffb34494..a24e49c293 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/return_in_generator.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/return_in_generator.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::statement_visitor; use ruff_python_ast::statement_visitor::StatementVisitor; use ruff_python_ast::{self as ast, Expr, Stmt, StmtFunctionDef}; use ruff_text_size::TextRange; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/reuse_of_groupby_generator.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/reuse_of_groupby_generator.rs index 460dab1031..6cd3ddd478 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/reuse_of_groupby_generator.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/reuse_of_groupby_generator.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{self as ast, Comprehension, Expr, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::visitor::{self, Visitor}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/setattr_with_constant.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/setattr_with_constant.rs index 8ed5452a10..cfc2557341 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/setattr_with_constant.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/setattr_with_constant.rs @@ -1,12 +1,12 @@ use ruff_python_ast::{self as ast, Expr, ExprContext, Identifier, Stmt}; use ruff_text_size::{Ranged, TextRange}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_codegen::Generator; use ruff_python_stdlib::identifiers::{is_identifier, is_mangled_private}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of `setattr` that take a constant attribute value as an diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/star_arg_unpacking_after_keyword_arg.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/star_arg_unpacking_after_keyword_arg.rs index c857b3be38..570ac00660 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/star_arg_unpacking_after_keyword_arg.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/star_arg_unpacking_after_keyword_arg.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{Expr, Keyword}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/static_key_dict_comprehension.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/static_key_dict_comprehension.rs index 5852ef71dc..fbcae4568b 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/static_key_dict_comprehension.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/static_key_dict_comprehension.rs @@ -1,12 +1,12 @@ use rustc_hash::FxHashMap; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::StoredNameFinder; use ruff_python_ast::visitor::Visitor; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::fix::snippet::SourceCodeSnippet; diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/strip_with_multi_characters.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/strip_with_multi_characters.rs index 3f982e5592..4c6ef9ef5e 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/strip_with_multi_characters.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/strip_with_multi_characters.rs @@ -1,10 +1,10 @@ use itertools::Itertools; use ruff_python_ast::{self as ast, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/unary_prefix_increment_decrement.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/unary_prefix_increment_decrement.rs index 1fbfc42d5a..f9c868226b 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/unary_prefix_increment_decrement.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/unary_prefix_increment_decrement.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, Expr, UnaryOp}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/unintentional_type_annotation.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/unintentional_type_annotation.rs index e9230d664b..5588b4c343 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/unintentional_type_annotation.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/unintentional_type_annotation.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, Expr, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/unreliable_callable_check.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/unreliable_callable_check.rs index 8d0934505c..5bfaefe079 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/unreliable_callable_check.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/unreliable_callable_check.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for uses of `hasattr` to test if an object is callable (e.g., diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/unused_loop_control_variable.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/unused_loop_control_variable.rs index 233d8e3c8c..00038ea515 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/unused_loop_control_variable.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/unused_loop_control_variable.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::helpers; @@ -8,6 +7,7 @@ use ruff_python_semantic::Binding; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for unused variables in loops (e.g., `for` and `while` statements). diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/useless_comparison.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/useless_comparison.rs index 274beba9ae..0cfa4e2d19 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/useless_comparison.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/useless_comparison.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Expr, Stmt}; use ruff_python_semantic::ScopeKind; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use super::super::helpers::at_last_top_level_expression_in_cell; diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/useless_contextlib_suppress.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/useless_contextlib_suppress.rs index 866ad761b6..4ec3e85d1f 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/useless_contextlib_suppress.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/useless_contextlib_suppress.rs @@ -1,9 +1,9 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/useless_expression.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/useless_expression.rs index 39f01c9ed0..8afb28494c 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/useless_expression.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/useless_expression.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Expr; use ruff_python_ast::helpers::contains_effect; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use super::super::helpers::at_last_top_level_expression_in_cell; diff --git a/crates/ruff_linter/src/rules/flake8_bugbear/rules/zip_without_explicit_strict.rs b/crates/ruff_linter/src/rules/flake8_bugbear/rules/zip_without_explicit_strict.rs index 2dfb56826f..73134c65b6 100644 --- a/crates/ruff_linter/src/rules/flake8_bugbear/rules/zip_without_explicit_strict.rs +++ b/crates/ruff_linter/src/rules/flake8_bugbear/rules/zip_without_explicit_strict.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Arguments, Expr}; @@ -7,6 +6,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::edits::add_argument; +use crate::{AlwaysFixableViolation, Applicability, Fix}; /// ## What it does /// Checks for `zip` calls without an explicit `strict` parameter. diff --git a/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_argument_shadowing.rs b/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_argument_shadowing.rs index 76175c7a7b..a016908f75 100644 --- a/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_argument_shadowing.rs +++ b/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_argument_shadowing.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Expr, Parameter}; use ruff_python_semantic::analyze::visibility::{is_overload, is_override}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use super::super::helpers::shadows_builtin; diff --git a/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_attribute_shadowing.rs b/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_attribute_shadowing.rs index 678e7ad4e0..3ec4fb5d5c 100644 --- a/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_attribute_shadowing.rs +++ b/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_attribute_shadowing.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_semantic::{BindingKind, Scope, ScopeId}; use ruff_source_file::SourceRow; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_builtins::helpers::shadows_builtin; diff --git a/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_import_shadowing.rs b/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_import_shadowing.rs index c1ce98c317..4f3d9d64ee 100644 --- a/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_import_shadowing.rs +++ b/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_import_shadowing.rs @@ -1,7 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Alias; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_builtins::helpers::shadows_builtin; diff --git a/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_lambda_argument_shadowing.rs b/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_lambda_argument_shadowing.rs index 20d895047e..73dddd9a4f 100644 --- a/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_lambda_argument_shadowing.rs +++ b/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_lambda_argument_shadowing.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::ExprLambda; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_builtins::helpers::shadows_builtin; diff --git a/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_variable_shadowing.rs b/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_variable_shadowing.rs index 23b622fc47..7d69a7fc3c 100644 --- a/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_variable_shadowing.rs +++ b/crates/ruff_linter/src/rules/flake8_builtins/rules/builtin_variable_shadowing.rs @@ -1,7 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::TextRange; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_builtins::helpers::shadows_builtin; diff --git a/crates/ruff_linter/src/rules/flake8_builtins/rules/stdlib_module_shadowing.rs b/crates/ruff_linter/src/rules/flake8_builtins/rules/stdlib_module_shadowing.rs index 61a4494d17..1112921b72 100644 --- a/crates/ruff_linter/src/rules/flake8_builtins/rules/stdlib_module_shadowing.rs +++ b/crates/ruff_linter/src/rules/flake8_builtins/rules/stdlib_module_shadowing.rs @@ -1,7 +1,6 @@ use std::borrow::Cow; use std::path::{Component, Path, PathBuf}; -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{PySourceType, PythonVersion}; use ruff_python_stdlib::path::is_module_file; @@ -9,6 +8,7 @@ use ruff_python_stdlib::sys::is_known_standard_library; use ruff_text_size::TextRange; use crate::settings::LinterSettings; +use crate::{Diagnostic, Violation}; /// ## What it does /// Checks for modules that use the same names as Python standard-library diff --git a/crates/ruff_linter/src/rules/flake8_commas/rules/trailing_commas.rs b/crates/ruff_linter/src/rules/flake8_commas/rules/trailing_commas.rs index 0002b9a147..8ff3c157c0 100644 --- a/crates/ruff_linter/src/rules/flake8_commas/rules/trailing_commas.rs +++ b/crates/ruff_linter/src/rules/flake8_commas/rules/trailing_commas.rs @@ -1,11 +1,11 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Violation}; -use ruff_diagnostics::{Diagnostic, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_index::Indexer; use ruff_python_parser::{TokenKind, Tokens}; use ruff_text_size::{Ranged, TextRange}; use crate::Locator; +use crate::{AlwaysFixableViolation, Violation}; +use crate::{Diagnostic, Edit, Fix}; /// Simplified token type. #[derive(Copy, Clone, PartialEq, Eq)] diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/fixes.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/fixes.rs index b796ff8e95..fdddf2e5bb 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/fixes.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/fixes.rs @@ -10,7 +10,6 @@ use libcst_native::{ SimpleString, SimpleWhitespace, TrailingWhitespace, Tuple, }; -use ruff_diagnostics::{Edit, Fix}; use ruff_python_ast::{self as ast, Expr, ExprCall}; use ruff_python_codegen::Stylist; use ruff_python_semantic::SemanticModel; @@ -21,6 +20,7 @@ use crate::cst::helpers::{negate, space}; use crate::fix::codemods::CodegenStylist; use crate::fix::edits::pad; use crate::rules::flake8_comprehensions::rules::ObjectType; +use crate::{Edit, Fix}; use crate::{ checkers::ast::Checker, cst::matchers::{ diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_call_around_sorted.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_call_around_sorted.rs index 716ef5b6fa..08395c5ea3 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_call_around_sorted.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_call_around_sorted.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Applicability, Fix}; use crate::rules::flake8_comprehensions::fixes; diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_collection_call.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_collection_call.rs index 7c8d5b7386..ac9f666410 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_collection_call.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_collection_call.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_text_size::{Ranged, TextSize}; @@ -7,6 +6,7 @@ use crate::checkers::ast::Checker; use crate::rules::flake8_comprehensions::fixes; use crate::rules::flake8_comprehensions::fixes::{pad_end, pad_start}; use crate::rules::flake8_comprehensions::settings::Settings; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for unnecessary `dict()`, `list()` or `tuple()` calls that can be diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_comprehension.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_comprehension.rs index 01d08a2664..558f2ace4f 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_comprehension.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_comprehension.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Comprehension, Expr}; use ruff_python_semantic::analyze::typing; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Fix}; use crate::rules::flake8_comprehensions::fixes; diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_comprehension_in_call.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_comprehension_in_call.rs index c503777cb5..dc3cc820c8 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_comprehension_in_call.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_comprehension_in_call.rs @@ -1,13 +1,13 @@ -use ruff_diagnostics::FixAvailability; -use ruff_diagnostics::{Edit, Fix, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::any_over_expr; use ruff_python_ast::{self as ast, Expr, Keyword}; use ruff_text_size::{Ranged, TextSize}; +use crate::FixAvailability; use crate::checkers::ast::Checker; use crate::preview::is_comprehension_with_min_max_sum_enabled; use crate::rules::flake8_comprehensions::fixes; +use crate::{Edit, Fix, Violation}; /// ## What it does /// Checks for unnecessary list or set comprehensions passed to builtin functions that take an iterable. diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_dict_comprehension_for_iterable.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_dict_comprehension_for_iterable.rs index 1705b3b0ec..7af4bfa6f1 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_dict_comprehension_for_iterable.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_dict_comprehension_for_iterable.rs @@ -1,5 +1,4 @@ use ast::ExprName; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableExpr; use ruff_python_ast::helpers::any_over_expr; @@ -7,6 +6,7 @@ use ruff_python_ast::{self as ast, Arguments, Comprehension, Expr, ExprCall, Exp use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for unnecessary dict comprehension when creating a dictionary from diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_double_cast_or_process.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_double_cast_or_process.rs index e8988e6661..c0811cdb06 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_double_cast_or_process.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_double_cast_or_process.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableKeyword; use ruff_python_ast::{self as ast, Arguments, Expr, Keyword}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Fix}; use crate::rules::flake8_comprehensions::fixes; diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_generator_dict.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_generator_dict.rs index 7602cd1e35..3caadb61f5 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_generator_dict.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_generator_dict.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, Keyword}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Fix}; use crate::rules::flake8_comprehensions::fixes; diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_generator_list.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_generator_list.rs index 1627d76974..44fc597fc8 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_generator_list.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_generator_list.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::ExprGenerator; @@ -8,6 +7,7 @@ use ruff_python_parser::TokenKind; use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; use super::helpers; diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_generator_set.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_generator_set.rs index 0db3228cbb..ed590d5e22 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_generator_set.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_generator_set.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::ExprGenerator; @@ -9,6 +8,7 @@ use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::checkers::ast::Checker; use crate::rules::flake8_comprehensions::fixes::{pad_end, pad_start}; +use crate::{AlwaysFixableViolation, Edit, Fix}; use super::helpers; diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_list_call.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_list_call.rs index 784105fda7..1bf052e206 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_list_call.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_list_call.rs @@ -1,12 +1,11 @@ use ruff_python_ast::{Arguments, Expr, ExprCall}; -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; - use crate::rules::flake8_comprehensions::fixes; +use crate::{AlwaysFixableViolation, Fix}; use super::helpers; diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_dict.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_dict.rs index eeae7b838c..5b4bbac5fc 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_dict.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_dict.rs @@ -1,11 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, Keyword}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; - use crate::rules::flake8_comprehensions::fixes; +use crate::{AlwaysFixableViolation, Fix}; use super::helpers; diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_set.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_set.rs index b1f1755a1f..eadeef634a 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_set.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_list_comprehension_set.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::parenthesize::parenthesized_range; @@ -7,6 +6,7 @@ use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::checkers::ast::Checker; use crate::rules::flake8_comprehensions::fixes::{pad_end, pad_start}; +use crate::{AlwaysFixableViolation, Edit, Fix}; use super::helpers; diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_dict.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_dict.rs index 235e6e8c19..c87ae7ce43 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_dict.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_dict.rs @@ -1,11 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, Keyword}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; - use crate::rules::flake8_comprehensions::fixes; +use crate::{AlwaysFixableViolation, Fix}; use super::helpers; diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_set.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_set.rs index f5b0f311b6..14bd1d0624 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_set.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_set.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::{Ranged, TextSize}; use crate::checkers::ast::Checker; use crate::rules::flake8_comprehensions::fixes::{pad_end, pad_start}; +use crate::{AlwaysFixableViolation, Edit, Fix}; use super::helpers; diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_dict_call.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_dict_call.rs index d80ad19733..63b316675b 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_dict_call.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_dict_call.rs @@ -2,11 +2,11 @@ use std::fmt; use ruff_python_ast::{self as ast, Expr}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; use super::helpers; diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_list_call.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_list_call.rs index e5b8fcfd3c..42731d64b8 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_list_call.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_list_call.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::{Ranged, TextSize}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; use super::helpers; diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_tuple_call.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_tuple_call.rs index 7dd8231e7c..4e7749325f 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_tuple_call.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_literal_within_tuple_call.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::any_over_expr; use ruff_python_ast::{self as ast, Expr}; @@ -8,6 +7,7 @@ use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::checkers::ast::Checker; use crate::preview::is_check_comprehensions_in_tuple_call_enabled; use crate::rules::flake8_comprehensions::fixes; +use crate::{AlwaysFixableViolation, Edit, Fix}; use super::helpers; diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_map.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_map.rs index bcd0090fca..e31c4b15a0 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_map.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_map.rs @@ -1,7 +1,5 @@ use std::fmt; -use ruff_diagnostics::Fix; -use ruff_diagnostics::{FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::any_over_expr; use ruff_python_ast::visitor::Visitor; @@ -9,8 +7,10 @@ use ruff_python_ast::{self as ast, Expr, ExprContext, Parameters, Stmt}; use ruff_python_ast::{ExprLambda, visitor}; use ruff_python_semantic::SemanticModel; +use crate::Fix; use crate::checkers::ast::Checker; use crate::rules::flake8_comprehensions::fixes; +use crate::{FixAvailability, Violation}; /// ## What it does /// Checks for unnecessary `map()` calls with lambda functions. diff --git a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_subscript_reversal.rs b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_subscript_reversal.rs index d2e0d960fa..0e2768eb7a 100644 --- a/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_subscript_reversal.rs +++ b/crates/ruff_linter/src/rules/flake8_comprehensions/rules/unnecessary_subscript_reversal.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, UnaryOp}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs b/crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs index bbe034ce5d..d8745ed2fb 100644 --- a/crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs +++ b/crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::{TextRange, TextSize}; use crate::Locator; use crate::settings::LinterSettings; +use crate::{Diagnostic, Violation}; /// ## What it does /// Checks for the absence of copyright notices within Python files. diff --git a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_date_fromtimestamp.rs b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_date_fromtimestamp.rs index 12ab428186..f1363faf1a 100644 --- a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_date_fromtimestamp.rs +++ b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_date_fromtimestamp.rs @@ -1,10 +1,10 @@ use ruff_python_ast::Expr; use ruff_text_size::TextRange; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Modules; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_date_today.rs b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_date_today.rs index b182c840ca..34e2bc937d 100644 --- a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_date_today.rs +++ b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_date_today.rs @@ -1,10 +1,10 @@ use ruff_python_ast::Expr; use ruff_text_size::TextRange; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Modules; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_fromtimestamp.rs b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_fromtimestamp.rs index 6781be630c..d18cc494ef 100644 --- a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_fromtimestamp.rs +++ b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_fromtimestamp.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast}; use ruff_python_semantic::Modules; +use crate::Violation; use crate::checkers::ast::Checker; use super::helpers::{self, DatetimeModuleAntipattern}; diff --git a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_now_without_tzinfo.rs b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_now_without_tzinfo.rs index 693f15ddce..e4b5a304f0 100644 --- a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_now_without_tzinfo.rs +++ b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_now_without_tzinfo.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_semantic::Modules; +use crate::Violation; use crate::checkers::ast::Checker; use super::helpers::{self, DatetimeModuleAntipattern}; diff --git a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_strptime_without_zone.rs b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_strptime_without_zone.rs index 43a265e1ee..bc2a6cb751 100644 --- a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_strptime_without_zone.rs +++ b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_strptime_without_zone.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_semantic::Modules; +use crate::Violation; use crate::checkers::ast::Checker; use super::helpers::DatetimeModuleAntipattern; diff --git a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_today.rs b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_today.rs index 1f22d13087..974300ae8b 100644 --- a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_today.rs +++ b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_today.rs @@ -1,10 +1,10 @@ use ruff_python_ast::Expr; use ruff_text_size::TextRange; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Modules; +use crate::Violation; use crate::checkers::ast::Checker; use super::helpers; diff --git a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_utcfromtimestamp.rs b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_utcfromtimestamp.rs index 272ce7161b..3de3dc2518 100644 --- a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_utcfromtimestamp.rs +++ b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_utcfromtimestamp.rs @@ -1,10 +1,10 @@ use ruff_python_ast::Expr; use ruff_text_size::TextRange; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Modules; +use crate::Violation; use crate::checkers::ast::Checker; use super::helpers; diff --git a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_utcnow.rs b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_utcnow.rs index 8a7068b050..07e67a3f1e 100644 --- a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_utcnow.rs +++ b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_utcnow.rs @@ -1,10 +1,10 @@ use ruff_python_ast::Expr; use ruff_text_size::TextRange; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Modules; +use crate::Violation; use crate::checkers::ast::Checker; use super::helpers; diff --git a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_without_tzinfo.rs b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_without_tzinfo.rs index c59c321918..3923266a0c 100644 --- a/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_without_tzinfo.rs +++ b/crates/ruff_linter/src/rules/flake8_datetimez/rules/call_datetime_without_tzinfo.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_semantic::Modules; +use crate::Violation; use crate::checkers::ast::Checker; use super::helpers::{self, DatetimeModuleAntipattern}; diff --git a/crates/ruff_linter/src/rules/flake8_datetimez/rules/datetime_min_max.rs b/crates/ruff_linter/src/rules/flake8_datetimez/rules/datetime_min_max.rs index 83b9fcb8a1..275bc18ba9 100644 --- a/crates/ruff_linter/src/rules/flake8_datetimez/rules/datetime_min_max.rs +++ b/crates/ruff_linter/src/rules/flake8_datetimez/rules/datetime_min_max.rs @@ -1,11 +1,11 @@ use std::fmt::{Display, Formatter}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Expr, ExprAttribute, ExprCall}; use ruff_python_semantic::{Modules, SemanticModel}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_debugger/rules/debugger.rs b/crates/ruff_linter/src/rules/flake8_debugger/rules/debugger.rs index 807cb90981..401bd2bd61 100644 --- a/crates/ruff_linter/src/rules/flake8_debugger/rules/debugger.rs +++ b/crates/ruff_linter/src/rules/flake8_debugger/rules/debugger.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{Expr, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::QualifiedName; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_debugger::types::DebuggerUsingType; diff --git a/crates/ruff_linter/src/rules/flake8_django/rules/all_with_model_form.rs b/crates/ruff_linter/src/rules/flake8_django/rules/all_with_model_form.rs index c9ccd941ed..e2a2e88ce6 100644 --- a/crates/ruff_linter/src/rules/flake8_django/rules/all_with_model_form.rs +++ b/crates/ruff_linter/src/rules/flake8_django/rules/all_with_model_form.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, Stmt}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_django::rules::helpers::is_model_form; diff --git a/crates/ruff_linter/src/rules/flake8_django/rules/exclude_with_model_form.rs b/crates/ruff_linter/src/rules/flake8_django/rules/exclude_with_model_form.rs index 0de9346f4e..9730da1966 100644 --- a/crates/ruff_linter/src/rules/flake8_django/rules/exclude_with_model_form.rs +++ b/crates/ruff_linter/src/rules/flake8_django/rules/exclude_with_model_form.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, Stmt}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_django::rules::helpers::is_model_form; diff --git a/crates/ruff_linter/src/rules/flake8_django/rules/locals_in_render_function.rs b/crates/ruff_linter/src/rules/flake8_django/rules/locals_in_render_function.rs index 8328d7d24b..4f5ad2ca42 100644 --- a/crates/ruff_linter/src/rules/flake8_django/rules/locals_in_render_function.rs +++ b/crates/ruff_linter/src/rules/flake8_django/rules/locals_in_render_function.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_semantic::{Modules, SemanticModel}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_django/rules/model_without_dunder_str.rs b/crates/ruff_linter/src/rules/flake8_django/rules/model_without_dunder_str.rs index acb63289c0..0ff3119e97 100644 --- a/crates/ruff_linter/src/rules/flake8_django/rules/model_without_dunder_str.rs +++ b/crates/ruff_linter/src/rules/flake8_django/rules/model_without_dunder_str.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_const_true; use ruff_python_ast::identifier::Identifier; use ruff_python_ast::{self as ast, Expr, Stmt}; use ruff_python_semantic::{Modules, SemanticModel, analyze}; +use crate::Violation; use crate::checkers::ast::Checker; use super::helpers; diff --git a/crates/ruff_linter/src/rules/flake8_django/rules/non_leading_receiver_decorator.rs b/crates/ruff_linter/src/rules/flake8_django/rules/non_leading_receiver_decorator.rs index a4744674a9..3a854e9756 100644 --- a/crates/ruff_linter/src/rules/flake8_django/rules/non_leading_receiver_decorator.rs +++ b/crates/ruff_linter/src/rules/flake8_django/rules/non_leading_receiver_decorator.rs @@ -1,10 +1,10 @@ use ruff_python_ast::Decorator; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_django/rules/nullable_model_string_field.rs b/crates/ruff_linter/src/rules/flake8_django/rules/nullable_model_string_field.rs index 6840d46641..f2810508ae 100644 --- a/crates/ruff_linter/src/rules/flake8_django/rules/nullable_model_string_field.rs +++ b/crates/ruff_linter/src/rules/flake8_django/rules/nullable_model_string_field.rs @@ -1,11 +1,11 @@ use ruff_python_ast::{self as ast, Expr, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_const_true; use ruff_python_semantic::{Modules, SemanticModel}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use super::helpers; diff --git a/crates/ruff_linter/src/rules/flake8_django/rules/unordered_body_content_in_model.rs b/crates/ruff_linter/src/rules/flake8_django/rules/unordered_body_content_in_model.rs index 85f385be46..f0a2e910bc 100644 --- a/crates/ruff_linter/src/rules/flake8_django/rules/unordered_body_content_in_model.rs +++ b/crates/ruff_linter/src/rules/flake8_django/rules/unordered_body_content_in_model.rs @@ -1,12 +1,12 @@ use std::fmt; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_dunder; use ruff_python_ast::{self as ast, Expr, Stmt}; use ruff_python_semantic::{Modules, SemanticModel}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use super::helpers; diff --git a/crates/ruff_linter/src/rules/flake8_errmsg/rules/string_in_exception.rs b/crates/ruff_linter/src/rules/flake8_errmsg/rules/string_in_exception.rs index 560fbfd34a..85f1a4afeb 100644 --- a/crates/ruff_linter/src/rules/flake8_errmsg/rules/string_in_exception.rs +++ b/crates/ruff_linter/src/rules/flake8_errmsg/rules/string_in_exception.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::whitespace; use ruff_python_ast::{self as ast, Arguments, Expr, Stmt}; @@ -9,6 +8,7 @@ use ruff_text_size::Ranged; use crate::Locator; use crate::checkers::ast::Checker; use crate::registry::Rule; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for the use of string literals in exception constructors. diff --git a/crates/ruff_linter/src/rules/flake8_executable/rules/mod.rs b/crates/ruff_linter/src/rules/flake8_executable/rules/mod.rs index e9f7c58058..9f92c00948 100644 --- a/crates/ruff_linter/src/rules/flake8_executable/rules/mod.rs +++ b/crates/ruff_linter/src/rules/flake8_executable/rules/mod.rs @@ -1,6 +1,5 @@ use std::path::Path; -use ruff_diagnostics::Diagnostic; use ruff_python_trivia::CommentRanges; pub(crate) use shebang_leading_whitespace::*; pub(crate) use shebang_missing_executable_file::*; @@ -8,6 +7,7 @@ pub(crate) use shebang_missing_python::*; pub(crate) use shebang_not_executable::*; pub(crate) use shebang_not_first_line::*; +use crate::Diagnostic; use crate::Locator; use crate::codes::Rule; use crate::comments::shebang::ShebangDirective; diff --git a/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_leading_whitespace.rs b/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_leading_whitespace.rs index df3aea03fd..7510b708ac 100644 --- a/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_leading_whitespace.rs +++ b/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_leading_whitespace.rs @@ -1,9 +1,9 @@ +use ruff_macros::{ViolationMetadata, derive_message_formats}; +use ruff_python_trivia::is_python_whitespace; use ruff_text_size::{TextRange, TextSize}; use crate::Locator; -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; -use ruff_macros::{ViolationMetadata, derive_message_formats}; -use ruff_python_trivia::is_python_whitespace; +use crate::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; /// ## What it does /// Checks for whitespace before a shebang directive. diff --git a/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_missing_executable_file.rs b/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_missing_executable_file.rs index a297541e2b..1d21ec05ce 100644 --- a/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_missing_executable_file.rs +++ b/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_missing_executable_file.rs @@ -4,12 +4,12 @@ use std::path::Path; use ruff_text_size::{Ranged, TextRange}; -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use crate::registry::AsRule; #[cfg(target_family = "unix")] use crate::rules::flake8_executable::helpers::is_executable; +use crate::{Diagnostic, Violation}; /// ## What it does /// Checks for executable `.py` files that do not have a shebang. diff --git a/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_missing_python.rs b/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_missing_python.rs index 137203e0e7..e9f6406e0f 100644 --- a/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_missing_python.rs +++ b/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_missing_python.rs @@ -1,9 +1,9 @@ use ruff_text_size::TextRange; -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use crate::comments::shebang::ShebangDirective; +use crate::{Diagnostic, Violation}; /// ## What it does /// Checks for a shebang directive in `.py` files that does not contain `python`, diff --git a/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_not_executable.rs b/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_not_executable.rs index 14e7268754..b10e67cbdb 100644 --- a/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_not_executable.rs +++ b/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_not_executable.rs @@ -1,14 +1,11 @@ -#![allow(unused_imports)] - use std::path::Path; -use ruff_text_size::{Ranged, TextRange}; - -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use ruff_text_size::TextRange; #[cfg(target_family = "unix")] use crate::rules::flake8_executable::helpers::is_executable; +use crate::{Diagnostic, Violation}; /// ## What it does /// Checks for a shebang directive in a file that is not executable. diff --git a/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_not_first_line.rs b/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_not_first_line.rs index 0405e0cebe..8cdfe0db13 100644 --- a/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_not_first_line.rs +++ b/crates/ruff_linter/src/rules/flake8_executable/rules/shebang_not_first_line.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_trivia::is_python_whitespace; use ruff_text_size::{TextRange, TextSize}; use crate::Locator; +use crate::{Diagnostic, Violation}; /// ## What it does /// Checks for a shebang directive that is not at the beginning of the file. diff --git a/crates/ruff_linter/src/rules/flake8_fixme/rules/todos.rs b/crates/ruff_linter/src/rules/flake8_fixme/rules/todos.rs index f8515c4c7e..6f133ae0df 100644 --- a/crates/ruff_linter/src/rules/flake8_fixme/rules/todos.rs +++ b/crates/ruff_linter/src/rules/flake8_fixme/rules/todos.rs @@ -1,7 +1,7 @@ -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use crate::directives::{TodoComment, TodoDirectiveKind}; +use crate::{Diagnostic, Violation}; /// ## What it does /// Checks for "TODO" comments. diff --git a/crates/ruff_linter/src/rules/flake8_future_annotations/rules/future_required_type_annotation.rs b/crates/ruff_linter/src/rules/flake8_future_annotations/rules/future_required_type_annotation.rs index 7475d238fe..2305cd5052 100644 --- a/crates/ruff_linter/src/rules/flake8_future_annotations/rules/future_required_type_annotation.rs +++ b/crates/ruff_linter/src/rules/flake8_future_annotations/rules/future_required_type_annotation.rs @@ -1,12 +1,12 @@ use std::fmt; -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Expr; use ruff_python_semantic::{MemberNameImport, NameImport}; use ruff_text_size::{Ranged, TextSize}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Fix}; /// ## What it does /// Checks for uses of PEP 585- and PEP 604-style type annotations in Python diff --git a/crates/ruff_linter/src/rules/flake8_future_annotations/rules/future_rewritable_type_annotation.rs b/crates/ruff_linter/src/rules/flake8_future_annotations/rules/future_rewritable_type_annotation.rs index 12c67d0f9a..e62d1f4ed2 100644 --- a/crates/ruff_linter/src/rules/flake8_future_annotations/rules/future_rewritable_type_annotation.rs +++ b/crates/ruff_linter/src/rules/flake8_future_annotations/rules/future_rewritable_type_annotation.rs @@ -1,9 +1,9 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_gettext/rules/f_string_in_gettext_func_call.rs b/crates/ruff_linter/src/rules/flake8_gettext/rules/f_string_in_gettext_func_call.rs index d165cbe48b..13f3544768 100644 --- a/crates/ruff_linter/src/rules/flake8_gettext/rules/f_string_in_gettext_func_call.rs +++ b/crates/ruff_linter/src/rules/flake8_gettext/rules/f_string_in_gettext_func_call.rs @@ -1,9 +1,9 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_gettext/rules/format_in_gettext_func_call.rs b/crates/ruff_linter/src/rules/flake8_gettext/rules/format_in_gettext_func_call.rs index 79e242d036..9d53d48abf 100644 --- a/crates/ruff_linter/src/rules/flake8_gettext/rules/format_in_gettext_func_call.rs +++ b/crates/ruff_linter/src/rules/flake8_gettext/rules/format_in_gettext_func_call.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_gettext/rules/printf_in_gettext_func_call.rs b/crates/ruff_linter/src/rules/flake8_gettext/rules/printf_in_gettext_func_call.rs index 668ae71e2e..22c8a4b737 100644 --- a/crates/ruff_linter/src/rules/flake8_gettext/rules/printf_in_gettext_func_call.rs +++ b/crates/ruff_linter/src/rules/flake8_gettext/rules/printf_in_gettext_func_call.rs @@ -1,10 +1,10 @@ -use ruff_python_ast::{self as ast, Expr, Operator}; - -use crate::checkers::ast::Checker; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use ruff_python_ast::{self as ast, Expr, Operator}; use ruff_text_size::Ranged; +use crate::Violation; +use crate::checkers::ast::Checker; + /// ## What it does /// Checks for printf-style formatted strings in `gettext` function calls. /// diff --git a/crates/ruff_linter/src/rules/flake8_implicit_str_concat/rules/explicit.rs b/crates/ruff_linter/src/rules/flake8_implicit_str_concat/rules/explicit.rs index 173c05b8a9..04aa996322 100644 --- a/crates/ruff_linter/src/rules/flake8_implicit_str_concat/rules/explicit.rs +++ b/crates/ruff_linter/src/rules/flake8_implicit_str_concat/rules/explicit.rs @@ -1,12 +1,12 @@ -use ruff_diagnostics::AlwaysFixableViolation; -use ruff_diagnostics::{Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, Operator}; use ruff_python_trivia::is_python_whitespace; use ruff_source_file::LineRanges; use ruff_text_size::{Ranged, TextLen, TextRange, TextSize}; +use crate::AlwaysFixableViolation; use crate::checkers::ast::Checker; +use crate::{Edit, Fix}; /// ## What it does /// Checks for string literals that are explicitly concatenated (using the diff --git a/crates/ruff_linter/src/rules/flake8_implicit_str_concat/rules/implicit.rs b/crates/ruff_linter/src/rules/flake8_implicit_str_concat/rules/implicit.rs index 004ffb9537..743174c340 100644 --- a/crates/ruff_linter/src/rules/flake8_implicit_str_concat/rules/implicit.rs +++ b/crates/ruff_linter/src/rules/flake8_implicit_str_concat/rules/implicit.rs @@ -2,7 +2,6 @@ use std::borrow::Cow; use itertools::Itertools; -use ruff_diagnostics::{Diagnostic, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::str::{leading_quote, trailing_quote}; use ruff_python_index::Indexer; @@ -12,6 +11,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::Locator; use crate::settings::LinterSettings; +use crate::{Diagnostic, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for implicitly concatenated strings on a single line. diff --git a/crates/ruff_linter/src/rules/flake8_import_conventions/rules/banned_import_alias.rs b/crates/ruff_linter/src/rules/flake8_import_conventions/rules/banned_import_alias.rs index 412fd2fba1..6fc205699a 100644 --- a/crates/ruff_linter/src/rules/flake8_import_conventions/rules/banned_import_alias.rs +++ b/crates/ruff_linter/src/rules/flake8_import_conventions/rules/banned_import_alias.rs @@ -1,10 +1,10 @@ use rustc_hash::FxHashMap; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Stmt; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_import_conventions::settings::BannedAliases; diff --git a/crates/ruff_linter/src/rules/flake8_import_conventions/rules/banned_import_from.rs b/crates/ruff_linter/src/rules/flake8_import_conventions/rules/banned_import_from.rs index da96e127cd..c5a64ea82a 100644 --- a/crates/ruff_linter/src/rules/flake8_import_conventions/rules/banned_import_from.rs +++ b/crates/ruff_linter/src/rules/flake8_import_conventions/rules/banned_import_from.rs @@ -1,11 +1,10 @@ -use ruff_python_ast::Stmt; use rustc_hash::FxHashSet; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use ruff_python_ast::Stmt; use ruff_text_size::Ranged; -use crate::checkers::ast::Checker; +use crate::{Violation, checkers::ast::Checker}; /// ## What it does /// Checks for member imports that should instead be accessed by importing the diff --git a/crates/ruff_linter/src/rules/flake8_import_conventions/rules/unconventional_import_alias.rs b/crates/ruff_linter/src/rules/flake8_import_conventions/rules/unconventional_import_alias.rs index ccf58de5f3..90970ae343 100644 --- a/crates/ruff_linter/src/rules/flake8_import_conventions/rules/unconventional_import_alias.rs +++ b/crates/ruff_linter/src/rules/flake8_import_conventions/rules/unconventional_import_alias.rs @@ -1,11 +1,11 @@ use rustc_hash::FxHashMap; -use ruff_diagnostics::{Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::{Binding, Imported}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Fix, FixAvailability, Violation}; use crate::renamer::Renamer; diff --git a/crates/ruff_linter/src/rules/flake8_logging/rules/direct_logger_instantiation.rs b/crates/ruff_linter/src/rules/flake8_logging/rules/direct_logger_instantiation.rs index d372a8aab8..c3ff9c2f51 100644 --- a/crates/ruff_linter/src/rules/flake8_logging/rules/direct_logger_instantiation.rs +++ b/crates/ruff_linter/src/rules/flake8_logging/rules/direct_logger_instantiation.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_semantic::Modules; @@ -6,6 +5,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for direct instantiation of `logging.Logger`, as opposed to using diff --git a/crates/ruff_linter/src/rules/flake8_logging/rules/exc_info_outside_except_handler.rs b/crates/ruff_linter/src/rules/flake8_logging/rules/exc_info_outside_except_handler.rs index b016bc0ca9..9b62775fa0 100644 --- a/crates/ruff_linter/src/rules/flake8_logging/rules/exc_info_outside_except_handler.rs +++ b/crates/ruff_linter/src/rules/flake8_logging/rules/exc_info_outside_except_handler.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::Truthiness; use ruff_python_ast::{Expr, ExprAttribute, ExprCall}; @@ -9,6 +8,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::edits::{Parentheses, remove_argument}; use crate::rules::flake8_logging::rules::helpers::outside_handlers; +use crate::{Fix, FixAvailability, Violation}; /// ## What it does /// Checks for logging calls with `exc_info=` outside exception handlers. diff --git a/crates/ruff_linter/src/rules/flake8_logging/rules/exception_without_exc_info.rs b/crates/ruff_linter/src/rules/flake8_logging/rules/exception_without_exc_info.rs index 8329823b46..0925322e32 100644 --- a/crates/ruff_linter/src/rules/flake8_logging/rules/exception_without_exc_info.rs +++ b/crates/ruff_linter/src/rules/flake8_logging/rules/exception_without_exc_info.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::Truthiness; use ruff_python_ast::{self as ast, Expr, ExprCall}; @@ -6,6 +5,7 @@ use ruff_python_semantic::analyze::logging; use ruff_python_stdlib::logging::LoggingLevel; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_logging/rules/invalid_get_logger_argument.rs b/crates/ruff_linter/src/rules/flake8_logging/rules/invalid_get_logger_argument.rs index 68c5144a27..17c8ad8676 100644 --- a/crates/ruff_linter/src/rules/flake8_logging/rules/invalid_get_logger_argument.rs +++ b/crates/ruff_linter/src/rules/flake8_logging/rules/invalid_get_logger_argument.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for any usage of `__cached__` and `__file__` as an argument to diff --git a/crates/ruff_linter/src/rules/flake8_logging/rules/log_exception_outside_except_handler.rs b/crates/ruff_linter/src/rules/flake8_logging/rules/log_exception_outside_except_handler.rs index d92a88ff93..1f2eb173bd 100644 --- a/crates/ruff_linter/src/rules/flake8_logging/rules/log_exception_outside_except_handler.rs +++ b/crates/ruff_linter/src/rules/flake8_logging/rules/log_exception_outside_except_handler.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Expr, ExprAttribute, ExprCall}; use ruff_python_semantic::analyze::logging; @@ -6,6 +5,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::rules::flake8_logging::rules::helpers::outside_handlers; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `.exception()` logging calls outside of exception handlers. diff --git a/crates/ruff_linter/src/rules/flake8_logging/rules/root_logger_call.rs b/crates/ruff_linter/src/rules/flake8_logging/rules/root_logger_call.rs index a98850d7f7..6c174b39e3 100644 --- a/crates/ruff_linter/src/rules/flake8_logging/rules/root_logger_call.rs +++ b/crates/ruff_linter/src/rules/flake8_logging/rules/root_logger_call.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::ExprCall; use ruff_python_semantic::Modules; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_logging/rules/undocumented_warn.rs b/crates/ruff_linter/src/rules/flake8_logging/rules/undocumented_warn.rs index a71f372d65..2287a217b3 100644 --- a/crates/ruff_linter/src/rules/flake8_logging/rules/undocumented_warn.rs +++ b/crates/ruff_linter/src/rules/flake8_logging/rules/undocumented_warn.rs @@ -1,12 +1,12 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for uses of `logging.WARN`. diff --git a/crates/ruff_linter/src/rules/flake8_logging_format/rules/logging_call.rs b/crates/ruff_linter/src/rules/flake8_logging_format/rules/logging_call.rs index 7780b72dc7..4d0f2fc221 100644 --- a/crates/ruff_linter/src/rules/flake8_logging_format/rules/logging_call.rs +++ b/crates/ruff_linter/src/rules/flake8_logging_format/rules/logging_call.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix}; use ruff_python_ast::{self as ast, Arguments, Expr, Keyword, Operator}; use ruff_python_semantic::analyze::logging; use ruff_python_stdlib::logging::LoggingLevel; @@ -10,6 +9,7 @@ use crate::rules::flake8_logging_format::violations::{ LoggingExcInfo, LoggingExtraAttrClash, LoggingFString, LoggingPercentFormat, LoggingRedundantExcInfo, LoggingStringConcat, LoggingStringFormat, LoggingWarn, }; +use crate::{Edit, Fix}; /// Returns `true` if the attribute is a reserved attribute on the `logging` module's `LogRecord` /// class. diff --git a/crates/ruff_linter/src/rules/flake8_logging_format/violations.rs b/crates/ruff_linter/src/rules/flake8_logging_format/violations.rs index cec46dbeb0..51cc9f436f 100644 --- a/crates/ruff_linter/src/rules/flake8_logging_format/violations.rs +++ b/crates/ruff_linter/src/rules/flake8_logging_format/violations.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::{AlwaysFixableViolation, Violation}; + /// ## What it does /// Checks for uses of `str.format` to format logging messages. /// diff --git a/crates/ruff_linter/src/rules/flake8_no_pep420/rules/implicit_namespace_package.rs b/crates/ruff_linter/src/rules/flake8_no_pep420/rules/implicit_namespace_package.rs index bfddb09011..8d29898c35 100644 --- a/crates/ruff_linter/src/rules/flake8_no_pep420/rules/implicit_namespace_package.rs +++ b/crates/ruff_linter/src/rules/flake8_no_pep420/rules/implicit_namespace_package.rs @@ -1,6 +1,5 @@ use std::path::{Path, PathBuf}; -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::PySourceType; use ruff_python_ast::script::ScriptTag; @@ -11,6 +10,7 @@ use crate::Locator; use crate::comments::shebang::ShebangDirective; use crate::fs; use crate::package::PackageRoot; +use crate::{Diagnostic, Violation}; /// ## What it does /// Checks for packages that are missing an `__init__.py` file. diff --git a/crates/ruff_linter/src/rules/flake8_pie/rules/duplicate_class_field_definition.rs b/crates/ruff_linter/src/rules/flake8_pie/rules/duplicate_class_field_definition.rs index c1dc478341..a430f8c9b0 100644 --- a/crates/ruff_linter/src/rules/flake8_pie/rules/duplicate_class_field_definition.rs +++ b/crates/ruff_linter/src/rules/flake8_pie/rules/duplicate_class_field_definition.rs @@ -1,6 +1,5 @@ use rustc_hash::FxHashSet; -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::any_over_expr; use ruff_python_ast::{self as ast, Expr, Stmt}; @@ -8,6 +7,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix; +use crate::{AlwaysFixableViolation, Fix}; /// ## What it does /// Checks for duplicate field definitions in classes. diff --git a/crates/ruff_linter/src/rules/flake8_pie/rules/multiple_starts_ends_with.rs b/crates/ruff_linter/src/rules/flake8_pie/rules/multiple_starts_ends_with.rs index a15ff26141..4ac91e9ca5 100644 --- a/crates/ruff_linter/src/rules/flake8_pie/rules/multiple_starts_ends_with.rs +++ b/crates/ruff_linter/src/rules/flake8_pie/rules/multiple_starts_ends_with.rs @@ -8,11 +8,11 @@ use ruff_text_size::{Ranged, TextRange}; use ruff_python_ast::{self as ast, Arguments, BoolOp, Expr, ExprContext, Identifier}; -use ruff_diagnostics::AlwaysFixableViolation; -use ruff_diagnostics::{Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::AlwaysFixableViolation; use crate::checkers::ast::Checker; +use crate::{Edit, Fix}; /// ## What it does /// Checks for `startswith` or `endswith` calls on the same value with diff --git a/crates/ruff_linter/src/rules/flake8_pie/rules/non_unique_enums.rs b/crates/ruff_linter/src/rules/flake8_pie/rules/non_unique_enums.rs index 4426008298..21464f148f 100644 --- a/crates/ruff_linter/src/rules/flake8_pie/rules/non_unique_enums.rs +++ b/crates/ruff_linter/src/rules/flake8_pie/rules/non_unique_enums.rs @@ -1,12 +1,12 @@ use ruff_python_semantic::SemanticModel; use rustc_hash::FxHashSet; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableExpr; use ruff_python_ast::{self as ast, Expr, ExprCall, Stmt}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_pie/rules/reimplemented_container_builtin.rs b/crates/ruff_linter/src/rules/flake8_pie/rules/reimplemented_container_builtin.rs index e78083888e..77677672bd 100644 --- a/crates/ruff_linter/src/rules/flake8_pie/rules/reimplemented_container_builtin.rs +++ b/crates/ruff_linter/src/rules/flake8_pie/rules/reimplemented_container_builtin.rs @@ -1,11 +1,11 @@ use ruff_python_ast::{Expr, ExprLambda}; -use ruff_diagnostics::{Edit, Fix}; -use ruff_diagnostics::{FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Edit, Fix}; +use crate::{FixAvailability, Violation}; /// ## What it does /// Checks for lambdas that can be replaced with the `list` or `dict` builtins. diff --git a/crates/ruff_linter/src/rules/flake8_pie/rules/unnecessary_dict_kwargs.rs b/crates/ruff_linter/src/rules/flake8_pie/rules/unnecessary_dict_kwargs.rs index 6164c549ed..56e8691d00 100644 --- a/crates/ruff_linter/src/rules/flake8_pie/rules/unnecessary_dict_kwargs.rs +++ b/crates/ruff_linter/src/rules/flake8_pie/rules/unnecessary_dict_kwargs.rs @@ -1,7 +1,6 @@ use itertools::Itertools; use rustc_hash::{FxBuildHasher, FxHashSet}; -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::parenthesize::parenthesized_range; use ruff_python_ast::{self as ast, Expr}; @@ -10,6 +9,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::edits::{Parentheses, remove_argument}; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for unnecessary `dict` kwargs. diff --git a/crates/ruff_linter/src/rules/flake8_pie/rules/unnecessary_placeholder.rs b/crates/ruff_linter/src/rules/flake8_pie/rules/unnecessary_placeholder.rs index 8e2dbd34fd..1a64d0f971 100644 --- a/crates/ruff_linter/src/rules/flake8_pie/rules/unnecessary_placeholder.rs +++ b/crates/ruff_linter/src/rules/flake8_pie/rules/unnecessary_placeholder.rs @@ -1,5 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Applicability}; -use ruff_diagnostics::{Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::map_subscript; use ruff_python_ast::whitespace::trailing_comment_start_offset; @@ -9,6 +7,8 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix; +use crate::{AlwaysFixableViolation, Applicability}; +use crate::{Edit, Fix}; /// ## What it does /// Checks for unnecessary `pass` statements and ellipsis (`...`) literals in diff --git a/crates/ruff_linter/src/rules/flake8_pie/rules/unnecessary_range_start.rs b/crates/ruff_linter/src/rules/flake8_pie/rules/unnecessary_range_start.rs index 3540b534f9..d9458be9cb 100644 --- a/crates/ruff_linter/src/rules/flake8_pie/rules/unnecessary_range_start.rs +++ b/crates/ruff_linter/src/rules/flake8_pie/rules/unnecessary_range_start.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::edits::{Parentheses, remove_argument}; +use crate::{AlwaysFixableViolation, Fix}; /// ## What it does /// Checks for `range` calls with an unnecessary `start` argument. diff --git a/crates/ruff_linter/src/rules/flake8_pie/rules/unnecessary_spread.rs b/crates/ruff_linter/src/rules/flake8_pie/rules/unnecessary_spread.rs index 353b83bf14..b5aefbfa5e 100644 --- a/crates/ruff_linter/src/rules/flake8_pie/rules/unnecessary_spread.rs +++ b/crates/ruff_linter/src/rules/flake8_pie/rules/unnecessary_spread.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_parser::{TokenKind, Tokens}; use ruff_text_size::{Ranged, TextLen, TextSize}; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for unnecessary dictionary unpacking operators (`**`). diff --git a/crates/ruff_linter/src/rules/flake8_print/rules/print_call.rs b/crates/ruff_linter/src/rules/flake8_print/rules/print_call.rs index ed7f4ce866..c5a851aaf8 100644 --- a/crates/ruff_linter/src/rules/flake8_print/rules/print_call.rs +++ b/crates/ruff_linter/src/rules/flake8_print/rules/print_call.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::edits::delete_stmt; +use crate::{Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `print` statements. diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/any_eq_ne_annotation.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/any_eq_ne_annotation.rs index db61dcff95..89ede8dc94 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/any_eq_ne_annotation.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/any_eq_ne_annotation.rs @@ -1,10 +1,10 @@ use ruff_python_ast::Parameters; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for `__eq__` and `__ne__` implementations that use `typing.Any` as diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/bad_generator_return_type.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/bad_generator_return_type.rs index b6033ebab1..0524b69af6 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/bad_generator_return_type.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/bad_generator_return_type.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::helpers::map_subscript; @@ -8,6 +7,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for simple `__iter__` methods that return `Generator`, and for diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/bad_version_info_comparison.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/bad_version_info_comparison.rs index 4d4a21d84f..edd8ac1cb7 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/bad_version_info_comparison.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/bad_version_info_comparison.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, CmpOp, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::preview::is_bad_version_info_in_non_stub_enabled; use crate::registry::Rule; diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/bytestring_usage.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/bytestring_usage.rs index 3267c08e5e..264d650548 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/bytestring_usage.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/bytestring_usage.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{FixAvailability, Violation}; /// ## What it does /// Checks for uses of `typing.ByteString` or `collections.abc.ByteString`. diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/collections_named_tuple.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/collections_named_tuple.rs index ea122dfdaa..c969a3d092 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/collections_named_tuple.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/collections_named_tuple.rs @@ -1,10 +1,10 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/complex_assignment_in_stub.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/complex_assignment_in_stub.rs index dda0042d59..0f38dfe8e6 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/complex_assignment_in_stub.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/complex_assignment_in_stub.rs @@ -1,8 +1,8 @@ use ruff_python_ast::{Expr, StmtAssign}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/complex_if_statement_in_stub.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/complex_if_statement_in_stub.rs index a2525a8dfc..010753a0bc 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/complex_if_statement_in_stub.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/complex_if_statement_in_stub.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/custom_type_var_for_self.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/custom_type_var_for_self.rs index 24e39f267a..d2a8d8527a 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/custom_type_var_for_self.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/custom_type_var_for_self.rs @@ -1,9 +1,9 @@ use anyhow::{Context, bail}; use itertools::Itertools; -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; +use ruff_python_ast::PythonVersion; use ruff_python_semantic::analyze::class::is_metaclass; use ruff_python_semantic::analyze::function_type::{self, FunctionType}; use ruff_python_semantic::analyze::visibility::{is_abstract, is_overload}; @@ -11,7 +11,7 @@ use ruff_python_semantic::{Binding, ResolvedReference, ScopeId, SemanticModel}; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::{Checker, TypingImporter}; -use ruff_python_ast::PythonVersion; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for methods that use custom [`TypeVar`s][typing_TypeVar] in their diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/docstring_in_stubs.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/docstring_in_stubs.rs index f74b7046e7..5921058fbe 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/docstring_in_stubs.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/docstring_in_stubs.rs @@ -1,12 +1,10 @@ -use ruff_python_ast::ExprStringLiteral; - -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use ruff_python_ast::ExprStringLiteral; +use ruff_python_semantic::Definition; use ruff_text_size::Ranged; -use ruff_python_semantic::Definition; - use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for the presence of docstrings in stub files. diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/duplicate_literal_member.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/duplicate_literal_member.rs index 6a8cdc0a21..261a52a619 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/duplicate_literal_member.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/duplicate_literal_member.rs @@ -2,7 +2,6 @@ use std::collections::HashSet; use rustc_hash::FxHashSet; -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableExpr; use ruff_python_ast::{self as ast, Expr, ExprContext}; @@ -10,6 +9,7 @@ use ruff_python_semantic::analyze::typing::traverse_literal; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Applicability, Edit, Fix}; /// ## What it does /// Checks for duplicate members in a `typing.Literal[]` slice. diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/duplicate_union_member.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/duplicate_union_member.rs index 81eb281244..1064ca22b8 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/duplicate_union_member.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/duplicate_union_member.rs @@ -2,7 +2,6 @@ use std::collections::HashSet; use rustc_hash::FxHashSet; -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableExpr; use ruff_python_ast::{Expr, ExprBinOp, Operator, PythonVersion}; @@ -10,6 +9,7 @@ use ruff_python_semantic::analyze::typing::traverse_union; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; use super::generate_union_fix; diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/ellipsis_in_non_empty_class_body.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/ellipsis_in_non_empty_class_body.rs index 028ab7c5a6..aef6f5639b 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/ellipsis_in_non_empty_class_body.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/ellipsis_in_non_empty_class_body.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Stmt, StmtExpr}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix; +use crate::{Fix, FixAvailability, Violation}; /// ## What it does /// Removes ellipses (`...`) in otherwise non-empty class bodies. diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/exit_annotations.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/exit_annotations.rs index bb1f636bbd..7e7b670913 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/exit_annotations.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/exit_annotations.rs @@ -6,13 +6,13 @@ use ruff_python_ast::{ }; use smallvec::SmallVec; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::{SemanticModel, analyze::visibility::is_overload}; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for incorrect function signatures on `__exit__` and `__aexit__` diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/future_annotations_in_stub.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/future_annotations_in_stub.rs index 28ae4ef701..398f4ad22e 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/future_annotations_in_stub.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/future_annotations_in_stub.rs @@ -1,8 +1,8 @@ use ruff_python_ast::StmtImportFrom; -use ruff_diagnostics::{Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::{Fix, FixAvailability, Violation}; use crate::{checkers::ast::Checker, fix, preview::is_fix_future_annotations_in_stub_enabled}; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/generic_not_last_base_class.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/generic_not_last_base_class.rs index 5aa851fb8d..b7ab81f3d3 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/generic_not_last_base_class.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/generic_not_last_base_class.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, helpers::map_subscript}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::edits::{Parentheses, add_argument, remove_argument}; +use crate::{Fix, FixAvailability, Violation}; /// ## What it does /// Checks for classes inheriting from `typing.Generic[]` where `Generic[]` is diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/iter_method_return_iterable.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/iter_method_return_iterable.rs index d2a25aa029..b72a0ce0cc 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/iter_method_return_iterable.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/iter_method_return_iterable.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::map_subscript; use ruff_text_size::Ranged; use ruff_python_semantic::{Definition, Member, MemberKind}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/mod.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/mod.rs index 0b9826d976..ce7b0700ac 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/mod.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/mod.rs @@ -2,12 +2,12 @@ use std::fmt; use anyhow::Result; -use ruff_diagnostics::{Applicability, Edit, Fix}; use ruff_python_ast::{Expr, ExprContext, ExprName, ExprSubscript, ExprTuple, name::Name}; use ruff_python_codegen::Generator; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::TypingImporter; +use crate::{Applicability, Edit, Fix}; pub(crate) use any_eq_ne_annotation::*; pub(crate) use bad_generator_return_type::*; diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/no_return_argument_annotation.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/no_return_argument_annotation.rs index 87cd4ff8c6..c129ae33f7 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/no_return_argument_annotation.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/no_return_argument_annotation.rs @@ -1,10 +1,10 @@ use std::fmt; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use ruff_python_ast::PythonVersion; diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/non_empty_stub_body.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/non_empty_stub_body.rs index 02b5a61b0d..cfc005941a 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/non_empty_stub_body.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/non_empty_stub_body.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_docstring_stmt; use ruff_python_ast::{self as ast, Stmt}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for non-empty function stub bodies. diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/non_self_return_type.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/non_self_return_type.rs index ae2bf52d7f..9e823d11d5 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/non_self_return_type.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/non_self_return_type.rs @@ -1,5 +1,5 @@ use crate::checkers::ast::{Checker, TypingImporter}; -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::PythonVersion; diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/numeric_literal_too_long.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/numeric_literal_too_long.rs index a9f805501d..739778f4cf 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/numeric_literal_too_long.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/numeric_literal_too_long.rs @@ -1,10 +1,10 @@ use ruff_python_ast::Expr; use ruff_text_size::{Ranged, TextSize}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for numeric literals with a string representation longer than ten diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/pass_in_class_body.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/pass_in_class_body.rs index 830107855e..2177f92e78 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/pass_in_class_body.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/pass_in_class_body.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix; +use crate::{AlwaysFixableViolation, Fix}; /// ## What it does /// Checks for the presence of the `pass` statement in non-empty class bodies diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/pass_statement_stub_body.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/pass_statement_stub_body.rs index 8ecd9f23f8..f4a7f64538 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/pass_statement_stub_body.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/pass_statement_stub_body.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Stmt; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for `pass` statements in empty stub bodies. diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/pre_pep570_positional_argument.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/pre_pep570_positional_argument.rs index 344cb22744..2b83f7783d 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/pre_pep570_positional_argument.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/pre_pep570_positional_argument.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; use ruff_python_ast::{self as ast, ParameterWithDefault}; use ruff_python_semantic::analyze::function_type; +use crate::Violation; use crate::checkers::ast::Checker; use ruff_python_ast::PythonVersion; diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/prefix_type_params.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/prefix_type_params.rs index fd1d872a61..152c54671b 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/prefix_type_params.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/prefix_type_params.rs @@ -1,10 +1,10 @@ use std::fmt; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; #[derive(Debug, PartialEq, Eq, Copy, Clone)] diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/quoted_annotation_in_stub.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/quoted_annotation_in_stub.rs index 529e1e0674..63b610408b 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/quoted_annotation_in_stub.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/quoted_annotation_in_stub.rs @@ -1,9 +1,9 @@ use ruff_text_size::TextRange; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for quoted type annotations in stub (`.pyi`) files, which should be avoided. diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/redundant_final_literal.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/redundant_final_literal.rs index 50c34c4820..d710b4823f 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/redundant_final_literal.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/redundant_final_literal.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, comparable::ComparableExpr}; use ruff_text_size::{Ranged, TextSize}; @@ -6,6 +5,7 @@ use ruff_text_size::{Ranged, TextSize}; use crate::Locator; use crate::checkers::ast::Checker; use crate::fix::snippet::SourceCodeSnippet; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for redundant `Final[Literal[...]]` annotations. diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/redundant_literal_union.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/redundant_literal_union.rs index 7eb69aa53a..512849b70d 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/redundant_literal_union.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/redundant_literal_union.rs @@ -2,13 +2,13 @@ use std::fmt; use rustc_hash::FxHashSet; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, LiteralExpressionRef}; use ruff_python_semantic::SemanticModel; use ruff_python_semantic::analyze::typing::traverse_union; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::fix::snippet::SourceCodeSnippet; diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/redundant_none_literal.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/redundant_none_literal.rs index 6d32946ca5..81ef4434fe 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/redundant_none_literal.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/redundant_none_literal.rs @@ -1,5 +1,4 @@ use anyhow::Result; -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{ self as ast, Expr, ExprBinOp, ExprContext, ExprNoneLiteral, Operator, PythonVersion, @@ -12,6 +11,7 @@ use ruff_text_size::{Ranged, TextRange}; use smallvec::SmallVec; use crate::checkers::ast::Checker; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for redundant `Literal[None]` annotations. diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/redundant_numeric_union.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/redundant_numeric_union.rs index 3e5a47e60c..c384433ddd 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/redundant_numeric_union.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/redundant_numeric_union.rs @@ -1,12 +1,12 @@ use bitflags::bitflags; -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{AnyParameterRef, Expr, ExprBinOp, Operator, Parameters, PythonVersion}; use ruff_python_semantic::analyze::typing::traverse_union; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; use super::generate_union_fix; diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/simple_defaults.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/simple_defaults.rs index bc3025d0f0..ad9d6137bd 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/simple_defaults.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/simple_defaults.rs @@ -1,5 +1,5 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use ruff_python_ast::PythonVersion; use ruff_python_ast::name::QualifiedName; use ruff_python_ast::{self as ast, Expr, Operator, Parameters, Stmt, UnaryOp}; use ruff_python_semantic::{ScopeKind, SemanticModel, analyze::class::is_enumeration}; @@ -8,7 +8,7 @@ use ruff_text_size::Ranged; use crate::Locator; use crate::checkers::ast::Checker; use crate::rules::flake8_pyi::rules::TypingModule; -use ruff_python_ast::PythonVersion; +use crate::{AlwaysFixableViolation, Edit, Fix, Violation}; /// ## What it does /// Checks for typed function arguments in stubs with complex default values. diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/str_or_repr_defined_in_stub.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/str_or_repr_defined_in_stub.rs index 670d2022ec..6cb7ceaa2e 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/str_or_repr_defined_in_stub.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/str_or_repr_defined_in_stub.rs @@ -1,13 +1,13 @@ use ruff_python_ast as ast; use ruff_python_ast::Stmt; -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; use ruff_python_semantic::analyze::visibility::is_abstract; use crate::checkers::ast::Checker; use crate::fix::edits::delete_stmt; +use crate::{AlwaysFixableViolation, Fix}; /// ## What it does /// Checks for redundant definitions of `__str__` or `__repr__` in stubs. diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/string_or_bytes_too_long.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/string_or_bytes_too_long.rs index a9d60412f4..76ae0e1e0b 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/string_or_bytes_too_long.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/string_or_bytes_too_long.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_docstring_stmt; use ruff_python_ast::{self as ast, StringLike}; @@ -6,6 +5,7 @@ use ruff_python_semantic::SemanticModel; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for the use of string and bytes literals longer than 50 characters diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/stub_body_multiple_statements.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/stub_body_multiple_statements.rs index e29aac789f..06b428d7d3 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/stub_body_multiple_statements.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/stub_body_multiple_statements.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Stmt; use ruff_python_ast::identifier::Identifier; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/type_alias_naming.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/type_alias_naming.rs index d2c27f8f93..1333356a22 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/type_alias_naming.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/type_alias_naming.rs @@ -1,8 +1,8 @@ use ruff_python_ast::{self as ast, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/type_comment_in_stub.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/type_comment_in_stub.rs index 67f09e1ecc..f8ac77d69c 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/type_comment_in_stub.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/type_comment_in_stub.rs @@ -2,11 +2,11 @@ use std::sync::LazyLock; use regex::Regex; -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_trivia::CommentRanges; use crate::Locator; +use crate::{Diagnostic, Violation}; /// ## What it does /// Checks for the use of type comments (e.g., `x = 1 # type: int`) in stub diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/unaliased_collections_abc_set_import.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/unaliased_collections_abc_set_import.rs index d0bc616c09..ba3c63ac2f 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/unaliased_collections_abc_set_import.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/unaliased_collections_abc_set_import.rs @@ -1,12 +1,11 @@ -use ruff_diagnostics::{Applicability, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Imported; use ruff_python_semantic::{Binding, BindingKind, Scope}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; - use crate::renamer::Renamer; +use crate::{Applicability, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `from collections.abc import Set` imports that do not alias diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/unnecessary_literal_union.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/unnecessary_literal_union.rs index 5283220dc1..0062f07063 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/unnecessary_literal_union.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/unnecessary_literal_union.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::pep_604_union; use ruff_python_ast::{self as ast, Expr, ExprContext}; @@ -6,6 +5,7 @@ use ruff_python_semantic::analyze::typing::traverse_union; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for the presence of multiple literal types in a union. diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/unnecessary_type_union.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/unnecessary_type_union.rs index cf6505fa6c..c2b7628b2f 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/unnecessary_type_union.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/unnecessary_type_union.rs @@ -1,5 +1,4 @@ use ast::ExprContext; -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::pep_604_union; use ruff_python_ast::name::Name; @@ -8,6 +7,7 @@ use ruff_python_semantic::analyze::typing::traverse_union; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for the presence of multiple `type`s in a union. diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/unrecognized_platform.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/unrecognized_platform.rs index 97914b0536..4cf4730471 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/unrecognized_platform.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/unrecognized_platform.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, CmpOp, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::registry::Rule; diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/unrecognized_version_info.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/unrecognized_version_info.rs index cccf71d073..e01b18613f 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/unrecognized_version_info.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/unrecognized_version_info.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::map_subscript; use ruff_python_ast::{self as ast, CmpOp, Expr, Int}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::registry::Rule; diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/unsupported_method_call_on_all.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/unsupported_method_call_on_all.rs index 082cf4bdd8..e745f67210 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/unsupported_method_call_on_all.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/unsupported_method_call_on_all.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/unused_private_type_definition.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/unused_private_type_definition.rs index 5e481a724a..d5e6645642 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/unused_private_type_definition.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/unused_private_type_definition.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::map_subscript; use ruff_python_ast::{self as ast, Expr, Stmt}; @@ -7,6 +6,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix; +use crate::{Fix, FixAvailability, Violation}; /// ## What it does /// Checks for the presence of unused private `TypeVar`, `ParamSpec` or diff --git a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/assertion.rs b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/assertion.rs index 71ba1e1de4..795c3c7e5c 100644 --- a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/assertion.rs +++ b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/assertion.rs @@ -8,7 +8,6 @@ use libcst_native::{ SimpleWhitespace, SmallStatement, Statement, TrailingWhitespace, }; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::Truthiness; use ruff_python_ast::parenthesize::parenthesized_range; @@ -29,6 +28,7 @@ use crate::cst::matchers::match_indented_block; use crate::cst::matchers::match_module; use crate::fix::codemods::CodegenStylist; use crate::importer::ImportRequest; +use crate::{Edit, Fix, FixAvailability, Violation}; use super::unittest_assert::UnittestAssert; diff --git a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/fail.rs b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/fail.rs index 3c38e08c2b..9498e51924 100644 --- a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/fail.rs +++ b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/fail.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use super::helpers::{is_empty_or_null_string, is_pytest_fail}; diff --git a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/fixture.rs b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/fixture.rs index c3b5e0cb99..634bf422e1 100644 --- a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/fixture.rs +++ b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/fixture.rs @@ -1,5 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Violation}; -use ruff_diagnostics::{Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Decorator; use ruff_python_ast::helpers::map_callable; @@ -17,6 +15,8 @@ use rustc_hash::FxHashSet; use crate::checkers::ast::Checker; use crate::fix::edits; use crate::registry::Rule; +use crate::{AlwaysFixableViolation, Violation}; +use crate::{Edit, Fix}; use super::helpers::{ Parentheses, get_mark_decorators, is_pytest_fixture, is_pytest_yield_fixture, diff --git a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/imports.rs b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/imports.rs index e92b0f1fdc..2b6c126185 100644 --- a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/imports.rs +++ b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/imports.rs @@ -1,10 +1,9 @@ use ruff_python_ast::Stmt; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; -use crate::checkers::ast::Checker; +use crate::{Violation, checkers::ast::Checker}; /// ## What it does /// Checks for incorrect import of pytest. diff --git a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/marks.rs b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/marks.rs index 513398827d..979cb7dff6 100644 --- a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/marks.rs +++ b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/marks.rs @@ -1,11 +1,11 @@ use ruff_python_ast::{self as ast, Arguments, Decorator, Expr}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::registry::Rule; +use crate::{AlwaysFixableViolation, Edit, Fix}; use super::helpers::{Parentheses, get_mark_decorators}; diff --git a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/parametrize.rs b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/parametrize.rs index a0f1d8f9bc..197802ed99 100644 --- a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/parametrize.rs +++ b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/parametrize.rs @@ -1,6 +1,5 @@ use rustc_hash::{FxBuildHasher, FxHashMap}; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableExpr; use ruff_python_ast::parenthesize::parenthesized_range; @@ -12,6 +11,7 @@ use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::checkers::ast::Checker; use crate::registry::Rule; +use crate::{Edit, Fix, FixAvailability, Violation}; use super::super::types; use super::helpers::{is_pytest_parametrize, split_names}; diff --git a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/patch.rs b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/patch.rs index 2954531a9c..3936dbfff2 100644 --- a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/patch.rs +++ b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/patch.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::UnqualifiedName; use ruff_python_ast::visitor; @@ -6,6 +5,7 @@ use ruff_python_ast::visitor::Visitor; use ruff_python_ast::{self as ast, Expr, Parameters}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/raises.rs b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/raises.rs index 4fc0d62833..ce4763e83b 100644 --- a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/raises.rs +++ b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/raises.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_compound_statement; use ruff_python_ast::{self as ast, Expr, Stmt, WithItem}; use ruff_python_semantic::SemanticModel; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::registry::Rule; diff --git a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/test_functions.rs b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/test_functions.rs index 1da6464166..a188e03f90 100644 --- a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/test_functions.rs +++ b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/test_functions.rs @@ -1,6 +1,6 @@ use crate::checkers::ast::Checker; use crate::rules::flake8_pytest_style::rules::helpers::is_likely_pytest_test; -use ruff_diagnostics::{Edit, Fix, Violation}; +use crate::{Edit, Fix, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::StmtFunctionDef; use ruff_text_size::Ranged; diff --git a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/warns.rs b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/warns.rs index ceadb3ba08..9b3d6e0796 100644 --- a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/warns.rs +++ b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/warns.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_compound_statement; use ruff_python_ast::{self as ast, Expr, Stmt, WithItem}; use ruff_python_semantic::SemanticModel; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::registry::Rule; diff --git a/crates/ruff_linter/src/rules/flake8_quotes/rules/avoidable_escaped_quote.rs b/crates/ruff_linter/src/rules/flake8_quotes/rules/avoidable_escaped_quote.rs index 64b1b83de2..b5b0ceadab 100644 --- a/crates/ruff_linter/src/rules/flake8_quotes/rules/avoidable_escaped_quote.rs +++ b/crates/ruff_linter/src/rules/flake8_quotes/rules/avoidable_escaped_quote.rs @@ -1,6 +1,5 @@ use flake8_quotes::helpers::{contains_escaped_quote, raw_contents, unescape_string}; use flake8_quotes::settings::Quote; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::visitor::{Visitor, walk_f_string}; use ruff_python_ast::{self as ast, AnyStringFlags, PythonVersion, StringFlags, StringLike}; @@ -8,6 +7,7 @@ use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::checkers::ast::Checker; use crate::rules::flake8_quotes; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for strings that include escaped quotes, and suggests changing diff --git a/crates/ruff_linter/src/rules/flake8_quotes/rules/check_string_quotes.rs b/crates/ruff_linter/src/rules/flake8_quotes/rules/check_string_quotes.rs index 8ad5310f90..6d8ae3237e 100644 --- a/crates/ruff_linter/src/rules/flake8_quotes/rules/check_string_quotes.rs +++ b/crates/ruff_linter/src/rules/flake8_quotes/rules/check_string_quotes.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::StringLike; use ruff_text_size::{Ranged, TextRange}; @@ -6,6 +5,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::Locator; use crate::checkers::ast::Checker; use crate::registry::Rule; +use crate::{AlwaysFixableViolation, Edit, Fix, FixAvailability, Violation}; use super::super::settings::Quote; diff --git a/crates/ruff_linter/src/rules/flake8_quotes/rules/unnecessary_escaped_quote.rs b/crates/ruff_linter/src/rules/flake8_quotes/rules/unnecessary_escaped_quote.rs index 8a58fccf00..32ea80a749 100644 --- a/crates/ruff_linter/src/rules/flake8_quotes/rules/unnecessary_escaped_quote.rs +++ b/crates/ruff_linter/src/rules/flake8_quotes/rules/unnecessary_escaped_quote.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, AnyStringFlags, StringFlags, StringLike}; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; use super::super::helpers::{contains_escaped_quote, raw_contents, unescape_string}; diff --git a/crates/ruff_linter/src/rules/flake8_raise/rules/unnecessary_paren_on_raise_exception.rs b/crates/ruff_linter/src/rules/flake8_raise/rules/unnecessary_paren_on_raise_exception.rs index 236fbff0b4..37ae01b46b 100644 --- a/crates/ruff_linter/src/rules/flake8_raise/rules/unnecessary_paren_on_raise_exception.rs +++ b/crates/ruff_linter/src/rules/flake8_raise/rules/unnecessary_paren_on_raise_exception.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_semantic::BindingKind; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Applicability, Edit, Fix}; /// ## What it does /// Checks for unnecessary parentheses on raised exceptions. diff --git a/crates/ruff_linter/src/rules/flake8_return/rules/function.rs b/crates/ruff_linter/src/rules/flake8_return/rules/function.rs index 5678c95714..9a42a7497c 100644 --- a/crates/ruff_linter/src/rules/flake8_return/rules/function.rs +++ b/crates/ruff_linter/src/rules/flake8_return/rules/function.rs @@ -2,8 +2,6 @@ use std::ops::Add; use anyhow::Result; -use ruff_diagnostics::{AlwaysFixableViolation, FixAvailability, Violation}; -use ruff_diagnostics::{Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::{is_const_false, is_const_true}; use ruff_python_ast::stmt_if::elif_else_range; @@ -22,6 +20,8 @@ use crate::fix::edits::adjust_indentation; use crate::preview::is_only_add_return_none_at_end_enabled; use crate::registry::Rule; use crate::rules::flake8_return::helpers::end_of_last_statement; +use crate::{AlwaysFixableViolation, FixAvailability, Violation}; +use crate::{Edit, Fix}; use super::super::branch::Branch; use super::super::helpers::result_exists; diff --git a/crates/ruff_linter/src/rules/flake8_self/rules/private_member_access.rs b/crates/ruff_linter/src/rules/flake8_self/rules/private_member_access.rs index 7bb4ff3b21..52b704d93a 100644 --- a/crates/ruff_linter/src/rules/flake8_self/rules/private_member_access.rs +++ b/crates/ruff_linter/src/rules/flake8_self/rules/private_member_access.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::{is_dunder, is_sunder}; use ruff_python_ast::name::UnqualifiedName; @@ -8,6 +7,7 @@ use ruff_python_semantic::analyze::typing::TypeChecker; use ruff_python_semantic::{BindingKind, ScopeKind, SemanticModel}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pylint::helpers::is_dunder_operator_method; diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_bool_op.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_bool_op.rs index 07f2bcb20d..e2a3582137 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_bool_op.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_bool_op.rs @@ -6,7 +6,6 @@ use itertools::Itertools; use ruff_python_ast::{self as ast, Arguments, BoolOp, CmpOp, Expr, ExprContext, UnaryOp}; use ruff_text_size::{Ranged, TextRange}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableExpr; use ruff_python_ast::helpers::{Truthiness, contains_effect}; @@ -17,6 +16,7 @@ use ruff_python_semantic::SemanticModel; use crate::checkers::ast::Checker; use crate::fix::edits::pad; +use crate::{AlwaysFixableViolation, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for multiple `isinstance` calls on the same target. diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_expr.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_expr.rs index 8a8b5268fd..ff1b0e83ea 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_expr.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_expr.rs @@ -1,13 +1,13 @@ use ruff_python_ast::{self as ast, Arguments, Expr, str_prefix::StringLiteralPrefix}; use ruff_text_size::{Ranged, TextRange}; -use crate::fix::snippet::SourceCodeSnippet; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Modules; use ruff_python_semantic::analyze::typing::is_dict; use crate::checkers::ast::Checker; +use crate::fix::snippet::SourceCodeSnippet; +use crate::{AlwaysFixableViolation, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Check for environment variables that are not capitalized. diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_ifexp.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_ifexp.rs index 8207ec4f3f..abcd4b214a 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_ifexp.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_ifexp.rs @@ -1,13 +1,13 @@ use ruff_python_ast::{self as ast, Arguments, Expr, ExprContext, UnaryOp}; use ruff_text_size::{Ranged, TextRange}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::{is_const_false, is_const_true}; use ruff_python_ast::name::Name; use ruff_python_ast::parenthesize::parenthesized_range; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `if` expressions that can be replaced with `bool()` calls. diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_unary_op.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_unary_op.rs index b615c4d908..4b7c249b2b 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_unary_op.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_unary_op.rs @@ -1,12 +1,12 @@ use ruff_python_ast::{self as ast, Arguments, CmpOp, Expr, ExprContext, Stmt, UnaryOp}; use ruff_text_size::{Ranged, TextRange}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::Name; use ruff_python_semantic::ScopeKind; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for negated `==` operators. diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_with.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_with.rs index 06cd73d100..537fb1f9d9 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_with.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/ast_with.rs @@ -1,17 +1,17 @@ use anyhow::bail; use ast::Expr; -use ruff_diagnostics::Fix; -use ruff_diagnostics::{FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Stmt, WithItem}; use ruff_python_trivia::{SimpleTokenKind, SimpleTokenizer}; use ruff_text_size::{Ranged, TextRange}; use super::fix_with; +use crate::Fix; use crate::checkers::ast::Checker; use crate::fix::edits::fits; use crate::preview::multiple_with_statements_fix_safe_enabled; +use crate::{FixAvailability, Violation}; /// ## What it does /// Checks for the unnecessary nesting of multiple consecutive context diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/collapsible_if.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/collapsible_if.rs index fc590eaf58..04039a8f5f 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/collapsible_if.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/collapsible_if.rs @@ -3,7 +3,6 @@ use std::borrow::Cow; use anyhow::{Result, bail}; use libcst_native::ParenthesizedNode; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::AnyNodeRef; use ruff_python_ast::{self as ast, ElifElseClause, Expr, Stmt, whitespace}; @@ -19,6 +18,7 @@ use crate::cst::helpers::space; use crate::cst::matchers::{match_function_def, match_if, match_indented_block, match_statement}; use crate::fix::codemods::CodegenStylist; use crate::fix::edits::fits; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for nested `if` statements that can be collapsed into a single `if` diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/enumerate_for_loop.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/enumerate_for_loop.rs index e3c66683b8..94396576f4 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/enumerate_for_loop.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/enumerate_for_loop.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::statement_visitor::{StatementVisitor, walk_stmt}; use ruff_python_ast::{self as ast, Expr, Int, Number, Operator, Stmt}; use ruff_python_semantic::analyze::typing; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/fix_with.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/fix_with.rs index bf1f681d43..e518753f40 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/fix_with.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/fix_with.rs @@ -1,13 +1,13 @@ use anyhow::{Result, bail}; use libcst_native::{CompoundStatement, Statement, Suite, With}; -use ruff_diagnostics::Edit; use ruff_python_ast as ast; use ruff_python_ast::whitespace; use ruff_python_codegen::Stylist; use ruff_source_file::LineRanges; use ruff_text_size::Ranged; +use crate::Edit; use crate::Locator; use crate::cst::matchers::{match_function_def, match_indented_block, match_statement, match_with}; use crate::fix::codemods::CodegenStylist; diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/if_else_block_instead_of_dict_get.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/if_else_block_instead_of_dict_get.rs index 35b40b17d9..12eb987bde 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/if_else_block_instead_of_dict_get.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/if_else_block_instead_of_dict_get.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableExpr; use ruff_python_ast::helpers::contains_effect; @@ -12,6 +11,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::fix::edits::fits; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `if` statements that can be replaced with `dict.get` calls. diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/if_else_block_instead_of_dict_lookup.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/if_else_block_instead_of_dict_lookup.rs index 55a2baee3e..2d116658db 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/if_else_block_instead_of_dict_lookup.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/if_else_block_instead_of_dict_lookup.rs @@ -1,6 +1,5 @@ use rustc_hash::FxHashSet; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableLiteral; use ruff_python_ast::helpers::contains_effect; @@ -8,6 +7,7 @@ use ruff_python_ast::{self as ast, CmpOp, ElifElseClause, Expr, Stmt}; use ruff_python_semantic::analyze::typing::{is_sys_version_block, is_type_checking_block}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/if_else_block_instead_of_if_exp.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/if_else_block_instead_of_if_exp.rs index 278f7e9b26..7de2bb14d3 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/if_else_block_instead_of_if_exp.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/if_else_block_instead_of_if_exp.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableExpr; use ruff_python_ast::helpers::contains_effect; @@ -9,6 +8,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::fix::edits::fits; use crate::preview::is_simplify_ternary_to_binary_enabled; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Check for `if`-`else`-blocks that can be replaced with a ternary operator. diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/if_with_same_arms.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/if_with_same_arms.rs index 76fa1d5ef0..404c78e260 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/if_with_same_arms.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/if_with_same_arms.rs @@ -2,7 +2,6 @@ use std::borrow::Cow; use anyhow::Result; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableStmt; use ruff_python_ast::parenthesize::parenthesized_range; @@ -14,6 +13,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::Locator; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `if` branches with identical arm bodies. diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/key_in_dict.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/key_in_dict.rs index 5a21b7a9da..ff15fe6590 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/key_in_dict.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/key_in_dict.rs @@ -1,5 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; -use ruff_diagnostics::{Applicability, Edit}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::AnyNodeRef; use ruff_python_ast::parenthesize::parenthesized_range; @@ -9,6 +7,8 @@ use ruff_python_trivia::{SimpleTokenKind, SimpleTokenizer}; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Fix}; +use crate::{Applicability, Edit}; /// ## What it does /// Checks for key-existence checks against `dict.keys()` calls. diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/needless_bool.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/needless_bool.rs index 40c5cc9f5a..f313430121 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/needless_bool.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/needless_bool.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::Name; use ruff_python_ast::traversal; @@ -8,6 +7,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::fix::snippet::SourceCodeSnippet; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `if` statements that can be replaced with `bool`. diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/open_file_with_context_handler.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/open_file_with_context_handler.rs index 3c664654e6..7005485d2b 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/open_file_with_context_handler.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/open_file_with_context_handler.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{self as ast, Expr, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::{ScopeKind, SemanticModel}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/reimplemented_builtin.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/reimplemented_builtin.rs index c021a8ca0c..f3737535ed 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/reimplemented_builtin.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/reimplemented_builtin.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::any_over_expr; use ruff_python_ast::name::Name; @@ -13,6 +12,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::fix::edits::fits; use crate::line_width::LineWidthBuilder; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `for` loops that can be replaced with a builtin function, like diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/return_in_try_except_finally.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/return_in_try_except_finally.rs index 707e9b3ad9..636b490673 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/return_in_try_except_finally.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/return_in_try_except_finally.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, ExceptHandler, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/split_static_string.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/split_static_string.rs index 780d985b47..44d3840388 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/split_static_string.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/split_static_string.rs @@ -1,6 +1,5 @@ use std::cmp::Ordering; -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{ Expr, ExprCall, ExprContext, ExprList, ExprUnaryOp, StringLiteral, StringLiteralFlags, @@ -9,6 +8,7 @@ use ruff_python_ast::{ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for static `str.split` calls that can be replaced with list literals. diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/suppressible_exception.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/suppressible_exception.rs index 03d01cc898..3980e2692a 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/suppressible_exception.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/suppressible_exception.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers; use ruff_python_ast::name::UnqualifiedName; @@ -9,6 +8,7 @@ use ruff_text_size::{TextLen, TextRange}; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `try`-`except`-`pass` blocks that can be replaced with the diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/yoda_conditions.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/yoda_conditions.rs index f741bbeb14..687af811c9 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/yoda_conditions.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/yoda_conditions.rs @@ -3,7 +3,6 @@ use std::cmp; use anyhow::Result; use libcst_native::CompOp; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, CmpOp, Expr, UnaryOp}; use ruff_python_codegen::Stylist; @@ -16,6 +15,7 @@ use crate::cst::helpers::or_space; use crate::cst::matchers::{match_comparison, transform_expression}; use crate::fix::edits::pad; use crate::fix::snippet::SourceCodeSnippet; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for conditions that position a constant on the left-hand side of the diff --git a/crates/ruff_linter/src/rules/flake8_simplify/rules/zip_dict_keys_and_values.rs b/crates/ruff_linter/src/rules/flake8_simplify/rules/zip_dict_keys_and_values.rs index 31dbcf7266..60384439bd 100644 --- a/crates/ruff_linter/src/rules/flake8_simplify/rules/zip_dict_keys_and_values.rs +++ b/crates/ruff_linter/src/rules/flake8_simplify/rules/zip_dict_keys_and_values.rs @@ -1,11 +1,11 @@ use ast::{ExprAttribute, ExprName, Identifier}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Arguments, Expr}; +use ruff_python_semantic::analyze::typing::is_dict; use ruff_text_size::Ranged; +use crate::{AlwaysFixableViolation, Edit, Fix}; use crate::{checkers::ast::Checker, fix::snippet::SourceCodeSnippet}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; -use ruff_python_semantic::analyze::typing::is_dict; /// ## What it does /// Checks for use of `zip()` to iterate over keys and values of a dictionary at once. diff --git a/crates/ruff_linter/src/rules/flake8_slots/rules/no_slots_in_namedtuple_subclass.rs b/crates/ruff_linter/src/rules/flake8_slots/rules/no_slots_in_namedtuple_subclass.rs index b10f8473d1..d4ac9fcc68 100644 --- a/crates/ruff_linter/src/rules/flake8_slots/rules/no_slots_in_namedtuple_subclass.rs +++ b/crates/ruff_linter/src/rules/flake8_slots/rules/no_slots_in_namedtuple_subclass.rs @@ -1,10 +1,10 @@ use std::fmt; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Arguments, Expr, Stmt, StmtClassDef, identifier::Identifier}; use ruff_python_semantic::SemanticModel; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_slots::rules::helpers::has_slots; diff --git a/crates/ruff_linter/src/rules/flake8_slots/rules/no_slots_in_str_subclass.rs b/crates/ruff_linter/src/rules/flake8_slots/rules/no_slots_in_str_subclass.rs index 3603db1709..020b8a529e 100644 --- a/crates/ruff_linter/src/rules/flake8_slots/rules/no_slots_in_str_subclass.rs +++ b/crates/ruff_linter/src/rules/flake8_slots/rules/no_slots_in_str_subclass.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; use ruff_python_ast::{Arguments, Expr, Stmt, StmtClassDef}; use ruff_python_semantic::{SemanticModel, analyze::class::is_enumeration}; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_slots::rules::helpers::has_slots; diff --git a/crates/ruff_linter/src/rules/flake8_slots/rules/no_slots_in_tuple_subclass.rs b/crates/ruff_linter/src/rules/flake8_slots/rules/no_slots_in_tuple_subclass.rs index c95db4be11..b2d118b6c3 100644 --- a/crates/ruff_linter/src/rules/flake8_slots/rules/no_slots_in_tuple_subclass.rs +++ b/crates/ruff_linter/src/rules/flake8_slots/rules/no_slots_in_tuple_subclass.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{Arguments, Stmt, StmtClassDef}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::map_subscript; use ruff_python_ast::identifier::Identifier; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_slots::rules::helpers::has_slots; diff --git a/crates/ruff_linter/src/rules/flake8_tidy_imports/rules/banned_api.rs b/crates/ruff_linter/src/rules/flake8_tidy_imports/rules/banned_api.rs index 9c65b36a83..c51d016e6b 100644 --- a/crates/ruff_linter/src/rules/flake8_tidy_imports/rules/banned_api.rs +++ b/crates/ruff_linter/src/rules/flake8_tidy_imports/rules/banned_api.rs @@ -1,10 +1,10 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::QualifiedName; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_tidy_imports::matchers::NameMatchPolicy; diff --git a/crates/ruff_linter/src/rules/flake8_tidy_imports/rules/banned_module_level_imports.rs b/crates/ruff_linter/src/rules/flake8_tidy_imports/rules/banned_module_level_imports.rs index dee32f1831..11283e7202 100644 --- a/crates/ruff_linter/src/rules/flake8_tidy_imports/rules/banned_module_level_imports.rs +++ b/crates/ruff_linter/src/rules/flake8_tidy_imports/rules/banned_module_level_imports.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::resolve_imported_module_path; use ruff_python_ast::{Alias, AnyNodeRef, Stmt, StmtImport, StmtImportFrom}; use ruff_text_size::Ranged; use std::borrow::Cow; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_tidy_imports::matchers::{MatchName, MatchNameOrParent, NameMatchPolicy}; diff --git a/crates/ruff_linter/src/rules/flake8_tidy_imports/rules/relative_imports.rs b/crates/ruff_linter/src/rules/flake8_tidy_imports/rules/relative_imports.rs index f181a894c7..73dd4b82b9 100644 --- a/crates/ruff_linter/src/rules/flake8_tidy_imports/rules/relative_imports.rs +++ b/crates/ruff_linter/src/rules/flake8_tidy_imports/rules/relative_imports.rs @@ -1,13 +1,13 @@ use ruff_python_ast::{self as ast, Identifier, Stmt}; use ruff_text_size::{Ranged, TextRange}; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::resolve_imported_module_path; use ruff_python_codegen::Generator; use ruff_python_stdlib::identifiers::is_identifier; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; use crate::rules::flake8_tidy_imports::settings::Strictness; diff --git a/crates/ruff_linter/src/rules/flake8_todos/rules/todos.rs b/crates/ruff_linter/src/rules/flake8_todos/rules/todos.rs index 51459459d5..e3516650b5 100644 --- a/crates/ruff_linter/src/rules/flake8_todos/rules/todos.rs +++ b/crates/ruff_linter/src/rules/flake8_todos/rules/todos.rs @@ -2,13 +2,13 @@ use std::sync::LazyLock; use regex::RegexSet; -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Edit, Fix, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_trivia::CommentRanges; use ruff_text_size::{TextLen, TextRange, TextSize}; use crate::Locator; use crate::directives::{TodoComment, TodoDirective, TodoDirectiveKind}; +use crate::{AlwaysFixableViolation, Diagnostic, Edit, Fix, Violation}; /// ## What it does /// Checks that a TODO comment is labelled with "TODO". diff --git a/crates/ruff_linter/src/rules/flake8_type_checking/helpers.rs b/crates/ruff_linter/src/rules/flake8_type_checking/helpers.rs index 6c432cb8e2..2b3d60c56e 100644 --- a/crates/ruff_linter/src/rules/flake8_type_checking/helpers.rs +++ b/crates/ruff_linter/src/rules/flake8_type_checking/helpers.rs @@ -1,6 +1,5 @@ use std::cmp::Reverse; -use ruff_diagnostics::Edit; use ruff_python_ast::helpers::{map_callable, map_subscript}; use ruff_python_ast::name::QualifiedName; use ruff_python_ast::str::Quote; @@ -13,6 +12,7 @@ use ruff_python_semantic::{ }; use ruff_text_size::{Ranged, TextRange}; +use crate::Edit; use crate::Locator; use crate::rules::flake8_type_checking::settings::Settings; diff --git a/crates/ruff_linter/src/rules/flake8_type_checking/rules/empty_type_checking_block.rs b/crates/ruff_linter/src/rules/flake8_type_checking/rules/empty_type_checking_block.rs index 11f11825a6..c6b935929d 100644 --- a/crates/ruff_linter/src/rules/flake8_type_checking/rules/empty_type_checking_block.rs +++ b/crates/ruff_linter/src/rules/flake8_type_checking/rules/empty_type_checking_block.rs @@ -1,12 +1,12 @@ use ruff_python_ast as ast; -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::analyze::typing; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix; +use crate::{AlwaysFixableViolation, Fix}; /// ## What it does /// Checks for an empty type-checking block. diff --git a/crates/ruff_linter/src/rules/flake8_type_checking/rules/runtime_cast_value.rs b/crates/ruff_linter/src/rules/flake8_type_checking/rules/runtime_cast_value.rs index 5dbb249f7c..1db267f677 100644 --- a/crates/ruff_linter/src/rules/flake8_type_checking/rules/runtime_cast_value.rs +++ b/crates/ruff_linter/src/rules/flake8_type_checking/rules/runtime_cast_value.rs @@ -1,11 +1,11 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::rules::flake8_type_checking::helpers::quote_type_expression; +use crate::{AlwaysFixableViolation, Fix}; /// ## What it does /// Checks for unquoted type expressions in `typing.cast()` calls. diff --git a/crates/ruff_linter/src/rules/flake8_type_checking/rules/runtime_import_in_type_checking_block.rs b/crates/ruff_linter/src/rules/flake8_type_checking/rules/runtime_import_in_type_checking_block.rs index 1d9cb39e08..8aecca5d57 100644 --- a/crates/ruff_linter/src/rules/flake8_type_checking/rules/runtime_import_in_type_checking_block.rs +++ b/crates/ruff_linter/src/rules/flake8_type_checking/rules/runtime_import_in_type_checking_block.rs @@ -3,7 +3,6 @@ use std::borrow::Cow; use anyhow::Result; use rustc_hash::FxHashMap; -use ruff_diagnostics::{Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::{Imported, NodeId, Scope, ScopeId}; use ruff_text_size::Ranged; @@ -14,6 +13,7 @@ use crate::fix; use crate::importer::ImportedMembers; use crate::rules::flake8_type_checking::helpers::{filter_contained, quote_annotation}; use crate::rules::flake8_type_checking::imports::ImportBinding; +use crate::{Fix, FixAvailability, Violation}; /// ## What it does /// Checks for imports that are required at runtime but are only defined in diff --git a/crates/ruff_linter/src/rules/flake8_type_checking/rules/runtime_string_union.rs b/crates/ruff_linter/src/rules/flake8_type_checking/rules/runtime_string_union.rs index 42ac5c1b91..2391cbf157 100644 --- a/crates/ruff_linter/src/rules/flake8_type_checking/rules/runtime_string_union.rs +++ b/crates/ruff_linter/src/rules/flake8_type_checking/rules/runtime_string_union.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::{Expr, Operator}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_type_checking/rules/type_alias_quotes.rs b/crates/ruff_linter/src/rules/flake8_type_checking/rules/type_alias_quotes.rs index f478fda4c9..cf47b80d93 100644 --- a/crates/ruff_linter/src/rules/flake8_type_checking/rules/type_alias_quotes.rs +++ b/crates/ruff_linter/src/rules/flake8_type_checking/rules/type_alias_quotes.rs @@ -1,5 +1,4 @@ use ast::{ExprContext, Operator}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::{Expr, Stmt}; @@ -10,6 +9,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::registry::Rule; use crate::rules::flake8_type_checking::helpers::quote_type_expression; +use crate::{AlwaysFixableViolation, Edit, Fix, FixAvailability, Violation}; use ruff_python_ast::PythonVersion; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_type_checking/rules/typing_only_runtime_import.rs b/crates/ruff_linter/src/rules/flake8_type_checking/rules/typing_only_runtime_import.rs index d4a183e905..e91d00409d 100644 --- a/crates/ruff_linter/src/rules/flake8_type_checking/rules/typing_only_runtime_import.rs +++ b/crates/ruff_linter/src/rules/flake8_type_checking/rules/typing_only_runtime_import.rs @@ -3,7 +3,6 @@ use std::borrow::Cow; use anyhow::Result; use rustc_hash::FxHashMap; -use ruff_diagnostics::{Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::{Binding, Imported, NodeId, Scope}; use ruff_text_size::{Ranged, TextRange}; @@ -19,6 +18,7 @@ use crate::rules::flake8_type_checking::helpers::{ use crate::rules::flake8_type_checking::imports::ImportBinding; use crate::rules::isort::categorize::MatchSourceStrategy; use crate::rules::isort::{ImportSection, ImportType, categorize}; +use crate::{Fix, FixAvailability, Violation}; /// ## What it does /// Checks for first-party imports that are only used for type annotations, but diff --git a/crates/ruff_linter/src/rules/flake8_unused_arguments/rules/unused_arguments.rs b/crates/ruff_linter/src/rules/flake8_unused_arguments/rules/unused_arguments.rs index b6ef9c1549..774f689ed0 100644 --- a/crates/ruff_linter/src/rules/flake8_unused_arguments/rules/unused_arguments.rs +++ b/crates/ruff_linter/src/rules/flake8_unused_arguments/rules/unused_arguments.rs @@ -1,12 +1,12 @@ use ruff_python_ast as ast; use ruff_python_ast::{Parameter, Parameters, Stmt, StmtExpr, StmtFunctionDef, StmtRaise}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::analyze::{function_type, visibility}; use ruff_python_semantic::{Scope, ScopeKind, SemanticModel}; use ruff_text_size::{Ranged, TextRange}; +use crate::Violation; use crate::checkers::ast::Checker; use crate::registry::Rule; diff --git a/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/glob_rule.rs b/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/glob_rule.rs index 64f514f9d5..3c329bf20d 100644 --- a/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/glob_rule.rs +++ b/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/glob_rule.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## What it does /// Checks for the use of `glob.glob()` and `glob.iglob()`. /// diff --git a/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/invalid_pathlib_with_suffix.rs b/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/invalid_pathlib_with_suffix.rs index 167700d37e..708d418a24 100644 --- a/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/invalid_pathlib_with_suffix.rs +++ b/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/invalid_pathlib_with_suffix.rs @@ -1,5 +1,5 @@ use crate::checkers::ast::Checker; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; +use crate::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, StringFlags}; use ruff_python_semantic::SemanticModel; diff --git a/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_path_getatime.rs b/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_path_getatime.rs index c9655d8944..78c5bfe06e 100644 --- a/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_path_getatime.rs +++ b/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_path_getatime.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## What it does /// Checks for uses of `os.path.getatime`. /// diff --git a/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_path_getctime.rs b/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_path_getctime.rs index a7e2fdb58d..866c37e306 100644 --- a/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_path_getctime.rs +++ b/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_path_getctime.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## What it does /// Checks for uses of `os.path.getctime`. /// diff --git a/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_path_getmtime.rs b/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_path_getmtime.rs index b9c84d0c3d..81ec1b53c2 100644 --- a/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_path_getmtime.rs +++ b/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_path_getmtime.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## What it does /// Checks for uses of `os.path.getmtime`. /// diff --git a/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_path_getsize.rs b/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_path_getsize.rs index 829a5c4a72..5dd42507a0 100644 --- a/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_path_getsize.rs +++ b/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_path_getsize.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## What it does /// Checks for uses of `os.path.getsize`. /// diff --git a/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_sep_split.rs b/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_sep_split.rs index a35ca49b53..f6e01d037c 100644 --- a/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_sep_split.rs +++ b/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/os_sep_split.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, ExprAttribute}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/path_constructor_current_directory.rs b/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/path_constructor_current_directory.rs index a9475bf6bf..30095f629b 100644 --- a/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/path_constructor_current_directory.rs +++ b/crates/ruff_linter/src/rules/flake8_use_pathlib/rules/path_constructor_current_directory.rs @@ -1,6 +1,5 @@ use std::ops::Range; -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::parenthesize::parenthesized_range; use ruff_python_ast::{Expr, ExprBinOp, ExprCall, Operator}; @@ -10,6 +9,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::fix::edits::{Parentheses, remove_argument}; +use crate::{AlwaysFixableViolation, Applicability, Edit, Fix}; /// ## What it does /// Checks for `pathlib.Path` objects that are initialized with the current diff --git a/crates/ruff_linter/src/rules/flake8_use_pathlib/violations.rs b/crates/ruff_linter/src/rules/flake8_use_pathlib/violations.rs index 1bed2ba4bf..b64ffe50cf 100644 --- a/crates/ruff_linter/src/rules/flake8_use_pathlib/violations.rs +++ b/crates/ruff_linter/src/rules/flake8_use_pathlib/violations.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## What it does /// Checks for uses of `os.path.abspath`. /// diff --git a/crates/ruff_linter/src/rules/flynt/rules/static_join_to_fstring.rs b/crates/ruff_linter/src/rules/flynt/rules/static_join_to_fstring.rs index 1af7fc68d9..968c386b51 100644 --- a/crates/ruff_linter/src/rules/flynt/rules/static_join_to_fstring.rs +++ b/crates/ruff_linter/src/rules/flynt/rules/static_join_to_fstring.rs @@ -1,14 +1,14 @@ use ast::FStringFlags; use itertools::Itertools; -use crate::fix::edits::pad; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Arguments, Expr}; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::fix::edits::pad; use crate::fix::snippet::SourceCodeSnippet; +use crate::{AlwaysFixableViolation, Edit, Fix}; use crate::rules::flynt::helpers; diff --git a/crates/ruff_linter/src/rules/isort/rules/add_required_imports.rs b/crates/ruff_linter/src/rules/isort/rules/add_required_imports.rs index 51162773c1..b1d4d9a613 100644 --- a/crates/ruff_linter/src/rules/isort/rules/add_required_imports.rs +++ b/crates/ruff_linter/src/rules/isort/rules/add_required_imports.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_docstring_stmt; use ruff_python_ast::{self as ast, ModModule, PySourceType, Stmt}; @@ -10,6 +9,7 @@ use ruff_text_size::{TextRange, TextSize}; use crate::Locator; use crate::importer::Importer; use crate::settings::LinterSettings; +use crate::{AlwaysFixableViolation, Diagnostic, Fix}; /// ## What it does /// Adds any required imports, as specified by the user, to the top of the diff --git a/crates/ruff_linter/src/rules/isort/rules/organize_imports.rs b/crates/ruff_linter/src/rules/isort/rules/organize_imports.rs index 83c13f3f4a..b37e4b4a9c 100644 --- a/crates/ruff_linter/src/rules/isort/rules/organize_imports.rs +++ b/crates/ruff_linter/src/rules/isort/rules/organize_imports.rs @@ -1,6 +1,5 @@ use itertools::{EitherOrBoth, Itertools}; -use ruff_diagnostics::{Diagnostic, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::whitespace::trailing_lines_end; use ruff_python_ast::{PySourceType, PythonVersion, Stmt}; @@ -19,6 +18,7 @@ use crate::package::PackageRoot; use crate::preview::is_full_path_match_source_strategy_enabled; use crate::rules::isort::categorize::MatchSourceStrategy; use crate::settings::LinterSettings; +use crate::{Diagnostic, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// De-duplicates, groups, and sorts imports based on the provided `isort` settings. diff --git a/crates/ruff_linter/src/rules/mccabe/rules/function_is_too_complex.rs b/crates/ruff_linter/src/rules/mccabe/rules/function_is_too_complex.rs index b5c7ddd46a..8fe6a908dc 100644 --- a/crates/ruff_linter/src/rules/mccabe/rules/function_is_too_complex.rs +++ b/crates/ruff_linter/src/rules/mccabe/rules/function_is_too_complex.rs @@ -1,8 +1,8 @@ -use ruff_python_ast::{self as ast, ExceptHandler, Stmt}; - -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; +use ruff_python_ast::{self as ast, ExceptHandler, Stmt}; + +use crate::Violation; use crate::checkers::ast::Checker; diff --git a/crates/ruff_linter/src/rules/numpy/rules/deprecated_function.rs b/crates/ruff_linter/src/rules/numpy/rules/deprecated_function.rs index 03343ae61e..b34f4b917d 100644 --- a/crates/ruff_linter/src/rules/numpy/rules/deprecated_function.rs +++ b/crates/ruff_linter/src/rules/numpy/rules/deprecated_function.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Expr; use ruff_python_semantic::Modules; @@ -6,6 +5,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for uses of deprecated NumPy functions. diff --git a/crates/ruff_linter/src/rules/numpy/rules/deprecated_type_alias.rs b/crates/ruff_linter/src/rules/numpy/rules/deprecated_type_alias.rs index 1b4225d185..daa445642a 100644 --- a/crates/ruff_linter/src/rules/numpy/rules/deprecated_type_alias.rs +++ b/crates/ruff_linter/src/rules/numpy/rules/deprecated_type_alias.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Expr; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for deprecated NumPy type aliases. diff --git a/crates/ruff_linter/src/rules/numpy/rules/legacy_random.rs b/crates/ruff_linter/src/rules/numpy/rules/legacy_random.rs index 5317c3c2c7..cbe58e2122 100644 --- a/crates/ruff_linter/src/rules/numpy/rules/legacy_random.rs +++ b/crates/ruff_linter/src/rules/numpy/rules/legacy_random.rs @@ -1,10 +1,10 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/numpy/rules/numpy_2_0_deprecation.rs b/crates/ruff_linter/src/rules/numpy/rules/numpy_2_0_deprecation.rs index 254fdba264..bcc712b18d 100644 --- a/crates/ruff_linter/src/rules/numpy/rules/numpy_2_0_deprecation.rs +++ b/crates/ruff_linter/src/rules/numpy/rules/numpy_2_0_deprecation.rs @@ -1,5 +1,3 @@ -use crate::rules::numpy::helpers::{AttributeSearcher, ImportSearcher}; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::QualifiedNameBuilder; use ruff_python_ast::statement_visitor::StatementVisitor; @@ -10,6 +8,8 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::rules::numpy::helpers::{AttributeSearcher, ImportSearcher}; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for uses of NumPy functions and constants that were removed from diff --git a/crates/ruff_linter/src/rules/pandas_vet/rules/assignment_to_df.rs b/crates/ruff_linter/src/rules/pandas_vet/rules/assignment_to_df.rs index c179fcb392..b24fd8f0bb 100644 --- a/crates/ruff_linter/src/rules/pandas_vet/rules/assignment_to_df.rs +++ b/crates/ruff_linter/src/rules/pandas_vet/rules/assignment_to_df.rs @@ -1,10 +1,8 @@ -use ruff_python_ast::{self as ast, Expr}; - -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; -use crate::checkers::ast::Checker; +use crate::{Violation, checkers::ast::Checker}; /// ## What it does /// Checks for assignments to the variable `df`. diff --git a/crates/ruff_linter/src/rules/pandas_vet/rules/attr.rs b/crates/ruff_linter/src/rules/pandas_vet/rules/attr.rs index 7c95a0ca56..ab6b55104b 100644 --- a/crates/ruff_linter/src/rules/pandas_vet/rules/attr.rs +++ b/crates/ruff_linter/src/rules/pandas_vet/rules/attr.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pandas_vet::helpers::{Resolution, test_expression}; diff --git a/crates/ruff_linter/src/rules/pandas_vet/rules/call.rs b/crates/ruff_linter/src/rules/pandas_vet/rules/call.rs index 86c5e600c9..df8e47a861 100644 --- a/crates/ruff_linter/src/rules/pandas_vet/rules/call.rs +++ b/crates/ruff_linter/src/rules/pandas_vet/rules/call.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{self as ast, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::registry::Rule; use crate::rules::pandas_vet::helpers::{Resolution, test_expression}; diff --git a/crates/ruff_linter/src/rules/pandas_vet/rules/inplace_argument.rs b/crates/ruff_linter/src/rules/pandas_vet/rules/inplace_argument.rs index 46f74c79e8..99a483cee2 100644 --- a/crates/ruff_linter/src/rules/pandas_vet/rules/inplace_argument.rs +++ b/crates/ruff_linter/src/rules/pandas_vet/rules/inplace_argument.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_const_true; use ruff_python_ast::parenthesize::parenthesized_range; @@ -9,6 +8,7 @@ use ruff_text_size::Ranged; use crate::Locator; use crate::checkers::ast::Checker; use crate::fix::edits::{Parentheses, remove_argument}; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `inplace=True` usages in `pandas` function and method diff --git a/crates/ruff_linter/src/rules/pandas_vet/rules/nunique_constant_series_check.rs b/crates/ruff_linter/src/rules/pandas_vet/rules/nunique_constant_series_check.rs index 57e4ea7efb..5656e4489f 100644 --- a/crates/ruff_linter/src/rules/pandas_vet/rules/nunique_constant_series_check.rs +++ b/crates/ruff_linter/src/rules/pandas_vet/rules/nunique_constant_series_check.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, CmpOp, Expr, Int}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pandas_vet::helpers::{Resolution, test_expression}; diff --git a/crates/ruff_linter/src/rules/pandas_vet/rules/pd_merge.rs b/crates/ruff_linter/src/rules/pandas_vet/rules/pd_merge.rs index 569378888d..d8c90b74ac 100644 --- a/crates/ruff_linter/src/rules/pandas_vet/rules/pd_merge.rs +++ b/crates/ruff_linter/src/rules/pandas_vet/rules/pd_merge.rs @@ -1,11 +1,12 @@ use ruff_python_ast::{self as ast, Expr}; -use crate::checkers::ast::Checker; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; +use crate::checkers::ast::Checker; + /// ## What it does /// Checks for uses of `pd.merge` on Pandas objects. /// diff --git a/crates/ruff_linter/src/rules/pandas_vet/rules/read_table.rs b/crates/ruff_linter/src/rules/pandas_vet/rules/read_table.rs index 4353b58ae0..776e738bbb 100644 --- a/crates/ruff_linter/src/rules/pandas_vet/rules/read_table.rs +++ b/crates/ruff_linter/src/rules/pandas_vet/rules/read_table.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::Expr; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pandas_vet/rules/subscript.rs b/crates/ruff_linter/src/rules/pandas_vet/rules/subscript.rs index efef6e806c..ce1ff5bcc4 100644 --- a/crates/ruff_linter/src/rules/pandas_vet/rules/subscript.rs +++ b/crates/ruff_linter/src/rules/pandas_vet/rules/subscript.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{self as ast, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::registry::Rule; use crate::rules::pandas_vet::helpers::{Resolution, test_expression}; diff --git a/crates/ruff_linter/src/rules/pep8_naming/rules/camelcase_imported_as_acronym.rs b/crates/ruff_linter/src/rules/pep8_naming/rules/camelcase_imported_as_acronym.rs index fe34a67ef3..282e48591f 100644 --- a/crates/ruff_linter/src/rules/pep8_naming/rules/camelcase_imported_as_acronym.rs +++ b/crates/ruff_linter/src/rules/pep8_naming/rules/camelcase_imported_as_acronym.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Alias, Stmt}; use ruff_python_stdlib::str::{self}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pep8_naming::helpers; diff --git a/crates/ruff_linter/src/rules/pep8_naming/rules/camelcase_imported_as_constant.rs b/crates/ruff_linter/src/rules/pep8_naming/rules/camelcase_imported_as_constant.rs index 0f6eff6425..609cd61fc0 100644 --- a/crates/ruff_linter/src/rules/pep8_naming/rules/camelcase_imported_as_constant.rs +++ b/crates/ruff_linter/src/rules/pep8_naming/rules/camelcase_imported_as_constant.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{Alias, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_stdlib::str::{self}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pep8_naming::helpers; use crate::rules::pep8_naming::settings::IgnoreNames; diff --git a/crates/ruff_linter/src/rules/pep8_naming/rules/camelcase_imported_as_lowercase.rs b/crates/ruff_linter/src/rules/pep8_naming/rules/camelcase_imported_as_lowercase.rs index 289e22755f..c81884c045 100644 --- a/crates/ruff_linter/src/rules/pep8_naming/rules/camelcase_imported_as_lowercase.rs +++ b/crates/ruff_linter/src/rules/pep8_naming/rules/camelcase_imported_as_lowercase.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{Alias, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pep8_naming::helpers; use crate::rules::pep8_naming::settings::IgnoreNames; diff --git a/crates/ruff_linter/src/rules/pep8_naming/rules/constant_imported_as_non_constant.rs b/crates/ruff_linter/src/rules/pep8_naming/rules/constant_imported_as_non_constant.rs index df667f3ef5..26e72de928 100644 --- a/crates/ruff_linter/src/rules/pep8_naming/rules/constant_imported_as_non_constant.rs +++ b/crates/ruff_linter/src/rules/pep8_naming/rules/constant_imported_as_non_constant.rs @@ -1,13 +1,11 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Alias, Stmt}; use ruff_python_stdlib::str; use ruff_text_size::Ranged; -use crate::{ - checkers::ast::Checker, - rules::pep8_naming::{helpers, settings::IgnoreNames}, -}; +use crate::Violation; +use crate::checkers::ast::Checker; +use crate::rules::pep8_naming::{helpers, settings::IgnoreNames}; /// ## What it does /// Checks for constant imports that are aliased to non-constant-style diff --git a/crates/ruff_linter/src/rules/pep8_naming/rules/dunder_function_name.rs b/crates/ruff_linter/src/rules/pep8_naming/rules/dunder_function_name.rs index 6ee2bc8af0..c4b8f86299 100644 --- a/crates/ruff_linter/src/rules/pep8_naming/rules/dunder_function_name.rs +++ b/crates/ruff_linter/src/rules/pep8_naming/rules/dunder_function_name.rs @@ -1,11 +1,11 @@ use ruff_python_ast::Stmt; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; use ruff_python_semantic::analyze::visibility; use ruff_python_semantic::{Scope, ScopeKind}; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pep8_naming::settings::IgnoreNames; diff --git a/crates/ruff_linter/src/rules/pep8_naming/rules/error_suffix_on_exception_name.rs b/crates/ruff_linter/src/rules/pep8_naming/rules/error_suffix_on_exception_name.rs index 2d8c4669e2..ecaa71ee20 100644 --- a/crates/ruff_linter/src/rules/pep8_naming/rules/error_suffix_on_exception_name.rs +++ b/crates/ruff_linter/src/rules/pep8_naming/rules/error_suffix_on_exception_name.rs @@ -1,10 +1,11 @@ use ruff_python_ast::{self as ast, Arguments, Expr, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; -use crate::{checkers::ast::Checker, rules::pep8_naming::settings::IgnoreNames}; +use crate::Violation; +use crate::checkers::ast::Checker; +use crate::rules::pep8_naming::settings::IgnoreNames; /// ## What it does /// Checks for custom exception definitions that omit the `Error` suffix. diff --git a/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_argument_name.rs b/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_argument_name.rs index 604234982a..855e987e8f 100644 --- a/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_argument_name.rs +++ b/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_argument_name.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{ExprLambda, Parameters, StmtFunctionDef}; use ruff_python_semantic::ScopeKind; @@ -6,6 +5,7 @@ use ruff_python_semantic::analyze::visibility::is_override; use ruff_python_stdlib::str; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_class_name.rs b/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_class_name.rs index 61d7ff3988..c220d4d41a 100644 --- a/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_class_name.rs +++ b/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_class_name.rs @@ -1,10 +1,11 @@ use ruff_python_ast::Stmt; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; -use crate::{checkers::ast::Checker, rules::pep8_naming::settings::IgnoreNames}; +use crate::Violation; +use crate::checkers::ast::Checker; +use crate::rules::pep8_naming::settings::IgnoreNames; /// ## What it does /// Checks for class names that do not follow the `CamelCase` convention. diff --git a/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_first_argument_name.rs b/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_first_argument_name.rs index 10a622de1e..ecbc4eb24f 100644 --- a/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_first_argument_name.rs +++ b/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_first_argument_name.rs @@ -1,6 +1,5 @@ use anyhow::Result; -use ruff_diagnostics::{Fix, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::ParameterWithDefault; @@ -13,6 +12,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::{Checker, DiagnosticGuard}; use crate::registry::Rule; use crate::renamer::Renamer; +use crate::{Fix, Violation}; /// ## What it does /// Checks for instance methods that use a name other than `self` for their @@ -64,8 +64,7 @@ pub(crate) struct InvalidFirstArgumentNameForMethod { } impl Violation for InvalidFirstArgumentNameForMethod { - const FIX_AVAILABILITY: ruff_diagnostics::FixAvailability = - ruff_diagnostics::FixAvailability::Sometimes; + const FIX_AVAILABILITY: crate::FixAvailability = crate::FixAvailability::Sometimes; #[derive_message_formats] fn message(&self) -> String { @@ -137,8 +136,7 @@ pub(crate) struct InvalidFirstArgumentNameForClassMethod { } impl Violation for InvalidFirstArgumentNameForClassMethod { - const FIX_AVAILABILITY: ruff_diagnostics::FixAvailability = - ruff_diagnostics::FixAvailability::Sometimes; + const FIX_AVAILABILITY: crate::FixAvailability = crate::FixAvailability::Sometimes; #[derive_message_formats] // The first string below is what shows up in the documentation diff --git a/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_function_name.rs b/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_function_name.rs index 6618cbe3c8..566c552929 100644 --- a/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_function_name.rs +++ b/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_function_name.rs @@ -1,12 +1,12 @@ use ruff_python_ast::{Decorator, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; use ruff_python_semantic::SemanticModel; use ruff_python_semantic::analyze::visibility; use ruff_python_stdlib::str; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pep8_naming::settings::IgnoreNames; diff --git a/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_module_name.rs b/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_module_name.rs index ccf651b723..0774358df3 100644 --- a/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_module_name.rs +++ b/crates/ruff_linter/src/rules/pep8_naming/rules/invalid_module_name.rs @@ -1,15 +1,16 @@ use std::ffi::OsStr; use std::path::Path; -use crate::package::PackageRoot; -use crate::rules::pep8_naming::settings::IgnoreNames; -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::PySourceType; use ruff_python_stdlib::identifiers::{is_migration_name, is_module_name}; use ruff_python_stdlib::path::is_module_file; use ruff_text_size::TextRange; +use crate::package::PackageRoot; +use crate::rules::pep8_naming::settings::IgnoreNames; +use crate::{Diagnostic, Violation}; + /// ## What it does /// Checks for module names that do not follow the `snake_case` naming /// convention or are otherwise invalid. diff --git a/crates/ruff_linter/src/rules/pep8_naming/rules/lowercase_imported_as_non_lowercase.rs b/crates/ruff_linter/src/rules/pep8_naming/rules/lowercase_imported_as_non_lowercase.rs index ad838b0bc5..6d2df2e8f1 100644 --- a/crates/ruff_linter/src/rules/pep8_naming/rules/lowercase_imported_as_non_lowercase.rs +++ b/crates/ruff_linter/src/rules/pep8_naming/rules/lowercase_imported_as_non_lowercase.rs @@ -1,10 +1,11 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Alias, Stmt}; use ruff_python_stdlib::str; use ruff_text_size::Ranged; -use crate::{checkers::ast::Checker, rules::pep8_naming::settings::IgnoreNames}; +use crate::Violation; +use crate::checkers::ast::Checker; +use crate::rules::pep8_naming::settings::IgnoreNames; /// ## What it does /// Checks for lowercase imports that are aliased to non-lowercase names. diff --git a/crates/ruff_linter/src/rules/pep8_naming/rules/mixed_case_variable_in_class_scope.rs b/crates/ruff_linter/src/rules/pep8_naming/rules/mixed_case_variable_in_class_scope.rs index 8380762b5d..50fe2df5c5 100644 --- a/crates/ruff_linter/src/rules/pep8_naming/rules/mixed_case_variable_in_class_scope.rs +++ b/crates/ruff_linter/src/rules/pep8_naming/rules/mixed_case_variable_in_class_scope.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pep8_naming::helpers; diff --git a/crates/ruff_linter/src/rules/pep8_naming/rules/mixed_case_variable_in_global_scope.rs b/crates/ruff_linter/src/rules/pep8_naming/rules/mixed_case_variable_in_global_scope.rs index 670e3fadbc..09ff4be6c4 100644 --- a/crates/ruff_linter/src/rules/pep8_naming/rules/mixed_case_variable_in_global_scope.rs +++ b/crates/ruff_linter/src/rules/pep8_naming/rules/mixed_case_variable_in_global_scope.rs @@ -1,9 +1,9 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pep8_naming::helpers; diff --git a/crates/ruff_linter/src/rules/pep8_naming/rules/non_lowercase_variable_in_function.rs b/crates/ruff_linter/src/rules/pep8_naming/rules/non_lowercase_variable_in_function.rs index efcf590837..85050984d5 100644 --- a/crates/ruff_linter/src/rules/pep8_naming/rules/non_lowercase_variable_in_function.rs +++ b/crates/ruff_linter/src/rules/pep8_naming/rules/non_lowercase_variable_in_function.rs @@ -1,10 +1,10 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_stdlib::str; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pep8_naming::helpers; diff --git a/crates/ruff_linter/src/rules/perflint/rules/incorrect_dict_iterator.rs b/crates/ruff_linter/src/rules/perflint/rules/incorrect_dict_iterator.rs index ed7710ffb6..b26e7b309b 100644 --- a/crates/ruff_linter/src/rules/perflint/rules/incorrect_dict_iterator.rs +++ b/crates/ruff_linter/src/rules/perflint/rules/incorrect_dict_iterator.rs @@ -1,6 +1,5 @@ use std::fmt; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::{Arguments, Expr}; @@ -8,6 +7,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::edits::pad; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of `dict.items()` that discard either the key or the value diff --git a/crates/ruff_linter/src/rules/perflint/rules/manual_dict_comprehension.rs b/crates/ruff_linter/src/rules/perflint/rules/manual_dict_comprehension.rs index c3b17b2d16..298f62af96 100644 --- a/crates/ruff_linter/src/rules/perflint/rules/manual_dict_comprehension.rs +++ b/crates/ruff_linter/src/rules/perflint/rules/manual_dict_comprehension.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{ self as ast, Expr, Stmt, comparable::ComparableExpr, helpers::any_over_expr, @@ -10,6 +9,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::preview::is_fix_manual_dict_comprehension_enabled; use crate::rules::perflint::helpers::{comment_strings_in_range, statement_deletion_range}; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `for` loops that can be replaced by a dictionary comprehension. diff --git a/crates/ruff_linter/src/rules/perflint/rules/manual_list_comprehension.rs b/crates/ruff_linter/src/rules/perflint/rules/manual_list_comprehension.rs index 461092bb97..2566ecb770 100644 --- a/crates/ruff_linter/src/rules/perflint/rules/manual_list_comprehension.rs +++ b/crates/ruff_linter/src/rules/perflint/rules/manual_list_comprehension.rs @@ -1,11 +1,11 @@ use ruff_python_ast::{self as ast, Arguments, Expr}; +use crate::{Edit, Fix, FixAvailability, Violation}; use crate::{ checkers::ast::Checker, preview::is_fix_manual_list_comprehension_enabled, rules::perflint::helpers::statement_deletion_range, }; use anyhow::{Result, anyhow}; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use crate::rules::perflint::helpers::comment_strings_in_range; use ruff_macros::{ViolationMetadata, derive_message_formats}; diff --git a/crates/ruff_linter/src/rules/perflint/rules/manual_list_copy.rs b/crates/ruff_linter/src/rules/perflint/rules/manual_list_copy.rs index dc8fe2a646..7e9c9b103e 100644 --- a/crates/ruff_linter/src/rules/perflint/rules/manual_list_copy.rs +++ b/crates/ruff_linter/src/rules/perflint/rules/manual_list_copy.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::any_over_expr; use ruff_python_ast::{self as ast, Arguments, Expr, Stmt}; use ruff_python_semantic::analyze::typing::is_list; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/perflint/rules/try_except_in_loop.rs b/crates/ruff_linter/src/rules/perflint/rules/try_except_in_loop.rs index ee1fae0b14..87f89bf18e 100644 --- a/crates/ruff_linter/src/rules/perflint/rules/try_except_in_loop.rs +++ b/crates/ruff_linter/src/rules/perflint/rules/try_except_in_loop.rs @@ -1,11 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::statement_visitor::{StatementVisitor, walk_stmt}; -use ruff_python_ast::{self as ast, Stmt}; +use ruff_python_ast::{self as ast, PythonVersion, Stmt}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; -use ruff_python_ast::PythonVersion; /// ## What it does /// Checks for uses of except handling via `try`-`except` within `for` and diff --git a/crates/ruff_linter/src/rules/perflint/rules/unnecessary_list_cast.rs b/crates/ruff_linter/src/rules/perflint/rules/unnecessary_list_cast.rs index 72a6d75303..5e9964e292 100644 --- a/crates/ruff_linter/src/rules/perflint/rules/unnecessary_list_cast.rs +++ b/crates/ruff_linter/src/rules/perflint/rules/unnecessary_list_cast.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::statement_visitor::{StatementVisitor, walk_stmt}; use ruff_python_ast::{self as ast, Arguments, Expr, Stmt}; @@ -6,6 +5,7 @@ use ruff_python_semantic::analyze::typing::find_assigned_value; use ruff_text_size::TextRange; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for explicit casts to `list` on for-loop iterables. diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/ambiguous_class_name.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/ambiguous_class_name.rs index 11af69e0aa..6bf061ede5 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/ambiguous_class_name.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/ambiguous_class_name.rs @@ -1,10 +1,11 @@ use ruff_python_ast::Identifier; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; -use crate::{checkers::ast::Checker, rules::pycodestyle::helpers::is_ambiguous_name}; +use crate::Violation; +use crate::checkers::ast::Checker; +use crate::rules::pycodestyle::helpers::is_ambiguous_name; /// ## What it does /// Checks for the use of the characters 'l', 'O', or 'I' as class names. diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/ambiguous_function_name.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/ambiguous_function_name.rs index 6d74c79d39..1cd8770c86 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/ambiguous_function_name.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/ambiguous_function_name.rs @@ -1,10 +1,11 @@ use ruff_python_ast::Identifier; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; -use crate::{checkers::ast::Checker, rules::pycodestyle::helpers::is_ambiguous_name}; +use crate::Violation; +use crate::checkers::ast::Checker; +use crate::rules::pycodestyle::helpers::is_ambiguous_name; /// ## What it does /// Checks for the use of the characters 'l', 'O', or 'I' as function names. diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/ambiguous_variable_name.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/ambiguous_variable_name.rs index 1f4a6f5683..b16747ed19 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/ambiguous_variable_name.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/ambiguous_variable_name.rs @@ -1,8 +1,8 @@ use ruff_text_size::TextRange; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pycodestyle::helpers::is_ambiguous_name; diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/bare_except.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/bare_except.rs index 571d327ccf..3040240166 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/bare_except.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/bare_except.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::except; use ruff_python_ast::{self as ast, ExceptHandler, Expr, Stmt}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/blank_lines.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/blank_lines.rs index 0e690f70d2..906417cd89 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/blank_lines.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/blank_lines.rs @@ -5,10 +5,6 @@ use std::slice::Iter; use itertools::Itertools; -use ruff_diagnostics::AlwaysFixableViolation; -use ruff_diagnostics::Diagnostic; -use ruff_diagnostics::Edit; -use ruff_diagnostics::Fix; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_notebook::CellOffsets; use ruff_python_ast::PySourceType; @@ -21,6 +17,10 @@ use ruff_source_file::{LineRanges, UniversalNewlines}; use ruff_text_size::TextRange; use ruff_text_size::TextSize; +use crate::AlwaysFixableViolation; +use crate::Diagnostic; +use crate::Edit; +use crate::Fix; use crate::Locator; use crate::checkers::logical_lines::expand_indent; use crate::line_width::IndentWidth; diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/compound_statements.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/compound_statements.rs index 19c79cd78a..cf93c6ab3a 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/compound_statements.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/compound_statements.rs @@ -1,5 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Violation}; -use ruff_diagnostics::{Diagnostic, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_notebook::CellOffsets; use ruff_python_ast::PySourceType; @@ -8,6 +6,8 @@ use ruff_python_parser::{TokenIterWithContext, TokenKind, Tokens}; use ruff_text_size::{Ranged, TextSize}; use crate::Locator; +use crate::{AlwaysFixableViolation, Violation}; +use crate::{Diagnostic, Edit, Fix}; /// ## What it does /// Checks for compound statements (multiple statements on the same line). diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/doc_line_too_long.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/doc_line_too_long.rs index f906523c5d..677b5ac374 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/doc_line_too_long.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/doc_line_too_long.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_trivia::CommentRanges; use ruff_source_file::Line; use crate::rules::pycodestyle::overlong::Overlong; use crate::settings::LinterSettings; +use crate::{Diagnostic, Violation}; /// ## What it does /// Checks for doc lines that exceed the specified maximum character length. diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/errors.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/errors.rs index cc2f79d70c..58baf660bc 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/errors.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/errors.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## What it does /// This is not a regular diagnostic; instead, it's raised when a file cannot be read /// from disk. diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/invalid_escape_sequence.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/invalid_escape_sequence.rs index 8968a32827..d5e0107e16 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/invalid_escape_sequence.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/invalid_escape_sequence.rs @@ -1,6 +1,5 @@ use memchr::memchr_iter; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{AnyStringFlags, FStringElement, StringLike, StringLikePart}; use ruff_text_size::{Ranged, TextLen, TextRange, TextSize}; @@ -8,6 +7,7 @@ use ruff_text_size::{Ranged, TextLen, TextRange, TextSize}; use crate::Locator; use crate::checkers::ast::Checker; use crate::fix::edits::pad_start; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for invalid escape sequences. diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/lambda_assignment.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/lambda_assignment.rs index eb8f153741..ec00bf84f1 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/lambda_assignment.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/lambda_assignment.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::parenthesize::parenthesized_range; use ruff_python_ast::{ @@ -11,6 +10,7 @@ use ruff_source_file::UniversalNewlines; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for lambda expressions which are assigned to a variable. diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/line_too_long.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/line_too_long.rs index 2cebe72cb2..743c47b31e 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/line_too_long.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/line_too_long.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_trivia::CommentRanges; use ruff_source_file::Line; use crate::rules::pycodestyle::overlong::Overlong; use crate::settings::LinterSettings; +use crate::{Diagnostic, Violation}; /// ## What it does /// Checks for lines that exceed the specified maximum character length. diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/literal_comparisons.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/literal_comparisons.rs index 7e26184138..837dc70731 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/literal_comparisons.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/literal_comparisons.rs @@ -1,7 +1,6 @@ use ruff_python_ast::parenthesize::parenthesized_range; use rustc_hash::FxHashMap; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::{self, generate_comparison}; use ruff_python_ast::{self as ast, CmpOp, Expr}; @@ -10,6 +9,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::codes::Rule; use crate::fix::snippet::SourceCodeSnippet; +use crate::{AlwaysFixableViolation, Edit, Fix}; #[derive(Debug, PartialEq, Eq, Copy, Clone)] enum EqCmpOp { diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/extraneous_whitespace.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/extraneous_whitespace.rs index 046de04af0..b4a3f36efb 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/extraneous_whitespace.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/extraneous_whitespace.rs @@ -1,11 +1,11 @@ -use ruff_diagnostics::AlwaysFixableViolation; -use ruff_diagnostics::Diagnostic; -use ruff_diagnostics::Edit; -use ruff_diagnostics::Fix; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_parser::TokenKind; use ruff_text_size::{Ranged, TextRange}; +use crate::AlwaysFixableViolation; +use crate::Diagnostic; +use crate::Edit; +use crate::Fix; use crate::checkers::logical_lines::LogicalLinesContext; use super::{LogicalLine, Whitespace}; diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/indentation.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/indentation.rs index e9c828bd8f..409a2dd899 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/indentation.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/indentation.rs @@ -1,9 +1,10 @@ -use ruff_diagnostics::Diagnostic; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_parser::TokenKind; use ruff_text_size::TextRange; +use crate::Diagnostic; +use crate::Violation; + use super::LogicalLine; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/missing_whitespace.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/missing_whitespace.rs index 901d620300..46e752391f 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/missing_whitespace.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/missing_whitespace.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Edit; -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_parser::TokenKind; use ruff_text_size::Ranged; +use crate::Edit; use crate::checkers::logical_lines::LogicalLinesContext; +use crate::{AlwaysFixableViolation, Diagnostic, Fix}; use super::{DefinitionState, LogicalLine}; diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/missing_whitespace_after_keyword.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/missing_whitespace_after_keyword.rs index d769462d37..011a6c6573 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/missing_whitespace_after_keyword.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/missing_whitespace_after_keyword.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_parser::TokenKind; use ruff_text_size::Ranged; use crate::checkers::logical_lines::LogicalLinesContext; use crate::rules::pycodestyle::rules::logical_lines::LogicalLine; +use crate::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; /// ## What it does /// Checks for missing whitespace after keywords. diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/missing_whitespace_around_operator.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/missing_whitespace_around_operator.rs index 8538d4acf5..fcad4a9b38 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/missing_whitespace_around_operator.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/missing_whitespace_around_operator.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_parser::TokenKind; use ruff_text_size::{Ranged, TextRange}; @@ -6,6 +5,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::logical_lines::LogicalLinesContext; use crate::rules::pycodestyle::helpers::is_non_logical_token; use crate::rules::pycodestyle::rules::logical_lines::{DefinitionState, LogicalLine}; +use crate::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; /// ## What it does /// Checks for missing whitespace around all operators. diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/redundant_backslash.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/redundant_backslash.rs index e4c63e50b3..54ee31a98e 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/redundant_backslash.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/redundant_backslash.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_index::Indexer; use ruff_python_parser::TokenKind; @@ -7,6 +6,7 @@ use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::Locator; use crate::checkers::logical_lines::LogicalLinesContext; +use crate::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; use super::LogicalLine; diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/space_around_operator.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/space_around_operator.rs index 6fe485d764..d05eba21e9 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/space_around_operator.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/space_around_operator.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_parser::TokenKind; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::logical_lines::LogicalLinesContext; +use crate::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; use super::{LogicalLine, Whitespace}; diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/whitespace_around_keywords.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/whitespace_around_keywords.rs index 5e0e183e24..10528e2eb4 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/whitespace_around_keywords.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/whitespace_around_keywords.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::logical_lines::LogicalLinesContext; +use crate::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; use super::{LogicalLine, Whitespace}; diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/whitespace_around_named_parameter_equals.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/whitespace_around_named_parameter_equals.rs index 66d18bf2ca..9ede7a35d3 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/whitespace_around_named_parameter_equals.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/whitespace_around_named_parameter_equals.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_parser::TokenKind; use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::checkers::logical_lines::LogicalLinesContext; use crate::rules::pycodestyle::rules::logical_lines::{DefinitionState, LogicalLine}; +use crate::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; /// ## What it does /// Checks for missing whitespace around the equals sign in an unannotated diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/whitespace_before_comment.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/whitespace_before_comment.rs index ee1bda94cf..cbac6fec8b 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/whitespace_before_comment.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/whitespace_before_comment.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_parser::TokenKind; use ruff_python_trivia::PythonWhitespace; @@ -8,6 +7,7 @@ use ruff_text_size::{Ranged, TextLen, TextRange, TextSize}; use crate::Locator; use crate::checkers::logical_lines::LogicalLinesContext; use crate::rules::pycodestyle::rules::logical_lines::LogicalLine; +use crate::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; /// ## What it does /// Checks if inline comments are separated by at least two spaces. diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/whitespace_before_parameters.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/whitespace_before_parameters.rs index 56aa36d50e..d519b68297 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/whitespace_before_parameters.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/logical_lines/whitespace_before_parameters.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_parser::TokenKind; use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::checkers::logical_lines::LogicalLinesContext; use crate::rules::pycodestyle::rules::logical_lines::LogicalLine; +use crate::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; /// ## What it does /// Checks for extraneous whitespace immediately preceding an open parenthesis diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/missing_newline_at_end_of_file.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/missing_newline_at_end_of_file.rs index 8470ce9f9d..22f3291df5 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/missing_newline_at_end_of_file.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/missing_newline_at_end_of_file.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_codegen::Stylist; use ruff_text_size::{TextLen, TextRange}; use crate::Locator; +use crate::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; /// ## What it does /// Checks for files missing a new line at the end of the file. diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/mixed_spaces_and_tabs.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/mixed_spaces_and_tabs.rs index 6d86ca9775..106f9d64d0 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/mixed_spaces_and_tabs.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/mixed_spaces_and_tabs.rs @@ -1,10 +1,11 @@ use ruff_text_size::{TextLen, TextRange}; -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_trivia::leading_indentation; use ruff_source_file::Line; +use crate::{Diagnostic, Violation}; + /// ## What it does /// Checks for mixed tabs and spaces in indentation. /// diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/module_import_not_at_top_of_file.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/module_import_not_at_top_of_file.rs index 307549e3f1..066de7316f 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/module_import_not_at_top_of_file.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/module_import_not_at_top_of_file.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{PySourceType, Stmt}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/multiple_imports_on_one_line.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/multiple_imports_on_one_line.rs index fa9bfe5949..01a57c99c9 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/multiple_imports_on_one_line.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/multiple_imports_on_one_line.rs @@ -1,6 +1,5 @@ use itertools::Itertools; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Alias, Stmt}; use ruff_python_codegen::Stylist; @@ -11,6 +10,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::Locator; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Check for multiple imports on one line. diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/not_tests.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/not_tests.rs index 90eb83f9ec..d9f6b84d48 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/not_tests.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/not_tests.rs @@ -1,12 +1,12 @@ -use crate::fix::edits::pad; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::generate_comparison; use ruff_python_ast::{self as ast, CmpOp, Expr}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::fix::edits::pad; use crate::registry::Rule; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for membership tests using `not {element} in {collection}`. diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/tab_indentation.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/tab_indentation.rs index 78daee9727..e7a2a6ac04 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/tab_indentation.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/tab_indentation.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_index::Indexer; use ruff_source_file::LineRanges; use ruff_text_size::{TextRange, TextSize}; use crate::Locator; +use crate::{Diagnostic, Violation}; /// ## What it does /// Checks for indentation that uses tabs. diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/too_many_newlines_at_end_of_file.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/too_many_newlines_at_end_of_file.rs index 602c232d52..aae55c29ed 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/too_many_newlines_at_end_of_file.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/too_many_newlines_at_end_of_file.rs @@ -1,12 +1,13 @@ use std::iter::Peekable; use itertools::Itertools; -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_notebook::CellOffsets; use ruff_python_parser::{Token, TokenKind, Tokens}; use ruff_text_size::{Ranged, TextRange, TextSize}; +use crate::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; + /// ## What it does /// Checks for files with multiple trailing blank lines. /// diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/trailing_whitespace.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/trailing_whitespace.rs index 3c1e8f9bfb..658af77b97 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/trailing_whitespace.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/trailing_whitespace.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Diagnostic, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_index::Indexer; use ruff_source_file::Line; @@ -7,6 +6,7 @@ use ruff_text_size::{TextLen, TextRange, TextSize}; use crate::Locator; use crate::registry::Rule; use crate::settings::LinterSettings; +use crate::{AlwaysFixableViolation, Applicability, Diagnostic, Edit, Fix}; /// ## What it does /// Checks for superfluous trailing whitespace. diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/type_comparison.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/type_comparison.rs index 296271d6c8..b7a0c0ca86 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/type_comparison.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/type_comparison.rs @@ -1,11 +1,11 @@ use itertools::Itertools; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, CmpOp, Expr}; use ruff_python_semantic::SemanticModel; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pycodestyle/rules/whitespace_after_decorator.rs b/crates/ruff_linter/src/rules/pycodestyle/rules/whitespace_after_decorator.rs index b142253f77..aff2c0fd19 100644 --- a/crates/ruff_linter/src/rules/pycodestyle/rules/whitespace_after_decorator.rs +++ b/crates/ruff_linter/src/rules/pycodestyle/rules/whitespace_after_decorator.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Decorator; use ruff_python_trivia::is_python_whitespace; use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for trailing whitespace after a decorator's opening `@`. diff --git a/crates/ruff_linter/src/rules/pydoclint/rules/check_docstring.rs b/crates/ruff_linter/src/rules/pydoclint/rules/check_docstring.rs index 4bb9865a17..e6c6a17b0d 100644 --- a/crates/ruff_linter/src/rules/pydoclint/rules/check_docstring.rs +++ b/crates/ruff_linter/src/rules/pydoclint/rules/check_docstring.rs @@ -1,5 +1,4 @@ use itertools::Itertools; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::map_callable; use ruff_python_ast::helpers::map_subscript; @@ -11,6 +10,7 @@ use ruff_python_semantic::{Definition, SemanticModel}; use ruff_source_file::NewlineWithTrailingNewline; use ruff_text_size::{Ranged, TextRange}; +use crate::Violation; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; use crate::docstrings::sections::{SectionContext, SectionContexts, SectionKind}; diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/backslashes.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/backslashes.rs index fb8e75f2e1..a062d173bd 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/backslashes.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/backslashes.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for docstrings that include backslashes, but are not defined as diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/blank_after_summary.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/blank_after_summary.rs index 371d0a7ed7..50e6a75d3d 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/blank_after_summary.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/blank_after_summary.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_source_file::{UniversalNewlineIterator, UniversalNewlines}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for docstring summary lines that are not separated from the docstring diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/blank_before_after_class.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/blank_before_after_class.rs index 6e31de5655..05c6cdf1aa 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/blank_before_after_class.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/blank_before_after_class.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_trivia::{PythonWhitespace, indentation_at_offset}; use ruff_source_file::{Line, LineRanges, UniversalNewlineIterator}; @@ -8,6 +7,7 @@ use ruff_text_size::TextRange; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; use crate::registry::Rule; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for docstrings on class definitions that are not preceded by a diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/blank_before_after_function.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/blank_before_after_function.rs index 0d3ae7a3fd..82ff085979 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/blank_before_after_function.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/blank_before_after_function.rs @@ -1,7 +1,6 @@ use regex::Regex; use std::sync::LazyLock; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_trivia::PythonWhitespace; use ruff_source_file::{UniversalNewlineIterator, UniversalNewlines}; @@ -11,6 +10,7 @@ use ruff_text_size::TextRange; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; use crate::registry::Rule; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for docstrings on functions that are separated by one or more blank diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/capitalized.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/capitalized.rs index 5448705c06..ccc082ba38 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/capitalized.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/capitalized.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use ruff_text_size::{TextLen, TextRange}; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for docstrings that do not start with a capital letter. diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/ends_with_period.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/ends_with_period.rs index 173ad2552d..11f7915c33 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/ends_with_period.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/ends_with_period.rs @@ -1,7 +1,6 @@ use ruff_text_size::TextLen; use strum::IntoEnumIterator; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_source_file::{UniversalNewlineIterator, UniversalNewlines}; use ruff_text_size::Ranged; @@ -9,6 +8,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; use crate::docstrings::sections::SectionKind; +use crate::{Edit, Fix, FixAvailability, Violation}; use crate::rules::pydocstyle::helpers::logical_line; diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/ends_with_punctuation.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/ends_with_punctuation.rs index 070bd61103..6b4d25fa56 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/ends_with_punctuation.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/ends_with_punctuation.rs @@ -1,7 +1,6 @@ use ruff_text_size::TextLen; use strum::IntoEnumIterator; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_source_file::{UniversalNewlineIterator, UniversalNewlines}; use ruff_text_size::Ranged; @@ -9,6 +8,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; use crate::docstrings::sections::SectionKind; +use crate::{Edit, Fix, FixAvailability, Violation}; use crate::rules::pydocstyle::helpers::logical_line; diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/if_needed.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/if_needed.rs index d9f528fe14..0ad276b816 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/if_needed.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/if_needed.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; use ruff_python_semantic::analyze::visibility::is_overload; +use crate::Violation; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/indent.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/indent.rs index a6f044b2c5..4e9256f0de 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/indent.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/indent.rs @@ -1,5 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Violation}; -use ruff_diagnostics::{Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::docstrings::{clean_space, leading_space}; use ruff_source_file::{Line, NewlineWithTrailingNewline}; @@ -9,6 +7,8 @@ use ruff_text_size::{TextLen, TextRange}; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; use crate::registry::Rule; +use crate::{AlwaysFixableViolation, Violation}; +use crate::{Edit, Fix}; #[expect(clippy::tabs_in_doc_comments)] /// ## What it does diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/multi_line_summary_start.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/multi_line_summary_start.rs index 5d2e127010..12bbc25d31 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/multi_line_summary_start.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/multi_line_summary_start.rs @@ -1,6 +1,5 @@ use std::borrow::Cow; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::str::is_triple_quote; use ruff_python_semantic::Definition; @@ -10,6 +9,7 @@ use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; use crate::registry::Rule; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for docstring summary lines that are not positioned on the first diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/newline_after_last_paragraph.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/newline_after_last_paragraph.rs index da56dbe1ae..afdaf68348 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/newline_after_last_paragraph.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/newline_after_last_paragraph.rs @@ -1,6 +1,5 @@ use ruff_text_size::{TextLen, TextSize}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::docstrings::clean_space; use ruff_source_file::{NewlineWithTrailingNewline, UniversalNewlines}; @@ -8,6 +7,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for multi-line docstrings whose closing quotes are not on their diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/no_signature.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/no_signature.rs index 2ca5cd7cab..5a06ae6022 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/no_signature.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/no_signature.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_source_file::UniversalNewlines; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/no_surrounding_whitespace.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/no_surrounding_whitespace.rs index be8da37b62..fd9ee2798e 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/no_surrounding_whitespace.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/no_surrounding_whitespace.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_source_file::NewlineWithTrailingNewline; use ruff_text_size::Ranged; @@ -6,6 +5,7 @@ use ruff_text_size::{TextLen, TextRange}; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; +use crate::{Edit, Fix, FixAvailability, Violation}; use crate::rules::pydocstyle::helpers::ends_with_backslash; diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/non_imperative_mood.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/non_imperative_mood.rs index 6a138f49b0..6369e355de 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/non_imperative_mood.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/non_imperative_mood.rs @@ -2,12 +2,12 @@ use std::sync::LazyLock; use imperative::Mood; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::analyze::visibility::{is_property, is_test}; use ruff_source_file::UniversalNewlines; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; use crate::rules::pydocstyle::helpers::normalize_word; diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/not_empty.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/not_empty.rs index ef92f1ede4..c23e33a85b 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/not_empty.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/not_empty.rs @@ -1,7 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; use crate::registry::Rule; diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/not_missing.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/not_missing.rs index e243e946da..1052b80f0a 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/not_missing.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/not_missing.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; use ruff_python_semantic::analyze::visibility::{ @@ -7,6 +6,7 @@ use ruff_python_semantic::analyze::visibility::{ use ruff_python_semantic::{Definition, Member, MemberKind, Module, ModuleKind}; use ruff_text_size::TextRange; +use crate::Violation; use crate::checkers::ast::Checker; use crate::registry::Rule; diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/one_liner.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/one_liner.rs index 1dafa14cac..158092f110 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/one_liner.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/one_liner.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_source_file::NewlineWithTrailingNewline; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for single-line docstrings that are broken across multiple lines. diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/sections.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/sections.rs index b59492c483..d7da286b16 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/sections.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/sections.rs @@ -3,8 +3,6 @@ use regex::Regex; use rustc_hash::FxHashSet; use std::sync::LazyLock; -use ruff_diagnostics::{AlwaysFixableViolation, Violation}; -use ruff_diagnostics::{Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::docstrings::{clean_space, leading_space}; use ruff_python_ast::identifier::Identifier; @@ -20,6 +18,8 @@ use crate::docstrings::styles::SectionStyle; use crate::registry::Rule; use crate::rules::pydocstyle::helpers::find_underline; use crate::rules::pydocstyle::settings::Convention; +use crate::{AlwaysFixableViolation, Violation}; +use crate::{Edit, Fix}; /// ## What it does /// Checks for over-indented sections in docstrings. diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/starts_with_this.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/starts_with_this.rs index a405786043..1bbcc9ab4c 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/starts_with_this.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/starts_with_this.rs @@ -1,7 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; use crate::rules::pydocstyle::helpers::normalize_word; diff --git a/crates/ruff_linter/src/rules/pydocstyle/rules/triple_quotes.rs b/crates/ruff_linter/src/rules/pydocstyle/rules/triple_quotes.rs index ef428f8e01..374ac69369 100644 --- a/crates/ruff_linter/src/rules/pydocstyle/rules/triple_quotes.rs +++ b/crates/ruff_linter/src/rules/pydocstyle/rules/triple_quotes.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::str::Quote; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::docstrings::Docstring; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for docstrings that use `'''triple single quotes'''` instead of diff --git a/crates/ruff_linter/src/rules/pyflakes/fixes.rs b/crates/ruff_linter/src/rules/pyflakes/fixes.rs index d71a8cb468..f2d6e64af3 100644 --- a/crates/ruff_linter/src/rules/pyflakes/fixes.rs +++ b/crates/ruff_linter/src/rules/pyflakes/fixes.rs @@ -1,6 +1,5 @@ use anyhow::{Context, Ok, Result}; -use ruff_diagnostics::Edit; use ruff_python_ast as ast; use ruff_python_ast::Expr; use ruff_python_codegen::Stylist; @@ -8,6 +7,7 @@ use ruff_python_semantic::Binding; use ruff_python_trivia::{BackwardsTokenizer, SimpleTokenKind, SimpleTokenizer}; use ruff_text_size::Ranged; +use crate::Edit; use crate::Locator; use crate::cst::matchers::{match_call_mut, match_dict, transform_expression}; diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/assert_tuple.rs b/crates/ruff_linter/src/rules/pyflakes/rules/assert_tuple.rs index d1cd8a7404..798f9bb990 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/assert_tuple.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/assert_tuple.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{Expr, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/break_outside_loop.rs b/crates/ruff_linter/src/rules/pyflakes/rules/break_outside_loop.rs index dc77d7bd07..88b77c2cb4 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/break_outside_loop.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/break_outside_loop.rs @@ -1,10 +1,9 @@ use ruff_python_ast::{self as ast, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; -use crate::checkers::ast::Checker; +use crate::{Violation, checkers::ast::Checker}; /// ## What it does /// Checks for `break` statements outside of loops. diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/continue_outside_loop.rs b/crates/ruff_linter/src/rules/pyflakes/rules/continue_outside_loop.rs index d91863daf6..a6e426b9d5 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/continue_outside_loop.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/continue_outside_loop.rs @@ -1,10 +1,9 @@ use ruff_python_ast::{self as ast, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; -use crate::checkers::ast::Checker; +use crate::{Violation, checkers::ast::Checker}; /// ## What it does /// Checks for `continue` statements outside of loops. diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/default_except_not_last.rs b/crates/ruff_linter/src/rules/pyflakes/rules/default_except_not_last.rs index fe97acddc0..42a45f3bf4 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/default_except_not_last.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/default_except_not_last.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::except; use ruff_python_ast::{self as ast, ExceptHandler}; use crate::Locator; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/f_string_missing_placeholders.rs b/crates/ruff_linter/src/rules/pyflakes/rules/f_string_missing_placeholders.rs index f15694b427..4262a7baa9 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/f_string_missing_placeholders.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/f_string_missing_placeholders.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::Locator; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for f-strings that do not contain any placeholder expressions. diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/forward_annotation_syntax_error.rs b/crates/ruff_linter/src/rules/pyflakes/rules/forward_annotation_syntax_error.rs index 3208461cd2..41c3796563 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/forward_annotation_syntax_error.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/forward_annotation_syntax_error.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## What it does /// Checks for forward annotations that include invalid syntax. /// diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/future_feature_not_defined.rs b/crates/ruff_linter/src/rules/pyflakes/rules/future_feature_not_defined.rs index 3589e78746..d99f90dd7b 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/future_feature_not_defined.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/future_feature_not_defined.rs @@ -1,10 +1,10 @@ use ruff_python_ast::Alias; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_stdlib::future::is_feature_name; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/if_tuple.rs b/crates/ruff_linter/src/rules/pyflakes/rules/if_tuple.rs index f0f874bb39..75fb7ce65a 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/if_tuple.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/if_tuple.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{Expr, StmtIf}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::stmt_if::if_elif_branches; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/imports.rs b/crates/ruff_linter/src/rules/pyflakes/rules/imports.rs index 34756acafb..170e4b1714 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/imports.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/imports.rs @@ -1,7 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_source_file::SourceRow; +use crate::Violation; + /// ## What it does /// Checks for import bindings that are shadowed by loop variables. /// diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/invalid_literal_comparisons.rs b/crates/ruff_linter/src/rules/pyflakes/rules/invalid_literal_comparisons.rs index 15b6c97467..6a6fa72517 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/invalid_literal_comparisons.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/invalid_literal_comparisons.rs @@ -1,6 +1,5 @@ use anyhow::{Error, bail}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers; use ruff_python_ast::{CmpOp, Expr}; @@ -8,6 +7,7 @@ use ruff_python_parser::{TokenKind, Tokens}; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for `is` and `is not` comparisons against literals, like integers, diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/invalid_print_syntax.rs b/crates/ruff_linter/src/rules/pyflakes/rules/invalid_print_syntax.rs index ef2faac12b..146917dd45 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/invalid_print_syntax.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/invalid_print_syntax.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Expr; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/raise_not_implemented.rs b/crates/ruff_linter/src/rules/pyflakes/rules/raise_not_implemented.rs index a66ebda003..e19fd97b5d 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/raise_not_implemented.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/raise_not_implemented.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{self as ast, Expr}; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `raise` statements that raise `NotImplemented`. diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/redefined_while_unused.rs b/crates/ruff_linter/src/rules/pyflakes/rules/redefined_while_unused.rs index d46c3c7802..cec4d60495 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/redefined_while_unused.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/redefined_while_unused.rs @@ -1,7 +1,8 @@ -use ruff_diagnostics::{FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_source_file::SourceRow; +use crate::{FixAvailability, Violation}; + /// ## What it does /// Checks for variable definitions that redefine (or "shadow") unused /// variables. diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/repeated_keys.rs b/crates/ruff_linter/src/rules/pyflakes/rules/repeated_keys.rs index a0e22fcc15..e769f1747c 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/repeated_keys.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/repeated_keys.rs @@ -1,7 +1,6 @@ use rustc_hash::{FxBuildHasher, FxHashMap, FxHashSet}; use std::collections::hash_map::Entry; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::{ComparableExpr, HashableExpr}; use ruff_python_ast::parenthesize::parenthesized_range; @@ -11,6 +10,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::snippet::SourceCodeSnippet; use crate::registry::Rule; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for dictionary literals that associate multiple values with the diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/return_outside_function.rs b/crates/ruff_linter/src/rules/pyflakes/rules/return_outside_function.rs index c4c8eb0c32..bd004db454 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/return_outside_function.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/return_outside_function.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## What it does /// Checks for `return` statements outside of functions. /// diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/starred_expressions.rs b/crates/ruff_linter/src/rules/pyflakes/rules/starred_expressions.rs index d9db11fc8f..ff1c00c57a 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/starred_expressions.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/starred_expressions.rs @@ -1,10 +1,9 @@ use ruff_python_ast::Expr; use ruff_text_size::TextRange; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; -use crate::checkers::ast::Checker; +use crate::{Violation, checkers::ast::Checker}; /// ## What it does /// Checks for the use of too many expressions in starred assignment statements. diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/strings.rs b/crates/ruff_linter/src/rules/pyflakes/rules/strings.rs index ad50e058ec..8ef54ac5f2 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/strings.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/strings.rs @@ -2,13 +2,13 @@ use std::string::ToString; use rustc_hash::FxHashSet; -use ruff_diagnostics::{AlwaysFixableViolation, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::Name; use ruff_python_ast::{self as ast, Expr, Keyword}; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Fix, FixAvailability, Violation}; use super::super::cformat::CFormatSummary; use super::super::fixes::{ diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/undefined_export.rs b/crates/ruff_linter/src/rules/pyflakes/rules/undefined_export.rs index a7ba8f3b5d..18c9ddc1d8 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/undefined_export.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/undefined_export.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## What it does /// Checks for undefined names in `__all__`. /// diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/undefined_local.rs b/crates/ruff_linter/src/rules/pyflakes/rules/undefined_local.rs index 9b37ba4b8f..0af1d5f4fb 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/undefined_local.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/undefined_local.rs @@ -1,10 +1,10 @@ use std::string::ToString; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::{Scope, ScopeId}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/undefined_name.rs b/crates/ruff_linter/src/rules/pyflakes/rules/undefined_name.rs index d21d72e267..f1666bf9b3 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/undefined_name.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/undefined_name.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## What it does /// Checks for uses of undefined names. /// diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/unused_annotation.rs b/crates/ruff_linter/src/rules/pyflakes/rules/unused_annotation.rs index b37175a02c..8cd4e2bd39 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/unused_annotation.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/unused_annotation.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Scope; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/unused_import.rs b/crates/ruff_linter/src/rules/pyflakes/rules/unused_import.rs index ff0c15a2af..68d49ed7f5 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/unused_import.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/unused_import.rs @@ -4,7 +4,6 @@ use std::iter; use anyhow::{Result, anyhow, bail}; use std::collections::BTreeMap; -use ruff_diagnostics::{Applicability, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::QualifiedName; use ruff_python_ast::{self as ast, Stmt}; @@ -22,6 +21,7 @@ use crate::preview::{ use crate::registry::Rule; use crate::rules::isort::categorize::MatchSourceStrategy; use crate::rules::{isort, isort::ImportSection, isort::ImportType}; +use crate::{Applicability, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for unused imports. diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/unused_variable.rs b/crates/ruff_linter/src/rules/pyflakes/rules/unused_variable.rs index 16c1c69b11..5b6296301b 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/unused_variable.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/unused_variable.rs @@ -1,6 +1,5 @@ use itertools::Itertools; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::contains_effect; use ruff_python_ast::parenthesize::parenthesized_range; @@ -11,6 +10,7 @@ use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::checkers::ast::Checker; use crate::fix::edits::delete_stmt; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for the presence of unused variables in function scopes. diff --git a/crates/ruff_linter/src/rules/pyflakes/rules/yield_outside_function.rs b/crates/ruff_linter/src/rules/pyflakes/rules/yield_outside_function.rs index 22d3a4e809..7838c267db 100644 --- a/crates/ruff_linter/src/rules/pyflakes/rules/yield_outside_function.rs +++ b/crates/ruff_linter/src/rules/pyflakes/rules/yield_outside_function.rs @@ -1,9 +1,10 @@ use std::fmt; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_parser::semantic_errors::YieldOutsideFunctionKind; +use crate::Violation; + #[derive(Debug, PartialEq, Eq)] pub(crate) enum DeferralKeyword { Yield, diff --git a/crates/ruff_linter/src/rules/pygrep_hooks/rules/blanket_noqa.rs b/crates/ruff_linter/src/rules/pygrep_hooks/rules/blanket_noqa.rs index 39682ff734..fd284220ed 100644 --- a/crates/ruff_linter/src/rules/pygrep_hooks/rules/blanket_noqa.rs +++ b/crates/ruff_linter/src/rules/pygrep_hooks/rules/blanket_noqa.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Diagnostic, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_trivia::Cursor; use ruff_text_size::{Ranged, TextRange}; use crate::Locator; use crate::noqa::{self, Directive, FileNoqaDirectives, NoqaDirectives}; +use crate::{Diagnostic, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Check for `noqa` annotations that suppress all diagnostics, as opposed to diff --git a/crates/ruff_linter/src/rules/pygrep_hooks/rules/blanket_type_ignore.rs b/crates/ruff_linter/src/rules/pygrep_hooks/rules/blanket_type_ignore.rs index 6117169fd4..ba233d6a95 100644 --- a/crates/ruff_linter/src/rules/pygrep_hooks/rules/blanket_type_ignore.rs +++ b/crates/ruff_linter/src/rules/pygrep_hooks/rules/blanket_type_ignore.rs @@ -4,12 +4,12 @@ use anyhow::{Result, anyhow}; use memchr::memchr_iter; use regex::Regex; -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_trivia::CommentRanges; use ruff_text_size::TextSize; use crate::Locator; +use crate::{Diagnostic, Violation}; /// ## What it does /// Check for `type: ignore` annotations that suppress all type warnings, as diff --git a/crates/ruff_linter/src/rules/pygrep_hooks/rules/deprecated_log_warn.rs b/crates/ruff_linter/src/rules/pygrep_hooks/rules/deprecated_log_warn.rs index 5c23b05bc1..648702121c 100644 --- a/crates/ruff_linter/src/rules/pygrep_hooks/rules/deprecated_log_warn.rs +++ b/crates/ruff_linter/src/rules/pygrep_hooks/rules/deprecated_log_warn.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::{FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::{FixAvailability, Violation}; + /// ## Removed /// This rule is identical to [G010] which should be used instead. /// diff --git a/crates/ruff_linter/src/rules/pygrep_hooks/rules/invalid_mock_access.rs b/crates/ruff_linter/src/rules/pygrep_hooks/rules/invalid_mock_access.rs index ca1ec153c4..766b6f4260 100644 --- a/crates/ruff_linter/src/rules/pygrep_hooks/rules/invalid_mock_access.rs +++ b/crates/ruff_linter/src/rules/pygrep_hooks/rules/invalid_mock_access.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; #[derive(Debug, PartialEq, Eq)] diff --git a/crates/ruff_linter/src/rules/pygrep_hooks/rules/no_eval.rs b/crates/ruff_linter/src/rules/pygrep_hooks/rules/no_eval.rs index 192bd50d06..8615e4ae51 100644 --- a/crates/ruff_linter/src/rules/pygrep_hooks/rules/no_eval.rs +++ b/crates/ruff_linter/src/rules/pygrep_hooks/rules/no_eval.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## Removed /// This rule is identical to [S307] which should be used instead. /// diff --git a/crates/ruff_linter/src/rules/pylint/rules/and_or_ternary.rs b/crates/ruff_linter/src/rules/pylint/rules/and_or_ternary.rs index 8baf775f86..bc8bed77c7 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/and_or_ternary.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/and_or_ternary.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::ViolationMetadata; +use crate::Violation; + /// ## Removal /// This rule was removed from Ruff because it was common for it to introduce behavioral changes. /// See [#9007](https://github.com/astral-sh/ruff/issues/9007) for more information. diff --git a/crates/ruff_linter/src/rules/pylint/rules/assert_on_string_literal.rs b/crates/ruff_linter/src/rules/pylint/rules/assert_on_string_literal.rs index 648d535f9d..3e75254309 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/assert_on_string_literal.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/assert_on_string_literal.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; #[derive(Debug, PartialEq, Eq, Copy, Clone)] diff --git a/crates/ruff_linter/src/rules/pylint/rules/await_outside_async.rs b/crates/ruff_linter/src/rules/pylint/rules/await_outside_async.rs index 9c768195b9..e41275a1ca 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/await_outside_async.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/await_outside_async.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## What it does /// Checks for uses of `await` outside `async` functions. /// diff --git a/crates/ruff_linter/src/rules/pylint/rules/bad_dunder_method_name.rs b/crates/ruff_linter/src/rules/pylint/rules/bad_dunder_method_name.rs index 1c9c613cad..973d90bbad 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/bad_dunder_method_name.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/bad_dunder_method_name.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::identifier::Identifier; use ruff_python_semantic::analyze::visibility; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pylint::helpers::is_known_dunder_method; diff --git a/crates/ruff_linter/src/rules/pylint/rules/bad_open_mode.rs b/crates/ruff_linter/src/rules/pylint/rules/bad_open_mode.rs index 75d0e47fd5..0427bab652 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/bad_open_mode.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/bad_open_mode.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_semantic::SemanticModel; use ruff_python_stdlib::open_mode::OpenMode; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/bad_staticmethod_argument.rs b/crates/ruff_linter/src/rules/pylint/rules/bad_staticmethod_argument.rs index f2abd808ff..20d979ffb2 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/bad_staticmethod_argument.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/bad_staticmethod_argument.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::ParameterWithDefault; @@ -7,6 +6,7 @@ use ruff_python_semantic::analyze::function_type; use ruff_python_semantic::analyze::function_type::FunctionType; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/bad_str_strip_call.rs b/crates/ruff_linter/src/rules/pylint/rules/bad_str_strip_call.rs index 7ce68b0af3..b251bab323 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/bad_str_strip_call.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/bad_str_strip_call.rs @@ -3,12 +3,12 @@ use std::fmt; use ruff_python_ast::{self as ast, Expr}; use rustc_hash::FxHashSet; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::SemanticModel; use ruff_python_semantic::analyze::typing; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use ruff_python_ast::PythonVersion; diff --git a/crates/ruff_linter/src/rules/pylint/rules/bad_string_format_character.rs b/crates/ruff_linter/src/rules/pylint/rules/bad_string_format_character.rs index a31731b4f9..300f937d15 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/bad_string_format_character.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/bad_string_format_character.rs @@ -1,6 +1,5 @@ use std::str::FromStr; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Expr, ExprStringLiteral, StringFlags, StringLiteral}; use ruff_python_literal::{ @@ -11,6 +10,7 @@ use ruff_python_literal::{ }; use ruff_text_size::{Ranged, TextRange}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/bad_string_format_type.rs b/crates/ruff_linter/src/rules/pylint/rules/bad_string_format_type.rs index e61c796945..2d9e165651 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/bad_string_format_type.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/bad_string_format_type.rs @@ -5,10 +5,10 @@ use ruff_python_literal::cformat::{CFormatPart, CFormatSpec, CFormatStrOrBytes, use ruff_text_size::Ranged; use rustc_hash::FxHashMap; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::analyze::type_inference::{NumberLike, PythonType, ResolvedPythonType}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/bidirectional_unicode.rs b/crates/ruff_linter/src/rules/pylint/rules/bidirectional_unicode.rs index 9231d9b812..bba43cb06d 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/bidirectional_unicode.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/bidirectional_unicode.rs @@ -1,7 +1,8 @@ -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_source_file::Line; +use crate::{Diagnostic, Violation}; + const BIDI_UNICODE: [char; 10] = [ '\u{202A}', //{LEFT-TO-RIGHT EMBEDDING} '\u{202B}', //{RIGHT-TO-LEFT EMBEDDING} diff --git a/crates/ruff_linter/src/rules/pylint/rules/binary_op_exception.rs b/crates/ruff_linter/src/rules/pylint/rules/binary_op_exception.rs index f7b074c9a8..eefae02792 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/binary_op_exception.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/binary_op_exception.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, ExceptHandler, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; #[derive(Debug, PartialEq, Eq, Copy, Clone)] diff --git a/crates/ruff_linter/src/rules/pylint/rules/boolean_chained_comparison.rs b/crates/ruff_linter/src/rules/pylint/rules/boolean_chained_comparison.rs index ca6ae6ab94..1795e7ed57 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/boolean_chained_comparison.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/boolean_chained_comparison.rs @@ -1,5 +1,4 @@ use itertools::Itertools; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{ BoolOp, CmpOp, Expr, ExprBoolOp, ExprCompare, @@ -8,6 +7,7 @@ use ruff_python_ast::{ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Check for chained boolean operations that can be simplified. diff --git a/crates/ruff_linter/src/rules/pylint/rules/collapsible_else_if.rs b/crates/ruff_linter/src/rules/pylint/rules/collapsible_else_if.rs index 2a356816a5..72b15426a7 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/collapsible_else_if.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/collapsible_else_if.rs @@ -1,7 +1,6 @@ use anyhow::Result; use ast::whitespace::indentation; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, ElifElseClause, Stmt}; use ruff_python_codegen::Stylist; @@ -12,6 +11,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::Locator; use crate::checkers::ast::Checker; use crate::fix::edits::adjust_indentation; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `else` blocks that consist of a single `if` statement. diff --git a/crates/ruff_linter/src/rules/pylint/rules/compare_to_empty_string.rs b/crates/ruff_linter/src/rules/pylint/rules/compare_to_empty_string.rs index d880f8033a..94217d05ce 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/compare_to_empty_string.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/compare_to_empty_string.rs @@ -2,10 +2,10 @@ use anyhow::bail; use itertools::Itertools; use ruff_python_ast::{self as ast, CmpOp, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/comparison_of_constant.rs b/crates/ruff_linter/src/rules/pylint/rules/comparison_of_constant.rs index 7d01f9ba8c..8eab156203 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/comparison_of_constant.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/comparison_of_constant.rs @@ -1,10 +1,10 @@ use itertools::Itertools; use ruff_python_ast::{CmpOp, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/comparison_with_itself.rs b/crates/ruff_linter/src/rules/pylint/rules/comparison_with_itself.rs index a5b3f01f03..60697e17cd 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/comparison_with_itself.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/comparison_with_itself.rs @@ -1,12 +1,12 @@ use itertools::Itertools; -use crate::fix::snippet::SourceCodeSnippet; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{CmpOp, Expr}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; +use crate::fix::snippet::SourceCodeSnippet; /// ## What it does /// Checks for operations that compare a name to itself. diff --git a/crates/ruff_linter/src/rules/pylint/rules/continue_in_finally.rs b/crates/ruff_linter/src/rules/pylint/rules/continue_in_finally.rs index f71970f7db..a89baf379e 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/continue_in_finally.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/continue_in_finally.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/dict_index_missing_items.rs b/crates/ruff_linter/src/rules/pylint/rules/dict_index_missing_items.rs index 54039e19c4..3efffacfeb 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/dict_index_missing_items.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/dict_index_missing_items.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableExpr; use ruff_python_ast::{ @@ -10,6 +9,7 @@ use ruff_python_semantic::analyze::type_inference::{PythonType, ResolvedPythonTy use ruff_python_semantic::analyze::typing::is_dict; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/dict_iter_missing_items.rs b/crates/ruff_linter/src/rules/pylint/rules/dict_iter_missing_items.rs index 4ea558f94b..60c7b91d04 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/dict_iter_missing_items.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/dict_iter_missing_items.rs @@ -1,12 +1,12 @@ use ruff_python_ast::{Expr, Stmt}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::analyze::typing::is_dict; use ruff_python_semantic::{Binding, SemanticModel}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for dictionary unpacking in a for loop without calling `.items()`. diff --git a/crates/ruff_linter/src/rules/pylint/rules/duplicate_bases.rs b/crates/ruff_linter/src/rules/pylint/rules/duplicate_bases.rs index 721be4d36e..f33cb19424 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/duplicate_bases.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/duplicate_bases.rs @@ -1,12 +1,12 @@ use ruff_python_ast::{self as ast, Arguments, Expr}; use rustc_hash::{FxBuildHasher, FxHashSet}; -use ruff_diagnostics::{Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::edits::{Parentheses, remove_argument}; +use crate::{Fix, FixAvailability, Violation}; /// ## What it does /// Checks for duplicate base classes in class definitions. diff --git a/crates/ruff_linter/src/rules/pylint/rules/empty_comment.rs b/crates/ruff_linter/src/rules/pylint/rules/empty_comment.rs index b47833050f..4e607c70a8 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/empty_comment.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/empty_comment.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Diagnostic, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_trivia::{CommentRanges, is_python_whitespace}; use ruff_source_file::LineRanges; use ruff_text_size::{TextRange, TextSize}; use crate::Locator; +use crate::{Diagnostic, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for a # symbol appearing on a line not followed by an actual comment. diff --git a/crates/ruff_linter/src/rules/pylint/rules/eq_without_hash.rs b/crates/ruff_linter/src/rules/pylint/rules/eq_without_hash.rs index 4a50be69c2..72e1efbb03 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/eq_without_hash.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/eq_without_hash.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{ Expr, ExprName, Identifier, StmtAnnAssign, StmtAssign, StmtClassDef, StmtFunctionDef, @@ -9,6 +8,7 @@ use ruff_python_semantic::analyze::class::{ use ruff_text_size::Ranged; use std::ops::BitOr; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/global_at_module_level.rs b/crates/ruff_linter/src/rules/pylint/rules/global_at_module_level.rs index 4c3d6304b6..c92593740f 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/global_at_module_level.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/global_at_module_level.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Stmt; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/global_statement.rs b/crates/ruff_linter/src/rules/pylint/rules/global_statement.rs index 6ef6a8c97a..dfa63cd427 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/global_statement.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/global_statement.rs @@ -1,6 +1,6 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/global_variable_not_assigned.rs b/crates/ruff_linter/src/rules/pylint/rules/global_variable_not_assigned.rs index 3caa1476f0..d6f3c6fa7d 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/global_variable_not_assigned.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/global_variable_not_assigned.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## What it does /// Checks for `global` variables that are not assigned a value in the current /// scope. diff --git a/crates/ruff_linter/src/rules/pylint/rules/if_stmt_min_max.rs b/crates/ruff_linter/src/rules/pylint/rules/if_stmt_min_max.rs index dae0f80732..733f809e6b 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/if_stmt_min_max.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/if_stmt_min_max.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableExpr; use ruff_python_ast::parenthesize::parenthesized_range; @@ -7,6 +6,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::snippet::SourceCodeSnippet; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `if` statements that can be replaced with `min()` or `max()` diff --git a/crates/ruff_linter/src/rules/pylint/rules/import_outside_top_level.rs b/crates/ruff_linter/src/rules/pylint/rules/import_outside_top_level.rs index f0d96e724f..3464c26315 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/import_outside_top_level.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/import_outside_top_level.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Stmt; use ruff_text_size::Ranged; +use crate::Violation; use crate::rules::flake8_tidy_imports::rules::BannedModuleImportPolicies; use crate::{ checkers::ast::Checker, codes::Rule, rules::flake8_tidy_imports::matchers::NameMatchPolicy, diff --git a/crates/ruff_linter/src/rules/pylint/rules/import_private_name.rs b/crates/ruff_linter/src/rules/pylint/rules/import_private_name.rs index f70d744c1b..dab7b51793 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/import_private_name.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/import_private_name.rs @@ -2,12 +2,12 @@ use std::borrow::Cow; use itertools::Itertools; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::QualifiedName; use ruff_python_semantic::{FromImport, Import, Imported, ResolvedReference, Scope}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::package::PackageRoot; diff --git a/crates/ruff_linter/src/rules/pylint/rules/import_self.rs b/crates/ruff_linter/src/rules/pylint/rules/import_self.rs index 1897f237f4..03ba035f3e 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/import_self.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/import_self.rs @@ -1,11 +1,10 @@ use ruff_python_ast::Alias; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::resolve_imported_module_path; use ruff_text_size::Ranged; -use crate::checkers::ast::Checker; +use crate::{Violation, checkers::ast::Checker}; /// ## What it does /// Checks for import statements that import the current module. diff --git a/crates/ruff_linter/src/rules/pylint/rules/invalid_all_format.rs b/crates/ruff_linter/src/rules/pylint/rules/invalid_all_format.rs index 78a1095fdd..e338280462 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/invalid_all_format.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/invalid_all_format.rs @@ -1,9 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Binding; use ruff_text_size::Ranged; -use crate::checkers::ast::Checker; +use crate::{Violation, checkers::ast::Checker}; /// ## What it does /// Checks for invalid assignments to `__all__`. diff --git a/crates/ruff_linter/src/rules/pylint/rules/invalid_all_object.rs b/crates/ruff_linter/src/rules/pylint/rules/invalid_all_object.rs index 3e77db9956..99d83fe98b 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/invalid_all_object.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/invalid_all_object.rs @@ -1,9 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Binding; use ruff_text_size::Ranged; -use crate::checkers::ast::Checker; +use crate::{Violation, checkers::ast::Checker}; /// ## What it does /// Checks for the inclusion of invalid objects in `__all__`. diff --git a/crates/ruff_linter/src/rules/pylint/rules/invalid_bool_return.rs b/crates/ruff_linter/src/rules/pylint/rules/invalid_bool_return.rs index 967c41394a..cb099e399a 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/invalid_bool_return.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/invalid_bool_return.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::ReturnStatementVisitor; use ruff_python_ast::identifier::Identifier; @@ -9,6 +8,7 @@ use ruff_python_semantic::analyze::terminal::Terminal; use ruff_python_semantic::analyze::type_inference::{NumberLike, PythonType, ResolvedPythonType}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/invalid_bytes_return.rs b/crates/ruff_linter/src/rules/pylint/rules/invalid_bytes_return.rs index 2b57f30983..9b5004e6bb 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/invalid_bytes_return.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/invalid_bytes_return.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::ReturnStatementVisitor; use ruff_python_ast::identifier::Identifier; @@ -9,6 +8,7 @@ use ruff_python_semantic::analyze::terminal::Terminal; use ruff_python_semantic::analyze::type_inference::{PythonType, ResolvedPythonType}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/invalid_envvar_default.rs b/crates/ruff_linter/src/rules/pylint/rules/invalid_envvar_default.rs index 66ab20d2b5..37d899b653 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/invalid_envvar_default.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/invalid_envvar_default.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_semantic::Modules; use ruff_python_semantic::analyze::type_inference::{PythonType, ResolvedPythonType}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/invalid_envvar_value.rs b/crates/ruff_linter/src/rules/pylint/rules/invalid_envvar_value.rs index 52dfa3365d..7a2e1e3e0f 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/invalid_envvar_value.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/invalid_envvar_value.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_semantic::Modules; use ruff_python_semantic::analyze::type_inference::{PythonType, ResolvedPythonType}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/invalid_hash_return.rs b/crates/ruff_linter/src/rules/pylint/rules/invalid_hash_return.rs index ca88a11b67..dc18a2bcd9 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/invalid_hash_return.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/invalid_hash_return.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::ReturnStatementVisitor; use ruff_python_ast::identifier::Identifier; @@ -9,6 +8,7 @@ use ruff_python_semantic::analyze::terminal::Terminal; use ruff_python_semantic::analyze::type_inference::{NumberLike, PythonType, ResolvedPythonType}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/invalid_index_return.rs b/crates/ruff_linter/src/rules/pylint/rules/invalid_index_return.rs index edc3ebd166..5cafafdac4 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/invalid_index_return.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/invalid_index_return.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::ReturnStatementVisitor; use ruff_python_ast::identifier::Identifier; @@ -9,6 +8,7 @@ use ruff_python_semantic::analyze::terminal::Terminal; use ruff_python_semantic::analyze::type_inference::{NumberLike, PythonType, ResolvedPythonType}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/invalid_length_return.rs b/crates/ruff_linter/src/rules/pylint/rules/invalid_length_return.rs index cc5ca4c402..7766332a5a 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/invalid_length_return.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/invalid_length_return.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::ReturnStatementVisitor; use ruff_python_ast::identifier::Identifier; @@ -9,6 +8,7 @@ use ruff_python_semantic::analyze::terminal::Terminal; use ruff_python_semantic::analyze::type_inference::{NumberLike, PythonType, ResolvedPythonType}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/invalid_str_return.rs b/crates/ruff_linter/src/rules/pylint/rules/invalid_str_return.rs index f102d5305b..fe2924d35b 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/invalid_str_return.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/invalid_str_return.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::ReturnStatementVisitor; use ruff_python_ast::identifier::Identifier; @@ -9,6 +8,7 @@ use ruff_python_semantic::analyze::terminal::Terminal; use ruff_python_semantic::analyze::type_inference::{PythonType, ResolvedPythonType}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/invalid_string_characters.rs b/crates/ruff_linter/src/rules/pylint/rules/invalid_string_characters.rs index f275348399..d6e66084f4 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/invalid_string_characters.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/invalid_string_characters.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{Diagnostic, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_parser::{Token, TokenKind}; use ruff_text_size::{Ranged, TextLen, TextRange, TextSize}; use crate::Locator; +use crate::{Diagnostic, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for strings that contain the control character `BS`. diff --git a/crates/ruff_linter/src/rules/pylint/rules/iteration_over_set.rs b/crates/ruff_linter/src/rules/pylint/rules/iteration_over_set.rs index 96a8ff2040..92d18485ae 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/iteration_over_set.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/iteration_over_set.rs @@ -1,12 +1,12 @@ use rustc_hash::{FxBuildHasher, FxHashSet}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Expr; use ruff_python_ast::comparable::HashableExpr; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for iteration over a `set` literal where each element in the set is diff --git a/crates/ruff_linter/src/rules/pylint/rules/len_test.rs b/crates/ruff_linter/src/rules/pylint/rules/len_test.rs index f1e586b8a6..894b854cbf 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/len_test.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/len_test.rs @@ -1,6 +1,3 @@ -use crate::checkers::ast::Checker; -use crate::fix::snippet::SourceCodeSnippet; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, ExprCall}; use ruff_python_semantic::analyze::type_inference::{PythonType, ResolvedPythonType}; @@ -8,6 +5,10 @@ use ruff_python_semantic::analyze::typing::find_binding_value; use ruff_python_semantic::{BindingId, SemanticModel}; use ruff_text_size::Ranged; +use crate::checkers::ast::Checker; +use crate::fix::snippet::SourceCodeSnippet; +use crate::{AlwaysFixableViolation, Edit, Fix}; + /// ## What it does /// Checks for `len` calls on sequences in a boolean test context. /// diff --git a/crates/ruff_linter/src/rules/pylint/rules/literal_membership.rs b/crates/ruff_linter/src/rules/pylint/rules/literal_membership.rs index 9d398694da..2130cd29cf 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/literal_membership.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/literal_membership.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, CmpOp, Expr}; use ruff_python_semantic::analyze::typing; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for membership tests on `list` and `tuple` literals. diff --git a/crates/ruff_linter/src/rules/pylint/rules/load_before_global_declaration.rs b/crates/ruff_linter/src/rules/pylint/rules/load_before_global_declaration.rs index 7041ae8875..5d93d51e50 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/load_before_global_declaration.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/load_before_global_declaration.rs @@ -1,7 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_source_file::SourceRow; +use crate::Violation; + /// ## What it does /// Checks for uses of names that are declared as `global` prior to the /// relevant `global` declaration. diff --git a/crates/ruff_linter/src/rules/pylint/rules/logging.rs b/crates/ruff_linter/src/rules/pylint/rules/logging.rs index 326ca4a073..62eb28d7cc 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/logging.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/logging.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_semantic::analyze::logging; use ruff_python_stdlib::logging::LoggingLevel; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::registry::Rule; use crate::rules::pyflakes::cformat::CFormatSummary; diff --git a/crates/ruff_linter/src/rules/pylint/rules/magic_value_comparison.rs b/crates/ruff_linter/src/rules/pylint/rules/magic_value_comparison.rs index 258455bdb0..f6728e5b38 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/magic_value_comparison.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/magic_value_comparison.rs @@ -1,10 +1,10 @@ use itertools::Itertools; use ruff_python_ast::{self as ast, Expr, Int, LiteralExpressionRef, UnaryOp}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pylint::settings::ConstantType; diff --git a/crates/ruff_linter/src/rules/pylint/rules/manual_import_from.rs b/crates/ruff_linter/src/rules/pylint/rules/manual_import_from.rs index 0b8659aaee..89c9be036b 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/manual_import_from.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/manual_import_from.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{self as ast, Alias, Identifier, Stmt}; use ruff_text_size::{Ranged, TextRange}; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for submodule imports that are aliased to the submodule name. diff --git a/crates/ruff_linter/src/rules/pylint/rules/misplaced_bare_raise.rs b/crates/ruff_linter/src/rules/pylint/rules/misplaced_bare_raise.rs index 99bc0483bc..16b8a14293 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/misplaced_bare_raise.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/misplaced_bare_raise.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pylint::helpers::in_dunder_method; diff --git a/crates/ruff_linter/src/rules/pylint/rules/modified_iterating_set.rs b/crates/ruff_linter/src/rules/pylint/rules/modified_iterating_set.rs index 10e1ad9dbb..6d99e42069 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/modified_iterating_set.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/modified_iterating_set.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::any_over_body; use ruff_python_ast::name::Name; @@ -7,6 +6,7 @@ use ruff_python_semantic::analyze::typing::is_set; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for loops in which a `set` is modified during iteration. diff --git a/crates/ruff_linter/src/rules/pylint/rules/named_expr_without_context.rs b/crates/ruff_linter/src/rules/pylint/rules/named_expr_without_context.rs index 0c6a0361b7..5b306bd547 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/named_expr_without_context.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/named_expr_without_context.rs @@ -1,8 +1,8 @@ use ruff_python_ast::{self as ast, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/nan_comparison.rs b/crates/ruff_linter/src/rules/pylint/rules/nan_comparison.rs index e645097a05..129395affd 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/nan_comparison.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/nan_comparison.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_semantic::SemanticModel; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/nested_min_max.rs b/crates/ruff_linter/src/rules/pylint/rules/nested_min_max.rs index e2f6f9d28e..154550c41f 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/nested_min_max.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/nested_min_max.rs @@ -1,11 +1,11 @@ use ruff_python_ast::{self as ast, Arguments, Expr, Keyword}; use ruff_text_size::{Ranged, TextRange}; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::SemanticModel; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; #[derive(Clone, Copy, Debug, Eq, PartialEq)] pub(crate) enum MinMax { diff --git a/crates/ruff_linter/src/rules/pylint/rules/no_method_decorator.rs b/crates/ruff_linter/src/rules/pylint/rules/no_method_decorator.rs index bca6480e7a..99016e24c2 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/no_method_decorator.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/no_method_decorator.rs @@ -1,6 +1,5 @@ use std::collections::HashMap; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::Name; use ruff_python_ast::{self as ast, Expr, Stmt}; @@ -9,6 +8,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::fix; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for the use of a classmethod being made without the decorator. diff --git a/crates/ruff_linter/src/rules/pylint/rules/no_self_use.rs b/crates/ruff_linter/src/rules/pylint/rules/no_self_use.rs index c18bfd1c02..78d59d0329 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/no_self_use.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/no_self_use.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::identifier::Identifier; @@ -7,6 +6,7 @@ use ruff_python_semantic::{ analyze::{function_type, visibility}, }; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::flake8_unused_arguments::rules::is_not_implemented_stub_with_variable; diff --git a/crates/ruff_linter/src/rules/pylint/rules/non_ascii_module_import.rs b/crates/ruff_linter/src/rules/pylint/rules/non_ascii_module_import.rs index 33e164d950..75046c8ffe 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/non_ascii_module_import.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/non_ascii_module_import.rs @@ -1,9 +1,9 @@ use ruff_python_ast::Alias; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/non_ascii_name.rs b/crates/ruff_linter/src/rules/pylint/rules/non_ascii_name.rs index d1f2fd19ab..2458f418a4 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/non_ascii_name.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/non_ascii_name.rs @@ -1,10 +1,10 @@ use std::fmt; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::{Binding, BindingKind}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/non_augmented_assignment.rs b/crates/ruff_linter/src/rules/pylint/rules/non_augmented_assignment.rs index d96461609e..1562783af2 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/non_augmented_assignment.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/non_augmented_assignment.rs @@ -1,5 +1,4 @@ use ast::Expr; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::comparable::ComparableExpr; @@ -8,6 +7,7 @@ use ruff_python_ast::{ExprBinOp, ExprRef, Operator}; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for assignments that can be replaced with augmented assignment diff --git a/crates/ruff_linter/src/rules/pylint/rules/non_slot_assignment.rs b/crates/ruff_linter/src/rules/pylint/rules/non_slot_assignment.rs index ec75d836d3..01a237c168 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/non_slot_assignment.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/non_slot_assignment.rs @@ -1,10 +1,10 @@ use rustc_hash::FxHashSet; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, Stmt}; use ruff_text_size::{Ranged, TextRange}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/nonlocal_and_global.rs b/crates/ruff_linter/src/rules/pylint/rules/nonlocal_and_global.rs index 060d1715e4..ad42ac3928 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/nonlocal_and_global.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/nonlocal_and_global.rs @@ -1,7 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/nonlocal_without_binding.rs b/crates/ruff_linter/src/rules/pylint/rules/nonlocal_without_binding.rs index 08106e7b1b..c6e82e3958 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/nonlocal_without_binding.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/nonlocal_without_binding.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## What it does /// Checks for `nonlocal` names without bindings. /// diff --git a/crates/ruff_linter/src/rules/pylint/rules/potential_index_error.rs b/crates/ruff_linter/src/rules/pylint/rules/potential_index_error.rs index 060e3bce45..4a3f29e090 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/potential_index_error.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/potential_index_error.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/property_with_parameters.rs b/crates/ruff_linter/src/rules/pylint/rules/property_with_parameters.rs index cb1d589064..43d5a6175b 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/property_with_parameters.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/property_with_parameters.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Decorator, Parameters, Stmt, identifier::Identifier}; use ruff_python_semantic::analyze::visibility::is_property; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/redeclared_assigned_name.rs b/crates/ruff_linter/src/rules/pylint/rules/redeclared_assigned_name.rs index 64a5e1823a..fa5dfe0182 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/redeclared_assigned_name.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/redeclared_assigned_name.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{self as ast, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::Name; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/redefined_argument_from_local.rs b/crates/ruff_linter/src/rules/pylint/rules/redefined_argument_from_local.rs index 1c9ea795dd..14a6f9de7e 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/redefined_argument_from_local.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/redefined_argument_from_local.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## What it does /// Checks for variables defined in `for`, `try`, `with` statements /// that redefine function parameters. diff --git a/crates/ruff_linter/src/rules/pylint/rules/redefined_loop_name.rs b/crates/ruff_linter/src/rules/pylint/rules/redefined_loop_name.rs index 1a55ecc21c..b7dd04e992 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/redefined_loop_name.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/redefined_loop_name.rs @@ -3,13 +3,13 @@ use std::{fmt, iter}; use regex::Regex; use ruff_python_ast::{self as ast, Arguments, Expr, ExprContext, Stmt, WithItem}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableExpr; use ruff_python_ast::statement_visitor::{StatementVisitor, walk_stmt}; use ruff_python_semantic::SemanticModel; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/redefined_slots_in_subclass.rs b/crates/ruff_linter/src/rules/pylint/rules/redefined_slots_in_subclass.rs index b0273d2a4d..a2eb232456 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/redefined_slots_in_subclass.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/redefined_slots_in_subclass.rs @@ -3,11 +3,11 @@ use std::hash::Hash; use ruff_python_semantic::analyze::class::iter_super_class; use rustc_hash::FxHashSet; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, Stmt}; use ruff_text_size::{Ranged, TextRange}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/repeated_equality_comparison.rs b/crates/ruff_linter/src/rules/pylint/rules/repeated_equality_comparison.rs index 61371a3607..4f279fa6b1 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/repeated_equality_comparison.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/repeated_equality_comparison.rs @@ -2,7 +2,6 @@ use itertools::Itertools; use rustc_hash::{FxBuildHasher, FxHashMap}; use ast::ExprContext; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableExpr; use ruff_python_ast::helpers::{any_over_expr, contains_effect}; @@ -13,6 +12,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::Locator; use crate::checkers::ast::Checker; use crate::fix::snippet::SourceCodeSnippet; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for repeated equality comparisons that can be rewritten as a membership diff --git a/crates/ruff_linter/src/rules/pylint/rules/repeated_isinstance_calls.rs b/crates/ruff_linter/src/rules/pylint/rules/repeated_isinstance_calls.rs index dda289e3e4..9c71a32469 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/repeated_isinstance_calls.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/repeated_isinstance_calls.rs @@ -1,6 +1,6 @@ -use ruff_diagnostics::AlwaysFixableViolation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::AlwaysFixableViolation; use crate::fix::snippet::SourceCodeSnippet; /// ## Removed diff --git a/crates/ruff_linter/src/rules/pylint/rules/repeated_keyword_argument.rs b/crates/ruff_linter/src/rules/pylint/rules/repeated_keyword_argument.rs index 434b30c19c..f35f7b0f10 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/repeated_keyword_argument.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/repeated_keyword_argument.rs @@ -1,10 +1,10 @@ use rustc_hash::{FxBuildHasher, FxHashSet}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Expr, ExprCall, ExprStringLiteral}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/return_in_init.rs b/crates/ruff_linter/src/rules/pylint/rules/return_in_init.rs index ee3398dfa4..cf14390acd 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/return_in_init.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/return_in_init.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{self as ast, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pylint::helpers::in_dunder_method; diff --git a/crates/ruff_linter/src/rules/pylint/rules/self_assigning_variable.rs b/crates/ruff_linter/src/rules/pylint/rules/self_assigning_variable.rs index 9cedeae300..2d9d194c6e 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/self_assigning_variable.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/self_assigning_variable.rs @@ -1,10 +1,10 @@ use itertools::Itertools; use ruff_python_ast::{self as ast, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/self_or_cls_assignment.rs b/crates/ruff_linter/src/rules/pylint/rules/self_or_cls_assignment.rs index df4db639e9..c77203bfec 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/self_or_cls_assignment.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/self_or_cls_assignment.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_semantic::ScopeKind; use ruff_python_semantic::analyze::function_type::{self as function_type, FunctionType}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/shallow_copy_environ.rs b/crates/ruff_linter/src/rules/pylint/rules/shallow_copy_environ.rs index 7517b651ec..2cfe984f86 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/shallow_copy_environ.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/shallow_copy_environ.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Check for shallow `os.environ` copies. diff --git a/crates/ruff_linter/src/rules/pylint/rules/single_string_slots.rs b/crates/ruff_linter/src/rules/pylint/rules/single_string_slots.rs index 73265be1e0..3cf41a00db 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/single_string_slots.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/single_string_slots.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, Expr, Stmt, StmtClassDef}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/singledispatch_method.rs b/crates/ruff_linter/src/rules/pylint/rules/singledispatch_method.rs index 33d0227937..b0ac23c933 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/singledispatch_method.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/singledispatch_method.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_semantic::Scope; @@ -7,6 +6,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for methods decorated with `@singledispatch`. diff --git a/crates/ruff_linter/src/rules/pylint/rules/singledispatchmethod_function.rs b/crates/ruff_linter/src/rules/pylint/rules/singledispatchmethod_function.rs index 0e740b9148..9bb153bdea 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/singledispatchmethod_function.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/singledispatchmethod_function.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_semantic::Scope; @@ -7,6 +6,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for non-method functions decorated with `@singledispatchmethod`. diff --git a/crates/ruff_linter/src/rules/pylint/rules/subprocess_popen_preexec_fn.rs b/crates/ruff_linter/src/rules/pylint/rules/subprocess_popen_preexec_fn.rs index f3a0a0bd50..b07d0bef0d 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/subprocess_popen_preexec_fn.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/subprocess_popen_preexec_fn.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/subprocess_run_without_check.rs b/crates/ruff_linter/src/rules/pylint/rules/subprocess_run_without_check.rs index 2235997533..9d4848ff67 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/subprocess_run_without_check.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/subprocess_run_without_check.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_semantic::Modules; @@ -6,6 +5,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::edits::add_argument; +use crate::{AlwaysFixableViolation, Applicability, Fix}; /// ## What it does /// Checks for uses of `subprocess.run` without an explicit `check` argument. diff --git a/crates/ruff_linter/src/rules/pylint/rules/super_without_brackets.rs b/crates/ruff_linter/src/rules/pylint/rules/super_without_brackets.rs index 9bd206c4b8..e9eb23cc5a 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/super_without_brackets.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/super_without_brackets.rs @@ -1,11 +1,11 @@ use ruff_python_ast::{self as ast, Expr}; use ruff_python_semantic::{ScopeKind, analyze::function_type}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Detects attempts to use `super` without parentheses. diff --git a/crates/ruff_linter/src/rules/pylint/rules/sys_exit_alias.rs b/crates/ruff_linter/src/rules/pylint/rules/sys_exit_alias.rs index 93e6ee00dd..c0a1a0445a 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/sys_exit_alias.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/sys_exit_alias.rs @@ -1,11 +1,11 @@ -use crate::checkers::ast::Checker; -use crate::importer::ImportRequest; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; - use ruff_python_ast::ExprCall; use ruff_text_size::Ranged; +use crate::checkers::ast::Checker; +use crate::importer::ImportRequest; +use crate::{Edit, Fix, FixAvailability, Violation}; + /// ## What it does /// Checks for uses of the `exit()` and `quit()`. /// diff --git a/crates/ruff_linter/src/rules/pylint/rules/too_many_arguments.rs b/crates/ruff_linter/src/rules/pylint/rules/too_many_arguments.rs index 58d4fd938e..3e1156d4c5 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/too_many_arguments.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/too_many_arguments.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::identifier::Identifier; use ruff_python_semantic::analyze::{function_type, visibility}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/too_many_boolean_expressions.rs b/crates/ruff_linter/src/rules/pylint/rules/too_many_boolean_expressions.rs index 1780b99159..690e3652ad 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/too_many_boolean_expressions.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/too_many_boolean_expressions.rs @@ -1,9 +1,9 @@ use ast::{Expr, StmtIf}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/too_many_branches.rs b/crates/ruff_linter/src/rules/pylint/rules/too_many_branches.rs index 529e6fda2c..d5c82b95eb 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/too_many_branches.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/too_many_branches.rs @@ -1,8 +1,8 @@ -use ruff_python_ast::{self as ast, ExceptHandler, Stmt}; - -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; +use ruff_python_ast::{self as ast, ExceptHandler, Stmt}; + +use crate::Violation; use crate::checkers::ast::Checker; diff --git a/crates/ruff_linter/src/rules/pylint/rules/too_many_locals.rs b/crates/ruff_linter/src/rules/pylint/rules/too_many_locals.rs index 43079c8375..dfd3142c63 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/too_many_locals.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/too_many_locals.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; use ruff_python_semantic::{Scope, ScopeKind}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/too_many_nested_blocks.rs b/crates/ruff_linter/src/rules/pylint/rules/too_many_nested_blocks.rs index 80900f84f8..4d0b1d86d4 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/too_many_nested_blocks.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/too_many_nested_blocks.rs @@ -1,9 +1,9 @@ use ast::ExceptHandler; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Stmt}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/too_many_positional_arguments.rs b/crates/ruff_linter/src/rules/pylint/rules/too_many_positional_arguments.rs index 39b0e9dfbf..80abaa8071 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/too_many_positional_arguments.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/too_many_positional_arguments.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, identifier::Identifier}; use ruff_python_semantic::analyze::{function_type, visibility}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/too_many_public_methods.rs b/crates/ruff_linter/src/rules/pylint/rules/too_many_public_methods.rs index 0e6a58db94..267e59ff2a 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/too_many_public_methods.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/too_many_public_methods.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_semantic::analyze::visibility::{self, Visibility::Public}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/too_many_return_statements.rs b/crates/ruff_linter/src/rules/pylint/rules/too_many_return_statements.rs index 14e29b82a6..f4fb169653 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/too_many_return_statements.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/too_many_return_statements.rs @@ -1,12 +1,10 @@ -use ruff_python_ast::Stmt; - -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use ruff_python_ast::Stmt; use ruff_python_ast::helpers::ReturnStatementVisitor; use ruff_python_ast::identifier::Identifier; use ruff_python_ast::visitor::Visitor; -use crate::checkers::ast::Checker; +use crate::{Violation, checkers::ast::Checker}; /// ## What it does /// Checks for functions or methods with too many return statements. diff --git a/crates/ruff_linter/src/rules/pylint/rules/too_many_statements.rs b/crates/ruff_linter/src/rules/pylint/rules/too_many_statements.rs index c0b0337418..7033a71d83 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/too_many_statements.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/too_many_statements.rs @@ -1,8 +1,8 @@ -use ruff_python_ast::{self as ast, ExceptHandler, Stmt}; - -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; +use ruff_python_ast::{self as ast, ExceptHandler, Stmt}; + +use crate::Violation; use crate::checkers::ast::Checker; diff --git a/crates/ruff_linter/src/rules/pylint/rules/type_bivariance.rs b/crates/ruff_linter/src/rules/pylint/rules/type_bivariance.rs index 2a92cb9893..b4cd0a11f4 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/type_bivariance.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/type_bivariance.rs @@ -1,11 +1,11 @@ use std::fmt; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_const_true; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pylint::helpers::type_param_name; diff --git a/crates/ruff_linter/src/rules/pylint/rules/type_name_incorrect_variance.rs b/crates/ruff_linter/src/rules/pylint/rules/type_name_incorrect_variance.rs index 96c63658cd..f73b12fdad 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/type_name_incorrect_variance.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/type_name_incorrect_variance.rs @@ -1,11 +1,11 @@ use std::fmt; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_const_true; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pylint::helpers::type_param_name; diff --git a/crates/ruff_linter/src/rules/pylint/rules/type_param_name_mismatch.rs b/crates/ruff_linter/src/rules/pylint/rules/type_param_name_mismatch.rs index 5dfe9f22c4..2d1b33bd89 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/type_param_name_mismatch.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/type_param_name_mismatch.rs @@ -1,10 +1,10 @@ use std::fmt; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pylint::helpers::type_param_name; diff --git a/crates/ruff_linter/src/rules/pylint/rules/unexpected_special_method_signature.rs b/crates/ruff_linter/src/rules/pylint/rules/unexpected_special_method_signature.rs index ba1db43a1c..b6bc8c255c 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/unexpected_special_method_signature.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/unexpected_special_method_signature.rs @@ -2,11 +2,11 @@ use std::cmp::Ordering; use ruff_python_ast::{Decorator, Parameters, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; use ruff_python_semantic::analyze::visibility::is_staticmethod; +use crate::Violation; use crate::checkers::ast::Checker; #[derive(Debug, Eq, PartialEq)] diff --git a/crates/ruff_linter/src/rules/pylint/rules/unnecessary_dict_index_lookup.rs b/crates/ruff_linter/src/rules/pylint/rules/unnecessary_dict_index_lookup.rs index aa610bb280..9e1be524b2 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/unnecessary_dict_index_lookup.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/unnecessary_dict_index_lookup.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::visitor::Visitor; use ruff_python_ast::{self as ast, Expr, StmtFor}; @@ -6,6 +5,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::rules::pylint::helpers::SequenceIndexVisitor; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for key-based dict accesses during `.items()` iterations. diff --git a/crates/ruff_linter/src/rules/pylint/rules/unnecessary_direct_lambda_call.rs b/crates/ruff_linter/src/rules/pylint/rules/unnecessary_direct_lambda_call.rs index b932c5634a..17d0ab7663 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/unnecessary_direct_lambda_call.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/unnecessary_direct_lambda_call.rs @@ -1,9 +1,9 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/unnecessary_dunder_call.rs b/crates/ruff_linter/src/rules/pylint/rules/unnecessary_dunder_call.rs index 6d4440a4ac..fb81176ace 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/unnecessary_dunder_call.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/unnecessary_dunder_call.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, OperatorPrecedence, Stmt}; use ruff_python_semantic::SemanticModel; @@ -6,6 +5,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::rules::pylint::helpers::is_known_dunder_method; +use crate::{Edit, Fix, FixAvailability, Violation}; use ruff_python_ast::PythonVersion; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/unnecessary_lambda.rs b/crates/ruff_linter/src/rules/pylint/rules/unnecessary_lambda.rs index 9ecfc0801e..b48e6ef8c9 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/unnecessary_lambda.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/unnecessary_lambda.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::visitor::Visitor; use ruff_python_ast::{self as ast, Expr, ExprLambda, Parameter, ParameterWithDefault, visitor}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Applicability, Edit, Fix}; /// ## What it does /// Checks for `lambda` definitions that consist of a single function call diff --git a/crates/ruff_linter/src/rules/pylint/rules/unnecessary_list_index_lookup.rs b/crates/ruff_linter/src/rules/pylint/rules/unnecessary_list_index_lookup.rs index 414a30e820..991d25bac6 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/unnecessary_list_index_lookup.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/unnecessary_list_index_lookup.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::visitor::Visitor; use ruff_python_ast::{self as ast, Expr, Int, Number, StmtFor}; @@ -7,6 +6,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::rules::pylint::helpers::SequenceIndexVisitor; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for index-based list accesses during `enumerate` iterations. diff --git a/crates/ruff_linter/src/rules/pylint/rules/unreachable.rs b/crates/ruff_linter/src/rules/pylint/rules/unreachable.rs index b81c43d8c0..b590573b4c 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/unreachable.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/unreachable.rs @@ -5,9 +5,9 @@ use ruff_python_ast::{Identifier, Stmt}; use ruff_python_semantic::cfg::graph::{BlockId, Condition, ControlFlowGraph, build_cfg}; use ruff_text_size::TextRange; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/unspecified_encoding.rs b/crates/ruff_linter/src/rules/pylint/rules/unspecified_encoding.rs index fea61bc453..088041dcf1 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/unspecified_encoding.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/unspecified_encoding.rs @@ -1,6 +1,5 @@ use std::fmt::{Display, Formatter}; -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::QualifiedName; use ruff_python_ast::{self as ast, Expr}; @@ -9,6 +8,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::fix::edits::add_argument; +use crate::{AlwaysFixableViolation, Fix}; /// ## What it does /// Checks for uses of `open` and related calls without an explicit `encoding` diff --git a/crates/ruff_linter/src/rules/pylint/rules/useless_else_on_loop.rs b/crates/ruff_linter/src/rules/pylint/rules/useless_else_on_loop.rs index 573b3688e6..5dc74c156a 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/useless_else_on_loop.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/useless_else_on_loop.rs @@ -1,7 +1,6 @@ use anyhow::Result; use ast::whitespace::indentation; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier; use ruff_python_ast::{self as ast, ExceptHandler, MatchCase, Stmt}; @@ -13,6 +12,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::Locator; use crate::checkers::ast::Checker; use crate::fix::edits::adjust_indentation; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `else` clauses on loops without a `break` statement. diff --git a/crates/ruff_linter/src/rules/pylint/rules/useless_exception_statement.rs b/crates/ruff_linter/src/rules/pylint/rules/useless_exception_statement.rs index e1b27dd4da..4d7be33a71 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/useless_exception_statement.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/useless_exception_statement.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_semantic::SemanticModel; @@ -6,6 +5,7 @@ use ruff_python_stdlib::builtins; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; use ruff_python_ast::PythonVersion; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/useless_import_alias.rs b/crates/ruff_linter/src/rules/pylint/rules/useless_import_alias.rs index b2ea23054c..5816f8faf5 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/useless_import_alias.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/useless_import_alias.rs @@ -1,10 +1,10 @@ use ruff_python_ast::Alias; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for import aliases that do not rename the original package. diff --git a/crates/ruff_linter/src/rules/pylint/rules/useless_return.rs b/crates/ruff_linter/src/rules/pylint/rules/useless_return.rs index 5bec98ebf4..cef3d35b66 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/useless_return.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/useless_return.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::ReturnStatementVisitor; use ruff_python_ast::visitor::Visitor; @@ -7,6 +6,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix; +use crate::{AlwaysFixableViolation, Fix}; /// ## What it does /// Checks for functions that end with an unnecessary `return` or diff --git a/crates/ruff_linter/src/rules/pylint/rules/useless_with_lock.rs b/crates/ruff_linter/src/rules/pylint/rules/useless_with_lock.rs index fcd4d8126e..77931841f0 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/useless_with_lock.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/useless_with_lock.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/yield_from_in_async_function.rs b/crates/ruff_linter/src/rules/pylint/rules/yield_from_in_async_function.rs index fa71e3796d..60fc10bc52 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/yield_from_in_async_function.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/yield_from_in_async_function.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast}; use ruff_python_semantic::ScopeKind; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pylint/rules/yield_in_init.rs b/crates/ruff_linter/src/rules/pylint/rules/yield_in_init.rs index f303324704..1cee03fe04 100644 --- a/crates/ruff_linter/src/rules/pylint/rules/yield_in_init.rs +++ b/crates/ruff_linter/src/rules/pylint/rules/yield_in_init.rs @@ -1,9 +1,9 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::pylint::helpers::in_dunder_method; diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/convert_named_tuple_functional_to_class.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/convert_named_tuple_functional_to_class.rs index 90e526a3b7..f88bfa38d4 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/convert_named_tuple_functional_to_class.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/convert_named_tuple_functional_to_class.rs @@ -1,6 +1,5 @@ use log::debug; -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_dunder; use ruff_python_ast::name::Name; @@ -13,6 +12,7 @@ use ruff_source_file::LineRanges; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `NamedTuple` declarations that use functional syntax. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/convert_typed_dict_functional_to_class.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/convert_typed_dict_functional_to_class.rs index 73ca1f3a4d..d45e4dd5cf 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/convert_typed_dict_functional_to_class.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/convert_typed_dict_functional_to_class.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Arguments, Expr, ExprContext, Identifier, Keyword, Stmt}; use ruff_python_codegen::Generator; @@ -9,6 +8,7 @@ use ruff_source_file::LineRanges; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `TypedDict` declarations that use functional syntax. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/datetime_utc_alias.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/datetime_utc_alias.rs index daf1129dc8..b67f312699 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/datetime_utc_alias.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/datetime_utc_alias.rs @@ -1,11 +1,11 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for uses of `datetime.timezone.utc`. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/deprecated_c_element_tree.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/deprecated_c_element_tree.rs index 4dcba36f82..7672680c72 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/deprecated_c_element_tree.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/deprecated_c_element_tree.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Stmt}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of the `xml.etree.cElementTree` module. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/deprecated_import.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/deprecated_import.rs index 2c49b252cf..765527b6d7 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/deprecated_import.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/deprecated_import.rs @@ -1,6 +1,5 @@ use itertools::Itertools; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::whitespace::indentation; use ruff_python_ast::{Alias, StmtImportFrom}; @@ -11,6 +10,7 @@ use ruff_text_size::Ranged; use crate::Locator; use crate::checkers::ast::Checker; use crate::rules::pyupgrade::fixes; +use crate::{Edit, Fix, FixAvailability, Violation}; use ruff_python_ast::PythonVersion; /// An import was moved and renamed as part of a deprecation. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/deprecated_mock_import.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/deprecated_mock_import.rs index 612b10da54..8da16d71ba 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/deprecated_mock_import.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/deprecated_mock_import.rs @@ -5,7 +5,6 @@ use libcst_native::{ }; use log::debug; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::UnqualifiedName; use ruff_python_ast::whitespace::indentation; @@ -18,6 +17,7 @@ use crate::Locator; use crate::checkers::ast::Checker; use crate::cst::matchers::{match_import, match_import_from, match_statement}; use crate::fix::codemods::CodegenStylist; +use crate::{AlwaysFixableViolation, Edit, Fix}; #[derive(Debug, PartialEq, Eq, Copy, Clone)] pub(crate) enum MockReference { diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/deprecated_unittest_alias.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/deprecated_unittest_alias.rs index 0087100134..519f8d9d39 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/deprecated_unittest_alias.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/deprecated_unittest_alias.rs @@ -2,11 +2,11 @@ use ruff_python_ast::{self as ast, Expr}; use rustc_hash::FxHashMap; use std::sync::LazyLock; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of deprecated methods from the `unittest` module. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/extraneous_parentheses.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/extraneous_parentheses.rs index e50b6fb812..34aae8693e 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/extraneous_parentheses.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/extraneous_parentheses.rs @@ -1,11 +1,11 @@ use std::slice::Iter; -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_parser::{Token, TokenKind, Tokens}; use ruff_text_size::{Ranged, TextRange}; use crate::Locator; +use crate::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; /// ## What it does /// Checks for extraneous parentheses. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/f_strings.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/f_strings.rs index e5025566c9..0edc9bb2e8 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/f_strings.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/f_strings.rs @@ -3,7 +3,6 @@ use std::borrow::Cow; use anyhow::{Context, Result}; use rustc_hash::{FxHashMap, FxHashSet}; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::any_over_expr; use ruff_python_ast::str::{leading_quote, trailing_quote}; @@ -19,6 +18,7 @@ use crate::Locator; use crate::checkers::ast::Checker; use crate::rules::pyflakes::format::FormatSummary; use crate::rules::pyupgrade::helpers::{curly_escape, curly_unescape}; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `str.format` calls that can be replaced with f-strings. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/format_literals.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/format_literals.rs index 6a3f66ab0d..6865dc4e23 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/format_literals.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/format_literals.rs @@ -4,7 +4,6 @@ use anyhow::{Result, anyhow}; use libcst_native::{Arg, Expression}; use regex::Regex; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_codegen::Stylist; @@ -17,6 +16,7 @@ use crate::cst::matchers::{ }; use crate::fix::codemods::CodegenStylist; use crate::rules::pyflakes::format::FormatSummary; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for unnecessary positional indices in format strings. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/lru_cache_with_maxsize_none.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/lru_cache_with_maxsize_none.rs index b3f176e8eb..abdc427515 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/lru_cache_with_maxsize_none.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/lru_cache_with_maxsize_none.rs @@ -1,11 +1,11 @@ use ruff_python_ast::{self as ast, Arguments, Decorator, Expr, Keyword}; use ruff_text_size::{Ranged, TextRange}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of `functools.lru_cache` that set `maxsize=None`. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/lru_cache_without_parameters.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/lru_cache_without_parameters.rs index 70c5da0e94..c4c84ddd90 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/lru_cache_without_parameters.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/lru_cache_without_parameters.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Decorator, Expr}; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for unnecessary parentheses on `functools.lru_cache` decorators. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/native_literals.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/native_literals.rs index 00a69daf46..5b91362679 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/native_literals.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/native_literals.rs @@ -1,13 +1,13 @@ use std::fmt; use std::str::FromStr; -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, Int, LiteralExpressionRef, OperatorPrecedence, UnaryOp}; use ruff_source_file::find_newline; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Applicability, Edit, Fix}; #[derive(Debug, PartialEq, Eq, Copy, Clone)] enum LiteralType { diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/non_pep646_unpack.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/non_pep646_unpack.rs index f913170a1b..79ab523ad3 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/non_pep646_unpack.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/non_pep646_unpack.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Expr, ExprSubscript, PythonVersion}; use ruff_python_semantic::SemanticModel; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for uses of `Unpack[]` on Python 3.11 and above, and suggests diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/open_alias.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/open_alias.rs index 45f997c04e..4d74273a28 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/open_alias.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/open_alias.rs @@ -1,10 +1,10 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for uses of `io.open`. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/os_error_alias.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/os_error_alias.rs index 070a13f470..286fb88d4e 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/os_error_alias.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/os_error_alias.rs @@ -1,13 +1,13 @@ use ruff_python_ast::{self as ast, ExceptHandler, Expr, ExprContext}; use ruff_text_size::{Ranged, TextRange}; -use crate::fix::edits::pad; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::{Name, UnqualifiedName}; use ruff_python_semantic::SemanticModel; use crate::checkers::ast::Checker; +use crate::fix::edits::pad; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of exceptions that alias `OSError`. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/outdated_version_block.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/outdated_version_block.rs index f89bc74bf0..025d9be062 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/outdated_version_block.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/outdated_version_block.rs @@ -2,7 +2,6 @@ use std::cmp::Ordering; use anyhow::Result; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::map_subscript; use ruff_python_ast::stmt_if::{BranchKind, IfElifBranch, if_elif_branches}; @@ -13,6 +12,7 @@ use ruff_text_size::{Ranged, TextLen, TextRange}; use crate::checkers::ast::Checker; use crate::fix::edits::{adjust_indentation, delete_stmt}; +use crate::{Edit, Fix, FixAvailability, Violation}; use ruff_python_ast::PythonVersion; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/pep695/non_pep695_generic_class.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/pep695/non_pep695_generic_class.rs index 81b7b49719..56137e4a93 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/pep695/non_pep695_generic_class.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/pep695/non_pep695_generic_class.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::visitor::Visitor; use ruff_python_ast::{ExprSubscript, StmtClassDef}; @@ -6,6 +5,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::edits::{Parentheses, remove_argument}; +use crate::{Edit, Fix, FixAvailability, Violation}; use ruff_python_ast::PythonVersion; use super::{ diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/pep695/non_pep695_generic_function.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/pep695/non_pep695_generic_function.rs index 39fa3eafff..3ab3a0b6b3 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/pep695/non_pep695_generic_function.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/pep695/non_pep695_generic_function.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::StmtFunctionDef; use ruff_python_ast::visitor::Visitor; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; use ruff_python_ast::PythonVersion; use super::{DisplayTypeVars, TypeVarReferenceVisitor, check_type_vars, in_nested_context}; diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/pep695/non_pep695_type_alias.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/pep695/non_pep695_type_alias.rs index ab3dce82ac..5fb8937abf 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/pep695/non_pep695_type_alias.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/pep695/non_pep695_type_alias.rs @@ -1,6 +1,5 @@ use itertools::Itertools; -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::Name; use ruff_python_ast::parenthesize::parenthesized_range; @@ -9,6 +8,7 @@ use ruff_python_ast::{Expr, ExprCall, ExprName, Keyword, StmtAnnAssign, StmtAssi use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_python_ast::PythonVersion; use super::{ diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/pep695/private_type_parameter.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/pep695/private_type_parameter.rs index cc1ed4460b..d581cc64dc 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/pep695/private_type_parameter.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/pep695/private_type_parameter.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Applicability, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Stmt; use ruff_python_semantic::Binding; use ruff_python_stdlib::identifiers::is_identifier; use ruff_text_size::Ranged; +use crate::{Applicability, Fix, FixAvailability, Violation}; use crate::{ checkers::ast::Checker, renamer::{Renamer, ShadowedKind}, diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/printf_string_formatting.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/printf_string_formatting.rs index 60478d7c07..bcb584df8a 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/printf_string_formatting.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/printf_string_formatting.rs @@ -2,7 +2,6 @@ use std::borrow::Cow; use std::fmt::Write; use std::str::FromStr; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, AnyStringFlags, Expr, StringFlags, whitespace::indentation}; use ruff_python_codegen::Stylist; @@ -17,6 +16,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::Locator; use crate::checkers::ast::Checker; use crate::rules::pyupgrade::helpers::curly_escape; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `printf`-style string formatting, and offers to replace it with diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/quoted_annotation.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/quoted_annotation.rs index 73f4976aaf..f890b83372 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/quoted_annotation.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/quoted_annotation.rs @@ -1,12 +1,12 @@ +use ruff_macros::{ViolationMetadata, derive_message_formats}; +use ruff_python_ast::Stmt; use ruff_python_parser::TokenKind; +use ruff_python_semantic::SemanticModel; +use ruff_source_file::LineRanges; use ruff_text_size::{TextLen, TextRange, TextSize}; use crate::checkers::ast::Checker; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; -use ruff_macros::{ViolationMetadata, derive_message_formats}; -use ruff_python_ast::Stmt; -use ruff_python_semantic::SemanticModel; -use ruff_source_file::LineRanges; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for the presence of unnecessary quotes in type annotations. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/redundant_open_modes.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/redundant_open_modes.rs index d7a6bd4126..13deff4941 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/redundant_open_modes.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/redundant_open_modes.rs @@ -1,5 +1,4 @@ use anyhow::Result; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_parser::{TokenKind, Tokens}; @@ -7,6 +6,7 @@ use ruff_python_stdlib::open_mode::OpenMode; use ruff_text_size::{Ranged, TextSize}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for redundant `open` mode arguments. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/replace_stdout_stderr.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/replace_stdout_stderr.rs index 45b05fc872..47e1d67d94 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/replace_stdout_stderr.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/replace_stdout_stderr.rs @@ -1,6 +1,5 @@ use anyhow::Result; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Keyword}; use ruff_python_semantic::Modules; @@ -8,6 +7,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::edits::{Parentheses, remove_argument}; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for uses of `subprocess.run` that send `stdout` and `stderr` to a diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/replace_str_enum.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/replace_str_enum.rs index ced03bbce0..19683d01d9 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/replace_str_enum.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/replace_str_enum.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::identifier::Identifier; @@ -6,6 +5,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for classes that inherit from both `str` and `enum.Enum`. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/replace_universal_newlines.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/replace_universal_newlines.rs index 132a562d07..bdd696039a 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/replace_universal_newlines.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/replace_universal_newlines.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_semantic::Modules; @@ -6,6 +5,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::edits::{Parentheses, remove_argument}; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of `subprocess.run` that set the `universal_newlines` diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/super_call_with_parameters.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/super_call_with_parameters.rs index f87b7f5295..2c106da20d 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/super_call_with_parameters.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/super_call_with_parameters.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, Stmt}; use ruff_text_size::{Ranged, TextSize}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for `super` calls that pass redundant arguments. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/timeout_error_alias.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/timeout_error_alias.rs index 1b40bdd91f..f1f8d92146 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/timeout_error_alias.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/timeout_error_alias.rs @@ -1,14 +1,14 @@ use ruff_python_ast::{self as ast, ExceptHandler, Expr, ExprContext}; use ruff_text_size::{Ranged, TextRange}; -use crate::fix::edits::pad; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use ruff_python_ast::PythonVersion; use ruff_python_ast::name::{Name, UnqualifiedName}; use ruff_python_semantic::SemanticModel; use crate::checkers::ast::Checker; -use ruff_python_ast::PythonVersion; +use crate::fix::edits::pad; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of exceptions that alias `TimeoutError`. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/type_of_primitive.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/type_of_primitive.rs index 5792100271..ed999a5e14 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/type_of_primitive.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/type_of_primitive.rs @@ -1,11 +1,10 @@ -use ruff_python_ast::Expr; - -use crate::fix::edits::pad; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use ruff_python_ast::Expr; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::fix::edits::pad; +use crate::{Edit, Fix, FixAvailability, Violation}; use super::super::types::Primitive; diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/typing_text_str_alias.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/typing_text_str_alias.rs index e932325884..9e8adda647 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/typing_text_str_alias.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/typing_text_str_alias.rs @@ -1,11 +1,11 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Modules; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for uses of `typing.Text`. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/unicode_kind_prefix.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/unicode_kind_prefix.rs index 4ed3768bac..99f1fe8ce6 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/unicode_kind_prefix.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/unicode_kind_prefix.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::StringLiteral; use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of the Unicode kind prefix (`u`) in strings. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_builtin_import.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_builtin_import.rs index c7bd001ac0..bef5438882 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_builtin_import.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_builtin_import.rs @@ -1,12 +1,12 @@ use itertools::Itertools; use ruff_python_ast::{Alias, Stmt}; -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix; +use crate::{AlwaysFixableViolation, Fix}; /// ## What it does /// Checks for unnecessary imports of builtins. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_class_parentheses.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_class_parentheses.rs index e92bb79150..10649d493e 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_class_parentheses.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_class_parentheses.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for class definitions that include unnecessary parentheses after diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_coding_comment.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_coding_comment.rs index e81a2d0f7c..cfa58b8b24 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_coding_comment.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_coding_comment.rs @@ -3,13 +3,13 @@ use std::sync::LazyLock; use regex::Regex; -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_trivia::CommentRanges; use ruff_source_file::LineRanges; use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::Locator; +use crate::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; /// ## What it does /// Checks for unnecessary UTF-8 encoding declarations. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_default_type_args.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_default_type_args.rs index a5beeae74b..3c11602ffb 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_default_type_args.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_default_type_args.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Applicability, Edit, Fix}; /// ## What it does /// Checks for unnecessary default type arguments for `Generator` and diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs index cd9f895381..d143eab9e0 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs @@ -1,6 +1,5 @@ use std::fmt::Write as _; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Arguments, Expr, Keyword}; use ruff_python_parser::{TokenKind, Tokens}; @@ -9,6 +8,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::Locator; use crate::checkers::ast::Checker; use crate::fix::edits::{Parentheses, pad, remove_argument}; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for unnecessary calls to `encode` as UTF-8. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_future_import.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_future_import.rs index 205dea2593..73c8836a7e 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_future_import.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_future_import.rs @@ -1,12 +1,12 @@ use itertools::Itertools; use ruff_python_ast::{Alias, Stmt}; -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix; +use crate::{AlwaysFixableViolation, Applicability, Fix}; /// ## What it does /// Checks for unnecessary `__future__` imports. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/unpacked_list_comprehension.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/unpacked_list_comprehension.rs index 5c8d28ec46..1958a23120 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/unpacked_list_comprehension.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/unpacked_list_comprehension.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::ViolationMetadata; +use crate::Violation; + /// ## Removed /// There's no [evidence](https://github.com/astral-sh/ruff/issues/12754) that generators are /// meaningfully faster than list comprehensions when combined with unpacking. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/use_pep585_annotation.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/use_pep585_annotation.rs index bdf78ab588..044c21f258 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/use_pep585_annotation.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/use_pep585_annotation.rs @@ -1,6 +1,5 @@ use ruff_python_ast::Expr; -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::UnqualifiedName; use ruff_python_semantic::analyze::typing::ModuleMember; @@ -8,6 +7,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_python_ast::PythonVersion; /// ## What it does diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/use_pep604_annotation.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/use_pep604_annotation.rs index c017a568df..12a7798ad3 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/use_pep604_annotation.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/use_pep604_annotation.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::PythonVersion; use ruff_python_ast::helpers::{pep_604_optional, pep_604_union}; @@ -10,6 +9,7 @@ use crate::checkers::ast::Checker; use crate::codes::Rule; use crate::fix::edits::pad; use crate::preview::is_defer_optional_to_up045_enabled; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Check for type annotations that can be rewritten based on [PEP 604] syntax. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/use_pep604_isinstance.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/use_pep604_isinstance.rs index 8e40da041b..2e0f08638b 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/use_pep604_isinstance.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/use_pep604_isinstance.rs @@ -1,12 +1,12 @@ use std::fmt; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Expr; use ruff_python_ast::helpers::pep_604_union; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; #[derive(Debug, PartialEq, Eq, Copy, Clone)] pub(crate) enum CallKind { diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/useless_class_metaclass_type.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/useless_class_metaclass_type.rs index 0fe0fafd3f..9e364e55b3 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/useless_class_metaclass_type.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/useless_class_metaclass_type.rs @@ -1,6 +1,6 @@ use crate::checkers::ast::Checker; use crate::fix::edits::{Parentheses, remove_argument}; -use ruff_diagnostics::{Fix, FixAvailability, Violation}; +use crate::{Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::StmtClassDef; use ruff_text_size::Ranged; diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/useless_metaclass_type.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/useless_metaclass_type.rs index 608daee95f..b221b2e7cd 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/useless_metaclass_type.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/useless_metaclass_type.rs @@ -1,11 +1,11 @@ use ruff_python_ast::{self as ast, Expr, Stmt}; -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix; +use crate::{AlwaysFixableViolation, Fix}; /// ## What it does /// Checks for the use of `__metaclass__ = type` in class definitions. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/useless_object_inheritance.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/useless_object_inheritance.rs index 96454e2efe..4502cbfeb4 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/useless_object_inheritance.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/useless_object_inheritance.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::edits::{Parentheses, remove_argument}; +use crate::{AlwaysFixableViolation, Fix}; /// ## What it does /// Checks for classes that inherit from `object`. diff --git a/crates/ruff_linter/src/rules/pyupgrade/rules/yield_in_for_loop.rs b/crates/ruff_linter/src/rules/pyupgrade/rules/yield_in_for_loop.rs index 8d7a628d18..e616d4a5c9 100644 --- a/crates/ruff_linter/src/rules/pyupgrade/rules/yield_in_for_loop.rs +++ b/crates/ruff_linter/src/rules/pyupgrade/rules/yield_in_for_loop.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::parenthesize::parenthesized_range; use ruff_python_ast::{self as ast, Expr, Stmt}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `for` loops that can be replaced with `yield from` expressions. diff --git a/crates/ruff_linter/src/rules/refurb/helpers.rs b/crates/ruff_linter/src/rules/refurb/helpers.rs index 54ca98a586..34ed1804ff 100644 --- a/crates/ruff_linter/src/rules/refurb/helpers.rs +++ b/crates/ruff_linter/src/rules/refurb/helpers.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Applicability, Edit, Fix}; use ruff_python_ast::name::Name; use ruff_python_ast::{self as ast, Expr}; use ruff_python_codegen::Generator; @@ -6,6 +5,7 @@ use ruff_python_semantic::{BindingId, ResolvedReference, SemanticModel}; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{Applicability, Edit, Fix}; use ruff_python_ast::PythonVersion; /// Format a code snippet to call `name.method()`. diff --git a/crates/ruff_linter/src/rules/refurb/rules/bit_count.rs b/crates/ruff_linter/src/rules/refurb/rules/bit_count.rs index affce99705..93946dcb1f 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/bit_count.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/bit_count.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::PythonVersion; use ruff_python_ast::{self as ast, Expr, ExprAttribute, ExprCall}; @@ -7,6 +6,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::snippet::SourceCodeSnippet; +use crate::{AlwaysFixableViolation, Applicability, Edit, Fix}; /// ## What it does /// Checks for uses of `bin(...).count("1")` to perform a population count. diff --git a/crates/ruff_linter/src/rules/refurb/rules/check_and_remove_from_set.rs b/crates/ruff_linter/src/rules/refurb/rules/check_and_remove_from_set.rs index fc09185c0c..00ea156590 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/check_and_remove_from_set.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/check_and_remove_from_set.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableExpr; use ruff_python_ast::helpers::contains_effect; @@ -9,6 +8,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::fix::snippet::SourceCodeSnippet; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of `set.remove` that can be replaced with `set.discard`. diff --git a/crates/ruff_linter/src/rules/refurb/rules/delete_full_slice.rs b/crates/ruff_linter/src/rules/refurb/rules/delete_full_slice.rs index fd495659fd..0d8ec381df 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/delete_full_slice.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/delete_full_slice.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_semantic::SemanticModel; @@ -6,6 +5,7 @@ use ruff_python_semantic::analyze::typing::{is_dict, is_list}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; use crate::rules::refurb::helpers::generate_method_call; diff --git a/crates/ruff_linter/src/rules/refurb/rules/for_loop_set_mutations.rs b/crates/ruff_linter/src/rules/refurb/rules/for_loop_set_mutations.rs index 54b313c782..08ccf08d78 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/for_loop_set_mutations.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/for_loop_set_mutations.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Expr, Stmt, StmtFor}; use ruff_python_semantic::analyze::typing; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Applicability, Edit, Fix}; use super::helpers::parenthesize_loop_iter_if_necessary; diff --git a/crates/ruff_linter/src/rules/refurb/rules/for_loop_writes.rs b/crates/ruff_linter/src/rules/refurb/rules/for_loop_writes.rs index e56b2dc452..11ec833370 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/for_loop_writes.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/for_loop_writes.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Expr, ExprList, ExprName, ExprTuple, Stmt, StmtFor}; use ruff_python_semantic::analyze::typing; @@ -6,6 +5,7 @@ use ruff_python_semantic::{Binding, ScopeId, SemanticModel, TypingOnlyBindingsSt use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Applicability, Edit, Fix}; use super::helpers::parenthesize_loop_iter_if_necessary; diff --git a/crates/ruff_linter/src/rules/refurb/rules/fromisoformat_replace_z.rs b/crates/ruff_linter/src/rules/refurb/rules/fromisoformat_replace_z.rs index 85ff8c2c53..def4bf832e 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/fromisoformat_replace_z.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/fromisoformat_replace_z.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::parenthesize::parenthesized_range; use ruff_python_ast::{ @@ -9,6 +8,7 @@ use ruff_python_semantic::SemanticModel; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for `datetime.fromisoformat()` calls diff --git a/crates/ruff_linter/src/rules/refurb/rules/fstring_number_format.rs b/crates/ruff_linter/src/rules/refurb/rules/fstring_number_format.rs index 68767e66ea..c06fe722b0 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/fstring_number_format.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/fstring_number_format.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, ExprCall, Number, PythonVersion, UnaryOp}; use ruff_source_file::find_newline; @@ -6,6 +5,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::snippet::SourceCodeSnippet; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for uses of `bin(...)[2:]` (or `hex`, or `oct`) to convert diff --git a/crates/ruff_linter/src/rules/refurb/rules/hardcoded_string_charset.rs b/crates/ruff_linter/src/rules/refurb/rules/hardcoded_string_charset.rs index c92f1450f9..d29d89244b 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/hardcoded_string_charset.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/hardcoded_string_charset.rs @@ -1,10 +1,11 @@ -use crate::checkers::ast::Checker; -use crate::importer::ImportRequest; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::ExprStringLiteral; use ruff_text_size::TextRange; +use crate::checkers::ast::Checker; +use crate::importer::ImportRequest; +use crate::{AlwaysFixableViolation, Edit, Fix}; + /// ## What it does /// Checks for uses of hardcoded charsets, which are defined in Python string module. /// diff --git a/crates/ruff_linter/src/rules/refurb/rules/hashlib_digest_hex.rs b/crates/ruff_linter/src/rules/refurb/rules/hashlib_digest_hex.rs index 3f6e37bf09..837e5ed79f 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/hashlib_digest_hex.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/hashlib_digest_hex.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Expr, ExprAttribute, ExprCall}; use ruff_python_semantic::Modules; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for the use of `.digest().hex()` on a hashlib hash, like `sha512`. diff --git a/crates/ruff_linter/src/rules/refurb/rules/if_exp_instead_of_or_operator.rs b/crates/ruff_linter/src/rules/refurb/rules/if_exp_instead_of_or_operator.rs index a1cc69838b..7671a05b3a 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/if_exp_instead_of_or_operator.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/if_exp_instead_of_or_operator.rs @@ -1,6 +1,5 @@ use std::borrow::Cow; -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::Expr; @@ -12,6 +11,7 @@ use ruff_text_size::Ranged; use crate::Locator; use crate::checkers::ast::Checker; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for ternary `if` expressions that can be replaced with the `or` diff --git a/crates/ruff_linter/src/rules/refurb/rules/if_expr_min_max.rs b/crates/ruff_linter/src/rules/refurb/rules/if_expr_min_max.rs index 89984e116d..a514b8704e 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/if_expr_min_max.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/if_expr_min_max.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableExpr; use ruff_python_ast::{self as ast, CmpOp, Expr}; @@ -6,6 +5,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::snippet::SourceCodeSnippet; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `if` expressions that can be replaced with `min()` or `max()` diff --git a/crates/ruff_linter/src/rules/refurb/rules/implicit_cwd.rs b/crates/ruff_linter/src/rules/refurb/rules/implicit_cwd.rs index e11b9ecfcb..204bb52f5a 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/implicit_cwd.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/implicit_cwd.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, ExprAttribute, ExprCall}; use ruff_text_size::Ranged; +use crate::{Edit, Fix, FixAvailability, Violation}; use crate::{checkers::ast::Checker, importer::ImportRequest}; /// ## What it does diff --git a/crates/ruff_linter/src/rules/refurb/rules/int_on_sliced_str.rs b/crates/ruff_linter/src/rules/refurb/rules/int_on_sliced_str.rs index 14c8cb64de..7470355369 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/int_on_sliced_str.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/int_on_sliced_str.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Expr, ExprCall, Identifier}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of `int` with an explicit base in which a string expression diff --git a/crates/ruff_linter/src/rules/refurb/rules/isinstance_type_none.rs b/crates/ruff_linter/src/rules/refurb/rules/isinstance_type_none.rs index adf7f45a41..793e0968ad 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/isinstance_type_none.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/isinstance_type_none.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, Operator}; use ruff_python_semantic::SemanticModel; use crate::checkers::ast::Checker; use crate::rules::refurb::helpers::replace_with_identity_check; +use crate::{FixAvailability, Violation}; /// ## What it does /// Checks for uses of `isinstance` that check if an object is of type `None`. diff --git a/crates/ruff_linter/src/rules/refurb/rules/list_reverse_copy.rs b/crates/ruff_linter/src/rules/refurb/rules/list_reverse_copy.rs index 9a6ae7f2c9..bf8e6c6207 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/list_reverse_copy.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/list_reverse_copy.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{ Expr, ExprCall, ExprName, ExprSlice, ExprSubscript, ExprUnaryOp, Int, StmtAssign, UnaryOp, @@ -8,6 +7,7 @@ use ruff_python_semantic::analyze::typing; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for list reversals that can be performed in-place in lieu of diff --git a/crates/ruff_linter/src/rules/refurb/rules/math_constant.rs b/crates/ruff_linter/src/rules/refurb/rules/math_constant.rs index 96f265ad33..c2db8c2c7e 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/math_constant.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/math_constant.rs @@ -1,12 +1,12 @@ use anyhow::Result; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Number}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for literals that are similar to constants in `math` module. diff --git a/crates/ruff_linter/src/rules/refurb/rules/metaclass_abcmeta.rs b/crates/ruff_linter/src/rules/refurb/rules/metaclass_abcmeta.rs index 52c848f778..e079bd93d8 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/metaclass_abcmeta.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/metaclass_abcmeta.rs @@ -1,12 +1,12 @@ use itertools::Itertools; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::StmtClassDef; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of `metaclass=abc.ABCMeta` to define abstract base classes diff --git a/crates/ruff_linter/src/rules/refurb/rules/print_empty_string.rs b/crates/ruff_linter/src/rules/refurb/rules/print_empty_string.rs index c6cec31947..b0b17456ab 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/print_empty_string.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/print_empty_string.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::contains_effect; use ruff_python_ast::{self as ast, Expr}; @@ -7,6 +6,7 @@ use ruff_python_semantic::SemanticModel; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `print` calls with unnecessary empty strings as positional diff --git a/crates/ruff_linter/src/rules/refurb/rules/read_whole_file.rs b/crates/ruff_linter/src/rules/refurb/rules/read_whole_file.rs index 517a5dffdf..0115f742d5 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/read_whole_file.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/read_whole_file.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::visitor::{self, Visitor}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_codegen::Generator; use ruff_text_size::{Ranged, TextRange}; +use crate::Violation; use crate::checkers::ast::Checker; use crate::fix::snippet::SourceCodeSnippet; diff --git a/crates/ruff_linter/src/rules/refurb/rules/readlines_in_for.rs b/crates/ruff_linter/src/rules/refurb/rules/readlines_in_for.rs index 89bafa3ce0..37df344985 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/readlines_in_for.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/readlines_in_for.rs @@ -1,5 +1,3 @@ -use crate::preview::is_readlines_in_for_fix_safe_enabled; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Comprehension, Expr, StmtFor}; use ruff_python_semantic::analyze::typing; @@ -7,6 +5,8 @@ use ruff_python_semantic::analyze::typing::is_io_base_expr; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::preview::is_readlines_in_for_fix_safe_enabled; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of `readlines()` when iterating over a file line-by-line. diff --git a/crates/ruff_linter/src/rules/refurb/rules/redundant_log_base.rs b/crates/ruff_linter/src/rules/refurb/rules/redundant_log_base.rs index d9e4b79ff2..f1063af584 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/redundant_log_base.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/redundant_log_base.rs @@ -1,11 +1,11 @@ use anyhow::Result; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, Number}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `math.log` calls with a redundant base. diff --git a/crates/ruff_linter/src/rules/refurb/rules/regex_flag_alias.rs b/crates/ruff_linter/src/rules/refurb/rules/regex_flag_alias.rs index e0269f57e7..4719e1a29b 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/regex_flag_alias.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/regex_flag_alias.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Expr; use ruff_python_semantic::Modules; @@ -6,6 +5,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for the use of shorthand aliases for regular expression flags diff --git a/crates/ruff_linter/src/rules/refurb/rules/reimplemented_operator.rs b/crates/ruff_linter/src/rules/refurb/rules/reimplemented_operator.rs index 4923c69f14..29d64e7218 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/reimplemented_operator.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/reimplemented_operator.rs @@ -4,7 +4,6 @@ use std::fmt::{Debug, Display, Formatter}; use anyhow::Result; use itertools::Itertools; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::any_over_expr; use ruff_python_ast::identifier::Identifier; @@ -15,6 +14,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::Locator; use crate::checkers::ast::Checker; use crate::importer::{ImportRequest, Importer}; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for lambda expressions and function definitions that can be replaced with a function from diff --git a/crates/ruff_linter/src/rules/refurb/rules/reimplemented_starmap.rs b/crates/ruff_linter/src/rules/refurb/rules/reimplemented_starmap.rs index d97d57ccc3..3fcde5bc32 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/reimplemented_starmap.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/reimplemented_starmap.rs @@ -1,5 +1,4 @@ use anyhow::{Result, bail}; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::comparable::ComparableExpr; use ruff_python_ast::helpers::any_over_expr; @@ -9,6 +8,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for generator expressions, list and set comprehensions that can diff --git a/crates/ruff_linter/src/rules/refurb/rules/repeated_append.rs b/crates/ruff_linter/src/rules/refurb/rules/repeated_append.rs index 7224dcc877..6674bf552d 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/repeated_append.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/repeated_append.rs @@ -1,7 +1,6 @@ use rustc_hash::FxHashMap; use ast::traversal; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::traversal::EnclosingSuite; use ruff_python_ast::{self as ast, Expr, Stmt}; @@ -12,6 +11,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::fix::snippet::SourceCodeSnippet; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for consecutive calls to `append`. diff --git a/crates/ruff_linter/src/rules/refurb/rules/repeated_global.rs b/crates/ruff_linter/src/rules/refurb/rules/repeated_global.rs index aafb0cdd1a..685f7124cc 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/repeated_global.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/repeated_global.rs @@ -1,11 +1,11 @@ use itertools::Itertools; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Stmt; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for consecutive `global` (or `nonlocal`) statements. diff --git a/crates/ruff_linter/src/rules/refurb/rules/single_item_membership_test.rs b/crates/ruff_linter/src/rules/refurb/rules/single_item_membership_test.rs index 158bb6775d..536a5008f8 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/single_item_membership_test.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/single_item_membership_test.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::generate_comparison; use ruff_python_ast::{self as ast, CmpOp, Expr, ExprStringLiteral}; @@ -6,6 +5,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::fix::edits::pad; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for membership tests against single-item containers. diff --git a/crates/ruff_linter/src/rules/refurb/rules/slice_copy.rs b/crates/ruff_linter/src/rules/refurb/rules/slice_copy.rs index 28d9fea480..3b89ce2ebe 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/slice_copy.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/slice_copy.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::Name; use ruff_python_ast::{self as ast, Expr}; @@ -7,6 +6,7 @@ use ruff_python_semantic::{Binding, SemanticModel}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; use crate::rules::refurb::helpers::generate_method_call; diff --git a/crates/ruff_linter/src/rules/refurb/rules/slice_to_remove_prefix_or_suffix.rs b/crates/ruff_linter/src/rules/refurb/rules/slice_to_remove_prefix_or_suffix.rs index 43d608ddff..671cfb0fc9 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/slice_to_remove_prefix_or_suffix.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/slice_to_remove_prefix_or_suffix.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, PythonVersion}; use ruff_python_semantic::SemanticModel; @@ -6,6 +5,7 @@ use ruff_text_size::Ranged; use crate::Locator; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for code that could be written more idiomatically using diff --git a/crates/ruff_linter/src/rules/refurb/rules/sorted_min_max.rs b/crates/ruff_linter/src/rules/refurb/rules/sorted_min_max.rs index 5bdbe5f748..41965dc04f 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/sorted_min_max.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/sorted_min_max.rs @@ -1,12 +1,12 @@ -use ruff_diagnostics::Edit; -use ruff_diagnostics::Fix; -use ruff_diagnostics::FixAvailability; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Number; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; +use crate::Edit; +use crate::Fix; +use crate::FixAvailability; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/refurb/rules/subclass_builtin.rs b/crates/ruff_linter/src/rules/refurb/rules/subclass_builtin.rs index fa35385bed..7d92379b36 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/subclass_builtin.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/subclass_builtin.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Arguments, StmtClassDef, helpers::map_subscript}; use ruff_text_size::Ranged; +use crate::{AlwaysFixableViolation, Edit, Fix}; use crate::{checkers::ast::Checker, importer::ImportRequest}; /// ## What it does diff --git a/crates/ruff_linter/src/rules/refurb/rules/type_none_comparison.rs b/crates/ruff_linter/src/rules/refurb/rules/type_none_comparison.rs index ea59f4496b..b498a5ee49 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/type_none_comparison.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/type_none_comparison.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::AlwaysFixableViolation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, CmpOp, Expr}; use ruff_python_semantic::SemanticModel; +use crate::AlwaysFixableViolation; use crate::checkers::ast::Checker; use crate::rules::refurb::helpers::replace_with_identity_check; diff --git a/crates/ruff_linter/src/rules/refurb/rules/unnecessary_enumerate.rs b/crates/ruff_linter/src/rules/refurb/rules/unnecessary_enumerate.rs index 1795cab986..3313fc8c18 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/unnecessary_enumerate.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/unnecessary_enumerate.rs @@ -1,6 +1,5 @@ use std::fmt; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::name::Name; @@ -12,6 +11,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::fix::edits::pad; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for uses of `enumerate` that discard either the index or the value diff --git a/crates/ruff_linter/src/rules/refurb/rules/unnecessary_from_float.rs b/crates/ruff_linter/src/rules/refurb/rules/unnecessary_from_float.rs index b5352a1322..8303dd4903 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/unnecessary_from_float.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/unnecessary_from_float.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, ExprCall}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for unnecessary `from_float` and `from_decimal` usages to construct diff --git a/crates/ruff_linter/src/rules/refurb/rules/verbose_decimal_constructor.rs b/crates/ruff_linter/src/rules/refurb/rules/verbose_decimal_constructor.rs index 140be4fd9a..2b8060a0c3 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/verbose_decimal_constructor.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/verbose_decimal_constructor.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_trivia::PythonWhitespace; @@ -6,6 +5,7 @@ use ruff_text_size::Ranged; use std::borrow::Cow; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for unnecessary string literal or float casts in `Decimal` diff --git a/crates/ruff_linter/src/rules/refurb/rules/write_whole_file.rs b/crates/ruff_linter/src/rules/refurb/rules/write_whole_file.rs index 2f9d283b23..705cd25b8f 100644 --- a/crates/ruff_linter/src/rules/refurb/rules/write_whole_file.rs +++ b/crates/ruff_linter/src/rules/refurb/rules/write_whole_file.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::relocate::relocate_expr; use ruff_python_ast::visitor::{self, Visitor}; @@ -6,6 +5,7 @@ use ruff_python_ast::{self as ast, Expr, Stmt}; use ruff_python_codegen::Generator; use ruff_text_size::{Ranged, TextRange}; +use crate::Violation; use crate::checkers::ast::Checker; use crate::fix::snippet::SourceCodeSnippet; diff --git a/crates/ruff_linter/src/rules/ruff/rules/ambiguous_unicode_character.rs b/crates/ruff_linter/src/rules/ruff/rules/ambiguous_unicode_character.rs index ae66234b24..ae672e6b3d 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/ambiguous_unicode_character.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/ambiguous_unicode_character.rs @@ -2,7 +2,6 @@ use std::fmt; use bitflags::bitflags; -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, StringLike}; use ruff_text_size::{Ranged, TextLen, TextRange, TextSize}; @@ -14,6 +13,7 @@ use crate::registry::AsRule; use crate::rules::ruff::rules::Context; use crate::rules::ruff::rules::confusables::confusable; use crate::settings::LinterSettings; +use crate::{Diagnostic, Violation}; /// ## What it does /// Checks for ambiguous Unicode characters in strings. diff --git a/crates/ruff_linter/src/rules/ruff/rules/assert_with_print_message.rs b/crates/ruff_linter/src/rules/ruff/rules/assert_with_print_message.rs index 1d2decaf56..5c956340e1 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/assert_with_print_message.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/assert_with_print_message.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{self as ast, Expr, Stmt}; use ruff_text_size::{Ranged, TextRange}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of `assert expression, print(message)`. diff --git a/crates/ruff_linter/src/rules/ruff/rules/assignment_in_assert.rs b/crates/ruff_linter/src/rules/ruff/rules/assignment_in_assert.rs index e4e08bb1df..1de48b6454 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/assignment_in_assert.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/assignment_in_assert.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Binding; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/ruff/rules/asyncio_dangling_task.rs b/crates/ruff_linter/src/rules/ruff/rules/asyncio_dangling_task.rs index e125e77616..17657e6f9c 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/asyncio_dangling_task.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/asyncio_dangling_task.rs @@ -1,12 +1,12 @@ use std::fmt; use ast::Stmt; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_python_semantic::{Scope, SemanticModel, analyze::typing}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/ruff/rules/class_with_mixed_type_vars.rs b/crates/ruff_linter/src/rules/ruff/rules/class_with_mixed_type_vars.rs index 52a58882fe..4f409f0329 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/class_with_mixed_type_vars.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/class_with_mixed_type_vars.rs @@ -1,7 +1,6 @@ use rustc_hash::FxHashSet; use std::iter; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{ Arguments, Expr, ExprStarred, ExprSubscript, ExprTuple, StmtClassDef, TypeParams, @@ -13,6 +12,7 @@ use crate::fix::edits::{Parentheses, remove_argument}; use crate::rules::pyupgrade::rules::pep695::{ DisplayTypeVars, TypeParamKind, TypeVar, expr_name_to_type_var, find_generic, }; +use crate::{Edit, Fix, FixAvailability, Violation}; use ruff_python_ast::PythonVersion; /// ## What it does diff --git a/crates/ruff_linter/src/rules/ruff/rules/collection_literal_concatenation.rs b/crates/ruff_linter/src/rules/ruff/rules/collection_literal_concatenation.rs index 743808b741..566b9e822e 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/collection_literal_concatenation.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/collection_literal_concatenation.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, ExprContext, Operator}; use ruff_text_size::{Ranged, TextRange}; @@ -6,6 +5,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; use crate::fix::snippet::SourceCodeSnippet; use crate::preview::is_support_slices_in_literal_concatenation_enabled; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for uses of the `+` operator to concatenate collections. diff --git a/crates/ruff_linter/src/rules/ruff/rules/dataclass_enum.rs b/crates/ruff_linter/src/rules/ruff/rules/dataclass_enum.rs index d32429b66d..84f3d65fae 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/dataclass_enum.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/dataclass_enum.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::StmtClassDef; use ruff_python_semantic::analyze::class::is_enumeration; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::ruff::rules::helpers::{DataclassKind, dataclass_kind}; diff --git a/crates/ruff_linter/src/rules/ruff/rules/decimal_from_float_literal.rs b/crates/ruff_linter/src/rules/ruff/rules/decimal_from_float_literal.rs index 05da96b2e5..8b1776e8e6 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/decimal_from_float_literal.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/decimal_from_float_literal.rs @@ -1,6 +1,5 @@ use std::fmt; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_codegen::Stylist; @@ -8,6 +7,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::Locator; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for `Decimal` calls passing a float literal. diff --git a/crates/ruff_linter/src/rules/ruff/rules/default_factory_kwarg.rs b/crates/ruff_linter/src/rules/ruff/rules/default_factory_kwarg.rs index f569c45366..934ead0da0 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/default_factory_kwarg.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/default_factory_kwarg.rs @@ -1,7 +1,6 @@ use anyhow::Result; use ast::Keyword; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_constant; use ruff_python_ast::{self as ast, Expr}; @@ -11,6 +10,7 @@ use crate::Locator; use crate::checkers::ast::Checker; use crate::fix::edits::{Parentheses, remove_argument}; use crate::fix::snippet::SourceCodeSnippet; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for incorrect usages of `default_factory` as a keyword argument when diff --git a/crates/ruff_linter/src/rules/ruff/rules/explicit_f_string_type_conversion.rs b/crates/ruff_linter/src/rules/ruff/rules/explicit_f_string_type_conversion.rs index 15e836e0f2..7318e8e683 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/explicit_f_string_type_conversion.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/explicit_f_string_type_conversion.rs @@ -1,6 +1,5 @@ use anyhow::{Result, bail}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Arguments, Expr}; use ruff_python_codegen::Stylist; @@ -12,6 +11,7 @@ use crate::cst::matchers::{ match_call_mut, match_formatted_string, match_formatted_string_expression, match_name, transform_expression, }; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for uses of `str()`, `repr()`, and `ascii()` as explicit type diff --git a/crates/ruff_linter/src/rules/ruff/rules/falsy_dict_get_fallback.rs b/crates/ruff_linter/src/rules/ruff/rules/falsy_dict_get_fallback.rs index 921416a37c..64b0bcdc71 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/falsy_dict_get_fallback.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/falsy_dict_get_fallback.rs @@ -1,11 +1,12 @@ -use crate::checkers::ast::Checker; -use crate::fix::edits::{Parentheses, remove_argument}; -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Expr, ExprAttribute, helpers::Truthiness}; use ruff_python_semantic::analyze::typing; use ruff_text_size::Ranged; +use crate::checkers::ast::Checker; +use crate::fix::edits::{Parentheses, remove_argument}; +use crate::{AlwaysFixableViolation, Applicability, Fix}; + /// ## What it does /// Checks for `dict.get(key, falsy_value)` calls in boolean test positions. /// diff --git a/crates/ruff_linter/src/rules/ruff/rules/function_call_in_dataclass_default.rs b/crates/ruff_linter/src/rules/ruff/rules/function_call_in_dataclass_default.rs index 77159ed537..3612e3f7c2 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/function_call_in_dataclass_default.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/function_call_in_dataclass_default.rs @@ -1,6 +1,5 @@ use ruff_python_ast::{self as ast, Expr, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::{QualifiedName, UnqualifiedName}; use ruff_python_semantic::analyze::typing::{ @@ -8,6 +7,7 @@ use ruff_python_semantic::analyze::typing::{ }; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::ruff::rules::helpers::{ AttrsAutoAttribs, DataclassKind, dataclass_kind, is_class_var_annotation, is_dataclass_field, diff --git a/crates/ruff_linter/src/rules/ruff/rules/if_key_in_dict_del.rs b/crates/ruff_linter/src/rules/ruff/rules/if_key_in_dict_del.rs index 5dd3962ef2..969aff55b2 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/if_key_in_dict_del.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/if_key_in_dict_del.rs @@ -1,9 +1,10 @@ -use crate::checkers::ast::Checker; -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{CmpOp, Expr, ExprName, ExprSubscript, Stmt, StmtIf}; use ruff_python_semantic::analyze::typing; +use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Applicability, Edit, Fix}; + type Key = Expr; type Dict = ExprName; diff --git a/crates/ruff_linter/src/rules/ruff/rules/implicit_classvar_in_dataclass.rs b/crates/ruff_linter/src/rules/ruff/rules/implicit_classvar_in_dataclass.rs index 8968369fee..336dafbca3 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/implicit_classvar_in_dataclass.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/implicit_classvar_in_dataclass.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_dunder; use ruff_python_ast::{Expr, ExprName, Stmt, StmtAssign, StmtClassDef}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::ruff::rules::helpers::{DataclassKind, dataclass_kind}; diff --git a/crates/ruff_linter/src/rules/ruff/rules/implicit_optional.rs b/crates/ruff_linter/src/rules/ruff/rules/implicit_optional.rs index c24ec7fa27..7a259f92a0 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/implicit_optional.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/implicit_optional.rs @@ -2,7 +2,6 @@ use std::fmt; use anyhow::{Context, Result}; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::Name; @@ -10,6 +9,7 @@ use ruff_python_ast::{self as ast, Expr, Operator, Parameters}; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; use ruff_python_ast::PythonVersion; diff --git a/crates/ruff_linter/src/rules/ruff/rules/in_empty_collection.rs b/crates/ruff_linter/src/rules/ruff/rules/in_empty_collection.rs index 55d2374a82..c19dc7bde4 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/in_empty_collection.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/in_empty_collection.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, CmpOp, Expr}; use ruff_python_semantic::SemanticModel; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/ruff/rules/incorrectly_parenthesized_tuple_in_subscript.rs b/crates/ruff_linter/src/rules/ruff/rules/incorrectly_parenthesized_tuple_in_subscript.rs index a3b3cc6718..490cd20cf0 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/incorrectly_parenthesized_tuple_in_subscript.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/incorrectly_parenthesized_tuple_in_subscript.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Expr, ExprSubscript, PythonVersion}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for consistent style regarding whether nonempty tuples in subscripts diff --git a/crates/ruff_linter/src/rules/ruff/rules/indented_form_feed.rs b/crates/ruff_linter/src/rules/ruff/rules/indented_form_feed.rs index 66f0c7d1c0..f76f5a6c1e 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/indented_form_feed.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/indented_form_feed.rs @@ -1,10 +1,11 @@ use memchr::memchr; -use ruff_diagnostics::{Diagnostic, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_source_file::Line; use ruff_text_size::{TextRange, TextSize}; +use crate::{Diagnostic, Violation}; + /// ## What it does /// Checks for form feed characters preceded by either a space or a tab. /// diff --git a/crates/ruff_linter/src/rules/ruff/rules/invalid_assert_message_literal_argument.rs b/crates/ruff_linter/src/rules/ruff/rules/invalid_assert_message_literal_argument.rs index fecad284df..3d2bbbaa83 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/invalid_assert_message_literal_argument.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/invalid_assert_message_literal_argument.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Expr, StmtAssert}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/ruff/rules/invalid_formatter_suppression_comment.rs b/crates/ruff_linter/src/rules/ruff/rules/invalid_formatter_suppression_comment.rs index ad873444ca..f5152cf1af 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/invalid_formatter_suppression_comment.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/invalid_formatter_suppression_comment.rs @@ -3,7 +3,6 @@ use std::fmt::Display; use smallvec::SmallVec; use ast::{StmtClassDef, StmtFunctionDef}; -use ruff_diagnostics::{AlwaysFixableViolation, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, AnyNodeRef, helpers::comment_indentation_after}; use ruff_python_trivia::{SuppressionKind, indentation_at_offset}; @@ -12,6 +11,7 @@ use ruff_text_size::{Ranged, TextLen, TextRange}; use crate::Locator; use crate::checkers::ast::Checker; use crate::fix::edits::delete_comment; +use crate::{AlwaysFixableViolation, Fix}; use super::suppression_comment_visitor::{ CaptureSuppressionComment, SuppressionComment, SuppressionCommentData, diff --git a/crates/ruff_linter/src/rules/ruff/rules/invalid_index_type.rs b/crates/ruff_linter/src/rules/ruff/rules/invalid_index_type.rs index fca2b26aef..067a074718 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/invalid_index_type.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/invalid_index_type.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{Expr, ExprNumberLiteral, ExprSlice, ExprSubscript, Number}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use std::fmt; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/ruff/rules/invalid_pyproject_toml.rs b/crates/ruff_linter/src/rules/ruff/rules/invalid_pyproject_toml.rs index 875114df4d..bc91f9cf54 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/invalid_pyproject_toml.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/invalid_pyproject_toml.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::{FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::{FixAvailability, Violation}; + /// ## What it does /// Checks for any pyproject.toml that does not conform to the schema from the relevant PEPs. /// diff --git a/crates/ruff_linter/src/rules/ruff/rules/invalid_rule_code.rs b/crates/ruff_linter/src/rules/ruff/rules/invalid_rule_code.rs index fa9de17d41..2d1bb95d23 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/invalid_rule_code.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/invalid_rule_code.rs @@ -1,11 +1,11 @@ -use crate::Locator; -use crate::noqa::{Code, Directive}; -use crate::registry::Rule; -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::{Ranged, TextLen, TextRange, TextSize}; +use crate::Locator; +use crate::noqa::{Code, Directive}; use crate::noqa::{Codes, NoqaDirectives}; +use crate::registry::Rule; +use crate::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; /// ## What it does /// Checks for `noqa` codes that are invalid. diff --git a/crates/ruff_linter/src/rules/ruff/rules/map_int_version_parsing.rs b/crates/ruff_linter/src/rules/ruff/rules/map_int_version_parsing.rs index db20a797b2..590273f671 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/map_int_version_parsing.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/map_int_version_parsing.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_semantic::SemanticModel; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/ruff/rules/missing_fstring_syntax.rs b/crates/ruff_linter/src/rules/ruff/rules/missing_fstring_syntax.rs index 5ef7320b06..359b8472f8 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/missing_fstring_syntax.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/missing_fstring_syntax.rs @@ -1,7 +1,6 @@ use memchr::memchr2_iter; use rustc_hash::FxHashSet; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_literal::format::FormatSpec; @@ -13,6 +12,7 @@ use ruff_text_size::{Ranged, TextRange}; use crate::Locator; use crate::checkers::ast::Checker; use crate::rules::fastapi::rules::is_fastapi_route_call; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Searches for strings that look like they were meant to be f-strings, but are missing an `f` prefix. diff --git a/crates/ruff_linter/src/rules/ruff/rules/mutable_class_default.rs b/crates/ruff_linter/src/rules/ruff/rules/mutable_class_default.rs index 684933272f..d0fe008bd8 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/mutable_class_default.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/mutable_class_default.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{self as ast, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::analyze::typing::{is_immutable_annotation, is_mutable_expr}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::ruff::rules::helpers::{ dataclass_kind, has_default_copy_semantics, is_class_var_annotation, is_final_annotation, diff --git a/crates/ruff_linter/src/rules/ruff/rules/mutable_dataclass_default.rs b/crates/ruff_linter/src/rules/ruff/rules/mutable_dataclass_default.rs index 3eb89e8568..34d38d6059 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/mutable_dataclass_default.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/mutable_dataclass_default.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{self as ast, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::analyze::typing::{is_immutable_annotation, is_mutable_expr}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::ruff::rules::helpers::{dataclass_kind, is_class_var_annotation}; diff --git a/crates/ruff_linter/src/rules/ruff/rules/mutable_fromkeys_value.rs b/crates/ruff_linter/src/rules/ruff/rules/mutable_fromkeys_value.rs index 0eabf475d4..7ec204fd61 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/mutable_fromkeys_value.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/mutable_fromkeys_value.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::name::Name; use ruff_python_ast::{self as ast, Expr}; @@ -9,6 +8,7 @@ use ruff_text_size::Ranged; use ruff_text_size::TextRange; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for mutable objects passed as a value argument to `dict.fromkeys`. diff --git a/crates/ruff_linter/src/rules/ruff/rules/needless_else.rs b/crates/ruff_linter/src/rules/ruff/rules/needless_else.rs index 7d0ede8cbc..ca510970d6 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/needless_else.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/needless_else.rs @@ -1,6 +1,5 @@ use std::cmp::Ordering; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::comment_indentation_after; use ruff_python_ast::whitespace::indentation; @@ -10,6 +9,7 @@ use ruff_source_file::LineRanges; use ruff_text_size::{Ranged, TextLen, TextRange, TextSize}; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for `else` clauses that only contains `pass` and `...` statements. diff --git a/crates/ruff_linter/src/rules/ruff/rules/never_union.rs b/crates/ruff_linter/src/rules/ruff/rules/never_union.rs index 6257b91d82..34cf80384b 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/never_union.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/never_union.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr, ExprBinOp, Operator}; use ruff_python_semantic::{SemanticModel, analyze::typing::traverse_union}; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for uses of `typing.NoReturn` and `typing.Never` in union types. diff --git a/crates/ruff_linter/src/rules/ruff/rules/none_not_at_end_of_union.rs b/crates/ruff_linter/src/rules/ruff/rules/none_not_at_end_of_union.rs index f4fd20d008..a040bc9618 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/none_not_at_end_of_union.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/none_not_at_end_of_union.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Expr; use ruff_python_semantic::analyze::typing::traverse_union; use ruff_text_size::Ranged; use smallvec::SmallVec; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/ruff/rules/parenthesize_chained_operators.rs b/crates/ruff_linter/src/rules/ruff/rules/parenthesize_chained_operators.rs index d1706e67d6..e7ad588a8b 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/parenthesize_chained_operators.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/parenthesize_chained_operators.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::parenthesize::parenthesized_range; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for chained operators where adding parentheses could improve the diff --git a/crates/ruff_linter/src/rules/ruff/rules/post_init_default.rs b/crates/ruff_linter/src/rules/ruff/rules/post_init_default.rs index 26bc325261..dc9ca62e47 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/post_init_default.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/post_init_default.rs @@ -1,6 +1,5 @@ use anyhow::Context; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_semantic::{Scope, ScopeKind}; @@ -8,6 +7,7 @@ use ruff_python_trivia::{indentation_at_offset, textwrap}; use ruff_source_file::LineRanges; use ruff_text_size::Ranged; +use crate::{Edit, Fix, FixAvailability, Violation}; use crate::{checkers::ast::Checker, importer::ImportRequest}; use super::helpers::{DataclassKind, dataclass_kind}; diff --git a/crates/ruff_linter/src/rules/ruff/rules/pytest_raises_ambiguous_pattern.rs b/crates/ruff_linter/src/rules/ruff/rules/pytest_raises_ambiguous_pattern.rs index 3133536223..5199c0e966 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/pytest_raises_ambiguous_pattern.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/pytest_raises_ambiguous_pattern.rs @@ -1,9 +1,10 @@ -use crate::checkers::ast::Checker; -use crate::rules::flake8_pytest_style::rules::is_pytest_raises; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; +use crate::Violation; +use crate::checkers::ast::Checker; +use crate::rules::flake8_pytest_style::rules::is_pytest_raises; + /// ## What it does /// Checks for non-raw literal string arguments passed to the `match` parameter /// of `pytest.raises()` where the string contains at least one unescaped diff --git a/crates/ruff_linter/src/rules/ruff/rules/quadratic_list_summation.rs b/crates/ruff_linter/src/rules/ruff/rules/quadratic_list_summation.rs index eb290b9e53..fef61601fb 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/quadratic_list_summation.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/quadratic_list_summation.rs @@ -1,7 +1,6 @@ use anyhow::Result; use itertools::Itertools; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::parenthesize::parenthesized_range; use ruff_python_ast::{self as ast, Arguments, Expr}; @@ -10,6 +9,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for the use of `sum()` to flatten lists of lists, which has diff --git a/crates/ruff_linter/src/rules/ruff/rules/redirected_noqa.rs b/crates/ruff_linter/src/rules/ruff/rules/redirected_noqa.rs index 12a2f23901..59b50d04d6 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/redirected_noqa.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/redirected_noqa.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; use crate::noqa::{Codes, Directive, FileNoqaDirectives, NoqaDirectives}; use crate::rule_redirects::get_redirect_target; +use crate::{AlwaysFixableViolation, Diagnostic, Edit, Fix}; /// ## What it does /// Checks for `noqa` directives that use redirected rule codes. diff --git a/crates/ruff_linter/src/rules/ruff/rules/redundant_bool_literal.rs b/crates/ruff_linter/src/rules/ruff/rules/redundant_bool_literal.rs index 6aa037e4e8..3c0fafc623 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/redundant_bool_literal.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/redundant_bool_literal.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::Expr; use ruff_python_semantic::analyze::typing::traverse_literal; @@ -7,6 +6,7 @@ use ruff_text_size::Ranged; use bitflags::bitflags; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `Literal[True, False]` type annotations. diff --git a/crates/ruff_linter/src/rules/ruff/rules/sort_dunder_all.rs b/crates/ruff_linter/src/rules/ruff/rules/sort_dunder_all.rs index 6107c3a117..15e0760dc2 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/sort_dunder_all.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/sort_dunder_all.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_source_file::LineRanges; @@ -9,6 +8,7 @@ use crate::rules::ruff::rules::sequence_sorting::{ MultilineStringSequenceValue, SequenceKind, SortClassification, SortingStyle, sort_single_line_elements_sequence, }; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `__all__` definitions that are not ordered diff --git a/crates/ruff_linter/src/rules/ruff/rules/sort_dunder_slots.rs b/crates/ruff_linter/src/rules/ruff/rules/sort_dunder_slots.rs index d318569fdf..3ee20c168b 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/sort_dunder_slots.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/sort_dunder_slots.rs @@ -2,7 +2,6 @@ use std::borrow::Cow; use itertools::izip; -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_semantic::Binding; @@ -15,6 +14,7 @@ use crate::rules::ruff::rules::sequence_sorting::{ CommentComplexity, MultilineStringSequenceValue, SequenceKind, SortClassification, SortingStyle, sort_single_line_elements_sequence, }; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for `__slots__` definitions that are not ordered according to a diff --git a/crates/ruff_linter/src/rules/ruff/rules/starmap_zip.rs b/crates/ruff_linter/src/rules/ruff/rules/starmap_zip.rs index 8e192ef2c3..c5ecfabbe4 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/starmap_zip.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/starmap_zip.rs @@ -1,10 +1,11 @@ -use crate::checkers::ast::Checker; -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Expr, ExprCall, parenthesize::parenthesized_range}; use ruff_python_parser::TokenKind; use ruff_text_size::{Ranged, TextRange}; +use crate::checkers::ast::Checker; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; + /// ## What it does /// Checks for `itertools.starmap` calls where the second argument is a `zip` call. /// diff --git a/crates/ruff_linter/src/rules/ruff/rules/static_key_dict_comprehension.rs b/crates/ruff_linter/src/rules/ruff/rules/static_key_dict_comprehension.rs index 69f747b773..63fd8e3614 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/static_key_dict_comprehension.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/static_key_dict_comprehension.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## Removed /// This rule was implemented in `flake8-bugbear` and has been remapped to [B035] /// diff --git a/crates/ruff_linter/src/rules/ruff/rules/test_rules.rs b/crates/ruff_linter/src/rules/ruff/rules/test_rules.rs index 38c82b5460..4bad3a0066 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/test_rules.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/test_rules.rs @@ -13,13 +13,13 @@ /// /// Rules that provide a fix _must_ not raise unconditionally or the linter /// will not converge. -use ruff_diagnostics::{Diagnostic, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_trivia::CommentRanges; use ruff_text_size::TextSize; use crate::Locator; use crate::registry::Rule; +use crate::{Diagnostic, Edit, Fix, FixAvailability, Violation}; /// Check if a comment exists anywhere in a given file fn comment_exists(text: &str, locator: &Locator, comment_ranges: &CommentRanges) -> bool { diff --git a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_cast_to_int.rs b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_cast_to_int.rs index 872ecfbf35..39c45b19e8 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_cast_to_int.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_cast_to_int.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::parenthesize::parenthesized_range; use ruff_python_ast::{Arguments, Expr, ExprCall}; @@ -13,6 +12,7 @@ use crate::checkers::ast::Checker; use crate::rules::ruff::rules::unnecessary_round::{ InferredType, NdigitsValue, RoundedValue, rounded_and_ndigits, }; +use crate::{AlwaysFixableViolation, Applicability, Edit, Fix}; /// ## What it does /// Checks for `int` conversions of values that are already integers. diff --git a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_iterable_allocation_for_first_element.rs b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_iterable_allocation_for_first_element.rs index 8bc725f53e..ae09b7f544 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_iterable_allocation_for_first_element.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_iterable_allocation_for_first_element.rs @@ -1,6 +1,5 @@ use std::borrow::Cow; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Arguments, Comprehension, Expr, Int}; use ruff_python_semantic::SemanticModel; @@ -9,6 +8,7 @@ use ruff_text_size::{Ranged, TextRange, TextSize}; use crate::checkers::ast::Checker; use crate::fix::snippet::SourceCodeSnippet; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks the following constructs, all of which can be replaced by diff --git a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_key_check.rs b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_key_check.rs index c34d075b1a..72887978b3 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_key_check.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_key_check.rs @@ -1,13 +1,13 @@ use ruff_python_ast::comparable::ComparableExpr; use ruff_python_ast::{self as ast, BoolOp, CmpOp, Expr}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::contains_effect; use ruff_python_ast::parenthesize::parenthesized_range; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for unnecessary key checks prior to accessing a dictionary. diff --git a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_literal_within_deque_call.rs b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_literal_within_deque_call.rs index 869f23d4aa..8ed8719a40 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_literal_within_deque_call.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_literal_within_deque_call.rs @@ -1,9 +1,10 @@ -use crate::checkers::ast::Checker; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Expr}; use ruff_text_size::Ranged; +use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; + /// ## What it does /// Checks for usages of `collections.deque` that have an empty iterable as the first argument. /// diff --git a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_nested_literal.rs b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_nested_literal.rs index 0595b1e0f7..0dbdc44d86 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_nested_literal.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_nested_literal.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{AnyNodeRef, Expr, ExprContext, ExprSubscript, ExprTuple}; use ruff_python_semantic::analyze::typing::traverse_literal; use ruff_text_size::{Ranged, TextRange}; use crate::checkers::ast::Checker; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for unnecessary nested `Literal`. diff --git a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_regular_expression.rs b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_regular_expression.rs index 6200664b0a..619ec3ac04 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_regular_expression.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_regular_expression.rs @@ -1,5 +1,4 @@ use itertools::Itertools; -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{ Arguments, CmpOp, Expr, ExprAttribute, ExprCall, ExprCompare, ExprContext, ExprStringLiteral, @@ -10,6 +9,7 @@ use ruff_python_semantic::{Modules, SemanticModel}; use ruff_text_size::TextRange; use crate::checkers::ast::Checker; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// diff --git a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_round.rs b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_round.rs index 070ebc4e40..44ca9f9004 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_round.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_round.rs @@ -1,6 +1,3 @@ -use crate::Locator; -use crate::checkers::ast::Checker; -use ruff_diagnostics::{AlwaysFixableViolation, Applicability, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{Arguments, Expr, ExprCall, ExprNumberLiteral, Number}; use ruff_python_semantic::SemanticModel; @@ -9,6 +6,10 @@ use ruff_python_semantic::analyze::typing; use ruff_source_file::find_newline; use ruff_text_size::Ranged; +use crate::Locator; +use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Applicability, Edit, Fix}; + /// ## What it does /// Checks for `round()` calls that have no effect on the input. /// diff --git a/crates/ruff_linter/src/rules/ruff/rules/unraw_re_pattern.rs b/crates/ruff_linter/src/rules/ruff/rules/unraw_re_pattern.rs index 9119be93b2..557cab4269 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/unraw_re_pattern.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/unraw_re_pattern.rs @@ -1,7 +1,6 @@ use std::fmt::{Display, Formatter}; use std::str::FromStr; -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{ BytesLiteral, Expr, ExprBytesLiteral, ExprCall, ExprStringLiteral, StringLiteral, @@ -11,6 +10,7 @@ use ruff_python_semantic::{Modules, SemanticModel}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Reports the following `re` and `regex` calls when diff --git a/crates/ruff_linter/src/rules/ruff/rules/unsafe_markup_use.rs b/crates/ruff_linter/src/rules/ruff/rules/unsafe_markup_use.rs index afd79f23b5..2cc04e602b 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/unsafe_markup_use.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/unsafe_markup_use.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## Removed /// This rule was implemented in `bandit` and has been remapped to /// [S704](unsafe-markup-use.md) diff --git a/crates/ruff_linter/src/rules/ruff/rules/unused_async.rs b/crates/ruff_linter/src/rules/ruff/rules/unused_async.rs index f9f7b32c9b..a3de93719e 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/unused_async.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/unused_async.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::identifier::Identifier; use ruff_python_ast::visitor::source_order; @@ -6,6 +5,7 @@ use ruff_python_ast::{self as ast, AnyNodeRef, Expr, Stmt}; use ruff_python_semantic::Modules; use ruff_python_semantic::analyze::function_type::is_stub; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::fastapi::rules::is_fastapi_route; diff --git a/crates/ruff_linter/src/rules/ruff/rules/unused_noqa.rs b/crates/ruff_linter/src/rules/ruff/rules/unused_noqa.rs index e29e7acfeb..52e367500b 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/unused_noqa.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/unused_noqa.rs @@ -1,8 +1,9 @@ use itertools::Itertools; -use ruff_diagnostics::AlwaysFixableViolation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::AlwaysFixableViolation; + #[derive(Debug, PartialEq, Eq)] pub(crate) struct UnusedCodes { pub disabled: Vec, diff --git a/crates/ruff_linter/src/rules/ruff/rules/unused_unpacked_variable.rs b/crates/ruff_linter/src/rules/ruff/rules/unused_unpacked_variable.rs index bf4997abca..2e78152b63 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/unused_unpacked_variable.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/unused_unpacked_variable.rs @@ -1,9 +1,9 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_semantic::Binding; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for the presence of unused variables in unpacked assignments. diff --git a/crates/ruff_linter/src/rules/ruff/rules/used_dummy_variable.rs b/crates/ruff_linter/src/rules/ruff/rules/used_dummy_variable.rs index facb461624..a3d3f3a986 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/used_dummy_variable.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/used_dummy_variable.rs @@ -1,10 +1,10 @@ -use ruff_diagnostics::{Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::is_dunder; use ruff_python_semantic::{Binding, BindingId}; use ruff_python_stdlib::identifiers::is_identifier; use ruff_text_size::Ranged; +use crate::{Fix, FixAvailability, Violation}; use crate::{ checkers::ast::Checker, renamer::{Renamer, ShadowedKind}, diff --git a/crates/ruff_linter/src/rules/ruff/rules/useless_if_else.rs b/crates/ruff_linter/src/rules/ruff/rules/useless_if_else.rs index 1076ec0edf..6d7502dd56 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/useless_if_else.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/useless_if_else.rs @@ -1,9 +1,10 @@ -use crate::checkers::ast::Checker; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast as ast; use ruff_python_ast::comparable::ComparableExpr; +use crate::Violation; +use crate::checkers::ast::Checker; + /// ## What it does /// Checks for useless `if`-`else` conditions with identical arms. /// diff --git a/crates/ruff_linter/src/rules/ruff/rules/zip_instead_of_pairwise.rs b/crates/ruff_linter/src/rules/ruff/rules/zip_instead_of_pairwise.rs index 7e055c204e..261ee446c3 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/zip_instead_of_pairwise.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/zip_instead_of_pairwise.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::{Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Arguments, Expr, Int}; use ruff_text_size::Ranged; +use crate::{Edit, Fix, FixAvailability, Violation}; use crate::{checkers::ast::Checker, importer::ImportRequest}; /// ## What it does diff --git a/crates/ruff_linter/src/rules/tryceratops/rules/error_instead_of_exception.rs b/crates/ruff_linter/src/rules/tryceratops/rules/error_instead_of_exception.rs index e8a1c7b66c..5a59099cae 100644 --- a/crates/ruff_linter/src/rules/tryceratops/rules/error_instead_of_exception.rs +++ b/crates/ruff_linter/src/rules/tryceratops/rules/error_instead_of_exception.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::{Applicability, Edit, Fix, FixAvailability, Violation}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::visitor::Visitor; use ruff_python_ast::{self as ast, ExceptHandler, Expr}; @@ -9,6 +8,7 @@ use ruff_text_size::Ranged; use crate::checkers::ast::Checker; use crate::importer::ImportRequest; use crate::rules::tryceratops::helpers::LoggerCandidateVisitor; +use crate::{Applicability, Edit, Fix, FixAvailability, Violation}; /// ## What it does /// Checks for uses of `logging.error` instead of `logging.exception` when diff --git a/crates/ruff_linter/src/rules/tryceratops/rules/raise_vanilla_args.rs b/crates/ruff_linter/src/rules/tryceratops/rules/raise_vanilla_args.rs index 3d5737c7dc..c359367ded 100644 --- a/crates/ruff_linter/src/rules/tryceratops/rules/raise_vanilla_args.rs +++ b/crates/ruff_linter/src/rules/tryceratops/rules/raise_vanilla_args.rs @@ -1,8 +1,8 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{self as ast, Arguments, Expr}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/tryceratops/rules/raise_vanilla_class.rs b/crates/ruff_linter/src/rules/tryceratops/rules/raise_vanilla_class.rs index ff393ad010..6549f3caad 100644 --- a/crates/ruff_linter/src/rules/tryceratops/rules/raise_vanilla_class.rs +++ b/crates/ruff_linter/src/rules/tryceratops/rules/raise_vanilla_class.rs @@ -1,10 +1,10 @@ use ruff_python_ast::Expr; use ruff_python_ast::helpers::map_callable; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/tryceratops/rules/raise_within_try.rs b/crates/ruff_linter/src/rules/tryceratops/rules/raise_within_try.rs index 80035ee847..ce14896377 100644 --- a/crates/ruff_linter/src/rules/tryceratops/rules/raise_within_try.rs +++ b/crates/ruff_linter/src/rules/tryceratops/rules/raise_within_try.rs @@ -1,6 +1,5 @@ use ruff_python_ast::{self as ast, ExceptHandler, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::{ comparable::ComparableExpr, @@ -9,6 +8,7 @@ use ruff_python_ast::{ }; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/tryceratops/rules/reraise_no_cause.rs b/crates/ruff_linter/src/rules/tryceratops/rules/reraise_no_cause.rs index 2470e5a1f6..a50d64136e 100644 --- a/crates/ruff_linter/src/rules/tryceratops/rules/reraise_no_cause.rs +++ b/crates/ruff_linter/src/rules/tryceratops/rules/reraise_no_cause.rs @@ -1,6 +1,7 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; +use crate::Violation; + /// ## Removed /// This rule is identical to [B904] which should be used instead. /// diff --git a/crates/ruff_linter/src/rules/tryceratops/rules/try_consider_else.rs b/crates/ruff_linter/src/rules/tryceratops/rules/try_consider_else.rs index 38ca82348c..c27be65d8a 100644 --- a/crates/ruff_linter/src/rules/tryceratops/rules/try_consider_else.rs +++ b/crates/ruff_linter/src/rules/tryceratops/rules/try_consider_else.rs @@ -1,10 +1,10 @@ use ruff_python_ast::{self as ast, ExceptHandler, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::contains_effect; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/tryceratops/rules/type_check_without_type_error.rs b/crates/ruff_linter/src/rules/tryceratops/rules/type_check_without_type_error.rs index 6414dc6cdc..59eedace93 100644 --- a/crates/ruff_linter/src/rules/tryceratops/rules/type_check_without_type_error.rs +++ b/crates/ruff_linter/src/rules/tryceratops/rules/type_check_without_type_error.rs @@ -1,4 +1,3 @@ -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::helpers::map_callable; use ruff_python_ast::statement_visitor::{StatementVisitor, walk_stmt}; @@ -6,6 +5,7 @@ use ruff_python_ast::{self as ast, Expr, Stmt, StmtIf}; use ruff_python_semantic::SemanticModel; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/tryceratops/rules/useless_try_except.rs b/crates/ruff_linter/src/rules/tryceratops/rules/useless_try_except.rs index b65c0dd246..f52a3e95c2 100644 --- a/crates/ruff_linter/src/rules/tryceratops/rules/useless_try_except.rs +++ b/crates/ruff_linter/src/rules/tryceratops/rules/useless_try_except.rs @@ -1,9 +1,9 @@ use ruff_python_ast::{self as ast, ExceptHandler, ExceptHandlerExceptHandler, Expr, Stmt}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does diff --git a/crates/ruff_linter/src/rules/tryceratops/rules/verbose_log_message.rs b/crates/ruff_linter/src/rules/tryceratops/rules/verbose_log_message.rs index f83046c629..e95100cf81 100644 --- a/crates/ruff_linter/src/rules/tryceratops/rules/verbose_log_message.rs +++ b/crates/ruff_linter/src/rules/tryceratops/rules/verbose_log_message.rs @@ -1,12 +1,12 @@ use ruff_python_ast::{self as ast, ExceptHandler, Expr}; -use ruff_diagnostics::Violation; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::visitor; use ruff_python_ast::visitor::Visitor; use ruff_python_stdlib::logging::LoggingLevel; use ruff_text_size::Ranged; +use crate::Violation; use crate::checkers::ast::Checker; use crate::rules::tryceratops::helpers::LoggerCandidateVisitor; diff --git a/crates/ruff_linter/src/rules/tryceratops/rules/verbose_raise.rs b/crates/ruff_linter/src/rules/tryceratops/rules/verbose_raise.rs index 2d95dded60..c330632c97 100644 --- a/crates/ruff_linter/src/rules/tryceratops/rules/verbose_raise.rs +++ b/crates/ruff_linter/src/rules/tryceratops/rules/verbose_raise.rs @@ -1,11 +1,11 @@ use ruff_python_ast::{self as ast, ExceptHandler, Expr, Stmt}; -use ruff_diagnostics::{AlwaysFixableViolation, Edit, Fix}; use ruff_macros::{ViolationMetadata, derive_message_formats}; use ruff_python_ast::statement_visitor::{StatementVisitor, walk_stmt}; use ruff_text_size::Ranged; use crate::checkers::ast::Checker; +use crate::{AlwaysFixableViolation, Edit, Fix}; /// ## What it does /// Checks for needless exception names in `raise` statements. diff --git a/crates/ruff_linter/src/settings/fix_safety_table.rs b/crates/ruff_linter/src/settings/fix_safety_table.rs index 45ffa01415..bff38bbe52 100644 --- a/crates/ruff_linter/src/settings/fix_safety_table.rs +++ b/crates/ruff_linter/src/settings/fix_safety_table.rs @@ -1,10 +1,10 @@ use std::fmt::{Debug, Display, Formatter}; -use ruff_diagnostics::Applicability; use ruff_macros::CacheKey; use rustc_hash::FxHashMap; use strum::IntoEnumIterator; +use crate::Applicability; use crate::{ RuleSelector, display_settings, registry::{Rule, RuleSet}, diff --git a/crates/ruff_linter/src/settings/types.rs b/crates/ruff_linter/src/settings/types.rs index 28f1135a7c..a72e80284a 100644 --- a/crates/ruff_linter/src/settings/types.rs +++ b/crates/ruff_linter/src/settings/types.rs @@ -14,10 +14,10 @@ use serde::{Deserialize, Deserializer, Serialize, de}; use strum_macros::EnumIter; use ruff_cache::{CacheKey, CacheKeyHasher}; -use ruff_diagnostics::Applicability; use ruff_macros::CacheKey; use ruff_python_ast::{self as ast, PySourceType}; +use crate::Applicability; use crate::registry::RuleSet; use crate::rule_selector::RuleSelector; use crate::{display_settings, fs}; diff --git a/crates/ruff_linter/src/test.rs b/crates/ruff_linter/src/test.rs index 1d5e2437c0..7148206df8 100644 --- a/crates/ruff_linter/src/test.rs +++ b/crates/ruff_linter/src/test.rs @@ -10,7 +10,6 @@ use itertools::Itertools; use ruff_text_size::Ranged; use rustc_hash::FxHashMap; -use ruff_diagnostics::{Applicability, FixAvailability}; use ruff_notebook::Notebook; #[cfg(not(fuzzing))] use ruff_notebook::NotebookError; @@ -29,6 +28,7 @@ use crate::packaging::detect_package_root; use crate::settings::types::UnsafeFixes; use crate::settings::{LinterSettings, flags}; use crate::source_kind::SourceKind; +use crate::{Applicability, FixAvailability}; use crate::{Locator, directives}; #[cfg(not(fuzzing))] diff --git a/crates/ruff_diagnostics/src/violation.rs b/crates/ruff_linter/src/violation.rs similarity index 96% rename from crates/ruff_diagnostics/src/violation.rs rename to crates/ruff_linter/src/violation.rs index d0c7b9c763..9939efe722 100644 --- a/crates/ruff_diagnostics/src/violation.rs +++ b/crates/ruff_linter/src/violation.rs @@ -1,5 +1,7 @@ use std::fmt::{Debug, Display}; +use crate::codes::Rule; + #[derive(Debug, Copy, Clone)] pub enum FixAvailability { Sometimes, @@ -18,8 +20,8 @@ impl Display for FixAvailability { } pub trait ViolationMetadata { - /// Returns the rule name of this violation - fn rule_name() -> &'static str; + /// Returns the rule for this violation + fn rule() -> Rule; /// Returns an explanation of what this violation catches, /// why it's bad, and what users should do instead. diff --git a/crates/ruff_macros/src/map_codes.rs b/crates/ruff_macros/src/map_codes.rs index c5e7b9879b..7d1ccaf028 100644 --- a/crates/ruff_macros/src/map_codes.rs +++ b/crates/ruff_macros/src/map_codes.rs @@ -413,16 +413,17 @@ fn register_rules<'a>(input: impl Iterator) -> TokenStream { #name, }); // Apply the `attrs` to each arm, like `[cfg(feature = "foo")]`. - rule_message_formats_match_arms - .extend(quote! {#(#attrs)* Self::#name => <#path as ruff_diagnostics::Violation>::message_formats(),}); + rule_message_formats_match_arms.extend( + quote! {#(#attrs)* Self::#name => <#path as crate::Violation>::message_formats(),}, + ); rule_fixable_match_arms.extend( - quote! {#(#attrs)* Self::#name => <#path as ruff_diagnostics::Violation>::FIX_AVAILABILITY,}, + quote! {#(#attrs)* Self::#name => <#path as crate::Violation>::FIX_AVAILABILITY,}, ); rule_explanation_match_arms.extend(quote! {#(#attrs)* Self::#name => #path::explain(),}); } quote! { - use ruff_diagnostics::Violation; + use crate::Violation; #[derive( EnumIter, @@ -453,24 +454,15 @@ fn register_rules<'a>(input: impl Iterator) -> TokenStream { /// Returns the documentation for this rule. pub fn explanation(&self) -> Option<&'static str> { - use ruff_diagnostics::ViolationMetadata; + use crate::ViolationMetadata; match self { #rule_explanation_match_arms } } /// Returns the fix status of this rule. - pub const fn fixable(&self) -> ruff_diagnostics::FixAvailability { + pub const fn fixable(&self) -> crate::FixAvailability { match self { #rule_fixable_match_arms } } } - - impl AsRule for ruff_diagnostics::Diagnostic { - fn rule(&self) -> Rule { - self.name - .parse() - .unwrap_or_else(|_| unreachable!("invalid rule name: {}", self.name)) - } - } - } } diff --git a/crates/ruff_macros/src/violation_metadata.rs b/crates/ruff_macros/src/violation_metadata.rs index bc8789d818..3bdceb4079 100644 --- a/crates/ruff_macros/src/violation_metadata.rs +++ b/crates/ruff_macros/src/violation_metadata.rs @@ -12,9 +12,9 @@ pub(crate) fn violation_metadata(input: DeriveInput) -> syn::Result Ok(quote! { #[automatically_derived] #[expect(deprecated)] - impl #impl_generics ruff_diagnostics::ViolationMetadata for #name #ty_generics #where_clause { - fn rule_name() -> &'static str { - ::ruff_macros::kebab_case!(#name) + impl #impl_generics crate::ViolationMetadata for #name #ty_generics #where_clause { + fn rule() -> crate::registry::Rule { + crate::registry::Rule::#name } fn explain() -> Option<&'static str> { diff --git a/crates/ruff_server/src/server/api/requests/hover.rs b/crates/ruff_server/src/server/api/requests/hover.rs index 209dbf6c45..6b391e15bc 100644 --- a/crates/ruff_server/src/server/api/requests/hover.rs +++ b/crates/ruff_server/src/server/api/requests/hover.rs @@ -3,7 +3,7 @@ use crate::session::DocumentSnapshot; use anyhow::Context; use lsp_types::{self as types, request as req}; use regex::Regex; -use ruff_diagnostics::FixAvailability; +use ruff_linter::FixAvailability; use ruff_linter::registry::{Linter, Rule, RuleNamespace}; use ruff_source_file::OneIndexed; use std::fmt::Write; diff --git a/scripts/add_rule.py b/scripts/add_rule.py index 013505a2e4..400c5ac6ec 100755 --- a/scripts/add_rule.py +++ b/scripts/add_rule.py @@ -92,9 +92,9 @@ def main(*, name: str, prefix: str, code: str, linter: str) -> None: with (rules_dir / f"{rule_name_snake}.rs").open("w") as fp: fp.write( f"""\ -use ruff_diagnostics::Violation; use ruff_macros::{{ViolationMetadata, derive_message_formats}}; +use crate::Violation; use crate::checkers::ast::Checker; /// ## What it does