blob: 08bf6a05797a5214622652516c07ac0871c4da43 [file] [log] [blame]
// Copyright (c) 2018, 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
import 'dart:async';
void voidValue = null;
void main() {
test1();
test4();
test5();
test6();
test7();
test8();
}
// Testing that a block bodied async function may have no return
Future<FutureOr<void>> test1() async {}
// Testing that a block bodied async function may return Future<FutureOr<void>>
Future<FutureOr<void>> test4([bool b]) async {
return null as Future<FutureOr<void>>;
}
// Testing that a block bodied async function may return Future<Future<void>>
Future<FutureOr<void>> test5([bool b]) async {
return null as Future<Future<void>>;
}
// Testing that a block bodied async function may return FutureOr<Future<void>>
Future<FutureOr<void>> test6([bool b]) async {
return null as FutureOr<Future<void>>;
}
// Testing that a block bodied async function may return non-void
// values
Future<FutureOr<void>> test7() async {
return 42;
}
// Testing that a block bodied async function may return non-void
// Future values
Future<FutureOr<void>> test8() async {
return new Future<int>.value(42);
}