TypeScript/tests/cases/compiler/typeInferenceFBoundedTypeParams.ts
Anders Hejlsberg 5cb2b6afde Adding tests
2015-12-10 14:09:18 -08:00

23 lines
458 B
TypeScript

// Example from #6037
function fold<a, r>(values: a[], result: r, fold: (result: r, value: a) => r): r {
for (let value of values) {
result = fold(result, value);
}
return result;
}
function append<a, b extends a>(values: a[], value: b): a[] {
values.push(value);
return values;
}
fold(
[1, 2, 3],
[] as [string, string][],
(result, value) => append(
result,
["", ""]
)
);