New submission from assume_away:
The simplest example:
def mydec(cls):
return type(cls.__name__, cls.__bases__, dict(cls.__dict__))
@mydec
class MyList(list):
def extend(self, item):
super(MyList, self).extend(item)
def insert(self, index, object):
super().insert(index, object)
>>> lst = MyList()
>>> lst.extend([2,3])
>>> lst.insert(0, 1)
TypeError: super(type, obj): obj must be an instance or subtype of type
>>> lst
[2, 3]
If this is intended behavior, at least the error message could be fixed.
----------
messages: 290823
nosy: assume_away
priority: normal
severity: normal
status: open
title: Argumentless super() calls do not work in classes constructed with type()
type: behavior
versions: Python 3.6
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue29944>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com