| OLD | NEW |
| (Empty) | |
| 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 |
| 3 // BSD-style license that can be found in the LICENSE file. |
| 4 |
| 5 /*@testedFeatures=inference*/ |
| 6 library test; |
| 7 |
| 8 class C<T> { |
| 9 T t; |
| 10 C(this.t); |
| 11 } |
| 12 |
| 13 main() { |
| 14 var /*@type=C<int>*/ x = /*@typeArgs=int*/ new C(42); |
| 15 |
| 16 num y; |
| 17 C<int> c_int = /*@typeArgs=int*/ new C( |
| 18 /*info:DOWN_CAST_IMPLICIT*/ /*@promotedType=none*/ y); |
| 19 |
| 20 // These hints are not reported because we resolve with a null error listener. |
| 21 C<num> c_num = /*@typeArgs=num*/ new C(123); |
| 22 C<num> c_num2 = (/*@typeArgs=num*/ new C(456))..t = 1.0; |
| 23 |
| 24 // Down't infer from explicit dynamic. |
| 25 var /*@type=C<dynamic>*/ c_dynamic = new C<dynamic>(42); |
| 26 /*@promotedType=none*/ x.t = /*error:INVALID_ASSIGNMENT*/ 'hello'; |
| 27 } |
| OLD | NEW |