From 80fc6dc7e104758adf71ef85e1a5dc41eaa3e0c2 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Wed, 26 Feb 2020 17:07:28 -0800 Subject: [PATCH] Add ad-hoc test for string literal type casts. --- src/compiler/checker.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 21d485c0023..fbc9822cfcb 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -26107,6 +26107,9 @@ namespace ts { checkTypeComparableTo(exprType, targetType, errNode, Diagnostics.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first); } + else if (targetType.flags & TypeFlags.StringLiteral && isStringLiteral(expression) && expression.text !== (targetType as StringLiteralType).value) { + error(errNode, Diagnostics.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first, expression.text, typeToString(targetType)); + } } return targetType; }