| // Copyright (c) 2019, 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 |
| /*@testedFeatures=inference*/ |
| T map<T>(T Function() f1, T Function() f2) {} |
| |
| id<T>(T t) => t; |
| |
| Null foo() => null; |
| |
| main() { |
| /*@ typeArgs=Null */ map(/*@ returnType=Null */ () {}, |
| /*@ returnType=Null */ () => throw "hello"); |
| /*@ typeArgs=Null */ map(/*@ returnType=Null */ () => throw "hello", |
| /*@ returnType=Null */ () {}); |
| Null Function() f = /*@ returnType=Null */ () {}; |
| /*@ typeArgs=Null */ map( |
| foo, /*@ returnType=Null */ () => throw "hello"); |
| /*@ typeArgs=Null */ map( |
| /*@ returnType=Null */ () => throw "hello", foo); |
| /*@ typeArgs=Null */ map(/*@ returnType=Null */ () { |
| return null; |
| }, /*@ returnType=Null */ () => throw "hello"); |
| |
| /*@ typeArgs=Null */ map(/*@ returnType=Null */ () => throw "hello", |
| /*@ returnType=Null */ () { |
| return null; |
| }); |
| /*@ typeArgs=() ->* Null */ id(/*@ returnType=Null */ () {}); |
| } |