9 lines
230 B
TypeScript
9 lines
230 B
TypeScript
function foo<T>(o: Take<T>, i: Make<T>) { }
|
|
interface Make<T> {
|
|
(): T;
|
|
}
|
|
interface Take<T> {
|
|
(n: T): void;
|
|
}
|
|
// Infer string from second argument because it isn't context sensitive
|
|
foo(n => n.length, () => 'hi');
|