From f68bbddf1d149cb5e9d67e3176414797069007fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Thu, 23 Feb 2023 21:31:30 +0100 Subject: [PATCH] Report assignability errors on the return/yield keywords --- src/compiler/utilities.ts | 11 +++++++++-- ...cessors_spec_section-4.5_error-cases.errors.txt | 4 ++-- .../asyncArrowFunction_allowJs.errors.txt | 2 +- .../reference/baseConstraintOfDecorator.errors.txt | 11 +++-------- .../reference/checkJsdocReturnTag2.errors.txt | 4 ++-- .../reference/checkJsdocTypeTag5.errors.txt | 8 ++++---- .../checkJsdocTypeTagOnObjectProperty2.errors.txt | 2 +- ...essKeyofReliesOnKeyofNeverUpperBound.errors.txt | 2 +- ...itionalTypeAssignabilityWhenDeferred.errors.txt | 4 ++-- .../reference/constEnumPropertyAccess1.errors.txt | 2 +- .../constructorReturnsInvalidType.errors.txt | 4 ++-- ...ructorWithAssignableReturnExpression.errors.txt | 6 +++--- .../derivedGenericClassWithAny.errors.txt | 4 ++-- ...aborateAssignabilityToTypeParameters.errors.txt | 2 +- ...ypeOfIndexSignatureContainingObject1.errors.txt | 2 +- ...ypeOfIndexSignatureContainingObject2.errors.txt | 2 +- .../reference/errorOnFunctionReturnType.errors.txt | 4 ++-- ...ionsForbiddenInParameterInitializers.errors.txt | 2 +- .../generatorExplicitReturnType.errors.txt | 2 +- .../generatorReturnContextualType.errors.txt | 4 ++-- .../generatorReturnTypeInference.errors.txt | 2 +- ...eneratorReturnTypeInferenceNonStrict.errors.txt | 2 +- .../getSetAccessorContextualTyping.errors.txt | 2 +- ...rtHelpersNoHelpersForAsyncGenerators.errors.txt | 4 ++-- .../reference/inferSetterParamType.errors.txt | 2 +- .../reference/invalidReturnStatements.errors.txt | 4 ++-- .../reference/keyofAndIndexedAccess2.errors.txt | 2 +- .../matchReturnTypeInAllBranches.errors.txt | 2 +- .../reference/narrowByEquality.errors.txt | 2 +- .../reference/neverTypeErrors1.errors.txt | 4 ++-- .../reference/neverTypeErrors2.errors.txt | 4 ++-- ...plicitReturnsWithoutReturnExpression.errors.txt | 4 ++-- .../reference/noUncheckedIndexedAccess.errors.txt | 4 ++-- .../reference/nonPrimitiveInFunction.errors.txt | 2 +- .../baselines/reference/numberToString.errors.txt | 2 +- .../reference/objectLiteralErrors.errors.txt | 2 +- .../reference/parseInvalidNullableTypes.errors.txt | 2 +- .../promiseEmptyTupleNoException.errors.txt | 2 +- ...ccessOnTypeParameterWithConstraints5.errors.txt | 2 +- .../reference/recursiveConditionalTypes.errors.txt | 2 +- .../reference/recursiveFunctionTypes.errors.txt | 2 +- .../reference/returnInConstructor1.errors.txt | 14 +++++++------- .../reference/returnValueInSetter.errors.txt | 2 +- .../reference/setterWithReturn.errors.txt | 4 ++-- .../reference/symbolProperty47.errors.txt | 2 +- .../reference/targetTypeVoidFunc.errors.txt | 2 +- .../reference/typeGuardFunctionErrors.errors.txt | 8 ++++---- .../typeParameterAssignmentCompat1.errors.txt | 4 ++-- .../typeParameterHasSelfAsConstraint.errors.txt | 2 +- tests/baselines/reference/unknownType1.errors.txt | 2 +- tests/baselines/reference/unknownType2.errors.txt | 2 +- .../yieldExpressionInControlFlow.errors.txt | 2 +- .../reference/yieldExpressionInFlowLoop.errors.txt | 2 +- 53 files changed, 92 insertions(+), 90 deletions(-) diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index af4730f848460..18b693aa9df7c 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -2179,13 +2179,14 @@ function getErrorSpanForArrowFunction(sourceFile: SourceFile, node: ArrowFunctio export function getErrorSpanForNode(sourceFile: SourceFile, node: Node): TextSpan { let errorNode: Node | undefined = node; switch (node.kind) { - case SyntaxKind.SourceFile: + case SyntaxKind.SourceFile: { const pos = skipTrivia(sourceFile.text, 0, /*stopAfterLineBreak*/ false); if (pos === sourceFile.text.length) { // file is empty - return span for the beginning of the file return createTextSpan(0, 0); } return getSpanOfTokenAtPosition(sourceFile, pos); + } // This list is a work in progress. Add missing node kinds to improve their error // spans. case SyntaxKind.VariableDeclaration: @@ -2210,10 +2211,16 @@ export function getErrorSpanForNode(sourceFile: SourceFile, node: Node): TextSpa case SyntaxKind.ArrowFunction: return getErrorSpanForArrowFunction(sourceFile, node as ArrowFunction); case SyntaxKind.CaseClause: - case SyntaxKind.DefaultClause: + case SyntaxKind.DefaultClause: { const start = skipTrivia(sourceFile.text, (node as CaseOrDefaultClause).pos); const end = (node as CaseOrDefaultClause).statements.length > 0 ? (node as CaseOrDefaultClause).statements[0].pos : (node as CaseOrDefaultClause).end; return createTextSpanFromBounds(start, end); + } + case SyntaxKind.ReturnStatement: + case SyntaxKind.YieldExpression: { + const pos = skipTrivia(sourceFile.text, (node as ReturnStatement | YieldExpression).pos); + return getSpanOfTokenAtPosition(sourceFile, pos); + } } if (errorNode === undefined) { diff --git a/tests/baselines/reference/accessors_spec_section-4.5_error-cases.errors.txt b/tests/baselines/reference/accessors_spec_section-4.5_error-cases.errors.txt index b131411ee4f81..6a86fbfd86a52 100644 --- a/tests/baselines/reference/accessors_spec_section-4.5_error-cases.errors.txt +++ b/tests/baselines/reference/accessors_spec_section-4.5_error-cases.errors.txt @@ -8,11 +8,11 @@ tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(11,51): error TS2 class LanguageSpec_section_4_5_error_cases { public set AnnotatedSetter_SetterFirst(a: number) { } public get AnnotatedSetter_SetterFirst() { return ""; } - ~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'string' is not assignable to type 'number'. public get AnnotatedSetter_SetterLast() { return ""; } - ~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'string' is not assignable to type 'number'. public set AnnotatedSetter_SetterLast(a: number) { } diff --git a/tests/baselines/reference/asyncArrowFunction_allowJs.errors.txt b/tests/baselines/reference/asyncArrowFunction_allowJs.errors.txt index e62de11639c69..632b50f703e54 100644 --- a/tests/baselines/reference/asyncArrowFunction_allowJs.errors.txt +++ b/tests/baselines/reference/asyncArrowFunction_allowJs.errors.txt @@ -28,7 +28,7 @@ tests/cases/conformance/async/es2017/asyncArrowFunction/file.js(19,3): error TS2 !!! error TS1064: The return type of an async function or method must be the global Promise type. Did you mean to write 'Promise'? const c = async () => { return 0 - ~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. } diff --git a/tests/baselines/reference/baseConstraintOfDecorator.errors.txt b/tests/baselines/reference/baseConstraintOfDecorator.errors.txt index 24a3f84354380..283eda475d85a 100644 --- a/tests/baselines/reference/baseConstraintOfDecorator.errors.txt +++ b/tests/baselines/reference/baseConstraintOfDecorator.errors.txt @@ -7,22 +7,17 @@ tests/cases/compiler/baseConstraintOfDecorator.ts(12,18): error TS2545: A mixin ==== tests/cases/compiler/baseConstraintOfDecorator.ts (3 errors) ==== export function classExtender(superClass: TFunction, _instanceModifier: (instance: any, args: any[]) => void): TFunction { return class decoratorFunc extends superClass { - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~ +!!! error TS2322: Type 'typeof decoratorFunc' is not assignable to type 'TFunction'. +!!! error TS2322: 'TFunction' could be instantiated with an arbitrary type which could be unrelated to 'typeof decoratorFunc'. ~~~~~~~~~~ !!! error TS2507: Type 'TFunction' is not a constructor function type. !!! related TS2735 tests/cases/compiler/baseConstraintOfDecorator.ts:1:31: Did you mean for 'TFunction' to be constrained to type 'new (...args: any[]) => unknown'? constructor(...args: any[]) { - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ super(...args); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~ _instanceModifier(this, args); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ } - ~~~~~~~~~ }; - ~~~~~~ -!!! error TS2322: Type 'typeof decoratorFunc' is not assignable to type 'TFunction'. -!!! error TS2322: 'TFunction' could be instantiated with an arbitrary type which could be unrelated to 'typeof decoratorFunc'. } class MyClass { private x; } diff --git a/tests/baselines/reference/checkJsdocReturnTag2.errors.txt b/tests/baselines/reference/checkJsdocReturnTag2.errors.txt index f373377254f0d..31af6d7c2fb5a 100644 --- a/tests/baselines/reference/checkJsdocReturnTag2.errors.txt +++ b/tests/baselines/reference/checkJsdocReturnTag2.errors.txt @@ -12,7 +12,7 @@ tests/cases/conformance/jsdoc/returns.js(13,5): error TS2322: Type 'number | boo */ function f() { return 5; - ~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. } @@ -21,7 +21,7 @@ tests/cases/conformance/jsdoc/returns.js(13,5): error TS2322: Type 'number | boo */ function f1() { return 5 || true; - ~~~~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number | boolean' is not assignable to type 'string | number'. !!! error TS2322: Type 'boolean' is not assignable to type 'string | number'. } \ No newline at end of file diff --git a/tests/baselines/reference/checkJsdocTypeTag5.errors.txt b/tests/baselines/reference/checkJsdocTypeTag5.errors.txt index 74bf718c18b72..aa1e9b85ed109 100644 --- a/tests/baselines/reference/checkJsdocTypeTag5.errors.txt +++ b/tests/baselines/reference/checkJsdocTypeTag5.errors.txt @@ -13,7 +13,7 @@ tests/cases/conformance/jsdoc/test.js(34,5): error TS2322: Type '1 | 2' is not a // all 6 should error on return statement/expression /** @type {(x: number) => string} */ function h(x) { return x } - ~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. /** @type {(x: number) => string} */ var f = x => x @@ -21,12 +21,12 @@ tests/cases/conformance/jsdoc/test.js(34,5): error TS2322: Type '1 | 2' is not a !!! error TS2322: Type 'number' is not assignable to type 'string'. /** @type {(x: number) => string} */ var g = function (x) { return x } - ~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. /** @type {{ (x: number): string }} */ function i(x) { return x } - ~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. /** @type {{ (x: number): string }} */ var j = x => x @@ -34,7 +34,7 @@ tests/cases/conformance/jsdoc/test.js(34,5): error TS2322: Type '1 | 2' is not a !!! error TS2322: Type 'number' is not assignable to type 'string'. /** @type {{ (x: number): string }} */ var k = function (x) { return x } - ~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. diff --git a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.errors.txt b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.errors.txt index 523fbcaa0662a..7fea8bc1a09e6 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.errors.txt +++ b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.errors.txt @@ -19,7 +19,7 @@ tests/cases/conformance/jsdoc/0.js(22,22): error TS2345: Argument of type 'strin /** @type {function(number): number} */ method1(n1) { return "42"; - ~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'string' is not assignable to type 'number'. }, /** @type {function(number): number} */ diff --git a/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.errors.txt b/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.errors.txt index ec5fce9a3825c..19d2dd696e097 100644 --- a/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.errors.txt +++ b/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.errors.txt @@ -53,7 +53,7 @@ tests/cases/compiler/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.t export function makeNewChannel(type: T): NewChannel> { const localChannelId = `blahblahblah`; return { type, localChannelId }; - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type '{ type: T; localChannelId: string; }' is not assignable to type 'NewChannel | ChannelOfType>'. !!! error TS2322: Type '{ type: T; localChannelId: string; }' is not assignable to type 'Pick | ChannelOfType, "type">'. !!! error TS2322: Types of property 'type' are incompatible. diff --git a/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.errors.txt b/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.errors.txt index acb5354e1f076..de6b4cb5e7288 100644 --- a/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.errors.txt +++ b/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.errors.txt @@ -129,7 +129,7 @@ tests/cases/compiler/conditionalTypeAssignabilityWhenDeferred.ts(116,3): error T function f3 any>(x: Q): InferBecauseWhyNot { return x; - ~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'Q' is not assignable to type 'InferBecauseWhyNot'. !!! error TS2322: Type '(arg: any) => any' is not assignable to type 'InferBecauseWhyNot'. } @@ -142,7 +142,7 @@ tests/cases/compiler/conditionalTypeAssignabilityWhenDeferred.ts(116,3): error T x: Q ): InferBecauseWhyNotDistributive { return x; // should fail - ~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'Q' is not assignable to type 'InferBecauseWhyNotDistributive'. !!! error TS2322: Type '(arg: any) => any' is not assignable to type 'InferBecauseWhyNotDistributive'. } diff --git a/tests/baselines/reference/constEnumPropertyAccess1.errors.txt b/tests/baselines/reference/constEnumPropertyAccess1.errors.txt index 6294ff0bbdf03..10753ed3c522d 100644 --- a/tests/baselines/reference/constEnumPropertyAccess1.errors.txt +++ b/tests/baselines/reference/constEnumPropertyAccess1.errors.txt @@ -27,7 +27,7 @@ tests/cases/conformance/constEnums/constEnumPropertyAccess1.ts(25,9): error TS23 [G.A]() { } get [G.B]() { return true; - ~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'boolean' is not assignable to type 'number'. } set [G.B](x: number) { } diff --git a/tests/baselines/reference/constructorReturnsInvalidType.errors.txt b/tests/baselines/reference/constructorReturnsInvalidType.errors.txt index e5871506863df..d35ca8140d346 100644 --- a/tests/baselines/reference/constructorReturnsInvalidType.errors.txt +++ b/tests/baselines/reference/constructorReturnsInvalidType.errors.txt @@ -6,9 +6,9 @@ tests/cases/compiler/constructorReturnsInvalidType.ts(3,9): error TS2409: Return class X { constructor() { return 1; - ~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'X'. - ~~~~~~~~~ + ~~~~~~ !!! error TS2409: Return type of constructor signature must be assignable to the instance type of the class. } foo() { } diff --git a/tests/baselines/reference/constructorWithAssignableReturnExpression.errors.txt b/tests/baselines/reference/constructorWithAssignableReturnExpression.errors.txt index 893c7fe58e883..ae4bb665d10da 100644 --- a/tests/baselines/reference/constructorWithAssignableReturnExpression.errors.txt +++ b/tests/baselines/reference/constructorWithAssignableReturnExpression.errors.txt @@ -18,9 +18,9 @@ tests/cases/conformance/classes/constructorDeclarations/constructorWithAssignabl x: number; constructor() { return 1; // error - ~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'D'. - ~~~~~~~~~ + ~~~~~~ !!! error TS2409: Return type of constructor signature must be assignable to the instance type of the class. } } @@ -36,7 +36,7 @@ tests/cases/conformance/classes/constructorDeclarations/constructorWithAssignabl x: T; constructor() { return { x: 1 }; // error - ~~~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2409: Return type of constructor signature must be assignable to the instance type of the class. ~ !!! error TS2322: Type 'number' is not assignable to type 'T'. diff --git a/tests/baselines/reference/derivedGenericClassWithAny.errors.txt b/tests/baselines/reference/derivedGenericClassWithAny.errors.txt index ef93517b22835..7006896638a8a 100644 --- a/tests/baselines/reference/derivedGenericClassWithAny.errors.txt +++ b/tests/baselines/reference/derivedGenericClassWithAny.errors.txt @@ -38,12 +38,12 @@ tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedGenericC class E extends D { x: T; get X(): T { return ''; } // error - ~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'string' is not assignable to type 'T'. !!! error TS2322: 'string' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'string'. foo(): T { return ''; // error - ~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'string' is not assignable to type 'T'. !!! error TS2322: 'string' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'string'. } diff --git a/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.errors.txt b/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.errors.txt index f0297fe7552c0..8ed6f10624e2b 100644 --- a/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.errors.txt +++ b/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.errors.txt @@ -6,7 +6,7 @@ tests/cases/compiler/doNotElaborateAssignabilityToTypeParameters.ts(3,3): error async function foo(x: T): Promise { let yaddable = await getXOrYadda(x); return yaddable; - ~~~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'Yadda | Awaited' is not assignable to type 'T'. !!! error TS2322: 'T' could be instantiated with an arbitrary type which could be unrelated to 'Yadda | Awaited'. } diff --git a/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject1.errors.txt b/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject1.errors.txt index cbb0fba87f162..5ddac8f4874a3 100644 --- a/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject1.errors.txt +++ b/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject1.errors.txt @@ -45,7 +45,7 @@ tests/cases/compiler/emptyObjectNotSubtypeOfIndexSignatureContainingObject1.ts(4 const result = foos == null ? {} : mapValues(foos, f => f.foo); // This line _should_ fail, because `result` is not the right type. return result; - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'Dictionary' is not assignable to type 'Record'. !!! error TS2322: 'string' index signatures are incompatible. !!! error TS2322: Type 'string' is not assignable to type 'Bar'. diff --git a/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject2.errors.txt b/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject2.errors.txt index cef5fb902c6a4..f617e9782d412 100644 --- a/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject2.errors.txt +++ b/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject2.errors.txt @@ -46,7 +46,7 @@ tests/cases/compiler/emptyObjectNotSubtypeOfIndexSignatureContainingObject2.ts(4 const result = foos == null ? {} : mapValues(foos, f => f.foo); // This line _should_ fail, because `result` is not the right type. return result; - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'Dictionary' is not assignable to type 'Record'. !!! error TS2322: 'string' index signatures are incompatible. !!! error TS2322: Type 'string' is not assignable to type 'Bar'. diff --git a/tests/baselines/reference/errorOnFunctionReturnType.errors.txt b/tests/baselines/reference/errorOnFunctionReturnType.errors.txt index 90666bc7f5360..4fa30fe7edf7f 100644 --- a/tests/baselines/reference/errorOnFunctionReturnType.errors.txt +++ b/tests/baselines/reference/errorOnFunctionReturnType.errors.txt @@ -24,7 +24,7 @@ tests/cases/conformance/jsdoc/foo.js(45,18): error TS2534: A function returning /** @type {FunctionReturningPromise} */ async function testPromise2() { return "asd"; - ~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'string' is not assignable to type 'number'. } @@ -56,7 +56,7 @@ tests/cases/conformance/jsdoc/foo.js(45,18): error TS2534: A function returning /** @type {FunctionReturningNever} */ async function testNever2() { return "asd"; - ~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'string' is not assignable to type 'never'. } diff --git a/tests/baselines/reference/expressionsForbiddenInParameterInitializers.errors.txt b/tests/baselines/reference/expressionsForbiddenInParameterInitializers.errors.txt index 605b6d78ea3e6..0ad287513bcba 100644 --- a/tests/baselines/reference/expressionsForbiddenInParameterInitializers.errors.txt +++ b/tests/baselines/reference/expressionsForbiddenInParameterInitializers.errors.txt @@ -9,7 +9,7 @@ tests/cases/compiler/bar.ts(4,31): error TS2523: 'yield' expressions cannot be u } export function* foo2({ foo = yield "a" }) { - ~~~~~~~~~ + ~~~~~ !!! error TS2523: 'yield' expressions cannot be used in a parameter initializer. } \ No newline at end of file diff --git a/tests/baselines/reference/generatorExplicitReturnType.errors.txt b/tests/baselines/reference/generatorExplicitReturnType.errors.txt index 00726482a0c56..e55273921d167 100644 --- a/tests/baselines/reference/generatorExplicitReturnType.errors.txt +++ b/tests/baselines/reference/generatorExplicitReturnType.errors.txt @@ -17,7 +17,7 @@ tests/cases/conformance/generators/generatorExplicitReturnType.ts(16,11): error ~ !!! error TS2322: Type 'string' is not assignable to type 'number'. return 10; // error - ~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'boolean'. } diff --git a/tests/baselines/reference/generatorReturnContextualType.errors.txt b/tests/baselines/reference/generatorReturnContextualType.errors.txt index c0554e592e850..91bcbc5d087d2 100644 --- a/tests/baselines/reference/generatorReturnContextualType.errors.txt +++ b/tests/baselines/reference/generatorReturnContextualType.errors.txt @@ -36,7 +36,7 @@ tests/cases/conformance/generators/generatorReturnContextualType.ts(34,3): error async function* f4(): AsyncGenerator { const ret = { x: 'x' }; return Promise.resolve(ret); // Error - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type '{ x: string; }' is not assignable to type '{ x: "x"; }'. !!! error TS2322: Types of property 'x' are incompatible. !!! error TS2322: Type 'string' is not assignable to type '"x"'. @@ -45,7 +45,7 @@ tests/cases/conformance/generators/generatorReturnContextualType.ts(34,3): error async function* g4(): AsyncIterator { const ret = { x: 'x' }; return Promise.resolve(ret); // Error - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type '{ x: string; }' is not assignable to type '{ x: "x"; }'. !!! error TS2322: Types of property 'x' are incompatible. !!! error TS2322: Type 'string' is not assignable to type '"x"'. diff --git a/tests/baselines/reference/generatorReturnTypeInference.errors.txt b/tests/baselines/reference/generatorReturnTypeInference.errors.txt index ae19c4769a01e..2a17a6910f80a 100644 --- a/tests/baselines/reference/generatorReturnTypeInference.errors.txt +++ b/tests/baselines/reference/generatorReturnTypeInference.errors.txt @@ -74,7 +74,7 @@ tests/cases/conformance/generators/generatorReturnTypeInference.ts(72,15): error function* g204() { // Generator const x = f2(yield 1); - ~~~~~~~ + ~~~~~ !!! error TS7057: 'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation. } diff --git a/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.errors.txt b/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.errors.txt index 99451129064aa..7bbe7a3d4865d 100644 --- a/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.errors.txt +++ b/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.errors.txt @@ -86,7 +86,7 @@ tests/cases/conformance/generators/generatorReturnTypeInferenceNonStrict.ts(131, function* g204() { // Generator const x = f2(yield 1); - ~~~~~~~ + ~~~~~ !!! error TS7057: 'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation. } diff --git a/tests/baselines/reference/getSetAccessorContextualTyping.errors.txt b/tests/baselines/reference/getSetAccessorContextualTyping.errors.txt index 6b9bc309b4578..1dd0ad366517d 100644 --- a/tests/baselines/reference/getSetAccessorContextualTyping.errors.txt +++ b/tests/baselines/reference/getSetAccessorContextualTyping.errors.txt @@ -10,7 +10,7 @@ tests/cases/conformance/expressions/contextualTyping/getSetAccessorContextualTyp set X(x: number) { } get X() { return "string"; // Error; get contextual type by set accessor parameter type annotation - ~~~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'string' is not assignable to type 'number'. } diff --git a/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.errors.txt b/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.errors.txt index 370b04d2d3a98..bc7266c550e48 100644 --- a/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.errors.txt +++ b/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.errors.txt @@ -16,9 +16,9 @@ tests/cases/compiler/main.ts(4,5): error TS2343: This syntax requires an importe await 1; yield 2; yield* [3]; - ~~~~~~~~~~ + ~~~~~ !!! error TS2343: This syntax requires an imported helper named '__asyncDelegator' which does not exist in 'tslib'. Consider upgrading your version of 'tslib'. - ~~~~~~~~~~ + ~~~~~ !!! error TS2343: This syntax requires an imported helper named '__asyncValues' which does not exist in 'tslib'. Consider upgrading your version of 'tslib'. } diff --git a/tests/baselines/reference/inferSetterParamType.errors.txt b/tests/baselines/reference/inferSetterParamType.errors.txt index 86275e1356abd..d338e91f89f71 100644 --- a/tests/baselines/reference/inferSetterParamType.errors.txt +++ b/tests/baselines/reference/inferSetterParamType.errors.txt @@ -15,7 +15,7 @@ tests/cases/compiler/inferSetterParamType.ts(13,9): error TS2322: Type 'number' get bar() { return 0; // should be an error - can't coerce infered return type to match setter annotated type - ~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. } set bar(n:string) { diff --git a/tests/baselines/reference/invalidReturnStatements.errors.txt b/tests/baselines/reference/invalidReturnStatements.errors.txt index a5d41452dbb9c..fe34106169bf6 100644 --- a/tests/baselines/reference/invalidReturnStatements.errors.txt +++ b/tests/baselines/reference/invalidReturnStatements.errors.txt @@ -31,11 +31,11 @@ tests/cases/conformance/statements/returnStatements/invalidReturnStatements.ts(1 name: string; } function fn10(): D { return { id: 12 }; } - ~~~~~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2739: Type '{ id: number; }' is missing the following properties from type 'D': name, dispose function fn11(): D { return new C(); } - ~~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2741: Property 'name' is missing in type 'C' but required in type 'D'. !!! related TS2728 tests/cases/conformance/statements/returnStatements/invalidReturnStatements.ts:14:5: 'name' is declared here. diff --git a/tests/baselines/reference/keyofAndIndexedAccess2.errors.txt b/tests/baselines/reference/keyofAndIndexedAccess2.errors.txt index 45b1aef2124d9..3575090bc23f1 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess2.errors.txt +++ b/tests/baselines/reference/keyofAndIndexedAccess2.errors.txt @@ -195,7 +195,7 @@ tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts(108,5): error TS23 function get123(): Type[K] { return 123; // Error - ~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type '123' is not assignable to type 'Type[K]'. !!! error TS2322: Type 'number' is not assignable to type 'never'. } diff --git a/tests/baselines/reference/matchReturnTypeInAllBranches.errors.txt b/tests/baselines/reference/matchReturnTypeInAllBranches.errors.txt index 3f7382919401f..26b258ab7cc20 100644 --- a/tests/baselines/reference/matchReturnTypeInAllBranches.errors.txt +++ b/tests/baselines/reference/matchReturnTypeInAllBranches.errors.txt @@ -32,7 +32,7 @@ tests/cases/compiler/matchReturnTypeInAllBranches.ts(30,13): error TS2322: Type else { return 12345; - ~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'boolean'. } } diff --git a/tests/baselines/reference/narrowByEquality.errors.txt b/tests/baselines/reference/narrowByEquality.errors.txt index a484b58951576..e9dd47c2d3835 100644 --- a/tests/baselines/reference/narrowByEquality.errors.txt +++ b/tests/baselines/reference/narrowByEquality.errors.txt @@ -66,7 +66,7 @@ tests/cases/compiler/narrowByEquality.ts(55,9): error TS2322: Type 'string | num !!! error TS2322: Type 'string | number' is not assignable to type 'number'. !!! error TS2322: Type 'string' is not assignable to type 'number'. return level; - ~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'string | number' is not assignable to type 'number'. !!! error TS2322: Type 'string' is not assignable to type 'number'. } diff --git a/tests/baselines/reference/neverTypeErrors1.errors.txt b/tests/baselines/reference/neverTypeErrors1.errors.txt index 040ddfbf2ec67..a03873e5019fa 100644 --- a/tests/baselines/reference/neverTypeErrors1.errors.txt +++ b/tests/baselines/reference/neverTypeErrors1.errors.txt @@ -42,13 +42,13 @@ tests/cases/conformance/types/never/neverTypeErrors1.ts(24,17): error TS2407: Th function f2(): never { return; - ~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'undefined' is not assignable to type 'never'. } function f3(): never { return 1; - ~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'never'. } diff --git a/tests/baselines/reference/neverTypeErrors2.errors.txt b/tests/baselines/reference/neverTypeErrors2.errors.txt index ad1dcc18d806a..9a04d1e3a5c78 100644 --- a/tests/baselines/reference/neverTypeErrors2.errors.txt +++ b/tests/baselines/reference/neverTypeErrors2.errors.txt @@ -42,13 +42,13 @@ tests/cases/conformance/types/never/neverTypeErrors2.ts(24,17): error TS2407: Th function f2(): never { return; - ~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'undefined' is not assignable to type 'never'. } function f3(): never { return 1; - ~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'never'. } diff --git a/tests/baselines/reference/noImplicitReturnsWithoutReturnExpression.errors.txt b/tests/baselines/reference/noImplicitReturnsWithoutReturnExpression.errors.txt index 83d9a65e95d60..73163d7e2ce53 100644 --- a/tests/baselines/reference/noImplicitReturnsWithoutReturnExpression.errors.txt +++ b/tests/baselines/reference/noImplicitReturnsWithoutReturnExpression.errors.txt @@ -5,7 +5,7 @@ tests/cases/compiler/noImplicitReturnsWithoutReturnExpression.ts(22,9): error TS ==== tests/cases/compiler/noImplicitReturnsWithoutReturnExpression.ts (2 errors) ==== function isMissingReturnExpression(): number { return; - ~~~~~~~ + ~~~~~~ !!! error TS7030: Not all code paths return a value. } @@ -27,7 +27,7 @@ tests/cases/compiler/noImplicitReturnsWithoutReturnExpression.ts(22,9): error TS } else { return; - ~~~~~~~ + ~~~~~~ !!! error TS7030: Not all code paths return a value. } } diff --git a/tests/baselines/reference/noUncheckedIndexedAccess.errors.txt b/tests/baselines/reference/noUncheckedIndexedAccess.errors.txt index 3d2411bee0ab2..f05810f942193 100644 --- a/tests/baselines/reference/noUncheckedIndexedAccess.errors.txt +++ b/tests/baselines/reference/noUncheckedIndexedAccess.errors.txt @@ -143,7 +143,7 @@ tests/cases/conformance/pedantic/noUncheckedIndexedAccess.ts(99,11): error TS232 function generic1(arg: T): boolean { // Should error return arg["blah"]; - ~~~~~~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. } function generic2(arg: T): boolean { @@ -153,7 +153,7 @@ tests/cases/conformance/pedantic/noUncheckedIndexedAccess.ts(99,11): error TS232 function generic3(arg: T): boolean { // Should error return strMap[arg]; - ~~~~~~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. } diff --git a/tests/baselines/reference/nonPrimitiveInFunction.errors.txt b/tests/baselines/reference/nonPrimitiveInFunction.errors.txt index c7f89fbdd06a2..3a3fa089789c9 100644 --- a/tests/baselines/reference/nonPrimitiveInFunction.errors.txt +++ b/tests/baselines/reference/nonPrimitiveInFunction.errors.txt @@ -25,7 +25,7 @@ tests/cases/conformance/types/nonPrimitive/nonPrimitiveInFunction.ts(17,5): erro function returnError(): object { var ret = 123; return ret; // expect error - ~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'object'. } \ No newline at end of file diff --git a/tests/baselines/reference/numberToString.errors.txt b/tests/baselines/reference/numberToString.errors.txt index 791319da214eb..fa938de8e1bda 100644 --- a/tests/baselines/reference/numberToString.errors.txt +++ b/tests/baselines/reference/numberToString.errors.txt @@ -5,7 +5,7 @@ tests/cases/compiler/numberToString.ts(9,4): error TS2345: Argument of type 'num ==== tests/cases/compiler/numberToString.ts (2 errors) ==== function f1(n:number):string { return n; // error return type mismatch - ~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. } diff --git a/tests/baselines/reference/objectLiteralErrors.errors.txt b/tests/baselines/reference/objectLiteralErrors.errors.txt index 972e2a5524150..2f315a3db74de 100644 --- a/tests/baselines/reference/objectLiteralErrors.errors.txt +++ b/tests/baselines/reference/objectLiteralErrors.errors.txt @@ -271,7 +271,7 @@ tests/cases/conformance/expressions/objectLiterals/objectLiteralErrors.ts(50,5): ~ !!! error TS2380: The return type of a 'get' accessor must be assignable to its 'set' accessor type var g2 = { get a() { return 4; }, set a(n: string) { } }; - ~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. var g3 = { get a(): number { return undefined; }, set a(n: string) { } }; ~ diff --git a/tests/baselines/reference/parseInvalidNullableTypes.errors.txt b/tests/baselines/reference/parseInvalidNullableTypes.errors.txt index 0a40d386044ed..624a98cd728ef 100644 --- a/tests/baselines/reference/parseInvalidNullableTypes.errors.txt +++ b/tests/baselines/reference/parseInvalidNullableTypes.errors.txt @@ -47,7 +47,7 @@ tests/cases/compiler/parseInvalidNullableTypes.ts(24,8): error TS17019: '?' at t ~~~~~~~ !!! error TS17020: '?' at the start of a type is not valid TypeScript syntax. Did you mean to write 'string | null | undefined'? return true; - ~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'boolean' is not assignable to type 'string'. } diff --git a/tests/baselines/reference/promiseEmptyTupleNoException.errors.txt b/tests/baselines/reference/promiseEmptyTupleNoException.errors.txt index 3c870250df7f9..d099e17e422ad 100644 --- a/tests/baselines/reference/promiseEmptyTupleNoException.errors.txt +++ b/tests/baselines/reference/promiseEmptyTupleNoException.errors.txt @@ -6,7 +6,7 @@ tests/cases/compiler/promiseEmptyTupleNoException.ts(3,3): error TS2322: Type 'a export async function get(): Promise<[]> { let emails = []; return emails; - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'any[]' is not assignable to type '[]'. !!! error TS2322: Target allows only 0 element(s) but source may have more. } diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.errors.txt b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.errors.txt index 07c3fc624029d..e664e655920ff 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.errors.txt +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.errors.txt @@ -51,7 +51,7 @@ tests/cases/conformance/types/typeParameters/typeParameterLists/propertyAccessOn foo: (x: U): U => { var a = x['foo'](); // should be string return a + x.notHere(); - ~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'string' is not assignable to type 'U'. !!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'string'. ~~~~~~~ diff --git a/tests/baselines/reference/recursiveConditionalTypes.errors.txt b/tests/baselines/reference/recursiveConditionalTypes.errors.txt index 2e2d3a52564c9..f82908dd7fba8 100644 --- a/tests/baselines/reference/recursiveConditionalTypes.errors.txt +++ b/tests/baselines/reference/recursiveConditionalTypes.errors.txt @@ -231,7 +231,7 @@ tests/cases/compiler/recursiveConditionalTypes.ts(169,5): error TS2322: Type 'nu function foo2(value: T): Enumerate { return value.length; // Error - ~~~~~~~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'Enumerate'. } \ No newline at end of file diff --git a/tests/baselines/reference/recursiveFunctionTypes.errors.txt b/tests/baselines/reference/recursiveFunctionTypes.errors.txt index 53c9b34af7287..13ab49c4666ec 100644 --- a/tests/baselines/reference/recursiveFunctionTypes.errors.txt +++ b/tests/baselines/reference/recursiveFunctionTypes.errors.txt @@ -22,7 +22,7 @@ tests/cases/compiler/recursiveFunctionTypes.ts(43,4): error TS2769: No overload ==== tests/cases/compiler/recursiveFunctionTypes.ts (13 errors) ==== function fn(): typeof fn { return 1; } - ~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type '() => typeof fn'. var x: number = fn; // error diff --git a/tests/baselines/reference/returnInConstructor1.errors.txt b/tests/baselines/reference/returnInConstructor1.errors.txt index 787e39dc71c98..93e7519019b91 100644 --- a/tests/baselines/reference/returnInConstructor1.errors.txt +++ b/tests/baselines/reference/returnInConstructor1.errors.txt @@ -22,9 +22,9 @@ tests/cases/compiler/returnInConstructor1.ts(55,9): error TS2409: Return type of foo() { } constructor() { return 1; // error - ~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'B'. - ~~~~~~~~~ + ~~~~~~ !!! error TS2409: Return type of constructor signature must be assignable to the instance type of the class. } } @@ -40,9 +40,9 @@ tests/cases/compiler/returnInConstructor1.ts(55,9): error TS2409: Return type of foo() { } constructor() { return "test"; // error - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'string' is not assignable to type 'D'. - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2409: Return type of constructor signature must be assignable to the instance type of the class. } } @@ -58,7 +58,7 @@ tests/cases/compiler/returnInConstructor1.ts(55,9): error TS2409: Return type of public foo: string; constructor() { return { foo: 1 }; //error - ~~~~~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2409: Return type of constructor signature must be assignable to the instance type of the class. ~~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. @@ -79,11 +79,11 @@ tests/cases/compiler/returnInConstructor1.ts(55,9): error TS2409: Return type of constructor() { super(); return new G(); //error - ~~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'G' is not assignable to type 'H'. !!! error TS2322: Types of property 'foo' are incompatible. !!! error TS2322: Type '() => void' is not assignable to type 'string'. - ~~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2409: Return type of constructor signature must be assignable to the instance type of the class. } } diff --git a/tests/baselines/reference/returnValueInSetter.errors.txt b/tests/baselines/reference/returnValueInSetter.errors.txt index c91e6f489ed85..41d6fb2771c3a 100644 --- a/tests/baselines/reference/returnValueInSetter.errors.txt +++ b/tests/baselines/reference/returnValueInSetter.errors.txt @@ -5,7 +5,7 @@ tests/cases/compiler/returnValueInSetter.ts(3,9): error TS2408: Setters cannot r class f { set x(value) { return null; // Should be an error - ~~~~~~~~~~~~ + ~~~~~~ !!! error TS2408: Setters cannot return a value. } } diff --git a/tests/baselines/reference/setterWithReturn.errors.txt b/tests/baselines/reference/setterWithReturn.errors.txt index c66716f07c7e4..bee413ad9e01b 100644 --- a/tests/baselines/reference/setterWithReturn.errors.txt +++ b/tests/baselines/reference/setterWithReturn.errors.txt @@ -7,12 +7,12 @@ tests/cases/compiler/setterWithReturn.ts(7,13): error TS2408: Setters cannot ret public set p1(arg1) { if (true) { return arg1; - ~~~~~~~~~~~~ + ~~~~~~ !!! error TS2408: Setters cannot return a value. } else { return 0; - ~~~~~~~~~ + ~~~~~~ !!! error TS2408: Setters cannot return a value. } } diff --git a/tests/baselines/reference/symbolProperty47.errors.txt b/tests/baselines/reference/symbolProperty47.errors.txt index 3d2f39986397d..4c73c80aa26cb 100644 --- a/tests/baselines/reference/symbolProperty47.errors.txt +++ b/tests/baselines/reference/symbolProperty47.errors.txt @@ -6,7 +6,7 @@ tests/cases/conformance/es6/Symbols/symbolProperty47.ts(11,1): error TS2322: Typ class C { get [Symbol.hasInstance]() { return ""; - ~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'string' is not assignable to type 'number'. } // Should take a string diff --git a/tests/baselines/reference/targetTypeVoidFunc.errors.txt b/tests/baselines/reference/targetTypeVoidFunc.errors.txt index 2afb8e9597770..8fc451d8c912f 100644 --- a/tests/baselines/reference/targetTypeVoidFunc.errors.txt +++ b/tests/baselines/reference/targetTypeVoidFunc.errors.txt @@ -5,7 +5,7 @@ tests/cases/compiler/targetTypeVoidFunc.ts(2,5): error TS2322: Type '() => void' ==== tests/cases/compiler/targetTypeVoidFunc.ts (1 errors) ==== function f1(): { new (): number; } { return function () { return; } - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type '() => void' is not assignable to type 'new () => number'. !!! error TS2322: Type '() => void' provides no match for the signature 'new (): number'. }; diff --git a/tests/baselines/reference/typeGuardFunctionErrors.errors.txt b/tests/baselines/reference/typeGuardFunctionErrors.errors.txt index df739464ffea5..a51a2607e9a24 100644 --- a/tests/baselines/reference/typeGuardFunctionErrors.errors.txt +++ b/tests/baselines/reference/typeGuardFunctionErrors.errors.txt @@ -82,7 +82,7 @@ tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(166,54 function hasANonBooleanReturnStatement(x): x is A { return ''; - ~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'string' is not assignable to type 'boolean'. } @@ -247,9 +247,9 @@ tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(166,54 ~~~~~~~ !!! error TS1228: A type predicate is only allowed in return type position for functions and methods. return true; - ~~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'boolean' is not assignable to type 'D'. - ~~~~~~~~~~~~ + ~~~~~~ !!! error TS2409: Return type of constructor signature must be assignable to the instance type of the class. } get m1(p1: A): p1 is C { @@ -261,7 +261,7 @@ tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(166,54 ~~~~~~~ !!! error TS1228: A type predicate is only allowed in return type position for functions and methods. return true; - ~~~~~~~~~~~~ + ~~~~~~ !!! error TS2408: Setters cannot return a value. } } diff --git a/tests/baselines/reference/typeParameterAssignmentCompat1.errors.txt b/tests/baselines/reference/typeParameterAssignmentCompat1.errors.txt index 445b77852b9a5..f6571b40c1208 100644 --- a/tests/baselines/reference/typeParameterAssignmentCompat1.errors.txt +++ b/tests/baselines/reference/typeParameterAssignmentCompat1.errors.txt @@ -21,7 +21,7 @@ tests/cases/compiler/typeParameterAssignmentCompat1.ts(17,9): error TS2322: Type !!! error TS2322: 'T' could be instantiated with an arbitrary type which could be unrelated to 'U'. !!! related TS2208 tests/cases/compiler/typeParameterAssignmentCompat1.ts:5:15: This type parameter might need an `extends T` constraint. return x; - ~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'Foo' is not assignable to type 'Foo'. } @@ -33,7 +33,7 @@ tests/cases/compiler/typeParameterAssignmentCompat1.ts(17,9): error TS2322: Type ~ !!! error TS2322: Type 'Foo' is not assignable to type 'Foo'. return x; - ~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'Foo' is not assignable to type 'Foo'. } } \ No newline at end of file diff --git a/tests/baselines/reference/typeParameterHasSelfAsConstraint.errors.txt b/tests/baselines/reference/typeParameterHasSelfAsConstraint.errors.txt index 6d07df51c5a6c..33bb5b8549552 100644 --- a/tests/baselines/reference/typeParameterHasSelfAsConstraint.errors.txt +++ b/tests/baselines/reference/typeParameterHasSelfAsConstraint.errors.txt @@ -7,7 +7,7 @@ tests/cases/compiler/typeParameterHasSelfAsConstraint.ts(2,5): error TS2322: Typ ~ !!! error TS2313: Type parameter 'T' has a circular constraint. return x; - ~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'T' is not assignable to type 'number'. !!! related TS2208 tests/cases/compiler/typeParameterHasSelfAsConstraint.ts:1:14: This type parameter might need an `extends number` constraint. } diff --git a/tests/baselines/reference/unknownType1.errors.txt b/tests/baselines/reference/unknownType1.errors.txt index f42cc88fa7c62..2a46fbeac4a59 100644 --- a/tests/baselines/reference/unknownType1.errors.txt +++ b/tests/baselines/reference/unknownType1.errors.txt @@ -264,7 +264,7 @@ tests/cases/conformance/types/unknown/unknownType1.ts(181,5): error TS2322: Type function oops(arg: T): {} { return arg; // Error - ~~~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type 'T' is not assignable to type '{}'. } \ No newline at end of file diff --git a/tests/baselines/reference/unknownType2.errors.txt b/tests/baselines/reference/unknownType2.errors.txt index 53ee56843e6ae..7166311791ccd 100644 --- a/tests/baselines/reference/unknownType2.errors.txt +++ b/tests/baselines/reference/unknownType2.errors.txt @@ -219,7 +219,7 @@ tests/cases/conformance/types/unknown/unknownType2.ts(216,13): error TS2322: Typ case 'no': case 'maybe': return x; // error - ~~~~~~~~~ + ~~~~~~ !!! error TS2322: Type '"yes" | "no" | "maybe"' is not assignable to type 'SomeResponse'. !!! error TS2322: Type '"maybe"' is not assignable to type 'SomeResponse'. default: diff --git a/tests/baselines/reference/yieldExpressionInControlFlow.errors.txt b/tests/baselines/reference/yieldExpressionInControlFlow.errors.txt index 824909b03ac2c..917dee4a12869 100644 --- a/tests/baselines/reference/yieldExpressionInControlFlow.errors.txt +++ b/tests/baselines/reference/yieldExpressionInControlFlow.errors.txt @@ -8,7 +8,7 @@ tests/cases/conformance/es6/yieldExpressions/bug25149.js(4,13): error TS7057: 'y var o while (true) { o = yield o - ~~~~~~~ + ~~~~~ !!! error TS7057: 'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation. } } diff --git a/tests/baselines/reference/yieldExpressionInFlowLoop.errors.txt b/tests/baselines/reference/yieldExpressionInFlowLoop.errors.txt index 0c3180e877b5a..cc0a8885e18ea 100644 --- a/tests/baselines/reference/yieldExpressionInFlowLoop.errors.txt +++ b/tests/baselines/reference/yieldExpressionInFlowLoop.errors.txt @@ -6,7 +6,7 @@ tests/cases/compiler/yieldExpressionInFlowLoop.ts(4,18): error TS7057: 'yield' e let result; while (1) { result = yield result; - ~~~~~~~~~~~~ + ~~~~~ !!! error TS7057: 'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation. } }