blob: 74553aa3b53da103069a92e2a30f8db705c37e4f [file] [log] [blame]
// Copyright (c) 2017, 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*/
library test;
T run<T>(T f()) {
print("running");
var /*@ type=run::T* */ t = f();
print("done running");
return t;
}
void printRunning() {
print("running");
}
var x = run<dynamic>(printRunning);
main() {
void printRunning() {
print("running");
}
var /*@ type=dynamic */ x = run<dynamic>(printRunning);
var /*@ type=void */ y = /*info:USE_OF_VOID_RESULT*/ /*@ typeArgs=void */ run(
printRunning);
x = 123;
x = 'hi';
y = /*error:INVALID_ASSIGNMENT*/ 123;
y = /*error:INVALID_ASSIGNMENT*/ 'hi';
}