2014-07-13 01:04:16 +02:00
|
|
|
//// [typeArgInferenceWithNull.ts]
|
|
|
|
// All legal
|
|
|
|
|
|
|
|
function fn4<T extends string>(n: T) { }
|
|
|
|
fn4(null);
|
|
|
|
|
|
|
|
function fn5<T extends { x: string }>(n: T) { }
|
|
|
|
fn5({ x: null });
|
|
|
|
|
|
|
|
function fn6<T extends { x: string }>(n: T, fun: (x: T) => void, n2: T) { }
|
|
|
|
fn6({ x: null }, y => { }, { x: "" }); // y has type { x: any }, but ideally would have type { x: string }
|
|
|
|
|
|
|
|
|
|
|
|
//// [typeArgInferenceWithNull.js]
|
2014-08-14 15:21:30 +02:00
|
|
|
// All legal
|
2014-07-13 01:04:16 +02:00
|
|
|
function fn4(n) {
|
|
|
|
}
|
|
|
|
fn4(null);
|
|
|
|
function fn5(n) {
|
|
|
|
}
|
|
|
|
fn5({ x: null });
|
|
|
|
function fn6(n, fun, n2) {
|
|
|
|
}
|
|
|
|
fn6({ x: null }, function (y) {
|
2014-08-16 00:49:09 +02:00
|
|
|
}, { x: "" }); // y has type { x: any }, but ideally would have type { x: string }
|