mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-29 21:35:58 +00:00
[Ruff 0.5] Stabilise 11 FURB
rules (#12043)
This commit is contained in:
parent
c7b2f2b788
commit
bd845812c7
5 changed files with 25 additions and 32 deletions
|
@ -1014,15 +1014,15 @@ pub fn code_to_rule(linter: Linter, code: &str) -> Option<(RuleGroup, Rule)> {
|
||||||
// refurb
|
// refurb
|
||||||
(Refurb, "101") => (RuleGroup::Preview, rules::refurb::rules::ReadWholeFile),
|
(Refurb, "101") => (RuleGroup::Preview, rules::refurb::rules::ReadWholeFile),
|
||||||
(Refurb, "103") => (RuleGroup::Preview, rules::refurb::rules::WriteWholeFile),
|
(Refurb, "103") => (RuleGroup::Preview, rules::refurb::rules::WriteWholeFile),
|
||||||
(Refurb, "105") => (RuleGroup::Preview, rules::refurb::rules::PrintEmptyString),
|
(Refurb, "105") => (RuleGroup::Stable, rules::refurb::rules::PrintEmptyString),
|
||||||
(Refurb, "110") => (RuleGroup::Preview, rules::refurb::rules::IfExpInsteadOfOrOperator),
|
(Refurb, "110") => (RuleGroup::Preview, rules::refurb::rules::IfExpInsteadOfOrOperator),
|
||||||
(Refurb, "113") => (RuleGroup::Preview, rules::refurb::rules::RepeatedAppend),
|
(Refurb, "113") => (RuleGroup::Preview, rules::refurb::rules::RepeatedAppend),
|
||||||
(Refurb, "116") => (RuleGroup::Preview, rules::refurb::rules::FStringNumberFormat),
|
(Refurb, "116") => (RuleGroup::Preview, rules::refurb::rules::FStringNumberFormat),
|
||||||
(Refurb, "118") => (RuleGroup::Preview, rules::refurb::rules::ReimplementedOperator),
|
(Refurb, "118") => (RuleGroup::Preview, rules::refurb::rules::ReimplementedOperator),
|
||||||
(Refurb, "129") => (RuleGroup::Preview, rules::refurb::rules::ReadlinesInFor),
|
(Refurb, "129") => (RuleGroup::Stable, rules::refurb::rules::ReadlinesInFor),
|
||||||
(Refurb, "131") => (RuleGroup::Preview, rules::refurb::rules::DeleteFullSlice),
|
(Refurb, "131") => (RuleGroup::Preview, rules::refurb::rules::DeleteFullSlice),
|
||||||
(Refurb, "132") => (RuleGroup::Preview, rules::refurb::rules::CheckAndRemoveFromSet),
|
(Refurb, "132") => (RuleGroup::Preview, rules::refurb::rules::CheckAndRemoveFromSet),
|
||||||
(Refurb, "136") => (RuleGroup::Preview, rules::refurb::rules::IfExprMinMax),
|
(Refurb, "136") => (RuleGroup::Stable, rules::refurb::rules::IfExprMinMax),
|
||||||
(Refurb, "140") => (RuleGroup::Preview, rules::refurb::rules::ReimplementedStarmap),
|
(Refurb, "140") => (RuleGroup::Preview, rules::refurb::rules::ReimplementedStarmap),
|
||||||
(Refurb, "142") => (RuleGroup::Preview, rules::refurb::rules::ForLoopSetMutations),
|
(Refurb, "142") => (RuleGroup::Preview, rules::refurb::rules::ForLoopSetMutations),
|
||||||
(Refurb, "145") => (RuleGroup::Preview, rules::refurb::rules::SliceCopy),
|
(Refurb, "145") => (RuleGroup::Preview, rules::refurb::rules::SliceCopy),
|
||||||
|
@ -1030,18 +1030,18 @@ pub fn code_to_rule(linter: Linter, code: &str) -> Option<(RuleGroup, Rule)> {
|
||||||
(Refurb, "152") => (RuleGroup::Preview, rules::refurb::rules::MathConstant),
|
(Refurb, "152") => (RuleGroup::Preview, rules::refurb::rules::MathConstant),
|
||||||
(Refurb, "154") => (RuleGroup::Preview, rules::refurb::rules::RepeatedGlobal),
|
(Refurb, "154") => (RuleGroup::Preview, rules::refurb::rules::RepeatedGlobal),
|
||||||
(Refurb, "157") => (RuleGroup::Preview, rules::refurb::rules::VerboseDecimalConstructor),
|
(Refurb, "157") => (RuleGroup::Preview, rules::refurb::rules::VerboseDecimalConstructor),
|
||||||
(Refurb, "161") => (RuleGroup::Preview, rules::refurb::rules::BitCount),
|
(Refurb, "161") => (RuleGroup::Stable, rules::refurb::rules::BitCount),
|
||||||
(Refurb, "163") => (RuleGroup::Preview, rules::refurb::rules::RedundantLogBase),
|
(Refurb, "163") => (RuleGroup::Stable, rules::refurb::rules::RedundantLogBase),
|
||||||
(Refurb, "164") => (RuleGroup::Preview, rules::refurb::rules::UnnecessaryFromFloat),
|
(Refurb, "164") => (RuleGroup::Preview, rules::refurb::rules::UnnecessaryFromFloat),
|
||||||
(Refurb, "166") => (RuleGroup::Preview, rules::refurb::rules::IntOnSlicedStr),
|
(Refurb, "166") => (RuleGroup::Preview, rules::refurb::rules::IntOnSlicedStr),
|
||||||
(Refurb, "167") => (RuleGroup::Preview, rules::refurb::rules::RegexFlagAlias),
|
(Refurb, "167") => (RuleGroup::Stable, rules::refurb::rules::RegexFlagAlias),
|
||||||
(Refurb, "168") => (RuleGroup::Preview, rules::refurb::rules::IsinstanceTypeNone),
|
(Refurb, "168") => (RuleGroup::Stable, rules::refurb::rules::IsinstanceTypeNone),
|
||||||
(Refurb, "169") => (RuleGroup::Preview, rules::refurb::rules::TypeNoneComparison),
|
(Refurb, "169") => (RuleGroup::Stable, rules::refurb::rules::TypeNoneComparison),
|
||||||
(Refurb, "171") => (RuleGroup::Preview, rules::refurb::rules::SingleItemMembershipTest),
|
(Refurb, "171") => (RuleGroup::Preview, rules::refurb::rules::SingleItemMembershipTest),
|
||||||
(Refurb, "177") => (RuleGroup::Preview, rules::refurb::rules::ImplicitCwd),
|
(Refurb, "177") => (RuleGroup::Stable, rules::refurb::rules::ImplicitCwd),
|
||||||
(Refurb, "180") => (RuleGroup::Preview, rules::refurb::rules::MetaClassABCMeta),
|
(Refurb, "180") => (RuleGroup::Preview, rules::refurb::rules::MetaClassABCMeta),
|
||||||
(Refurb, "181") => (RuleGroup::Preview, rules::refurb::rules::HashlibDigestHex),
|
(Refurb, "181") => (RuleGroup::Stable, rules::refurb::rules::HashlibDigestHex),
|
||||||
(Refurb, "187") => (RuleGroup::Preview, rules::refurb::rules::ListReverseCopy),
|
(Refurb, "187") => (RuleGroup::Stable, rules::refurb::rules::ListReverseCopy),
|
||||||
(Refurb, "192") => (RuleGroup::Preview, rules::refurb::rules::SortedMinMax),
|
(Refurb, "192") => (RuleGroup::Preview, rules::refurb::rules::SortedMinMax),
|
||||||
|
|
||||||
// flake8-logging
|
// flake8-logging
|
||||||
|
|
|
@ -156,14 +156,16 @@ enum MinMax {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl MinMax {
|
impl MinMax {
|
||||||
fn reverse(self) -> Self {
|
#[must_use]
|
||||||
|
const fn reverse(self) -> Self {
|
||||||
match self {
|
match self {
|
||||||
Self::Min => Self::Max,
|
Self::Min => Self::Max,
|
||||||
Self::Max => Self::Min,
|
Self::Max => Self::Min,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn as_str(self) -> &'static str {
|
#[must_use]
|
||||||
|
const fn as_str(self) -> &'static str {
|
||||||
match self {
|
match self {
|
||||||
Self::Min => "min",
|
Self::Min => "min",
|
||||||
Self::Max => "max",
|
Self::Max => "max",
|
||||||
|
|
|
@ -77,7 +77,6 @@ pub(crate) fn redundant_log_base(checker: &mut Checker, call: &ast::ExprCall) {
|
||||||
if !checker
|
if !checker
|
||||||
.semantic()
|
.semantic()
|
||||||
.resolve_qualified_name(&call.func)
|
.resolve_qualified_name(&call.func)
|
||||||
.as_ref()
|
|
||||||
.is_some_and(|qualified_name| matches!(qualified_name.segments(), ["math", "log"]))
|
.is_some_and(|qualified_name| matches!(qualified_name.segments(), ["math", "log"]))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
@ -90,7 +89,6 @@ pub(crate) fn redundant_log_base(checker: &mut Checker, call: &ast::ExprCall) {
|
||||||
} else if checker
|
} else if checker
|
||||||
.semantic()
|
.semantic()
|
||||||
.resolve_qualified_name(base)
|
.resolve_qualified_name(base)
|
||||||
.as_ref()
|
|
||||||
.is_some_and(|qualified_name| matches!(qualified_name.segments(), ["math", "e"]))
|
.is_some_and(|qualified_name| matches!(qualified_name.segments(), ["math", "e"]))
|
||||||
{
|
{
|
||||||
Base::E
|
Base::E
|
||||||
|
|
|
@ -34,20 +34,19 @@ use crate::importer::ImportRequest;
|
||||||
///
|
///
|
||||||
#[violation]
|
#[violation]
|
||||||
pub struct RegexFlagAlias {
|
pub struct RegexFlagAlias {
|
||||||
alias: &'static str,
|
flag: RegexFlag,
|
||||||
full_name: &'static str,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl AlwaysFixableViolation for RegexFlagAlias {
|
impl AlwaysFixableViolation for RegexFlagAlias {
|
||||||
#[derive_message_formats]
|
#[derive_message_formats]
|
||||||
fn message(&self) -> String {
|
fn message(&self) -> String {
|
||||||
let RegexFlagAlias { alias, .. } = self;
|
let RegexFlagAlias { flag } = self;
|
||||||
format!("Use of regular expression alias `re.{alias}`")
|
format!("Use of regular expression alias `re.{}`", flag.alias())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn fix_title(&self) -> String {
|
fn fix_title(&self) -> String {
|
||||||
let RegexFlagAlias { full_name, .. } = self;
|
let RegexFlagAlias { flag } = self;
|
||||||
format!("Replace with `re.{full_name}`")
|
format!("Replace with `re.{}`", flag.full_name())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,13 +74,7 @@ pub(crate) fn regex_flag_alias(checker: &mut Checker, expr: &Expr) {
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut diagnostic = Diagnostic::new(
|
let mut diagnostic = Diagnostic::new(RegexFlagAlias { flag }, expr.range());
|
||||||
RegexFlagAlias {
|
|
||||||
alias: flag.alias(),
|
|
||||||
full_name: flag.full_name(),
|
|
||||||
},
|
|
||||||
expr.range(),
|
|
||||||
);
|
|
||||||
diagnostic.try_set_fix(|| {
|
diagnostic.try_set_fix(|| {
|
||||||
let (edit, binding) = checker.importer().get_or_import_symbol(
|
let (edit, binding) = checker.importer().get_or_import_symbol(
|
||||||
&ImportRequest::import("re", flag.full_name()),
|
&ImportRequest::import("re", flag.full_name()),
|
||||||
|
@ -109,7 +102,8 @@ enum RegexFlag {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl RegexFlag {
|
impl RegexFlag {
|
||||||
fn alias(self) -> &'static str {
|
#[must_use]
|
||||||
|
const fn alias(self) -> &'static str {
|
||||||
match self {
|
match self {
|
||||||
Self::Ascii => "A",
|
Self::Ascii => "A",
|
||||||
Self::IgnoreCase => "I",
|
Self::IgnoreCase => "I",
|
||||||
|
@ -122,7 +116,8 @@ impl RegexFlag {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn full_name(self) -> &'static str {
|
#[must_use]
|
||||||
|
const fn full_name(self) -> &'static str {
|
||||||
match self {
|
match self {
|
||||||
Self::Ascii => "ASCII",
|
Self::Ascii => "ASCII",
|
||||||
Self::IgnoreCase => "IGNORECASE",
|
Self::IgnoreCase => "IGNORECASE",
|
||||||
|
|
|
@ -1484,8 +1484,6 @@ mod tests {
|
||||||
use crate::options::PydocstyleOptions;
|
use crate::options::PydocstyleOptions;
|
||||||
|
|
||||||
const PREVIEW_RULES: &[Rule] = &[
|
const PREVIEW_RULES: &[Rule] = &[
|
||||||
Rule::IsinstanceTypeNone,
|
|
||||||
Rule::IfExprMinMax,
|
|
||||||
Rule::ReimplementedStarmap,
|
Rule::ReimplementedStarmap,
|
||||||
Rule::SliceCopy,
|
Rule::SliceCopy,
|
||||||
Rule::TooManyPublicMethods,
|
Rule::TooManyPublicMethods,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue