-
Notifications
You must be signed in to change notification settings - Fork 13.2k
Open
Labels
Needs ProposalThis issue needs a plan that clarifies the finer details of how it could be implemented.This issue needs a plan that clarifies the finer details of how it could be implemented.SuggestionAn idea for TypeScriptAn idea for TypeScript
Description
We can't know the failures of type inference in type guards because of this problem. Maybe a is any[] should also return unknown[].
TypeScript Version: 3.7.x-dev.20200410
Search Terms:
Code
declare function f(a: any): a is any[];
declare function g(a: any): a is unknown[];
declare const a: readonly number[];
f(a) && a; // any[]
g(a) && a; // not unknown[]Expected behavior:
a's type narrowed by g is unknown[].
Actual behavior:
a's type narrowed by g is readonly number[] & unknown[].
Related Issues: #17002
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Needs ProposalThis issue needs a plan that clarifies the finer details of how it could be implemented.This issue needs a plan that clarifies the finer details of how it could be implemented.SuggestionAn idea for TypeScriptAn idea for TypeScript