From 8891fba1498df42360b22faf5ac71753dcd4e0d2 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Thu, 1 Oct 2015 16:47:31 -0700 Subject: [PATCH] Accepted baselines. --- ...gumentsWithStringLiteralTypes01.errors.txt | 222 +++++------------- .../typeArgumentsWithStringLiteralTypes01.js | 46 ++-- .../typeParameterConstraints1.errors.txt | 5 +- 3 files changed, 74 insertions(+), 199 deletions(-) diff --git a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.errors.txt b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.errors.txt index f6421445ae1..413d2127003 100644 --- a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.errors.txt +++ b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.errors.txt @@ -14,69 +14,29 @@ tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes0 Type 'string' is not assignable to type '"World"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(48,30): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. Type 'string' is not assignable to type '"World"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(54,20): error TS2365: Operator '<' cannot be applied to types '(x: T, y: T) => T' and 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(54,20): error TS2365: Operator '>' cannot be applied to types 'boolean' and 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(55,20): error TS2365: Operator '<' cannot be applied to types '(x: T, y: T) => T' and 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(55,20): error TS2365: Operator '>' cannot be applied to types 'boolean' and 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(56,20): error TS2365: Operator '<' cannot be applied to types '(x: T, y: U) => T | U' and 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(56,34): error TS1134: Variable declaration expected. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(57,20): error TS2365: Operator '<' cannot be applied to types '(x: T, y: U) => T | U' and 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(57,34): error TS1134: Variable declaration expected. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(58,20): error TS2365: Operator '<' cannot be applied to types '(...args: T[]) => T' and 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(58,20): error TS2365: Operator '>' cannot be applied to types 'boolean' and 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(61,26): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(62,26): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(63,26): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(64,26): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(65,26): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(68,25): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(69,25): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(70,25): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(71,25): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(72,25): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(75,30): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. - Type 'boolean' is not assignable to type '"World"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(76,30): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. - Type 'boolean' is not assignable to type '"World"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(77,30): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. - Type 'boolean' is not assignable to type '"World"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(78,30): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. - Type 'boolean' is not assignable to type '"World"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(79,30): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. - Type 'boolean' is not assignable to type '"World"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(86,20): error TS2365: Operator '<' cannot be applied to types '(x: T, y: U) => T | U' and 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(86,34): error TS1134: Variable declaration expected. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(87,20): error TS2365: Operator '<' cannot be applied to types '(x: T, y: U) => T | U' and 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(87,34): error TS1134: Variable declaration expected. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(88,20): error TS2365: Operator '<' cannot be applied to types '(x: T, y: U) => T | U' and 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(88,34): error TS1134: Variable declaration expected. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(89,20): error TS2365: Operator '<' cannot be applied to types '(x: T, y: U) => T | U' and 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(89,34): error TS1134: Variable declaration expected. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(90,20): error TS2365: Operator '<' cannot be applied to types '(...args: T[]) => T' and 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(90,20): error TS2447: The '|' operator is not allowed for boolean types. Consider using '||' instead. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(93,26): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(94,26): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(95,26): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(96,26): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(97,26): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(100,25): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(101,25): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(102,25): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(103,25): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(104,25): error TS2345: Argument of type 'number' is not assignable to parameter of type '"Hello"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(107,30): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. - Type 'boolean' is not assignable to type '"World"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(108,30): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. - Type 'boolean' is not assignable to type '"World"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(109,30): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. - Type 'boolean' is not assignable to type '"World"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(110,30): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. - Type 'boolean' is not assignable to type '"World"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(111,30): error TS2345: Argument of type 'number' is not assignable to parameter of type '"Hello" | "World"'. - Type 'number' is not assignable to type '"World"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(55,34): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(57,43): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(58,34): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(61,5): error TS2322: Type 'string' is not assignable to type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(63,5): error TS2322: Type 'string' is not assignable to type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(75,5): error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. + Type '"World"' is not assignable to type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(77,5): error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. + Type '"World"' is not assignable to type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(87,43): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(88,43): error TS2345: Argument of type 'string' is not assignable to parameter of type '"World"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(89,43): error TS2345: Argument of type 'string' is not assignable to parameter of type '"World"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(93,5): error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. + Type 'string' is not assignable to type '"World"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(97,5): error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. + Type 'string' is not assignable to type '"World"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(100,25): error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. + Type '"World"' is not assignable to type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(104,25): error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. + Type '"World"' is not assignable to type '"Hello"'. -==== tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts (61 errors) ==== +==== tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts (25 errors) ==== declare function randBool(): boolean; declare function takeReturnString(str: string): string; @@ -158,86 +118,47 @@ tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes0 // The following (regardless of errors) should come back typed // as "Hello" (or "Hello" | "Hello"). export let a = fun1<"Hello">("Hello", "Hello"); - ~~~~~~~~~~~~ -!!! error TS2365: Operator '<' cannot be applied to types '(x: T, y: T) => T' and 'string'. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2365: Operator '>' cannot be applied to types 'boolean' and 'string'. export let b = fun1<"Hello">("Hello", "World"); - ~~~~~~~~~~~~ -!!! error TS2365: Operator '<' cannot be applied to types '(x: T, y: T) => T' and 'string'. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2365: Operator '>' cannot be applied to types 'boolean' and 'string'. + ~~~~~~~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. export let c = fun2<"Hello", "Hello">("Hello", "Hello"); - ~~~~~~~~~~~~ -!!! error TS2365: Operator '<' cannot be applied to types '(x: T, y: U) => T | U' and 'string'. - ~~~~~~~ -!!! error TS1134: Variable declaration expected. export let d = fun2<"Hello", "Hello">("Hello", "World"); - ~~~~~~~~~~~~ -!!! error TS2365: Operator '<' cannot be applied to types '(x: T, y: U) => T | U' and 'string'. - ~~~~~~~ -!!! error TS1134: Variable declaration expected. + ~~~~~~~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. export let e = fun3<"Hello">("Hello", "World"); - ~~~~~~~~~~~~ -!!! error TS2365: Operator '<' cannot be applied to types '(...args: T[]) => T' and 'string'. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2365: Operator '>' cannot be applied to types 'boolean' and 'string'. + ~~~~~~~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. // Assignment from the returned value should cause an error. a = takeReturnString(a); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. + ~ +!!! error TS2322: Type 'string' is not assignable to type '"Hello"'. b = takeReturnString(b); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. c = takeReturnString(c); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. + ~ +!!! error TS2322: Type 'string' is not assignable to type '"Hello"'. d = takeReturnString(d); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. e = takeReturnString(e); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. // Should be valid a = takeReturnHello(a); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. b = takeReturnHello(b); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. c = takeReturnHello(c); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. d = takeReturnHello(d); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. e = takeReturnHello(e); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. // Assignment from the returned value should cause an error. a = takeReturnHelloWorld(a); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. -!!! error TS2345: Type 'boolean' is not assignable to type '"World"'. + ~ +!!! error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. +!!! error TS2322: Type '"World"' is not assignable to type '"Hello"'. b = takeReturnHelloWorld(b); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. -!!! error TS2345: Type 'boolean' is not assignable to type '"World"'. c = takeReturnHelloWorld(c); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. -!!! error TS2345: Type 'boolean' is not assignable to type '"World"'. + ~ +!!! error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. +!!! error TS2322: Type '"World"' is not assignable to type '"Hello"'. d = takeReturnHelloWorld(d); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. -!!! error TS2345: Type 'boolean' is not assignable to type '"World"'. e = takeReturnHelloWorld(e); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. -!!! error TS2345: Type 'boolean' is not assignable to type '"World"'. } @@ -245,84 +166,47 @@ tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes0 // The following (regardless of errors) should come back typed // as "Hello" | "World" (or "World" | "Hello"). export let a = fun2<"Hello", "World">("Hello", "World"); - ~~~~~~~~~~~~ -!!! error TS2365: Operator '<' cannot be applied to types '(x: T, y: U) => T | U' and 'string'. - ~~~~~~~ -!!! error TS1134: Variable declaration expected. export let b = fun2<"Hello", "World">("World", "Hello"); - ~~~~~~~~~~~~ -!!! error TS2365: Operator '<' cannot be applied to types '(x: T, y: U) => T | U' and 'string'. - ~~~~~~~ -!!! error TS1134: Variable declaration expected. + ~~~~~~~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. export let c = fun2<"World", "Hello">("Hello", "Hello"); - ~~~~~~~~~~~~ -!!! error TS2365: Operator '<' cannot be applied to types '(x: T, y: U) => T | U' and 'string'. - ~~~~~~~ -!!! error TS1134: Variable declaration expected. + ~~~~~~~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"World"'. export let d = fun2<"World", "Hello">("World", "World"); - ~~~~~~~~~~~~ -!!! error TS2365: Operator '<' cannot be applied to types '(x: T, y: U) => T | U' and 'string'. - ~~~~~~~ -!!! error TS1134: Variable declaration expected. + ~~~~~~~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"World"'. export let e = fun3<"Hello" | "World">("Hello", "World"); - ~~~~~~~~~~~~ -!!! error TS2365: Operator '<' cannot be applied to types '(...args: T[]) => T' and 'string'. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2447: The '|' operator is not allowed for boolean types. Consider using '||' instead. // Assignment from the returned value should cause an error. a = takeReturnString(a); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. + ~ +!!! error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. +!!! error TS2322: Type 'string' is not assignable to type '"World"'. b = takeReturnString(b); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. c = takeReturnString(c); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. d = takeReturnString(d); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. e = takeReturnString(e); - ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. + ~ +!!! error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. +!!! error TS2322: Type 'string' is not assignable to type '"World"'. // Passing these as arguments should cause an error. a = takeReturnHello(a); ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. +!!! error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. +!!! error TS2345: Type '"World"' is not assignable to type '"Hello"'. b = takeReturnHello(b); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. c = takeReturnHello(c); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. d = takeReturnHello(d); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello"'. e = takeReturnHello(e); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type '"Hello"'. +!!! error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. +!!! error TS2345: Type '"World"' is not assignable to type '"Hello"'. // Both should be valid. a = takeReturnHelloWorld(a); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. -!!! error TS2345: Type 'boolean' is not assignable to type '"World"'. b = takeReturnHelloWorld(b); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. -!!! error TS2345: Type 'boolean' is not assignable to type '"World"'. c = takeReturnHelloWorld(c); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. -!!! error TS2345: Type 'boolean' is not assignable to type '"World"'. d = takeReturnHelloWorld(d); - ~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '"Hello" | "World"'. -!!! error TS2345: Type 'boolean' is not assignable to type '"World"'. e = takeReturnHelloWorld(e); - ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type '"Hello" | "World"'. -!!! error TS2345: Type 'number' is not assignable to type '"World"'. } \ No newline at end of file diff --git a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.js b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.js index e6e2b695a3b..c07dd225396 100644 --- a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.js +++ b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.js @@ -159,13 +159,11 @@ var n2; (function (n2) { // The following (regardless of errors) should come back typed // as "Hello" (or "Hello" | "Hello"). - n2.a = fun1 < "Hello" > ("Hello", "Hello"); - n2.b = fun1 < "Hello" > ("Hello", "World"); - n2.c = fun2 < "Hello"; - "Hello" > ("Hello", "Hello"); - n2.d = fun2 < "Hello"; - "Hello" > ("Hello", "World"); - n2.e = fun3 < "Hello" > ("Hello", "World"); + n2.a = fun1("Hello", "Hello"); + n2.b = fun1("Hello", "World"); + n2.c = fun2("Hello", "Hello"); + n2.d = fun2("Hello", "World"); + n2.e = fun3("Hello", "World"); // Assignment from the returned value should cause an error. n2.a = takeReturnString(n2.a); n2.b = takeReturnString(n2.b); @@ -189,15 +187,11 @@ var n3; (function (n3) { // The following (regardless of errors) should come back typed // as "Hello" | "World" (or "World" | "Hello"). - n3.a = fun2 < "Hello"; - "World" > ("Hello", "World"); - n3.b = fun2 < "Hello"; - "World" > ("World", "Hello"); - n3.c = fun2 < "World"; - "Hello" > ("Hello", "Hello"); - n3.d = fun2 < "World"; - "Hello" > ("World", "World"); - n3.e = fun3 < "Hello" | "World" > ("Hello", "World"); + n3.a = fun2("Hello", "World"); + n3.b = fun2("World", "Hello"); + n3.c = fun2("Hello", "Hello"); + n3.d = fun2("World", "World"); + n3.e = fun3("Hello", "World"); // Assignment from the returned value should cause an error. n3.a = takeReturnString(n3.a); n3.b = takeReturnString(n3.b); @@ -235,16 +229,16 @@ declare namespace n1 { let e: string; } declare namespace n2 { - let a: boolean; - let b: boolean; - let c: boolean; - let d: boolean; - let e: boolean; + let a: "Hello"; + let b: any; + let c: "Hello"; + let d: any; + let e: any; } declare namespace n3 { - let a: boolean; - let b: boolean; - let c: boolean; - let d: boolean; - let e: number; + let a: "Hello" | "World"; + let b: any; + let c: any; + let d: any; + let e: "Hello" | "World"; } diff --git a/tests/baselines/reference/typeParameterConstraints1.errors.txt b/tests/baselines/reference/typeParameterConstraints1.errors.txt index f30fd4f6700..e837e19317d 100644 --- a/tests/baselines/reference/typeParameterConstraints1.errors.txt +++ b/tests/baselines/reference/typeParameterConstraints1.errors.txt @@ -1,12 +1,11 @@ tests/cases/compiler/typeParameterConstraints1.ts(6,25): error TS2304: Cannot find name 'hm'. -tests/cases/compiler/typeParameterConstraints1.ts(8,25): error TS1110: Type expected. tests/cases/compiler/typeParameterConstraints1.ts(9,25): error TS1110: Type expected. tests/cases/compiler/typeParameterConstraints1.ts(10,26): error TS1110: Type expected. tests/cases/compiler/typeParameterConstraints1.ts(11,26): error TS1110: Type expected. tests/cases/compiler/typeParameterConstraints1.ts(12,26): error TS2304: Cannot find name 'undefined'. -==== tests/cases/compiler/typeParameterConstraints1.ts (6 errors) ==== +==== tests/cases/compiler/typeParameterConstraints1.ts (5 errors) ==== function foo1(test: T) { } function foo2(test: T) { } function foo3(test: T) { } @@ -17,8 +16,6 @@ tests/cases/compiler/typeParameterConstraints1.ts(12,26): error TS2304: Cannot f !!! error TS2304: Cannot find name 'hm'. function foo7(test: T) { } // valid function foo8(test: T) { } - ~~ -!!! error TS1110: Type expected. function foo9 (test: T) { } ~ !!! error TS1110: Type expected.