OLD | NEW |
| (Empty) |
1 // Copyright (c) 2014, 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 import 'dart:async'; | |
6 | |
7 import 'package:expect/expect.dart'; | |
8 | |
9 // Note, this is a regression test for: | |
10 // https://github.com/dart-lang/sdk/issues/29252 | |
11 class Foo { | |
12 Future _x; | |
13 int z; | |
14 List list = []; | |
15 | |
16 Future foo() async { | |
17 _x ??= new Future(() async { | |
18 z = await new Future.value(42); | |
19 list = list.toList()..add(z); | |
20 }); | |
21 await _x; | |
22 return list[0]; | |
23 } | |
24 } | |
25 | |
26 main() async { | |
27 var f = new Foo(); | |
28 var result = await f.foo(); | |
29 Expect.equals(42, result); | |
30 } | |
OLD | NEW |