diff --git a/tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability01.ts b/tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability01.ts new file mode 100644 index 00000000000..fce073f16ef --- /dev/null +++ b/tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability01.ts @@ -0,0 +1,17 @@ +// @declaration: true + +function f(x: "foo"): number; +function f(x: string): number { + return 0; +} + +function g(x: "bar"): number; +function g(x: string): number { + return 0; +} + +let a = f; +let b = g; + +a = b; +b = a; \ No newline at end of file diff --git a/tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability02.ts b/tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability02.ts new file mode 100644 index 00000000000..1a4f18430d5 --- /dev/null +++ b/tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability02.ts @@ -0,0 +1,17 @@ +// @declaration: true + +function f(x: "foo"): number; +function f(x: "foo"): number { + return 0; +} + +function g(x: "bar"): number; +function g(x: "bar"): number { + return 0; +} + +let a = f; +let b = g; + +a = b; +b = a; \ No newline at end of file diff --git a/tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability03.ts b/tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability03.ts new file mode 100644 index 00000000000..0aacd899bcc --- /dev/null +++ b/tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability03.ts @@ -0,0 +1,17 @@ +// @declaration: true + +function f(x: "foo"): number; +function f(x: string): number { + return 0; +} + +function g(x: "foo"): number; +function g(x: string): number { + return 0; +} + +let a = f; +let b = g; + +a = b; +b = a; \ No newline at end of file diff --git a/tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability04.ts b/tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability04.ts new file mode 100644 index 00000000000..eae4046286f --- /dev/null +++ b/tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability04.ts @@ -0,0 +1,17 @@ +// @declaration: true + +function f(x: "foo"): number; +function f(x: "foo"): number { + return 0; +} + +function g(x: "foo"): number; +function g(x: "foo"): number { + return 0; +} + +let a = f; +let b = g; + +a = b; +b = a; \ No newline at end of file diff --git a/tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability05.ts b/tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability05.ts new file mode 100644 index 00000000000..9482ff02a1e --- /dev/null +++ b/tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloadAssignability05.ts @@ -0,0 +1,18 @@ +// @declaration: true + +function f(x: "foo"): number; +function f(x: string): number; +function f(x: string): number { + return 0; +} + +function g(x: "foo"): number; +function g(x: string): number { + return 0; +} + +let a = f; +let b = g; + +a = b; +b = a; \ No newline at end of file