ccdd688e4f
* Ensure no duplicates in named union list * Add regression test
32 lines
707 B
Plaintext
32 lines
707 B
Plaintext
=== 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>
|
|
}
|
|
|