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 32 33 34 35 36 37 38 39 40 41 42
|
=== tests/cases/compiler/overload2.ts ===
enum A { }
>A : A
enum B { }
>B : B
function foo(a: A);
>foo : { (a: A): any; (b: B): any; }
>a : A
>A : A
function foo(b: B);
>foo : { (a: A): any; (b: B): any; }
>b : B
>B : B
// should be ok
function foo(x: number) {
>foo : { (a: A): any; (b: B): any; }
>x : number
}
class C { }
>C : C
function foo1(a: A);
>foo1 : { (a: A): any; (c: C): any; }
>a : A
>A : A
function foo1(c: C);
>foo1 : { (a: A): any; (c: C): any; }
>c : C
>C : C
// should be ok
function foo1(x: number) {
>foo1 : { (a: A): any; (c: C): any; }
>x : number
}
|