blob: 70292a1090efc124b25076afa66740125bd86bc6 [file] [log] [blame]
// 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.
/*@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=<BottomType> */ () => throw "hello");
/*@ typeArgs=Null? */ map(/*@ returnType=<BottomType> */ () => throw "hello",
/*@ returnType=Null? */ () {});
Null Function() f = /*@ returnType=Null? */ () {};
/*@ typeArgs=Null? */ map(
foo, /*@ returnType=<BottomType> */ () => throw "hello");
/*@ typeArgs=Null? */ map(
/*@ returnType=<BottomType> */ () => throw "hello", foo);
/*@ typeArgs=Null? */ map(/*@ returnType=Null? */ () {
return null;
}, /*@ returnType=<BottomType> */ () => throw "hello");
/*@ typeArgs=Null? */ map(/*@ returnType=<BottomType> */ () => throw "hello",
/*@ returnType=Null? */ () {
return null;
});
/*@ typeArgs=() ->* Null? */ id(/*@ returnType=Null? */ () {});
}