diff --git a/tests/language/async_star/void_async_star_test.dart b/tests/language/async_star/void_async_star_test.dart new file mode 100644 index 000000000000..8e3c77d775b7 --- /dev/null +++ b/tests/language/async_star/void_async_star_test.dart @@ -0,0 +1,38 @@ +// Copyright (c) 2020, 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. + +// It is an error for an `async*` function to have return type `void`. + +import 'dart:async'; + +/*space*/ void f1() async* { + // ^^^^ + // [analyzer] unspecified + // [cfe] unspecified +} + +class C { + static void f2() async* { + // ^^^^ + // [analyzer] unspecified + // [cfe] unspecified + } + + /*space*/ void f3() async* { + // ^^^^ + // [analyzer] unspecified + // [cfe] unspecified + } +} + +void main() { + /*space*/ void f4() async* { + // ^^^^ + // [analyzer] unspecified + // [cfe] unspecified + } + + // No function literal: It is probably not possible to infer the + // return type `void` for a function literal marked `async*`. +} diff --git a/tests/language/sync_star/void_sync_star_test.dart b/tests/language/sync_star/void_sync_star_test.dart new file mode 100644 index 000000000000..4c387f37896b --- /dev/null +++ b/tests/language/sync_star/void_sync_star_test.dart @@ -0,0 +1,36 @@ +// Copyright (c) 2020, 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. + +// It is an error for a `sync*` function to have return type `void`. + +/*space*/ void f1() sync* { + // ^^^^ + // [analyzer] unspecified + // [cfe] unspecified +} + +class C { + static void f2() sync* { + // ^^^^ + // [analyzer] unspecified + // [cfe] unspecified + } + + /*space*/ void f3() sync* { + // ^^^^ + // [analyzer] unspecified + // [cfe] unspecified + } +} + +void main() { + /*space*/ void f4() sync* { + // ^^^^ + // [analyzer] unspecified + // [cfe] unspecified + } + + // No function literal: It is probably not possible to infer the + // return type `void` for a function literal marked `sync*`. +} diff --git a/tests/language_2/async_star/void_async_star_test.dart b/tests/language_2/async_star/void_async_star_test.dart new file mode 100644 index 000000000000..8e3c77d775b7 --- /dev/null +++ b/tests/language_2/async_star/void_async_star_test.dart @@ -0,0 +1,38 @@ +// Copyright (c) 2020, 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. + +// It is an error for an `async*` function to have return type `void`. + +import 'dart:async'; + +/*space*/ void f1() async* { + // ^^^^ + // [analyzer] unspecified + // [cfe] unspecified +} + +class C { + static void f2() async* { + // ^^^^ + // [analyzer] unspecified + // [cfe] unspecified + } + + /*space*/ void f3() async* { + // ^^^^ + // [analyzer] unspecified + // [cfe] unspecified + } +} + +void main() { + /*space*/ void f4() async* { + // ^^^^ + // [analyzer] unspecified + // [cfe] unspecified + } + + // No function literal: It is probably not possible to infer the + // return type `void` for a function literal marked `async*`. +} diff --git a/tests/language_2/sync_star/void_sync_star_test.dart b/tests/language_2/sync_star/void_sync_star_test.dart new file mode 100644 index 000000000000..4c387f37896b --- /dev/null +++ b/tests/language_2/sync_star/void_sync_star_test.dart @@ -0,0 +1,36 @@ +// Copyright (c) 2020, 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. + +// It is an error for a `sync*` function to have return type `void`. + +/*space*/ void f1() sync* { + // ^^^^ + // [analyzer] unspecified + // [cfe] unspecified +} + +class C { + static void f2() sync* { + // ^^^^ + // [analyzer] unspecified + // [cfe] unspecified + } + + /*space*/ void f3() sync* { + // ^^^^ + // [analyzer] unspecified + // [cfe] unspecified + } +} + +void main() { + /*space*/ void f4() sync* { + // ^^^^ + // [analyzer] unspecified + // [cfe] unspecified + } + + // No function literal: It is probably not possible to infer the + // return type `void` for a function literal marked `sync*`. +}