Index: tests/language_strong/closure_cycles_test.dart |
diff --git a/tests/language_strong/closure_cycles_test.dart b/tests/language_strong/closure_cycles_test.dart |
deleted file mode 100644 |
index e66a391e1e30a81a26990f4d7129582ecc142977..0000000000000000000000000000000000000000 |
--- a/tests/language_strong/closure_cycles_test.dart |
+++ /dev/null |
@@ -1,43 +0,0 @@ |
-// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
-// Based on dartbug.com/7681 |
-// Verify that context chains do not lead to unintended memory being held. |
- |
-library closure_cycles_test; |
- |
-import "dart:async"; |
- |
-class X { |
- Function onX; |
- X() { |
- Timer.run(() => onX(new Y())); |
- } |
-} |
- |
-class Y { |
- Function onY; |
- var heavyMemory; |
- static var count = 0; |
- Y() { |
- // Consume large amounts of memory per iteration to fail/succeed quicker. |
- heavyMemory = new List(10 * 1024 * 1024); |
- // Terminate the test if we allocated enough memory without running out. |
- if (count++ > 100) return; |
- Timer.run(() => onY()); |
- } |
-} |
- |
-void doIt() { |
- var x = new X(); |
- x.onX = (y) { |
- y.onY = () { |
- y; // Capturing y can lead to endless context chains! |
- doIt(); |
- }; |
- }; |
-} |
- |
-void main() { |
- doIt(); |
-} |