From 4f3b63edd4470415486fdbe1d1a89b9f935c776d Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Thu, 26 Jan 2023 19:35:52 +0100 Subject: [PATCH] fix: --explain reporting the wrong linter Fixes a regression introduced in 4e4643aa5d1587c024ce98f0c51363a4830b491d. We want the longest prefixes to be checked first so we of course have to reverse the sorting when sorting by prefix length. Fixes #2210. --- ruff_macros/src/rule_namespace.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ruff_macros/src/rule_namespace.rs b/ruff_macros/src/rule_namespace.rs index ae77da7955..b4364652d9 100644 --- a/ruff_macros/src/rule_namespace.rs +++ b/ruff_macros/src/rule_namespace.rs @@ -1,3 +1,4 @@ +use std::cmp::Reverse; use std::collections::HashSet; use proc_macro2::{Ident, Span}; @@ -70,7 +71,7 @@ pub fn derive_impl(input: DeriveInput) -> syn::Result }); } - parsed.sort_by_key(|(prefix, _)| prefix.len()); + parsed.sort_by_key(|(prefix, _)| Reverse(prefix.len())); let mut if_statements = quote!(); let mut into_iter_match_arms = quote!();