TypeScript/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.symbols
2015-04-15 16:44:20 -07:00

244 lines
16 KiB
Plaintext

=== tests/cases/conformance/types/objectTypeLiteral/callSignatures/specializedSignatureIsSubtypeOfNonSpecializedSignature.ts ===
// Specialized signatures must be a subtype of a non-specialized signature
// All the below should not be errors
function foo(x: 'a');
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 0, 0), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 3, 21), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 4, 24))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 3, 13))
function foo(x: string);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 0, 0), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 3, 21), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 4, 24))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 4, 13))
function foo(x: any) { }
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 0, 0), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 3, 21), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 4, 24))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 5, 13))
class C {
>C : Symbol(C, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 5, 24))
foo(x: 'a');
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 7, 9), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 8, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 9, 19))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 8, 8))
foo(x: string);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 7, 9), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 8, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 9, 19))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 9, 8))
foo(x: any) { }
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 7, 9), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 8, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 9, 19))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 10, 8))
}
class C2<T> {
>C2 : Symbol(C2, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 11, 1))
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 9))
foo(x: 'a');
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 13), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 14))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 8))
foo(x: string);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 13), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 14))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 8))
foo(x: T);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 13), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 14))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 8))
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 9))
foo(x: any) { }
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 13), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 14))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 17, 8))
}
class C3<T extends String> {
>C3 : Symbol(C3, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 18, 1))
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 9))
>String : Symbol(String, Decl(lib.d.ts, 275, 1), Decl(lib.d.ts, 443, 11))
foo(x: 'a');
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 28), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 14))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 8))
foo(x: string);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 28), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 14))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 8))
foo(x: T);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 28), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 14))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 8))
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 9))
foo(x: any) { }
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 28), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 14))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 24, 8))
}
interface I {
>I : Symbol(I, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 25, 1))
(x: 'a');
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 28, 5))
(x: number);
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 29, 5))
(x: string);
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 30, 5))
foo(x: 'a');
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 30, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 31, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 32, 19))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 31, 8))
foo(x: string);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 30, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 31, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 32, 19))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 32, 8))
foo(x: number);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 30, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 31, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 32, 19))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 33, 8))
}
interface I2<T> {
>I2 : Symbol(I2, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 34, 1))
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 36, 13))
(x: 'a');
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 37, 5))
(x: T);
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 38, 5))
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 36, 13))
(x: string);
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 39, 5))
foo(x: 'a');
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 39, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 40, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 41, 19))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 40, 8))
foo(x: string);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 39, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 40, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 41, 19))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 41, 8))
foo(x: T);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 39, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 40, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 41, 19))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 42, 8))
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 36, 13))
}
interface I3<T extends String> {
>I3 : Symbol(I3, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 43, 1))
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 45, 13))
>String : Symbol(String, Decl(lib.d.ts, 275, 1), Decl(lib.d.ts, 443, 11))
(x: 'a');
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 46, 5))
(x: string);
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 47, 5))
(x: T);
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 48, 5))
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 45, 13))
foo(x: 'a');
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 48, 11), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 49, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 50, 19))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 49, 8))
foo(x: string);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 48, 11), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 49, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 50, 19))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 50, 8))
foo(x: T);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 48, 11), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 49, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 50, 19))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 51, 8))
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 45, 13))
}
var a: {
>a : Symbol(a, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 54, 3))
(x: string);
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 55, 5))
(x: 'a');
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 56, 5))
(x: number);
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 57, 5))
foo(x: string);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 57, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 58, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 59, 16))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 58, 8))
foo(x: 'a');
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 57, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 58, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 59, 16))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 59, 8))
foo(x: number);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 57, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 58, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 59, 16))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 60, 8))
}
var a2: {
>a2 : Symbol(a2, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 63, 3))
(x: 'a');
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 64, 5))
(x: string);
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 65, 5))
<T>(x: T);
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 66, 5))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 66, 8))
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 66, 5))
foo(x: string);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 66, 14), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 67, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 68, 16))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 67, 8))
foo(x: 'a');
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 66, 14), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 67, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 68, 16))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 68, 8))
foo<T>(x: T);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 66, 14), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 67, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 68, 16))
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 69, 8))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 69, 11))
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 69, 8))
}
var a3: {
>a3 : Symbol(a3, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 72, 3))
(x: 'a');
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 73, 5))
<T>(x: T);
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 74, 5))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 74, 8))
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 74, 5))
(x: string);
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 75, 5))
foo(x: string);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 75, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 76, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 77, 16))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 76, 8))
foo(x: 'a');
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 75, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 76, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 77, 16))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 77, 8))
foo<T extends String>(x: T);
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 75, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 76, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 77, 16))
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 78, 8))
>String : Symbol(String, Decl(lib.d.ts, 275, 1), Decl(lib.d.ts, 443, 11))
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 78, 26))
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 78, 8))
}