Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Side by Side Diff: pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.strong.expect

Issue 2949093002: Properly type infer for-in loops when the iterator type is a type parameter. (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 library test;
2 import self as self;
3 import "dart:core" as core;
4
5 class Foo extends core::Object {
6 field core::int bar = 42;
7 constructor •() → void
8 : super core::Object::•()
9 ;
10 }
11 class Bar<T extends core::Iterable<core::String>> extends core::Object {
12 constructor •() → void
13 : super core::Object::•()
14 ;
15 method foo(self::Bar::T t) → void {
16 for (core::String i in t) {
17 core::int x = i;
18 }
19 }
20 }
21 class Baz<T extends core::Object, E extends core::Iterable<self::Baz::T>, S exte nds self::Baz::E> extends core::Object {
22 constructor •() → void
23 : super core::Object::•()
24 ;
25 method foo(self::Baz::S t) → void {
26 for (self::Baz::T i in t) {
27 core::int x = i;
28 self::Baz::T y = i;
29 }
30 }
31 }
32 static method test() → dynamic {
33 core::List<self::Foo> list = <self::Foo>[];
34 for (self::Foo x in list) {
35 core::String y = x;
36 }
37 for (dynamic x in list) {
38 core::String y = x;
39 }
40 for (core::String x in list) {
41 core::String y = x;
42 }
43 dynamic z;
44 for (final dynamic #t1 in list) {
45 z = #t1;
46 core::String y = z;
47 }
48 core::Iterable<dynamic> iter = list;
49 for (self::Foo x in iter) {
50 self::Foo y = x;
51 }
52 dynamic iter2 = list;
53 for (self::Foo x in iter2) {
54 self::Foo y = x;
55 }
56 core::Map<core::String, self::Foo> map = <core::String, self::Foo>{};
57 for (dynamic x in map) {
58 core::String y = x;
59 }
60 for (core::String x in map.{core::Map::keys}) {
61 core::String y = x;
62 }
63 }
64 static method main() → dynamic {}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698