14710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm# Reference cycles involving only the ob_type field are rather uncommon 24710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm# but possible. Inspired by SF bug 1469629. 34710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 44710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmimport gc 54710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 64710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmdef leak(): 74710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm class T(type): 84710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm pass 94710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm class U(type): 104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm __metaclass__ = T 114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm U.__class__ = U 124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm del U 134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm gc.collect(); gc.collect(); gc.collect() 14