Compiles without error when the return type signature of variable doesn't match that of the generic function that it is being assigned to · Issue #5616 · microsoft/TypeScript (original) (raw)
Compiling the code below:
function identity<T>(arg: T): T {
return arg;
}
var myIdentity: <T>(arg: T) => string = identity;
var a = myIdentity<string>("string")
var b = myIdentity<number>(100)
outputs the following javascript:
function identity(arg) {
return arg;
}
var myIdentity = identity;
var a = myIdentity("string");
var b = myIdentity(100);
I put the type signature of the variable myIdentity
as <T>(arg: T) => string
where the return type is string
instead of T
(that I expect to be correct).
I expected the Typescript compiler to show an error because the return types
don't match. However, the code compiled without any error.
Specs:
Mac OS X 10.11
tsc --version
outputs:message TS6029: Version 1.6.2