| Index: tests/language_strong/recursive_inheritance_test.dart
|
| diff --git a/tests/language_strong/recursive_inheritance_test.dart b/tests/language_strong/recursive_inheritance_test.dart
|
| index 1d513ae5a3a156ddd297c4fd5d55813e95a0a1e0..0f5f05362e3761e185af94f18fea35fc41ef6490 100644
|
| --- a/tests/language_strong/recursive_inheritance_test.dart
|
| +++ b/tests/language_strong/recursive_inheritance_test.dart
|
| @@ -6,16 +6,21 @@ import "package:expect/expect.dart";
|
|
|
| // Regression test for recursive inheritance patterns
|
| abstract class Comparable<T> {
|
| - int compare(T a);
|
| -}
|
| -class MI<T extends MI<T>> {
|
| + int compareTo(T a);
|
| }
|
| +class MI<T extends MI<T>> {}
|
| +
|
| +class _MI extends MI<_MI> {}
|
|
|
| class PMI<T extends Comparable<T>> extends MI<PMI<T>> {}
|
|
|
| +class _PMI extends PMI<_PMI> implements Comparable<_PMI> {
|
| + int compareTo(_PMI other) => throw new UnimplementedError();
|
| +}
|
| +
|
| void main() {
|
| - var a = new MI();
|
| - var b = new PMI();
|
| + MI a = new MI<_MI>();
|
| + PMI b = new PMI<_PMI>();
|
| a = b;
|
| Expect.isTrue(a is MI);
|
| Expect.isTrue(b is PMI);
|
|
|