blob: 5c17bd3c215be709bb6c6df343da4123a2986892 [file] [log] [blame]
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// @dart = 2.9
// Regression test for dart2js that used to infinite loop on
// speculatively propagating types.
class Bar {
noSuchMethod(e) => null;
}
main() {
var d = new Bar();
while (false) {
// [input] will change from indexable to unknown: the use line 20
// changes its decision because [a2] changes its type from unknown to
// null.
var input = ((x) {})(null);
var p2 = input.keys.firstWhere(null);
var a2 = input.keys.firstWhere(null);
print(input[a2] == p2);
}
}