efdffab8b7
This fixes an issue where VM would run the async* generator after a `yield` / `yield*` even though the subscription may be paused or cancelled. Furthermore this fixes an issue where `StackTrace.current` used in async* generator crashes VM and/or produces truncated stack trace. This fixes the following existing tests that were failing before: * co19/Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_t08 * co19/Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_t09 * co19/Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_t10 * language/async_star/async_star_cancel_test * language/async_star/pause_test New in reland: Allow the generator to to cause cancelling it's own consumer. This addresses the issue of original revert -> see https://github.com/flutter/flutter/issues/101514 Issue https://github.com/flutter/flutter/issues/100441 Issue https://github.com/dart-lang/sdk/issues/48695 Issue https://github.com/dart-lang/sdk/issues/34775 TEST=vm/dart{,_2}/causal_stacks/flutter_regress_100441_test Change-Id: I091b7159d59ea15fc31162b4b6b17260d523d7cb Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/242400 Reviewed-by: Lasse Nielsen <lrn@google.com> Commit-Queue: Martin Kustermann <kustermann@google.com>
This directory contains tests of the language and core library implementations. For more information, see https://github.com/dart-lang/sdk/wiki/Testing.