blob: c39c95902d6b81c76fb1086ed5818ffaa80b3e84 [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.
/*@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';
}