| // Copyright (c) 2011, 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, issue 15720. |
| |
| class B {} |
| |
| confuse(x) { |
| if (DateTime.now().millisecondsSinceEpoch == 42) return confuse(x); |
| return x; |
| } |
| |
| main() { |
| Set<B> set = new Set<B>.from([]); |
| |
| confuse(499); |
| confuse(set); |
| |
| // Dart2js used to reuse a variable name, overwriting the `set` variable with |
| // one of the B's. |
| var t1 = new B(); |
| var t2 = new B(); |
| var t3 = new B(); |
| var t4 = new B(); |
| |
| set.addAll([t1, t2, t3, t4]); |
| confuse(7); |
| |
| set.addAll([t1, t2, t3, t4]); |
| } |