Skip to content

Commit 8674d92

Browse files
committed
Disable evolving types with implicit any
That is, without --noImplicitAny
1 parent 9fec775 commit 8674d92

File tree

5 files changed

+4
-947
lines changed

5 files changed

+4
-947
lines changed

src/compiler/checker.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3238,9 +3238,11 @@ namespace ts {
32383238
return addOptionality(getTypeFromTypeNode(declaration.type), /*optional*/ declaration.questionToken && includeOptionality);
32393239
}
32403240

3241-
if (declaration.kind === SyntaxKind.VariableDeclaration && !isBindingPattern(declaration.name) &&
3241+
if (compilerOptions.noImplicitAny &&
3242+
declaration.kind === SyntaxKind.VariableDeclaration && !isBindingPattern(declaration.name) &&
32423243
!(getCombinedModifierFlags(declaration) & ModifierFlags.Export) && !isInAmbientContext(declaration)) {
3243-
// Use control flow tracked 'any' type for non-ambient, non-exported var or let variables with no
3244+
// If --noImplicitAny is on,
3245+
// use control flow tracked 'any' type for non-ambient, non-exported var or let variables with no
32443246
// initializer or a 'null' or 'undefined' initializer.
32453247
if (!(getCombinedNodeFlags(declaration) & NodeFlags.Const) && (!declaration.initializer || isNullOrUndefined(declaration.initializer))) {
32463248
return autoType;

tests/baselines/reference/controlFlowLetVar.js

Lines changed: 0 additions & 247 deletions
This file was deleted.

0 commit comments

Comments
 (0)