| // 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. |
| |
| dynamic getNull() => null; |
| Stream<dynamic> getStreamNull() async* { |
| yield null; |
| } |
| |
| Stream<bool> getStreamBool() async* { |
| yield true; |
| } |
| |
| Stream<bool> test1() async* { |
| yield getNull(); // ok |
| } |
| |
| Stream<bool> test2() => getNull(); // ok |
| bool test3() => getNull(); // ok |
| Stream<bool> test4() async* { |
| yield* getStreamNull(); // error |
| } |
| |
| Stream<bool> test5() => getStreamNull(); // error |
| Stream<bool> test6() => getStreamBool(); // ok |
| Stream<bool> test7() async* { |
| yield* getStreamBool(); // ok |
| } |
| |
| test() async { |
| Stream<bool> test1() async* { |
| yield getNull(); // ok |
| } |
| |
| Stream<bool> test2() => getNull(); // ok |
| bool test3() => getNull(); // ok |
| Stream<bool> test4() async* { |
| yield* getStreamNull(); // error |
| } |
| |
| Stream<bool> test5() => getStreamNull(); // error |
| Stream<bool> test6() => getStreamBool(); // ok |
| Stream<bool> test7() async* { |
| yield* getStreamBool(); // ok |
| } |
| |
| Stream<bool> var1 = (() async* { |
| yield getNull(); |
| })(); // error |
| Stream<bool> var2 = (() => getNull())(); // ok |
| bool var3 = (() => getNull())(); // ok |
| Stream<bool> var4 = (() async* { |
| yield* getStreamNull(); |
| })(); // error |
| Stream<bool> var5 = (() => getStreamNull())(); // error |
| Stream<bool> var6 = (() => getStreamBool())(); // ok |
| Stream<bool> var7 = (() async* { |
| yield* getStreamBool(); |
| })(); // ok |
| } |
| |
| main() {} |