TypeScript/tests/baselines/reference/unionOfEnumInference.types
Anders Hejlsberg ccdd688e4f
Properly handle duplicate enum types in type inference (#42943)
* Ensure no duplicates in named union list

* Add regression test
2021-02-25 13:54:14 -08:00

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>
}