Message189118
> In case this logic is flawed, we know that when remove_subclass() is
> called, exactly one child is removed. Whether it is us, or some
> previous class, is irrelevant.
remove_subclass() is called when __bases__ is assigned to, so it is
not irrelevant:
>>> class A: pass
...
>>> class B(A): pass
...
>>> class C: pass
...
>>> A.__subclasses__()
[<class '__main__.B'>]
>>> B.__bases__ = C,
>>> A.__subclasses__()
[]
>>> C.__subclasses__()
[<class '__main__.B'>] |
|
Date |
User |
Action |
Args |
2013-05-13 10:21:18 | pitrou | set | recipients:
+ pitrou, kristjan.jonsson, vstinner |
2013-05-13 10:21:18 | pitrou | link | issue17936 messages |
2013-05-13 10:21:18 | pitrou | create | |
|