Revert "Add all PEP-585 names to UP006 rule" (#15250)

This commit is contained in:
Micha Reiser 2025-01-04 12:23:53 +01:00 committed by GitHub
parent baf0d660eb
commit e4d9fe036a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 19 additions and 649 deletions

View file

@ -337,61 +337,19 @@ type ModuleMember = (&'static str, &'static str);
/// library (e.g., `list` for `typing.List`), if such a generic was introduced by [PEP 585].
///
/// [PEP 585]: https://peps.python.org/pep-0585/
pub fn as_pep_585_generic(call_path: &[&str]) -> Option<ModuleMember> {
let ["typing" | "typing_extensions", member @ ..] = call_path else {
return None;
};
match member {
// Builtins
["Tuple"] => Some(("", "tuple")),
["List"] => Some(("", "list")),
["Dict"] => Some(("", "dict")),
["Set"] => Some(("", "set")),
["FrozenSet"] => Some(("", "frozenset")),
["Type"] => Some(("", "type")),
// collections
["Deque"] => Some(("collections", "deque")),
["DefaultDict"] => Some(("collections", "defaultdict")),
["OrderedDict"] => Some(("collections", "OrderedDict")),
["Counter"] => Some(("collections", "Counter")),
["ChainMap"] => Some(("collections", "ChainMap")),
// collections.abc
["Awaitable"] => Some(("collections.abc", "Awaitable")),
["Coroutine"] => Some(("collections.abc", "Coroutine")),
["AsyncIterable"] => Some(("collections.abc", "AsyncIterable")),
["AsyncGenerator"] => Some(("collections.abc", "AsyncGenerator")),
["Iterable"] => Some(("collections.abc", "Iterable")),
["Iterator"] => Some(("collections.abc", "Iterator")),
["Generator"] => Some(("collections.abc", "Generator")),
["Reversible"] => Some(("collections.abc", "Reversible")),
["Container"] => Some(("collections.abc", "Container")),
["Collection"] => Some(("collections.abc", "Collection")),
["Callable"] => Some(("collections.abc", "Callable")),
["AbstractSet"] => Some(("collections.abc", "Set")),
["MutableSet"] => Some(("collections.abc", "MutableSet")),
["Mapping"] => Some(("collections.abc", "Mapping")),
["MutableMapping"] => Some(("collections.abc", "MutableMapping")),
["Sequence"] => Some(("collections.abc", "Sequence")),
["MutableSequence"] => Some(("collections.abc", "MutableSequence")),
["ByteString"] => Some(("collections.abc", "ByteString")),
["MappingView"] => Some(("collections.abc", "MappingView")),
["KeysView"] => Some(("collections.abc", "KeysView")),
["ItemsView"] => Some(("collections.abc", "ItemsView")),
["ValuesView"] => Some(("collections.abc", "ValuesView")),
// contextlib
["ContextManager"] => Some(("contextlib", "AbstractContextManager")),
["AsyncContextManager"] => Some(("contextlib", "AbstractAsyncContextManager")),
// re
["Pattern"] => Some(("re", "Pattern")),
["Match"] => Some(("re", "Match")),
["re", "Pattern"] => Some(("re", "Pattern")),
["re", "Match"] => Some(("re", "Match")),
pub fn as_pep_585_generic(module: &str, member: &str) -> Option<ModuleMember> {
match (module, member) {
("typing", "Dict") => Some(("", "dict")),
("typing", "FrozenSet") => Some(("", "frozenset")),
("typing", "List") => Some(("", "list")),
("typing", "Set") => Some(("", "set")),
("typing", "Tuple") => Some(("", "tuple")),
("typing", "Type") => Some(("", "type")),
("typing_extensions", "Type") => Some(("", "type")),
("typing", "Deque") => Some(("collections", "deque")),
("typing_extensions", "Deque") => Some(("collections", "deque")),
("typing", "DefaultDict") => Some(("collections", "defaultdict")),
("typing_extensions", "DefaultDict") => Some(("collections", "defaultdict")),
_ => None,
}
}
@ -405,39 +363,8 @@ pub fn has_pep_585_generic(module: &str, member: &str) -> bool {
// the last element in each pattern, and de-duplicating the values.
matches!(
(module, member),
("", "tuple" | "list" | "dict" | "set" | "frozenset" | "type")
| (
"collections",
"deque" | "defaultdict" | "OrderedDict" | "Counter" | "ChainMap"
)
| (
"collections.abc",
"Awaitable"
| "Coroutine"
| "Iterable"
| "Iterator"
| "Generator"
| "Reversible"
| "Container"
| "Collection"
| "Callable"
| "Set"
| "MutableSet"
| "Mapping"
| "MutableMapping"
| "Sequence"
| "MutableSequence"
| "ByteString"
| "MappingView"
| "KeysView"
| "ItemsView"
| "ValuesView"
)
| (
"contextlib",
"AbstractContextManager" | "AbstractAsyncContextManager"
)
| ("re", "Pattern" | "Match")
("", "dict" | "frozenset" | "list" | "set" | "tuple" | "type")
| ("collections", "deque" | "defaultdict")
)
}