File: contravariantOnlyInferenceFromAnnotatedFunction.ts

package info (click to toggle)
node-typescript 5.1.6%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 492,516 kB
  • sloc: javascript: 2,078,951; makefile: 6; sh: 1
file content (20 lines) | stat: -rw-r--r-- 355 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// @strict: true
// @noEmit: true

// repro from #52580

type Funcs<A, B extends Record<string, unknown>> = {
  [K in keyof B]: {
    fn: (a: A, b: B) => void;
    thing: B[K];
  };
}

declare function foo<A, B extends Record<string, unknown>>(fns: Funcs<A, B>): [A, B]

const result = foo({
  bar: {
    fn: (a: string) => {},
    thing: 'asd',
  },
});