OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. |
| 4 |
| 5 library regress_23408_test; |
| 6 |
| 7 import 'package:expect/expect.dart'; |
| 8 |
| 9 import 'regress_23408_lib.dart' deferred as lib; |
| 10 |
| 11 class A<T> extends C { |
| 12 get t => "$T"; |
| 13 } |
| 14 |
| 15 class C { |
| 16 var v = 55; |
| 17 C(); |
| 18 factory C.c() = lib.K; |
| 19 factory C.l() = A<lib.K>; |
| 20 } |
| 21 |
| 22 void main() { |
| 23 var a = new C.l(); // Redirects to A<dynamic> |
| 24 Expect.equals("dynamic", a.t); |
| 25 Expect.throws(() => new C.c()); |
| 26 lib.loadLibrary().then((_) { |
| 27 var b = new C.l(); // Still redirects to A<dynamic> |
| 28 Expect.equals("dynamic", b.t); |
| 29 var z = new C.c(); |
| 30 Expect.equals(55, z.v); |
| 31 }); |
| 32 } |
OLD | NEW |