Index: tests/language/factory_type_parameter2_test.dart |
diff --git a/tests/language/factory_type_parameter2_test.dart b/tests/language/factory_type_parameter2_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..fa067e1ea3dcab1870c530ac022e66f5768df9b9 |
--- /dev/null |
+++ b/tests/language/factory_type_parameter2_test.dart |
@@ -0,0 +1,29 @@ |
+// Copyright (c) 2013, 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 type variables are correctly set in instances created by factories. |
+ |
+var p; |
+bool done = false; |
+ |
+class D {} |
+ |
+abstract class I<T> { |
+ factory I.name() { |
+ return new C<T>.name(); |
+ } |
+} |
+ |
+class C<T> implements I<T> { |
+ C.name() { |
+ Expect.isTrue(p is T); |
+ done = true; |
+ } |
+} |
+ |
+main() { |
+ p = new D(); |
+ new I<D>.name(); |
+ Expect.equals(true, done); |
+} |