-
Notifications
You must be signed in to change notification settings - Fork 13k
Closed
Labels
BugA bug in TypeScriptA bug in TypeScriptFixedA PR has been merged for this issueA PR has been merged for this issue
Milestone
Description
separated from #22432
TypeScript Version: 2.7.0-dev.20180307
Search Terms:
Code
type A<R> = [R] | [R, string];
declare function f<T>(f: A<T>): void;
f([undefined, ''] as [never, string]); // T: string
f([undefined, ''] as [void, string]); // T: string | void
Expected behavior:
f([undefined, ''] as [never, string]); // T: never
f([undefined, ''] as [void, string]); // T: void
Actual behavior:
f([undefined, ''] as [never, string]); // T: string
f([undefined, ''] as [void, string]); // T: string | void
Playground Link:
Related Issues:
Metadata
Metadata
Assignees
Labels
BugA bug in TypeScriptA bug in TypeScriptFixedA PR has been merged for this issueA PR has been merged for this issue