From 0923a7cad5546f58f39ac785650562bdf4a1fb55 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 12 Apr 2019 15:19:02 -0700 Subject: [PATCH] Accept good (!??!) baseline changes --- .../newOperatorConformance.errors.txt | 68 +++++++++++++++++++ .../newOperatorErrorCases.errors.txt | 5 +- ...wrappedAndRecursiveConstraints2.errors.txt | 12 ++++ 3 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/newOperatorConformance.errors.txt create mode 100644 tests/baselines/reference/wrappedAndRecursiveConstraints2.errors.txt diff --git a/tests/baselines/reference/newOperatorConformance.errors.txt b/tests/baselines/reference/newOperatorConformance.errors.txt new file mode 100644 index 0000000000000..d92b3527ab7c4 --- /dev/null +++ b/tests/baselines/reference/newOperatorConformance.errors.txt @@ -0,0 +1,68 @@ +tests/cases/conformance/expressions/newOperator/newOperatorConformance.ts(32,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'c1' must be of type 'T', but here has type 'T<{}>'. + + +==== tests/cases/conformance/expressions/newOperator/newOperatorConformance.ts (1 errors) ==== + class C0 { + + } + class C1 { + constructor(n: number, s: string) { } + } + + class T { + constructor(n?: T) { } + } + + var anyCtor: { + new (): any; + }; + + var anyCtor1: { + new (n): any; + }; + + interface nestedCtor { + new (): nestedCtor; + } + var nestedCtor: nestedCtor; + + // Construct expression with no parentheses for construct signature with 0 parameters + var a = new C0; + var a: C0; + + + // Generic construct expression with no parentheses + var c1 = new T; + var c1: T<{}>; + ~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'c1' must be of type 'T', but here has type 'T<{}>'. + + // Construct expression where constructor is of type 'any' with no parentheses + var d = new anyCtor; + var d: any; + + // Construct expression where constructor is of type 'any' with > 1 arg + var d = new anyCtor1(undefined); + + // Construct expression of type where apparent type has a construct signature with 0 arguments + function newFn1(s: T) { + var p = new s; + var p: number; + } + + // Construct expression of type where apparent type has a construct signature with 1 arguments + function newFn2(s: T) { + var p = new s(32); + var p: string; + } + + // Construct expression of void returning function + function fnVoid(): void { } + var t = new fnVoid(); + var t: any; + + // Chained new expressions + var nested = new (new (new nestedCtor())())(); + var n = new nested(); + var n = new nested(); + \ No newline at end of file diff --git a/tests/baselines/reference/newOperatorErrorCases.errors.txt b/tests/baselines/reference/newOperatorErrorCases.errors.txt index c41efaac28995..7a5a9da056402 100644 --- a/tests/baselines/reference/newOperatorErrorCases.errors.txt +++ b/tests/baselines/reference/newOperatorErrorCases.errors.txt @@ -1,10 +1,11 @@ tests/cases/conformance/expressions/newOperator/newOperatorErrorCases.ts(26,16): error TS1005: ',' expected. tests/cases/conformance/expressions/newOperator/newOperatorErrorCases.ts(26,16): error TS2695: Left side of comma operator is unused and has no side effects. +tests/cases/conformance/expressions/newOperator/newOperatorErrorCases.ts(30,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'c1' must be of type 'T', but here has type 'T<{}>'. tests/cases/conformance/expressions/newOperator/newOperatorErrorCases.ts(31,23): error TS1005: '(' expected. tests/cases/conformance/expressions/newOperator/newOperatorErrorCases.ts(36,9): error TS2350: Only a void function can be called with the 'new' keyword. -==== tests/cases/conformance/expressions/newOperator/newOperatorErrorCases.ts (4 errors) ==== +==== tests/cases/conformance/expressions/newOperator/newOperatorErrorCases.ts (5 errors) ==== class C0 { } @@ -39,6 +40,8 @@ tests/cases/conformance/expressions/newOperator/newOperatorErrorCases.ts(36,9): // Generic construct expression with no parentheses var c1 = new T; var c1: T<{}>; + ~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'c1' must be of type 'T', but here has type 'T<{}>'. var c2 = new T; // Parse error ~ !!! error TS1005: '(' expected. diff --git a/tests/baselines/reference/wrappedAndRecursiveConstraints2.errors.txt b/tests/baselines/reference/wrappedAndRecursiveConstraints2.errors.txt new file mode 100644 index 0000000000000..a443e72497b3f --- /dev/null +++ b/tests/baselines/reference/wrappedAndRecursiveConstraints2.errors.txt @@ -0,0 +1,12 @@ +tests/cases/conformance/types/typeParameters/typeArgumentLists/wrappedAndRecursiveConstraints2.ts(6,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'c' must be of type 'C', but here has type 'C>'. + + +==== tests/cases/conformance/types/typeParameters/typeArgumentLists/wrappedAndRecursiveConstraints2.ts (1 errors) ==== + class C> { // error + constructor(x: T) { } + } + + var c = new C(1); + var c = new C(new C('')); // error + ~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'c' must be of type 'C', but here has type 'C>'. \ No newline at end of file