diff --git a/tests/language/invalid_returns/async_invalid_return_00_test.dart b/tests/language/invalid_returns/async_invalid_return_00_test.dart index 1b2e03ca4b7..6df27908ec1 100644 --- a/tests/language/invalid_returns/async_invalid_return_00_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_00_test.dart @@ -22,18 +22,14 @@ Object? test2() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. Object Function() test3 = () async { return; -//^ -// [analyzer] unspecified -// [cfe] unspecified }; +// Inferred return type of function literal is `Future`, no error. Object? Function() test4 = () async { return; -//^ -// [analyzer] unspecified -// [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_03_test.dart b/tests/language/invalid_returns/async_invalid_return_03_test.dart index 40bb341518b..784540440fe 100644 --- a/tests/language/invalid_returns/async_invalid_return_03_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_03_test.dart @@ -15,11 +15,9 @@ Future test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. Future Function() test2 = () async { return; -//^ -// [analyzer] unspecified -// [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_04_test.dart b/tests/language/invalid_returns/async_invalid_return_04_test.dart index f1e1ad33970..4c0b1933528 100644 --- a/tests/language/invalid_returns/async_invalid_return_04_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_04_test.dart @@ -15,11 +15,9 @@ FutureOr test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. FutureOr Function() test2 = () async { return; -//^ -// [analyzer] unspecified -// [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_05_test.dart b/tests/language/invalid_returns/async_invalid_return_05_test.dart index aecbb45edfb..d11a4b58ac7 100644 --- a/tests/language/invalid_returns/async_invalid_return_05_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_05_test.dart @@ -18,11 +18,9 @@ void test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. void Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_08_test.dart b/tests/language/invalid_returns/async_invalid_return_08_test.dart index 435742fdb8d..09950acc9cd 100644 --- a/tests/language/invalid_returns/async_invalid_return_08_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_08_test.dart @@ -18,11 +18,9 @@ void test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. void Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_11_test.dart b/tests/language/invalid_returns/async_invalid_return_11_test.dart index dee232339d3..b85f731a9c8 100644 --- a/tests/language/invalid_returns/async_invalid_return_11_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_11_test.dart @@ -18,11 +18,9 @@ void test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. void Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_14_test.dart b/tests/language/invalid_returns/async_invalid_return_14_test.dart index e8014dbd604..3eaa71573f9 100644 --- a/tests/language/invalid_returns/async_invalid_return_14_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_14_test.dart @@ -18,11 +18,9 @@ void test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. void Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_17_test.dart b/tests/language/invalid_returns/async_invalid_return_17_test.dart index 536a1109f75..f347a214fca 100644 --- a/tests/language/invalid_returns/async_invalid_return_17_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_17_test.dart @@ -18,11 +18,9 @@ void test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. void Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_20_test.dart b/tests/language/invalid_returns/async_invalid_return_20_test.dart index 8a5be6dda62..5b54f780cca 100644 --- a/tests/language/invalid_returns/async_invalid_return_20_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_20_test.dart @@ -18,11 +18,9 @@ void test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. void Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_23_test.dart b/tests/language/invalid_returns/async_invalid_return_23_test.dart index 3ddefdc5ebf..f496a74b99f 100644 --- a/tests/language/invalid_returns/async_invalid_return_23_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_23_test.dart @@ -25,18 +25,14 @@ Object? test2() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. Object Function() test3 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; +// Inferred return type of function literal is `Future`, no error. Object? Function() test4 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_24_test.dart b/tests/language/invalid_returns/async_invalid_return_24_test.dart index 6a2378772a2..1ccbca784af 100644 --- a/tests/language/invalid_returns/async_invalid_return_24_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_24_test.dart @@ -25,18 +25,14 @@ Object? test2() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. Object Function() test3 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; +// Inferred return type of function literal is `Future`, no error. Object? Function() test4 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_25_test.dart b/tests/language/invalid_returns/async_invalid_return_25_test.dart index 3bc637d9e22..5991e70fe3c 100644 --- a/tests/language/invalid_returns/async_invalid_return_25_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_25_test.dart @@ -25,18 +25,14 @@ Object? test2() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. Object Function() test3 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; +// Inferred return type of function literal is `Future`, no error. Object? Function() test4 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_32_test.dart b/tests/language/invalid_returns/async_invalid_return_32_test.dart index f6d337c9fe4..eaac87626e0 100644 --- a/tests/language/invalid_returns/async_invalid_return_32_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_32_test.dart @@ -18,11 +18,9 @@ Future test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. Future Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_33_test.dart b/tests/language/invalid_returns/async_invalid_return_33_test.dart index cd773200522..971b4aacdff 100644 --- a/tests/language/invalid_returns/async_invalid_return_33_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_33_test.dart @@ -18,11 +18,9 @@ Future test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. Future Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_34_test.dart b/tests/language/invalid_returns/async_invalid_return_34_test.dart index 25969daef5c..581542144d4 100644 --- a/tests/language/invalid_returns/async_invalid_return_34_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_34_test.dart @@ -18,11 +18,9 @@ Future test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. Future Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_35_test.dart b/tests/language/invalid_returns/async_invalid_return_35_test.dart index 79e6995ab5a..b9ddf703b74 100644 --- a/tests/language/invalid_returns/async_invalid_return_35_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_35_test.dart @@ -18,11 +18,9 @@ FutureOr test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. FutureOr Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_36_test.dart b/tests/language/invalid_returns/async_invalid_return_36_test.dart index 6ba0c69a187..7586e9a1fcf 100644 --- a/tests/language/invalid_returns/async_invalid_return_36_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_36_test.dart @@ -32,11 +32,9 @@ FutureOr Function() test3 = () async { // [cfe] unspecified }; +// Inferred return type of function literal is `Future`, no error. FutureOr Function() test4 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_37_test.dart b/tests/language/invalid_returns/async_invalid_return_37_test.dart index 4a8951562f6..6b0496d0524 100644 --- a/tests/language/invalid_returns/async_invalid_return_37_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_37_test.dart @@ -18,11 +18,9 @@ FutureOr test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. FutureOr Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_41_test.dart b/tests/language/invalid_returns/async_invalid_return_41_test.dart index 6191c702875..d68b8ef97cd 100644 --- a/tests/language/invalid_returns/async_invalid_return_41_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_41_test.dart @@ -9,7 +9,7 @@ import 'dart:async'; * `flatten(S)` is not a subtype of `Tv`. */ -Future> v = Future.value(Future.value('')); +Future> v = Future.value(Future.value('')); Future test1() async { return v; diff --git a/tests/language/invalid_returns/async_invalid_return_45_test.dart b/tests/language/invalid_returns/async_invalid_return_45_test.dart index 60b916ae329..bf75dc20bfd 100644 --- a/tests/language/invalid_returns/async_invalid_return_45_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_45_test.dart @@ -9,7 +9,7 @@ import 'dart:async'; * `flatten(S)` is not a subtype of `Tv`. */ -Future> v = Future.value(Future.value('')); +Future> v = Future.value(Future.value('')); FutureOr test1() async { return v; diff --git a/tests/language/invalid_returns/async_invalid_return_47_test.dart b/tests/language/invalid_returns/async_invalid_return_47_test.dart index 156c737e38b..e39b36cad97 100644 --- a/tests/language/invalid_returns/async_invalid_return_47_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_47_test.dart @@ -18,7 +18,8 @@ Future test1() async { // [cfe] unspecified } -Future Function() test2 = () async { +// Inferred return type of function literal is `Future`. +Future Function() test2 = () async { return v; // ^ // [analyzer] unspecified diff --git a/tests/language/invalid_returns/async_invalid_return_48_test.dart b/tests/language/invalid_returns/async_invalid_return_48_test.dart index 58e9013d7d0..d60f9480909 100644 --- a/tests/language/invalid_returns/async_invalid_return_48_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_48_test.dart @@ -18,6 +18,7 @@ Future test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`. Future Function() test2 = () async { return v; // ^ diff --git a/tests/language/invalid_returns/async_invalid_return_50_test.dart b/tests/language/invalid_returns/async_invalid_return_50_test.dart index ae291872993..236f512ecfe 100644 --- a/tests/language/invalid_returns/async_invalid_return_50_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_50_test.dart @@ -9,7 +9,7 @@ import 'dart:async'; * and `flatten(S)` is `void` or `void*`. */ -Future v = Future.value(null); +Future v = Future.value("Hello"); FutureOr test1() async { return v; @@ -18,6 +18,7 @@ FutureOr test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`. FutureOr Function() test2 = () async { return v; // ^ diff --git a/tests/language/invalid_returns/async_invalid_return_51_test.dart b/tests/language/invalid_returns/async_invalid_return_51_test.dart index 819a98932a0..3448c144e3f 100644 --- a/tests/language/invalid_returns/async_invalid_return_51_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_51_test.dart @@ -9,7 +9,7 @@ import 'dart:async'; * and `flatten(S)` is `void` or `void*`. */ -FutureOr v = null; +FutureOr v = 42; FutureOr test1() async { return v; @@ -18,6 +18,7 @@ FutureOr test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`. FutureOr Function() test2 = () async { return v; // ^ diff --git a/tests/language/invalid_returns/async_invalid_return_52_test.dart b/tests/language/invalid_returns/async_invalid_return_52_test.dart index a665932eb9f..8f086b2a6d1 100644 --- a/tests/language/invalid_returns/async_invalid_return_52_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_52_test.dart @@ -5,8 +5,8 @@ import 'dart:async'; /* `return exp;` where `exp` has static type `S` is an error if the future - * value type of the function is neither `void` nor `dynamic`, - * and `flatten(S)` is `void` or `void*`. + * value type of the function is `void` and `flatten(S)` is not + * `void`, `dynamic`, `Null`, `void*`, `dynamic*`, or `Null*`. */ int v = 0; @@ -18,11 +18,9 @@ Future test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. Future Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_53_test.dart b/tests/language/invalid_returns/async_invalid_return_53_test.dart index 23dcce87e1a..d51ae11b44c 100644 --- a/tests/language/invalid_returns/async_invalid_return_53_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_53_test.dart @@ -5,8 +5,8 @@ import 'dart:async'; /* `return exp;` where `exp` has static type `S` is an error if the future - * value type of the function is neither `void` nor `dynamic`, - * and `flatten(S)` is `void` or `void*`. + * value type of the function is `void` and `flatten(S)` is not + * `void`, `dynamic`, `Null`, `void*`, `dynamic*`, or `Null*`. */ Object v = true; @@ -18,11 +18,9 @@ Future test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. Future Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_54_test.dart b/tests/language/invalid_returns/async_invalid_return_54_test.dart index 66a536f8575..4dd661aa98d 100644 --- a/tests/language/invalid_returns/async_invalid_return_54_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_54_test.dart @@ -5,8 +5,8 @@ import 'dart:async'; /* `return exp;` where `exp` has static type `S` is an error if the future - * value type of the function is neither `void` nor `dynamic`, - * and `flatten(S)` is `void` or `void*`. + * value type of the function is `void` and `flatten(S)` is not + * `void`, `dynamic`, `Null`, `void*`, `dynamic*`, or `Null*`. */ FutureOr v = 0; @@ -18,11 +18,9 @@ Future test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. Future Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_55_test.dart b/tests/language/invalid_returns/async_invalid_return_55_test.dart index eb296487398..72f944095cb 100644 --- a/tests/language/invalid_returns/async_invalid_return_55_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_55_test.dart @@ -5,8 +5,8 @@ import 'dart:async'; /* `return exp;` where `exp` has static type `S` is an error if the future - * value type of the function is neither `void` nor `dynamic`, - * and `flatten(S)` is `void` or `void*`. + * value type of the function is `void` and `flatten(S)` is not + * `void`, `dynamic`, `Null`, `void*`, `dynamic*`, or `Null*`. */ Future v = Future.value(0); @@ -18,11 +18,9 @@ Future test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. Future Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_56_test.dart b/tests/language/invalid_returns/async_invalid_return_56_test.dart index 66460f9a6af..9443436bcd4 100644 --- a/tests/language/invalid_returns/async_invalid_return_56_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_56_test.dart @@ -5,8 +5,8 @@ import 'dart:async'; /* `return exp;` where `exp` has static type `S` is an error if the future - * value type of the function is neither `void` nor `dynamic`, - * and `flatten(S)` is `void` or `void*`. + * value type of the function is `void` and `flatten(S)` is not + * `void`, `dynamic`, `Null`, `void*`, `dynamic*`, or `Null*`. */ int v = 0; @@ -18,11 +18,9 @@ FutureOr test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. FutureOr Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_57_test.dart b/tests/language/invalid_returns/async_invalid_return_57_test.dart index f0c9284faec..633be939714 100644 --- a/tests/language/invalid_returns/async_invalid_return_57_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_57_test.dart @@ -5,8 +5,8 @@ import 'dart:async'; /* `return exp;` where `exp` has static type `S` is an error if the future - * value type of the function is neither `void` nor `dynamic`, - * and `flatten(S)` is `void` or `void*`. + * value type of the function is `void` and `flatten(S)` is not + * `void`, `dynamic`, `Null`, `void*`, `dynamic*`, or `Null*`. */ Object v = true; @@ -18,11 +18,9 @@ FutureOr test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. FutureOr Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_58_test.dart b/tests/language/invalid_returns/async_invalid_return_58_test.dart index ea3599c57c7..4d508eb07f2 100644 --- a/tests/language/invalid_returns/async_invalid_return_58_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_58_test.dart @@ -5,8 +5,8 @@ import 'dart:async'; /* `return exp;` where `exp` has static type `S` is an error if the future - * value type of the function is neither `void` nor `dynamic`, - * and `flatten(S)` is `void` or `void*`. + * value type of the function is `void` and `flatten(S)` is not + * `void`, `dynamic`, `Null`, `void*`, `dynamic*`, or `Null*`. */ FutureOr v = 0; @@ -18,11 +18,9 @@ FutureOr test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. FutureOr Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/async_invalid_return_59_test.dart b/tests/language/invalid_returns/async_invalid_return_59_test.dart index b24a015a816..95399b9c015 100644 --- a/tests/language/invalid_returns/async_invalid_return_59_test.dart +++ b/tests/language/invalid_returns/async_invalid_return_59_test.dart @@ -5,8 +5,8 @@ import 'dart:async'; /* `return exp;` where `exp` has static type `S` is an error if the future - * value type of the function is neither `void` nor `dynamic`, - * and `flatten(S)` is `void` or `void*`. + * value type of the function is `void` and `flatten(S)` is not + * `void`, `dynamic`, `Null`, `void*`, `dynamic*`, or `Null*`. */ Future v = Future.value(0); @@ -18,11 +18,9 @@ FutureOr test1() async { // [cfe] unspecified } +// Inferred return type of function literal is `Future`, no error. FutureOr Function() test2 = () async { return v; - // ^ - // [analyzer] unspecified - // [cfe] unspecified }; void main() { diff --git a/tests/language/invalid_returns/sync_invalid_return_27_test.dart b/tests/language/invalid_returns/sync_invalid_return_27_test.dart index 5a04adb54ae..0361ee28400 100644 --- a/tests/language/invalid_returns/sync_invalid_return_27_test.dart +++ b/tests/language/invalid_returns/sync_invalid_return_27_test.dart @@ -8,7 +8,8 @@ import 'dart:async'; * and `T` is not `void` or `dynamic`. */ -void v = null; +void v = 42; + Null test() { return v; // ^