Index: tests/language/generic_field_mixin_test.dart |
diff --git a/tests/language/generic_field_mixin_test.dart b/tests/language/generic_field_mixin_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..267a8b71136bcb29809f0412ac5a837ab2e11ccb |
--- /dev/null |
+++ b/tests/language/generic_field_mixin_test.dart |
@@ -0,0 +1,28 @@ |
+// Copyright (c) 2014, 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. |
+ |
+// Test that generic types in mixins are handled. |
+ |
+import 'package:expect/expect.dart'; |
+ |
+class M<T> { |
+ var field = new A<T>(); |
+} |
+class A<U> {} |
+class C1<V> = Object with M<V>; |
+class C2 = Object with M<int>; |
+class C3 = Object with M<String>; |
+ |
+main() { |
+ Expect.isTrue(new C1<int>().field is A<int>); |
+ Expect.isFalse(new C1<int>().field is A<String>); |
+ Expect.isFalse(new C1<String>().field is A<int>); |
+ Expect.isTrue(new C1<String>().field is A<String>); |
+ |
+ Expect.isTrue(new C2().field is A<int>); |
+ Expect.isFalse(new C2().field is A<String>); |
+ |
+ Expect.isFalse(new C3().field is A<int>); |
+ Expect.isTrue(new C3().field is A<String>); |
+} |