mirror of
https://github.com/python/cpython.git
synced 2024-12-16 21:34:44 +08:00
bpo-32996: Documentation fix-up. (GH-16646)
PR #4906 changed the typing.Generic class hierarchy, leaving an outdated comment in the library reference. User-defined Generic ABCs now must get a abc.ABCMeta metaclass from something other than typing.Generic inheritance.
This commit is contained in:
parent
a05fcd3c7a
commit
d47f0dd2e8
@ -307,9 +307,10 @@ User defined generic type aliases are also supported. Examples::
|
||||
def inproduct(v: Vec[T]) -> T: # Same as Iterable[Tuple[T, T]]
|
||||
return sum(x*y for x, y in v)
|
||||
|
||||
The metaclass used by :class:`Generic` is a subclass of :class:`abc.ABCMeta`.
|
||||
A generic class can be an ABC by including abstract methods or properties,
|
||||
and generic classes can also have ABCs as base classes without a metaclass
|
||||
.. versionchanged:: 3.7
|
||||
:class:`Generic` no longer has a custom metaclass.
|
||||
|
||||
A user-defined generic class can have ABCs as base classes without a metaclass
|
||||
conflict. Generic metaclasses are not supported. The outcome of parameterizing
|
||||
generics is cached, and most types in the typing module are hashable and
|
||||
comparable for equality.
|
||||
|
Loading…
Reference in New Issue
Block a user