(one: a, two: b): [a, b] {
->of2 : Symbol(of2, Decl(genericFunctionInference1.ts, 104, 44))
->a : Symbol(a, Decl(genericFunctionInference1.ts, 108, 13))
->b : Symbol(b, Decl(genericFunctionInference1.ts, 108, 15))
->one : Symbol(one, Decl(genericFunctionInference1.ts, 108, 19))
->a : Symbol(a, Decl(genericFunctionInference1.ts, 108, 13))
->two : Symbol(two, Decl(genericFunctionInference1.ts, 108, 26))
->b : Symbol(b, Decl(genericFunctionInference1.ts, 108, 15))
->a : Symbol(a, Decl(genericFunctionInference1.ts, 108, 13))
->b : Symbol(b, Decl(genericFunctionInference1.ts, 108, 15))
+>of2 : Symbol(of2, Decl(genericFunctionInference1.ts, 109, 44))
+>a : Symbol(a, Decl(genericFunctionInference1.ts, 113, 13))
+>b : Symbol(b, Decl(genericFunctionInference1.ts, 113, 15))
+>one : Symbol(one, Decl(genericFunctionInference1.ts, 113, 19))
+>a : Symbol(a, Decl(genericFunctionInference1.ts, 113, 13))
+>two : Symbol(two, Decl(genericFunctionInference1.ts, 113, 26))
+>b : Symbol(b, Decl(genericFunctionInference1.ts, 113, 15))
+>a : Symbol(a, Decl(genericFunctionInference1.ts, 113, 13))
+>b : Symbol(b, Decl(genericFunctionInference1.ts, 113, 15))
return [one, two];
->one : Symbol(one, Decl(genericFunctionInference1.ts, 108, 19))
->two : Symbol(two, Decl(genericFunctionInference1.ts, 108, 26))
+>one : Symbol(one, Decl(genericFunctionInference1.ts, 113, 19))
+>two : Symbol(two, Decl(genericFunctionInference1.ts, 113, 26))
}
const flipped = flip(of2);
->flipped : Symbol(flipped, Decl(genericFunctionInference1.ts, 112, 5))
->flip : Symbol(flip, Decl(genericFunctionInference1.ts, 82, 20))
->of2 : Symbol(of2, Decl(genericFunctionInference1.ts, 104, 44))
+>flipped : Symbol(flipped, Decl(genericFunctionInference1.ts, 117, 5))
+>flip : Symbol(flip, Decl(genericFunctionInference1.ts, 87, 20))
+>of2 : Symbol(of2, Decl(genericFunctionInference1.ts, 109, 44))
// #29904.1
type Component = (props: P) => {};
->Component : Symbol(Component, Decl(genericFunctionInference1.ts, 112, 26))
->P : Symbol(P, Decl(genericFunctionInference1.ts, 116, 15))
->props : Symbol(props, Decl(genericFunctionInference1.ts, 116, 21))
->P : Symbol(P, Decl(genericFunctionInference1.ts, 116, 15))
+>Component : Symbol(Component, Decl(genericFunctionInference1.ts, 117, 26))
+>P : Symbol(P, Decl(genericFunctionInference1.ts, 121, 15))
+>props : Symbol(props, Decl(genericFunctionInference1.ts, 121, 21))
+>P : Symbol(P, Decl(genericFunctionInference1.ts, 121, 15))
declare const myHoc1:
(C: Component
) => Component
;
->myHoc1 : Symbol(myHoc1, Decl(genericFunctionInference1.ts, 118, 13))
->P : Symbol(P, Decl(genericFunctionInference1.ts, 118, 23))
->C : Symbol(C, Decl(genericFunctionInference1.ts, 118, 26))
->Component : Symbol(Component, Decl(genericFunctionInference1.ts, 112, 26))
->P : Symbol(P, Decl(genericFunctionInference1.ts, 118, 23))
->Component : Symbol(Component, Decl(genericFunctionInference1.ts, 112, 26))
->P : Symbol(P, Decl(genericFunctionInference1.ts, 118, 23))
+>myHoc1 : Symbol(myHoc1, Decl(genericFunctionInference1.ts, 123, 13))
+>P : Symbol(P, Decl(genericFunctionInference1.ts, 123, 23))
+>C : Symbol(C, Decl(genericFunctionInference1.ts, 123, 26))
+>Component : Symbol(Component, Decl(genericFunctionInference1.ts, 117, 26))
+>P : Symbol(P, Decl(genericFunctionInference1.ts, 123, 23))
+>Component : Symbol(Component, Decl(genericFunctionInference1.ts, 117, 26))
+>P : Symbol(P, Decl(genericFunctionInference1.ts, 123, 23))
declare const myHoc2:
(C: Component
) => Component
;
->myHoc2 : Symbol(myHoc2, Decl(genericFunctionInference1.ts, 119, 13))
->P : Symbol(P, Decl(genericFunctionInference1.ts, 119, 23))
->C : Symbol(C, Decl(genericFunctionInference1.ts, 119, 26))
->Component : Symbol(Component, Decl(genericFunctionInference1.ts, 112, 26))
->P : Symbol(P, Decl(genericFunctionInference1.ts, 119, 23))
->Component : Symbol(Component, Decl(genericFunctionInference1.ts, 112, 26))
->P : Symbol(P, Decl(genericFunctionInference1.ts, 119, 23))
+>myHoc2 : Symbol(myHoc2, Decl(genericFunctionInference1.ts, 124, 13))
+>P : Symbol(P, Decl(genericFunctionInference1.ts, 124, 23))
+>C : Symbol(C, Decl(genericFunctionInference1.ts, 124, 26))
+>Component : Symbol(Component, Decl(genericFunctionInference1.ts, 117, 26))
+>P : Symbol(P, Decl(genericFunctionInference1.ts, 124, 23))
+>Component : Symbol(Component, Decl(genericFunctionInference1.ts, 117, 26))
+>P : Symbol(P, Decl(genericFunctionInference1.ts, 124, 23))
declare const MyComponent1: Component<{ foo: 1 }>;
->MyComponent1 : Symbol(MyComponent1, Decl(genericFunctionInference1.ts, 121, 13))
->Component : Symbol(Component, Decl(genericFunctionInference1.ts, 112, 26))
->foo : Symbol(foo, Decl(genericFunctionInference1.ts, 121, 39))
+>MyComponent1 : Symbol(MyComponent1, Decl(genericFunctionInference1.ts, 126, 13))
+>Component : Symbol(Component, Decl(genericFunctionInference1.ts, 117, 26))
+>foo : Symbol(foo, Decl(genericFunctionInference1.ts, 126, 39))
const enhance = pipe(
->enhance : Symbol(enhance, Decl(genericFunctionInference1.ts, 123, 5))
+>enhance : Symbol(enhance, Decl(genericFunctionInference1.ts, 128, 5))
>pipe : Symbol(pipe, Decl(genericFunctionInference1.ts, 0, 0), Decl(genericFunctionInference1.ts, 0, 84), Decl(genericFunctionInference1.ts, 1, 104))
myHoc1,
->myHoc1 : Symbol(myHoc1, Decl(genericFunctionInference1.ts, 118, 13))
+>myHoc1 : Symbol(myHoc1, Decl(genericFunctionInference1.ts, 123, 13))
myHoc2,
->myHoc2 : Symbol(myHoc2, Decl(genericFunctionInference1.ts, 119, 13))
+>myHoc2 : Symbol(myHoc2, Decl(genericFunctionInference1.ts, 124, 13))
);
const MyComponent2 = enhance(MyComponent1);
->MyComponent2 : Symbol(MyComponent2, Decl(genericFunctionInference1.ts, 128, 5))
->enhance : Symbol(enhance, Decl(genericFunctionInference1.ts, 123, 5))
->MyComponent1 : Symbol(MyComponent1, Decl(genericFunctionInference1.ts, 121, 13))
+>MyComponent2 : Symbol(MyComponent2, Decl(genericFunctionInference1.ts, 133, 5))
+>enhance : Symbol(enhance, Decl(genericFunctionInference1.ts, 128, 5))
+>MyComponent1 : Symbol(MyComponent1, Decl(genericFunctionInference1.ts, 126, 13))
// #29904.2
const fn20 = pipe((_a?: {}) => 1);
->fn20 : Symbol(fn20, Decl(genericFunctionInference1.ts, 132, 5))
+>fn20 : Symbol(fn20, Decl(genericFunctionInference1.ts, 137, 5))
>pipe : Symbol(pipe, Decl(genericFunctionInference1.ts, 0, 0), Decl(genericFunctionInference1.ts, 0, 84), Decl(genericFunctionInference1.ts, 1, 104))
->_a : Symbol(_a, Decl(genericFunctionInference1.ts, 132, 19))
+>_a : Symbol(_a, Decl(genericFunctionInference1.ts, 137, 19))
// #29904.3
type Fn = (n: number) => number;
->Fn : Symbol(Fn, Decl(genericFunctionInference1.ts, 132, 34))
->n : Symbol(n, Decl(genericFunctionInference1.ts, 136, 11))
+>Fn : Symbol(Fn, Decl(genericFunctionInference1.ts, 137, 34))
+>n : Symbol(n, Decl(genericFunctionInference1.ts, 141, 11))
const fn30: Fn = pipe(
->fn30 : Symbol(fn30, Decl(genericFunctionInference1.ts, 137, 5))
->Fn : Symbol(Fn, Decl(genericFunctionInference1.ts, 132, 34))
+>fn30 : Symbol(fn30, Decl(genericFunctionInference1.ts, 142, 5))
+>Fn : Symbol(Fn, Decl(genericFunctionInference1.ts, 137, 34))
>pipe : Symbol(pipe, Decl(genericFunctionInference1.ts, 0, 0), Decl(genericFunctionInference1.ts, 0, 84), Decl(genericFunctionInference1.ts, 1, 104))
x => x + 1,
->x : Symbol(x, Decl(genericFunctionInference1.ts, 137, 22))
->x : Symbol(x, Decl(genericFunctionInference1.ts, 137, 22))
+>x : Symbol(x, Decl(genericFunctionInference1.ts, 142, 22))
+>x : Symbol(x, Decl(genericFunctionInference1.ts, 142, 22))
x => x * 2,
->x : Symbol(x, Decl(genericFunctionInference1.ts, 138, 15))
->x : Symbol(x, Decl(genericFunctionInference1.ts, 138, 15))
+>x : Symbol(x, Decl(genericFunctionInference1.ts, 143, 15))
+>x : Symbol(x, Decl(genericFunctionInference1.ts, 143, 15))
);
const promise = Promise.resolve(1);
->promise : Symbol(promise, Decl(genericFunctionInference1.ts, 142, 5))
+>promise : Symbol(promise, Decl(genericFunctionInference1.ts, 147, 5))
>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
promise.then(
>promise.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --))
->promise : Symbol(promise, Decl(genericFunctionInference1.ts, 142, 5))
+>promise : Symbol(promise, Decl(genericFunctionInference1.ts, 147, 5))
>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --))
pipe(
>pipe : Symbol(pipe, Decl(genericFunctionInference1.ts, 0, 0), Decl(genericFunctionInference1.ts, 0, 84), Decl(genericFunctionInference1.ts, 1, 104))
x => x + 1,
->x : Symbol(x, Decl(genericFunctionInference1.ts, 144, 9))
->x : Symbol(x, Decl(genericFunctionInference1.ts, 144, 9))
+>x : Symbol(x, Decl(genericFunctionInference1.ts, 149, 9))
+>x : Symbol(x, Decl(genericFunctionInference1.ts, 149, 9))
x => x * 2,
->x : Symbol(x, Decl(genericFunctionInference1.ts, 145, 19))
->x : Symbol(x, Decl(genericFunctionInference1.ts, 145, 19))
+>x : Symbol(x, Decl(genericFunctionInference1.ts, 150, 19))
+>x : Symbol(x, Decl(genericFunctionInference1.ts, 150, 19))
),
);
@@ -757,137 +797,137 @@ promise.then(
// #29904.4
declare const getString: () => string;
->getString : Symbol(getString, Decl(genericFunctionInference1.ts, 152, 13))
+>getString : Symbol(getString, Decl(genericFunctionInference1.ts, 157, 13))
declare const orUndefined: (name: string) => string | undefined;
->orUndefined : Symbol(orUndefined, Decl(genericFunctionInference1.ts, 153, 13))
->name : Symbol(name, Decl(genericFunctionInference1.ts, 153, 28))
+>orUndefined : Symbol(orUndefined, Decl(genericFunctionInference1.ts, 158, 13))
+>name : Symbol(name, Decl(genericFunctionInference1.ts, 158, 28))
declare const identity: (value: T) => T;
->identity : Symbol(identity, Decl(genericFunctionInference1.ts, 154, 13))
->T : Symbol(T, Decl(genericFunctionInference1.ts, 154, 25))
->value : Symbol(value, Decl(genericFunctionInference1.ts, 154, 28))
->T : Symbol(T, Decl(genericFunctionInference1.ts, 154, 25))
->T : Symbol(T, Decl(genericFunctionInference1.ts, 154, 25))
+>identity : Symbol(identity, Decl(genericFunctionInference1.ts, 159, 13))
+>T : Symbol(T, Decl(genericFunctionInference1.ts, 159, 25))
+>value : Symbol(value, Decl(genericFunctionInference1.ts, 159, 28))
+>T : Symbol(T, Decl(genericFunctionInference1.ts, 159, 25))
+>T : Symbol(T, Decl(genericFunctionInference1.ts, 159, 25))
const fn40 = pipe(
->fn40 : Symbol(fn40, Decl(genericFunctionInference1.ts, 156, 5))
+>fn40 : Symbol(fn40, Decl(genericFunctionInference1.ts, 161, 5))
>pipe : Symbol(pipe, Decl(genericFunctionInference1.ts, 0, 0), Decl(genericFunctionInference1.ts, 0, 84), Decl(genericFunctionInference1.ts, 1, 104))
getString,
->getString : Symbol(getString, Decl(genericFunctionInference1.ts, 152, 13))
+>getString : Symbol(getString, Decl(genericFunctionInference1.ts, 157, 13))
string => orUndefined(string),
->string : Symbol(string, Decl(genericFunctionInference1.ts, 157, 14))
->orUndefined : Symbol(orUndefined, Decl(genericFunctionInference1.ts, 153, 13))
->string : Symbol(string, Decl(genericFunctionInference1.ts, 157, 14))
+>string : Symbol(string, Decl(genericFunctionInference1.ts, 162, 14))
+>orUndefined : Symbol(orUndefined, Decl(genericFunctionInference1.ts, 158, 13))
+>string : Symbol(string, Decl(genericFunctionInference1.ts, 162, 14))
identity,
->identity : Symbol(identity, Decl(genericFunctionInference1.ts, 154, 13))
+>identity : Symbol(identity, Decl(genericFunctionInference1.ts, 159, 13))
);
// #29904.6
declare const getArray: () => string[];
->getArray : Symbol(getArray, Decl(genericFunctionInference1.ts, 164, 13))
+>getArray : Symbol(getArray, Decl(genericFunctionInference1.ts, 169, 13))
declare const first: (ts: T[]) => T;
->first : Symbol(first, Decl(genericFunctionInference1.ts, 165, 13))
->T : Symbol(T, Decl(genericFunctionInference1.ts, 165, 22))
->ts : Symbol(ts, Decl(genericFunctionInference1.ts, 165, 25))
->T : Symbol(T, Decl(genericFunctionInference1.ts, 165, 22))
->T : Symbol(T, Decl(genericFunctionInference1.ts, 165, 22))
+>first : Symbol(first, Decl(genericFunctionInference1.ts, 170, 13))
+>T : Symbol(T, Decl(genericFunctionInference1.ts, 170, 22))
+>ts : Symbol(ts, Decl(genericFunctionInference1.ts, 170, 25))
+>T : Symbol(T, Decl(genericFunctionInference1.ts, 170, 22))
+>T : Symbol(T, Decl(genericFunctionInference1.ts, 170, 22))
const fn60 = pipe(
->fn60 : Symbol(fn60, Decl(genericFunctionInference1.ts, 167, 5))
+>fn60 : Symbol(fn60, Decl(genericFunctionInference1.ts, 172, 5))
>pipe : Symbol(pipe, Decl(genericFunctionInference1.ts, 0, 0), Decl(genericFunctionInference1.ts, 0, 84), Decl(genericFunctionInference1.ts, 1, 104))
getArray,
->getArray : Symbol(getArray, Decl(genericFunctionInference1.ts, 164, 13))
+>getArray : Symbol(getArray, Decl(genericFunctionInference1.ts, 169, 13))
x => x,
->x : Symbol(x, Decl(genericFunctionInference1.ts, 168, 13))
->x : Symbol(x, Decl(genericFunctionInference1.ts, 168, 13))
+>x : Symbol(x, Decl(genericFunctionInference1.ts, 173, 13))
+>x : Symbol(x, Decl(genericFunctionInference1.ts, 173, 13))
first,
->first : Symbol(first, Decl(genericFunctionInference1.ts, 165, 13))
+>first : Symbol(first, Decl(genericFunctionInference1.ts, 170, 13))
);
const fn61 = pipe(
->fn61 : Symbol(fn61, Decl(genericFunctionInference1.ts, 173, 5))
+>fn61 : Symbol(fn61, Decl(genericFunctionInference1.ts, 178, 5))
>pipe : Symbol(pipe, Decl(genericFunctionInference1.ts, 0, 0), Decl(genericFunctionInference1.ts, 0, 84), Decl(genericFunctionInference1.ts, 1, 104))
getArray,
->getArray : Symbol(getArray, Decl(genericFunctionInference1.ts, 164, 13))
+>getArray : Symbol(getArray, Decl(genericFunctionInference1.ts, 169, 13))
identity,
->identity : Symbol(identity, Decl(genericFunctionInference1.ts, 154, 13))
+>identity : Symbol(identity, Decl(genericFunctionInference1.ts, 159, 13))
first,
->first : Symbol(first, Decl(genericFunctionInference1.ts, 165, 13))
+>first : Symbol(first, Decl(genericFunctionInference1.ts, 170, 13))
);
const fn62 = pipe(
->fn62 : Symbol(fn62, Decl(genericFunctionInference1.ts, 179, 5))
+>fn62 : Symbol(fn62, Decl(genericFunctionInference1.ts, 184, 5))
>pipe : Symbol(pipe, Decl(genericFunctionInference1.ts, 0, 0), Decl(genericFunctionInference1.ts, 0, 84), Decl(genericFunctionInference1.ts, 1, 104))
getArray,
->getArray : Symbol(getArray, Decl(genericFunctionInference1.ts, 164, 13))
+>getArray : Symbol(getArray, Decl(genericFunctionInference1.ts, 169, 13))
x => x,
->x : Symbol(x, Decl(genericFunctionInference1.ts, 180, 13))
->x : Symbol(x, Decl(genericFunctionInference1.ts, 180, 13))
+>x : Symbol(x, Decl(genericFunctionInference1.ts, 185, 13))
+>x : Symbol(x, Decl(genericFunctionInference1.ts, 185, 13))
x => first(x),
->x : Symbol(x, Decl(genericFunctionInference1.ts, 181, 11))
->first : Symbol(first, Decl(genericFunctionInference1.ts, 165, 13))
->x : Symbol(x, Decl(genericFunctionInference1.ts, 181, 11))
+>x : Symbol(x, Decl(genericFunctionInference1.ts, 186, 11))
+>first : Symbol(first, Decl(genericFunctionInference1.ts, 170, 13))
+>x : Symbol(x, Decl(genericFunctionInference1.ts, 186, 11))
);
// Repro from #30297
declare function foo2(fn: T, a?: U, b?: U): [T, U];
->foo2 : Symbol(foo2, Decl(genericFunctionInference1.ts, 183, 2))
->T : Symbol(T, Decl(genericFunctionInference1.ts, 187, 22))
->U : Symbol(U, Decl(genericFunctionInference1.ts, 187, 24))
->T : Symbol(T, Decl(genericFunctionInference1.ts, 187, 22))
->fn : Symbol(fn, Decl(genericFunctionInference1.ts, 187, 32))
->T : Symbol(T, Decl(genericFunctionInference1.ts, 187, 22))
->a : Symbol(a, Decl(genericFunctionInference1.ts, 187, 38))
->U : Symbol(U, Decl(genericFunctionInference1.ts, 187, 24))
->b : Symbol(b, Decl(genericFunctionInference1.ts, 187, 45))
->U : Symbol(U, Decl(genericFunctionInference1.ts, 187, 24))
->T : Symbol(T, Decl(genericFunctionInference1.ts, 187, 22))
->U : Symbol(U, Decl(genericFunctionInference1.ts, 187, 24))
+>foo2 : Symbol(foo2, Decl(genericFunctionInference1.ts, 188, 2))
+>T : Symbol(T, Decl(genericFunctionInference1.ts, 192, 22))
+>U : Symbol(U, Decl(genericFunctionInference1.ts, 192, 24))
+>T : Symbol(T, Decl(genericFunctionInference1.ts, 192, 22))
+>fn : Symbol(fn, Decl(genericFunctionInference1.ts, 192, 32))
+>T : Symbol(T, Decl(genericFunctionInference1.ts, 192, 22))
+>a : Symbol(a, Decl(genericFunctionInference1.ts, 192, 38))
+>U : Symbol(U, Decl(genericFunctionInference1.ts, 192, 24))
+>b : Symbol(b, Decl(genericFunctionInference1.ts, 192, 45))
+>U : Symbol(U, Decl(genericFunctionInference1.ts, 192, 24))
+>T : Symbol(T, Decl(genericFunctionInference1.ts, 192, 22))
+>U : Symbol(U, Decl(genericFunctionInference1.ts, 192, 24))
foo2(() => {});
->foo2 : Symbol(foo2, Decl(genericFunctionInference1.ts, 183, 2))
+>foo2 : Symbol(foo2, Decl(genericFunctionInference1.ts, 188, 2))
foo2(identity);
->foo2 : Symbol(foo2, Decl(genericFunctionInference1.ts, 183, 2))
->identity : Symbol(identity, Decl(genericFunctionInference1.ts, 154, 13))
+>foo2 : Symbol(foo2, Decl(genericFunctionInference1.ts, 188, 2))
+>identity : Symbol(identity, Decl(genericFunctionInference1.ts, 159, 13))
foo2(identity, 1);
->foo2 : Symbol(foo2, Decl(genericFunctionInference1.ts, 183, 2))
->identity : Symbol(identity, Decl(genericFunctionInference1.ts, 154, 13))
+>foo2 : Symbol(foo2, Decl(genericFunctionInference1.ts, 188, 2))
+>identity : Symbol(identity, Decl(genericFunctionInference1.ts, 159, 13))
// Repro from #30324
declare function times(fn: (i: number) => T): (n: number) => T[];
->times : Symbol(times, Decl(genericFunctionInference1.ts, 191, 18))
->T : Symbol(T, Decl(genericFunctionInference1.ts, 195, 23))
->fn : Symbol(fn, Decl(genericFunctionInference1.ts, 195, 26))
->i : Symbol(i, Decl(genericFunctionInference1.ts, 195, 31))
->T : Symbol(T, Decl(genericFunctionInference1.ts, 195, 23))
->n : Symbol(n, Decl(genericFunctionInference1.ts, 195, 50))
->T : Symbol(T, Decl(genericFunctionInference1.ts, 195, 23))
+>times : Symbol(times, Decl(genericFunctionInference1.ts, 196, 18))
+>T : Symbol(T, Decl(genericFunctionInference1.ts, 200, 23))
+>fn : Symbol(fn, Decl(genericFunctionInference1.ts, 200, 26))
+>i : Symbol(i, Decl(genericFunctionInference1.ts, 200, 31))
+>T : Symbol(T, Decl(genericFunctionInference1.ts, 200, 23))
+>n : Symbol(n, Decl(genericFunctionInference1.ts, 200, 50))
+>T : Symbol(T, Decl(genericFunctionInference1.ts, 200, 23))
const a2 = times(identity)(5); // => [0, 1, 2, 3, 4]
->a2 : Symbol(a2, Decl(genericFunctionInference1.ts, 196, 5))
->times : Symbol(times, Decl(genericFunctionInference1.ts, 191, 18))
->identity : Symbol(identity, Decl(genericFunctionInference1.ts, 154, 13))
+>a2 : Symbol(a2, Decl(genericFunctionInference1.ts, 201, 5))
+>times : Symbol(times, Decl(genericFunctionInference1.ts, 196, 18))
+>identity : Symbol(identity, Decl(genericFunctionInference1.ts, 159, 13))
diff --git a/tests/baselines/reference/genericFunctionInference1.types b/tests/baselines/reference/genericFunctionInference1.types
index 059108f3b68..7b0cb2a0e36 100644
--- a/tests/baselines/reference/genericFunctionInference1.types
+++ b/tests/baselines/reference/genericFunctionInference1.types
@@ -421,6 +421,28 @@ const f50 = pipe5(list); // No higher order inference
>pipe5 : (f: (a: A) => B) => { f: (a: A) => B; }
>list : (a: T) => T[]
+declare function wrap3(f: (a: A, b1: B, b2: B) => C): (a: A, b1: B, b2: B) => C;
+>wrap3 : (f: (a: A, b1: B, b2: B) => C) => (a: A, b1: B, b2: B) => C
+>f : (a: A, b1: B, b2: B) => C
+>a : A
+>b1 : B
+>b2 : B
+>a : A
+>b1 : B
+>b2 : B
+
+declare function baz(t1: T, t2: T, u: U): [T, U];
+>baz : (t1: T, t2: T, u: U) => [T, U]
+>t1 : T
+>t2 : T
+>u : U
+
+let f60 = wrap3(baz);
+>f60 : (a: T, b1: U, b2: U) => [T, U]
+>wrap3(baz) : (a: T, b1: U, b2: U) => [T, U]
+>wrap3 : (f: (a: A, b1: B, b2: B) => C) => (a: A, b1: B, b2: B) => C
+>baz : (t1: T, t2: T, u: U) => [T, U]
+
// #417
function mirror(f: (a: A) => B): (a: A) => B { return f; }