from warnings import deprecated
@deprecated("MyMeta will go away soon")
class MyMeta(type):
def __new__(mcs, name, bases, attrs, cls=None):
return super().__new__(mcs, name, bases, attrs)
class Foo(metaclass=MyMeta, cls='haha'):
pass
$ python3 test.py
Traceback (most recent call last):
File "/Users/PanXuehai/Projects/cpython/test.py", line 10, in <module>
class Foo(metaclass=MyMeta, cls='haha'):
pass
TypeError: MyMeta.__new__() got multiple values for argument 'cls'
Bug report
Bug description:
Follow comment #132055 (comment)
Output:
CPython versions tested on:
3.13
Operating systems tested on:
macOS
Linked PRs
__new__by@warnings.deprecated#132160__new__by@warnings.deprecated(GH-132160) #132163