Index: tests/language/regress_29025_test.dart |
diff --git a/tests/language/regress_29025_test.dart b/tests/language/regress_29025_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a9903a2d8b6cff7dbd1ea616ba1b2a1f8725ba8f |
--- /dev/null |
+++ b/tests/language/regress_29025_test.dart |
@@ -0,0 +1,29 @@ |
+// Copyright (c) 2017, 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. |
+ |
+typedef T F<T>(T t); |
+ |
+class B<T extends F<T>> {} |
+class C<T extends F<C<T>>> {} |
+ |
+class D extends B<D> { |
+ D foo(D x) => x; |
+ D call(D x) => x; |
+ D bar(D x) => x; |
+} |
+ |
+class E extends C<E> { |
+ C<E> foo(C<E> x) => x; |
+ C<E> call(C<E> x) => x; |
+ C<E> bar(C<E> x) => x; |
+} |
+ |
+main() { |
+ F<D> fd = new D(); |
+ var d = fd(fd); |
+ print(d); |
+ F<E> fe = new E(); |
+ var e = fe(fe); |
+ print(e); |
+} |