File: contravariantTypeAliasInference.ts

package info (click to toggle)
node-typescript 4.9.5%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 533,908 kB
  • sloc: javascript: 2,018,330; makefile: 7; sh: 1
file content (19 lines) | stat: -rw-r--r-- 396 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// @strict: true

type Func1<T> = (x: T) => void;
type Func2<T> = ((x: T) => void) | undefined;

declare let f1: Func1<string>;
declare let f2: Func1<"a">;

declare function foo<T>(f1: Func1<T>, f2: Func1<T>): void;

foo(f1, f2);

declare let g1: Func2<string>;
declare let g2: Func2<"a">;

declare function bar<T>(g1: Func2<T>, g2: Func2<T>): void;

bar(f1, f2);
bar(g1, g2);