bpo-39168: Remove the __new__ method of typing.Generic (GH-21327)

Automerge-Triggered-By: @gvanrossum
This commit is contained in:
Zackery Spytz 2020-07-04 23:07:43 -06:00 committed by GitHub
parent 9c84417122
commit 7fed75597f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 1 additions and 12 deletions

View file

@ -894,16 +894,6 @@ class Generic:
__slots__ = ()
_is_protocol = False
def __new__(cls, *args, **kwds):
if cls in (Generic, Protocol):
raise TypeError(f"Type {cls.__name__} cannot be instantiated; "
"it can be used only as a base class")
if super().__new__ is object.__new__ and cls.__init__ is not object.__init__:
obj = super().__new__(cls)
else:
obj = super().__new__(cls, *args, **kwds)
return obj
@_tp_cache
def __class_getitem__(cls, params):
if not isinstance(params, tuple):