1class Base1:
2    def __init__(self, *args):
3        print("Base1.__init__", args)
4
5class Clist1(Base1, list):
6    pass
7
8a = Clist1()
9print(len(a))
10# Not compliant - list assignment should happen in list.__init__, which is not called
11# because there's Base1.__init__, but we assign in list.__new__
12#a = Clist1([1, 2, 3])
13#print(len(a))
14
15print("---")
16
17class Clist2(list, Base1):
18    pass
19
20# Not compliant - should call list.__init__, but we don't have it
21#a = Clist2()
22#print(len(a))
23
24# Not compliant - should call list.__init__, but we don't have it
25#a = Clist2([1, 2, 3])
26#print(len(a))
27