OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 // Check that an inlined field closure has access to the enclosing | 5 // Check that an inlined field closure has access to the enclosing |
6 // type variables. | 6 // type variables. |
7 | 7 |
8 import "package:expect/expect.dart"; | 8 import "package:expect/expect.dart"; |
9 | 9 |
10 class A<T> { | 10 class A<T> { |
11 var c = (() => new X<T>())(); | 11 var c = (() => new X<T>())(); |
12 } | 12 } |
13 | 13 |
14 class B<T> extends A<T> {} | 14 class B<T> extends A<T> {} |
15 | 15 |
16 class X<T> {} | 16 class X<T> {} |
17 | 17 |
18 main() { | 18 main() { |
19 Expect.isTrue(new B<int>().c is X<int>); | 19 Expect.isTrue(new B<int>().c is X<int>); |
20 Expect.isFalse(new B<String>().c is X<int>); | 20 Expect.isFalse(new B<String>().c is X<int>); |
21 } | 21 } |
OLD | NEW |