Closed
Description
Based on code from knockout on DT:
interface Punch {
<T>(value: T): T;
<T = any>(value: null): T | null
}
function x(p: Punch) {
var wat = p<number>(5 as any)
var wit = p<number>('hi')
var wot = p<number>(5)
}
Expected behavior:
wat: number, wit: number, wot: number
Actual behavior:
wat: number | null, wit: number | null, wot: number