Skip to content

Control flow analysis for implicit any and array initialization works only when --noImplicitAny is on #13779

Closed
@zhuravlik

Description

@zhuravlik

TypeScript Version: 2.1.1 / 2.2.0 nightly (current master)

As far as I understood from both #11263 and #11432, control flow analysis for implicit any and array initialization shouldn't be limited to the case when --noImplicitAny is enabled.

But currently it works only if --noImplicitAny is on.
If --noImplicitAny is off, variables are treated as 'any', and arrays are treated as 'any[]', after all the initializations.

function foo(flag: boolean) {
let a;
if (flag)
   a = 5;
else
  a = true;

a; // if --noImplicitAny is on, it is 'number | boolean', otherwise, it is 'any'
}

Is it an expected behavior, or should CFA for implicit any and array initialization work regardless of the state of --noImplicitAny flag?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Working as IntendedThe behavior described is the intended behavior; this is not a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions