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
|
//// [unionOfEnumInference.ts]
// Repro from #42932
enum Enum { A, B, C }
interface Interface<T extends Enum> {
type: T;
}
function foo<T extends Enum>(x: Interface<T>) { }
function bar(x: Interface<Enum.A | Enum.B> | Interface<Enum.C>) {
foo(x);
}
//// [unionOfEnumInference.js]
"use strict";
// Repro from #42932
var Enum;
(function (Enum) {
Enum[Enum["A"] = 0] = "A";
Enum[Enum["B"] = 1] = "B";
Enum[Enum["C"] = 2] = "C";
})(Enum || (Enum = {}));
function foo(x) { }
function bar(x) {
foo(x);
}
|