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 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
=== tests/cases/compiler/overloadOnConstNoStringImplementation.ts ===
function x2(a: number, cb: (x: 'hi') => number);
>x2 : Symbol(x2, Decl(overloadOnConstNoStringImplementation.ts, 0, 0), Decl(overloadOnConstNoStringImplementation.ts, 0, 48), Decl(overloadOnConstNoStringImplementation.ts, 1, 49))
>a : Symbol(a, Decl(overloadOnConstNoStringImplementation.ts, 0, 12))
>cb : Symbol(cb, Decl(overloadOnConstNoStringImplementation.ts, 0, 22))
>x : Symbol(x, Decl(overloadOnConstNoStringImplementation.ts, 0, 28))
function x2(a: number, cb: (x: 'bye') => number);
>x2 : Symbol(x2, Decl(overloadOnConstNoStringImplementation.ts, 0, 0), Decl(overloadOnConstNoStringImplementation.ts, 0, 48), Decl(overloadOnConstNoStringImplementation.ts, 1, 49))
>a : Symbol(a, Decl(overloadOnConstNoStringImplementation.ts, 1, 12))
>cb : Symbol(cb, Decl(overloadOnConstNoStringImplementation.ts, 1, 22))
>x : Symbol(x, Decl(overloadOnConstNoStringImplementation.ts, 1, 28))
function x2(a: number, cb: (x: any) => number) {
>x2 : Symbol(x2, Decl(overloadOnConstNoStringImplementation.ts, 0, 0), Decl(overloadOnConstNoStringImplementation.ts, 0, 48), Decl(overloadOnConstNoStringImplementation.ts, 1, 49))
>a : Symbol(a, Decl(overloadOnConstNoStringImplementation.ts, 2, 12))
>cb : Symbol(cb, Decl(overloadOnConstNoStringImplementation.ts, 2, 22))
>x : Symbol(x, Decl(overloadOnConstNoStringImplementation.ts, 2, 28))
cb('hi');
>cb : Symbol(cb, Decl(overloadOnConstNoStringImplementation.ts, 2, 22))
cb('bye');
>cb : Symbol(cb, Decl(overloadOnConstNoStringImplementation.ts, 2, 22))
var hm = 'hm';
>hm : Symbol(hm, Decl(overloadOnConstNoStringImplementation.ts, 5, 7))
cb(hm); // should this work without a string definition?
>cb : Symbol(cb, Decl(overloadOnConstNoStringImplementation.ts, 2, 22))
>hm : Symbol(hm, Decl(overloadOnConstNoStringImplementation.ts, 5, 7))
cb('uh');
>cb : Symbol(cb, Decl(overloadOnConstNoStringImplementation.ts, 2, 22))
cb(1);
>cb : Symbol(cb, Decl(overloadOnConstNoStringImplementation.ts, 2, 22))
}
var cb: (number) => number = (x: number) => 1;
>cb : Symbol(cb, Decl(overloadOnConstNoStringImplementation.ts, 11, 3))
>number : Symbol(number, Decl(overloadOnConstNoStringImplementation.ts, 11, 9))
>x : Symbol(x, Decl(overloadOnConstNoStringImplementation.ts, 11, 30))
x2(1, cb); // error
>x2 : Symbol(x2, Decl(overloadOnConstNoStringImplementation.ts, 0, 0), Decl(overloadOnConstNoStringImplementation.ts, 0, 48), Decl(overloadOnConstNoStringImplementation.ts, 1, 49))
>cb : Symbol(cb, Decl(overloadOnConstNoStringImplementation.ts, 11, 3))
x2(1, (x: 'hi') => 1); // error
>x2 : Symbol(x2, Decl(overloadOnConstNoStringImplementation.ts, 0, 0), Decl(overloadOnConstNoStringImplementation.ts, 0, 48), Decl(overloadOnConstNoStringImplementation.ts, 1, 49))
>x : Symbol(x, Decl(overloadOnConstNoStringImplementation.ts, 13, 7))
x2(1, (x: string) => 1);
>x2 : Symbol(x2, Decl(overloadOnConstNoStringImplementation.ts, 0, 0), Decl(overloadOnConstNoStringImplementation.ts, 0, 48), Decl(overloadOnConstNoStringImplementation.ts, 1, 49))
>x : Symbol(x, Decl(overloadOnConstNoStringImplementation.ts, 14, 7))
|