TypeScript/tests/baselines/reference/identicalCallSignatures2.types
2015-04-13 14:29:37 -07:00

24 lines
1.1 KiB
Plaintext

=== tests/cases/conformance/types/objectTypeLiteral/callSignatures/identicalCallSignatures2.ts ===
// Normally it is an error to have multiple overloads with identical signatures in a single type declaration.
// Here the multiple overloads come from multiple bases.
interface Base<T> {
>Base : Base<T>, Symbol(Base, Decl(identicalCallSignatures2.ts, 0, 0))
>T : T, Symbol(T, Decl(identicalCallSignatures2.ts, 3, 15))
(x: number): string;
>x : number, Symbol(x, Decl(identicalCallSignatures2.ts, 4, 5))
}
interface I extends Base<string>, Base<number> { }
>I : I, Symbol(I, Decl(identicalCallSignatures2.ts, 5, 1))
>Base : Base<T>, Symbol(Base, Decl(identicalCallSignatures2.ts, 0, 0))
>Base : Base<T>, Symbol(Base, Decl(identicalCallSignatures2.ts, 0, 0))
interface I2<T> extends Base<string>, Base<number> { }
>I2 : I2<T>, Symbol(I2, Decl(identicalCallSignatures2.ts, 7, 50))
>T : T, Symbol(T, Decl(identicalCallSignatures2.ts, 9, 13))
>Base : Base<T>, Symbol(Base, Decl(identicalCallSignatures2.ts, 0, 0))
>Base : Base<T>, Symbol(Base, Decl(identicalCallSignatures2.ts, 0, 0))