From b11be803490d5a94c81adfe6fc3b5e20608ac581 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Tue, 17 Apr 2018 16:29:42 -0700 Subject: [PATCH] Don't widen unique symbol types during type inference --- src/compiler/checker.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 7ffe7126388..507d9129334 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -12372,14 +12372,13 @@ namespace ts { inferredType = getTypeFromInference(inference); } - inferredType = getWidenedUniqueESSymbolType(inferredType); inference.inferredType = inferredType; const constraint = getConstraintOfTypeParameter(inference.typeParameter); if (constraint) { const instantiatedConstraint = instantiateType(constraint, context); if (!context.compareTypes(inferredType, getTypeWithThisArgument(instantiatedConstraint, inferredType))) { - inference.inferredType = inferredType = getWidenedUniqueESSymbolType(instantiatedConstraint); + inference.inferredType = inferredType = instantiatedConstraint; } } }