| Index: test/checker/inferred_type_test.dart
|
| diff --git a/test/checker/inferred_type_test.dart b/test/checker/inferred_type_test.dart
|
| index 12bcec6028d79c5ff19198a95a279fee9020fee4..8d8210452299e143ee40cb551507540b38df9cfb 100644
|
| --- a/test/checker/inferred_type_test.dart
|
| +++ b/test/checker/inferred_type_test.dart
|
| @@ -587,9 +587,44 @@ void main() {
|
| }
|
|
|
| test() {
|
| - var l = List<Foo>();
|
| + var list = <Foo>[];
|
| for (var x in list) {
|
| - String y = /*info:DynamicCast should be severe:StaticTypeError*/x;
|
| + String y = /*severe:StaticTypeError*/x;
|
| + }
|
| +
|
| + for (dynamic x in list) {
|
| + String y = /*info:DynamicCast*/x;
|
| + }
|
| +
|
| + for (String x in /*severe:StaticTypeError*/list) {
|
| + String y = x;
|
| + }
|
| +
|
| + var z;
|
| + for(z in list) {
|
| + String y = /*info:DynamicCast*/z;
|
| + }
|
| +
|
| + Iterable iter = list;
|
| + for (Foo x in /*warning:DownCastComposite*/iter) {
|
| + var y = x;
|
| + }
|
| +
|
| + dynamic iter2 = list;
|
| + for (Foo x in /*warning:DownCastComposite*/iter2) {
|
| + var y = x;
|
| + }
|
| +
|
| + var map = <String, Foo>{};
|
| + // Error: map must be an Iterable.
|
| + for (var x in /*severe:StaticTypeError*/map) {
|
| + String y = /*info:DynamicCast*/x;
|
| + }
|
| +
|
| + // We're not properly inferring that map.keys is an Iterable<String>
|
| + // and that x is a String.
|
| + for (var x in /*info:DynamicCast should be pass*/map.keys) {
|
| + String y = /*info:DynamicCast should be pass*/x;
|
| }
|
| }
|
| '''
|
|
|