Skip to content

Commit 90fa633

Browse files
committed
Disable evolving types with implicit any
That is, without --noImplicitAny
1 parent 707ed69 commit 90fa633

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
@@ -3239,9 +3239,11 @@ namespace ts {
32393239
return addOptionality(getTypeFromTypeNode(declaration.type), /*optional*/ declaration.questionToken && includeOptionality);
32403240
}
32413241

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

tests/baselines/reference/controlFlowLetVar.js

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

0 commit comments

Comments
 (0)