Skip to content

Commit

Permalink
Add new tests, cf. #1060 (void generators)
Browse files Browse the repository at this point in the history
Change-Id: I7a2bcc85731e426c6d0073d65c06878f917d6627
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154681
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
  • Loading branch information
eernstg authored and commit-bot@chromium.org committed Jul 16, 2020
1 parent 22e3406 commit 4743211
Show file tree
Hide file tree
Showing 4 changed files with 148 additions and 0 deletions.
38 changes: 38 additions & 0 deletions tests/language/async_star/void_async_star_test.dart
Original file line number Diff line number Diff line change
@@ -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*`.
}
36 changes: 36 additions & 0 deletions tests/language/sync_star/void_sync_star_test.dart
Original file line number Diff line number Diff line change
@@ -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*`.
}
38 changes: 38 additions & 0 deletions tests/language_2/async_star/void_async_star_test.dart
Original file line number Diff line number Diff line change
@@ -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*`.
}
36 changes: 36 additions & 0 deletions tests/language_2/sync_star/void_sync_star_test.dart
Original file line number Diff line number Diff line change
@@ -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*`.
}

0 comments on commit 4743211

Please sign in to comment.