Browse Source
bpo-41521, typing: Rename _PROTO_WHITELIST to _PROTO_ALLOWLIST (#21825)
pull/21844/head
Victor Stinner
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
3 additions and
3 deletions
-
Lib/typing.py
|
|
|
@ -1021,7 +1021,7 @@ def _allow_reckless_class_cheks(): |
|
|
|
return True |
|
|
|
|
|
|
|
|
|
|
|
_PROTO_WHITELIST = { |
|
|
|
_PROTO_ALLOWLIST = { |
|
|
|
'collections.abc': [ |
|
|
|
'Callable', 'Awaitable', 'Iterable', 'Iterator', 'AsyncIterable', |
|
|
|
'Hashable', 'Sized', 'Container', 'Collection', 'Reversible', |
|
|
|
@ -1140,8 +1140,8 @@ class Protocol(Generic, metaclass=_ProtocolMeta): |
|
|
|
# ... otherwise check consistency of bases, and prohibit instantiation. |
|
|
|
for base in cls.__bases__: |
|
|
|
if not (base in (object, Generic) or |
|
|
|
base.__module__ in _PROTO_WHITELIST and |
|
|
|
base.__name__ in _PROTO_WHITELIST[base.__module__] or |
|
|
|
base.__module__ in _PROTO_ALLOWLIST and |
|
|
|
base.__name__ in _PROTO_ALLOWLIST[base.__module__] or |
|
|
|
issubclass(base, Generic) and base._is_protocol): |
|
|
|
raise TypeError('Protocols can only inherit from other' |
|
|
|
' protocols, got %r' % base) |
|
|
|
|