mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Avoid incorrect narrowings using const variables from binding elemens with literal initializers (#56347)
This commit is contained in:
@@ -26214,7 +26214,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
if (hasOnlyExpressionInitializer(declaration) && isBlockScopedNameDeclaredBeforeUse(declaration, node)) {
|
||||
const initializer = getEffectiveInitializer(declaration);
|
||||
if (initializer) {
|
||||
return tryGetNameFromType(getTypeOfExpression(initializer));
|
||||
const initializerType = isBindingPattern(declaration.parent) ? getTypeForBindingElement(declaration as BindingElement) : getTypeOfExpression(initializer);
|
||||
return initializerType && tryGetNameFromType(initializerType);
|
||||
}
|
||||
if (isEnumMember(declaration)) {
|
||||
return getTextOfPropertyName(declaration.name);
|
||||
|
||||
Reference in New Issue
Block a user