| OLD | NEW |
| 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 /*@testedFeatures=checks*/ | 5 /*@testedFeatures=checks*/ |
| 6 library test; | 6 library test; |
| 7 | 7 |
| 8 class C<T> { | 8 class C<T> { |
| 9 void f< /*@checkFormal=semiSafe*/ U extends T>(U x) {} | 9 void f< /*@checkFormal=semiSafe*/ /*@checkInterface=semiTyped*/ U extends T>( |
| 10 U x) {} |
| 10 } | 11 } |
| 11 | 12 |
| 12 void g1(dynamic d) { | 13 void g1(dynamic d) { |
| 13 d.f<num> /*@checkCall=dynamic*/ (1.5); | 14 d.f<num> /*@callKind=dynamic*/ (1.5); |
| 14 } | 15 } |
| 15 | 16 |
| 16 void g2(dynamic d) { | 17 void g2(dynamic d) { |
| 17 d.f /*@checkCall=dynamic*/ (1.5); | 18 d.f /*@callKind=dynamic*/ (1.5); |
| 18 } | 19 } |
| 19 | 20 |
| 20 void test() { | 21 void test() { |
| 21 g1(new C<int>()); | 22 g1(new C<int>()); |
| 22 g2(new C<int>()); | 23 g2(new C<int>()); |
| 23 } | 24 } |
| 24 | 25 |
| 25 main() {} | 26 main() {} |
| OLD | NEW |