blob: d182b41e0583651aab210740771ef46a1b439834 [file] [log] [blame]
// Copyright (c) 2017, 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.
// VMOptions=--optimization-counter-threshold=-1 --stacktrace-filter=completeError --stress-async-stacks
// @dart = 2.9
// Stress test for async stack traces.
import 'dart:async';
import "package:expect/expect.dart";
class A {
Future<List<int>> read() => new Future.error(123);
}
Future<A> haha() => new Future.microtask(() => new A());
Future<List<int>> mm() async => (await haha()).read();
foo() async => await mm();
main() async {
var x;
try {
x = await foo();
} catch (e) {
Expect.equals(123, e);
return;
}
Expect.isTrue(false);
}