diff --git a/internal/checker/checker.go b/internal/checker/checker.go index 65a23fce6d..6085378c92 100644 --- a/internal/checker/checker.go +++ b/internal/checker/checker.go @@ -15969,6 +15969,10 @@ func (c *Checker) padTupleType(t *Type, pattern *ast.Node) *Type { } func (c *Checker) widenTypeInferredFromInitializer(declaration *ast.Node, t *Type) *Type { + return c.getWidenedLiteralTypeForInitializer(declaration, t) +} + +func (c *Checker) getWidenedLiteralTypeForInitializer(declaration *ast.Node, t *Type) *Type { if c.getCombinedNodeFlagsCached(declaration)&ast.NodeFlagsConstant != 0 || isDeclarationReadonly(declaration) { return t } @@ -17089,7 +17093,7 @@ func (c *Checker) getTypeFromBindingElement(element *ast.Node, includePatternInT if ast.IsBindingPattern(element.Name()) { contextualType = c.getTypeFromBindingPattern(element.Name(), true /*includePatternInType*/, false /*reportErrors*/) } - return c.addOptionality(c.widenTypeInferredFromInitializer(element, c.checkDeclarationInitializer(element, CheckModeNormal, contextualType))) + return c.addOptionality(c.getWidenedLiteralTypeForInitializer(element, c.checkDeclarationInitializer(element, CheckModeNormal, contextualType))) } if ast.IsBindingPattern(element.Name()) { return c.getTypeFromBindingPattern(element.Name(), includePatternInType, reportErrors)