@@ -1917,6 +1917,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
19171917 var anyType = createIntrinsicType(TypeFlags.Any, "any");
19181918 var autoType = createIntrinsicType(TypeFlags.Any, "any", ObjectFlags.NonInferrableType);
19191919 var wildcardType = createIntrinsicType(TypeFlags.Any, "any");
1920+ var blockedStringType = createIntrinsicType(TypeFlags.Any, "any");
19201921 var errorType = createIntrinsicType(TypeFlags.Any, "error");
19211922 var unresolvedType = createIntrinsicType(TypeFlags.Any, "unresolved");
19221923 var nonInferrableAnyType = createIntrinsicType(TypeFlags.Any, "any", ObjectFlags.ContainsWideningType);
@@ -25719,7 +25720,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
2571925720 const constraint = getConstraintOfTypeParameter(inference.typeParameter);
2572025721 if (constraint) {
2572125722 const instantiatedConstraint = instantiateType(constraint, context.nonFixingMapper);
25722- if (!inferredType || inferredType === wildcardType || !context.compareTypes(inferredType, getTypeWithThisArgument(instantiatedConstraint, inferredType))) {
25723+ if (!inferredType || inferredType === blockedStringType || !context.compareTypes(inferredType, getTypeWithThisArgument(instantiatedConstraint, inferredType))) {
2572325724 // If the fallback type satisfies the constraint, we pick it. Otherwise, we pick the constraint.
2572425725 inference.inferredType = fallbackType && context.compareTypes(fallbackType, getTypeWithThisArgument(instantiatedConstraint, fallbackType)) ? fallbackType : instantiatedConstraint;
2572525726 }
@@ -38535,7 +38536,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
3853538536 case SyntaxKind.NoSubstitutionTemplateLiteral:
3853638537 case SyntaxKind.StringLiteral:
3853738538 return hasSkipDirectInferenceFlag(node) ?
38538- wildcardType :
38539+ blockedStringType :
3853938540 getFreshTypeOfLiteralType(getStringLiteralType((node as StringLiteralLike).text));
3854038541 case SyntaxKind.NumericLiteral: {
3854138542 checkGrammarNumericLiteral(node as NumericLiteral);
0 commit comments