File: unionOfEnumInference.types

package info (click to toggle)
node-typescript 5.0.4%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 459,140 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (31 lines) | stat: -rw-r--r-- 707 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
=== tests/cases/compiler/unionOfEnumInference.ts ===
// Repro from #42932

enum Enum { A, B, C }
>Enum : Enum
>A : Enum.A
>B : Enum.B
>C : Enum.C

interface Interface<T extends Enum> {
	type: T;
>type : T
}

function foo<T extends Enum>(x: Interface<T>) { }
>foo : <T extends Enum>(x: Interface<T>) => void
>x : Interface<T>

function bar(x: Interface<Enum.A | Enum.B> | Interface<Enum.C>) {
>bar : (x: Interface<Enum.A | Enum.B> | Interface<Enum.C>) => void
>x : Interface<Enum.A | Enum.B> | Interface<Enum.C>
>Enum : any
>Enum : any
>Enum : any

	foo(x);
>foo(x) : void
>foo : <T extends Enum>(x: Interface<T>) => void
>x : Interface<Enum.A | Enum.B> | Interface<Enum.C>
}