Accepted baselines.

This commit is contained in:
Daniel Rosenwasser
2015-12-28 16:20:34 -05:00
parent d9d5e3a283
commit cee7eb10ed
2 changed files with 55 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloads05.ts(7,10): error TS2394: Overload signature is not compatible with function implementation.
==== tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloads05.ts (1 errors) ====
interface Animal { animal: {} };
interface Dog extends Animal { dog: {} }
interface Cat extends Animal { cat: {} }
interface Moose extends Animal { moose: {} }
function doThing(x: "dog"): Dog;
~~~~~~~
!!! error TS2394: Overload signature is not compatible with function implementation.
function doThing(x: "cat"): Cat;
function doThing(x: string): Animal;
function doThing(x: string, y?: string): Moose {
return undefined;
}

View File

@@ -0,0 +1,37 @@
//// [stringLiteralTypesOverloads05.ts]
interface Animal { animal: {} };
interface Dog extends Animal { dog: {} }
interface Cat extends Animal { cat: {} }
interface Moose extends Animal { moose: {} }
function doThing(x: "dog"): Dog;
function doThing(x: "cat"): Cat;
function doThing(x: string): Animal;
function doThing(x: string, y?: string): Moose {
return undefined;
}
//// [stringLiteralTypesOverloads05.js]
;
function doThing(x, y) {
return undefined;
}
//// [stringLiteralTypesOverloads05.d.ts]
interface Animal {
animal: {};
}
interface Dog extends Animal {
dog: {};
}
interface Cat extends Animal {
cat: {};
}
interface Moose extends Animal {
moose: {};
}
declare function doThing(x: "dog"): Dog;
declare function doThing(x: "cat"): Cat;
declare function doThing(x: string): Animal;