OLD | NEW |
| (Empty) |
1 // Copyright (c) 2013, 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 // Regression test for dart2js that used to infinite loop on | |
6 // speculatively propagating types. | |
7 | |
8 class Bar { | |
9 noSuchMethod(e) => null; | |
10 } | |
11 | |
12 main() { | |
13 var d = new Bar(); | |
14 | |
15 while (false) { | |
16 // [input] will change from indexable to unknown: the use line 20 | |
17 // changes its decision because [a2] changes its type from unknown to | |
18 // null. | |
19 var input = ((x) {})(null); | |
20 var p2 = input.keys.firstWhere(null); | |
21 var a2 = input.keys.firstWhere(null); | |
22 print(input[a2] == p2); | |
23 } | |
24 } | |
OLD | NEW |