Skip to content

Commit 60b72cb

Browse files
mralephCommit Queue
authored andcommitted
[vm] Improve unwinding from Future.doWhile
Annotate result future as an awaiter-link CoreLibraryReviewExempt: No API changes, just adding a helper pragma. Change-Id: I6a6a6964615d701b64fb4ecf2082865f99f5a391 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/451520 Reviewed-by: Lasse Nielsen <[email protected]> Commit-Queue: Slava Egorov <[email protected]>
1 parent a3a9006 commit 60b72cb

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

sdk/lib/async/future.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -718,6 +718,7 @@ abstract interface class Future<T> {
718718
/// // Outputs: 'Finished with 3'
719719
/// ```
720720
static Future<void> doWhile(FutureOr<bool> action()) {
721+
@pragma('vm:awaiter-link')
721722
_Future<void> doneSignal = _Future<void>();
722723
late void Function(bool) nextIteration;
723724
// Bind this callback explicitly so that each iteration isn't bound in the

0 commit comments

Comments
 (0)