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.