Delete unused AsciiCharSet in FURB156 (#21181)

Summary
--

This code has been unused since #14233 but not detected by clippy I
guess. This should help to remove the temptation to use the set
comparison again like I suggested in #21144. And we shouldn't do the set
comparison because of #13802, which #14233 fixed.

Test Plan
--

Existing tests
This commit is contained in:
Brent Westbrook 2025-11-03 08:38:34 -05:00 committed by GitHub
parent f947c23cd7
commit 0dfd55babf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -62,40 +62,11 @@ pub(crate) fn hardcoded_string_charset_literal(checker: &Checker, expr: &ExprStr
struct NamedCharset { struct NamedCharset {
name: &'static str, name: &'static str,
bytes: &'static [u8], bytes: &'static [u8],
ascii_char_set: AsciiCharSet,
}
/// Represents the set of ascii characters in form of a bitset.
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
struct AsciiCharSet(u128);
impl AsciiCharSet {
/// Creates the set of ascii characters from `bytes`.
/// Returns None if there is non-ascii byte.
const fn from_bytes(bytes: &[u8]) -> Option<Self> {
// TODO: simplify implementation, when const-traits are supported
// https://github.com/rust-lang/rust-project-goals/issues/106
let mut bitset = 0;
let mut i = 0;
while i < bytes.len() {
if !bytes[i].is_ascii() {
return None;
}
bitset |= 1 << bytes[i];
i += 1;
}
Some(Self(bitset))
}
} }
impl NamedCharset { impl NamedCharset {
const fn new(name: &'static str, bytes: &'static [u8]) -> Self { const fn new(name: &'static str, bytes: &'static [u8]) -> Self {
Self { Self { name, bytes }
name,
bytes,
// SAFETY: The named charset is guaranteed to have only ascii bytes.
ascii_char_set: AsciiCharSet::from_bytes(bytes).unwrap(),
}
} }
} }