Add a testcase to ensure that cycles going through the __class__ link
of a new-style instance are detected by the garbage collector.
diff --git a/Lib/test/test_gc.py b/Lib/test/test_gc.py
index 22f7e74..23bb7c5 100644
--- a/Lib/test/test_gc.py
+++ b/Lib/test/test_gc.py
@@ -83,6 +83,12 @@
gc.collect()
del a
expect_nonzero(gc.collect(), "newinstance(2)")
+ del B, C
+ expect_nonzero(gc.collect(), "newinstance(3)")
+ A.a = A()
+ del A
+ expect_nonzero(gc.collect(), "newinstance(4)")
+ expect(gc.collect(), 0, "newinstance(5)")
def test_method():
# Tricky: self.__init__ is a bound method, it references the instance.